Difference between revisions of "AppKit"
m |
|||
(15 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Dynamic List}} | ||
+ | |||
The GNUstep GUI Library is a library of objects useful for writing graphical applications. For example, it includes classes for drawing and manipulating graphics objects on the screen: [[NSWindow|windows]], [[NSMenu|menus]], [[NSButton|buttons]], [[NSSlider|sliders]], [[NSTextField|text fields]], and [[NSEvent|events]]. There are also many classes that offer operating-system-independent interfaces to [[NSImage|images]], [[NSCursor|cursors]], [[NSColor|colors]], [[NSFont|fonts]], [[NSPasteboard|pasteboards]], printing. There are also workspace support classes such as data links, open/save panels, context-dependent help, spell checking. | The GNUstep GUI Library is a library of objects useful for writing graphical applications. For example, it includes classes for drawing and manipulating graphics objects on the screen: [[NSWindow|windows]], [[NSMenu|menus]], [[NSButton|buttons]], [[NSSlider|sliders]], [[NSTextField|text fields]], and [[NSEvent|events]]. There are also many classes that offer operating-system-independent interfaces to [[NSImage|images]], [[NSCursor|cursors]], [[NSColor|colors]], [[NSFont|fonts]], [[NSPasteboard|pasteboards]], printing. There are also workspace support classes such as data links, open/save panels, context-dependent help, spell checking. | ||
− | It provides functionality that aims to implement the `AppKit' portion of the [[OpenStep]] standard | + | It provides functionality that aims to implement the `AppKit' portion of the [[Cocoa]] API (formerly [[OpenStep]] standard) however the implementation has been written to take advantage of GNUstep enhancements wherever possible. |
+ | |||
+ | The GNUstep GUI Library is divided into a front and back-end. The front-end contains the majority of the implementation, but leaves out the low-level drawing and event code. Different back-ends will make GNUstep available on various platforms. The default GNU back-end currently runs on top of the X Window System and uses only Xlib calls for graphics. Another backend uses a Display Postscript Server for graphics. Much work will be saved by this clean separation between front and back-end, because it allows different platforms to share the large amount of front-end code. Documentation for how the individual backends work is covered in a separate document. | ||
− | + | You can find the automatically generated API documentation [http://www.gnustep.org/resources/documentation/Developer/Gui/Reference/index.html here]. | |
== Features == | == Features == | ||
− | * | + | * User interface elements: table views, browsers, matrices, scroll views, ... |
− | * | + | * Graphics: WYSIWYG, Postscript-like graphics, Bezier paths, image handling with multiple representations, graphical contexts |
− | * [[ | + | * [[Color|Color management]]: calibrated vs. device colors, CMYK, RGB, HSB, gray and named color representations, alpha transparency |
− | * [[Text]] system features: rich text format, text | + | * [[Text]] system features: rich text format, text attachments, layout manager, typesetter, rules, paragraph styles, font management, [[Spell checking|spell checking]] |
− | * [[Document architecture| | + | * [[Document architecture|Document management]] |
− | * [[Printing| | + | * [[Printing|Printing features]]: print operations, print panel and page layout |
− | * | + | * Help manager |
− | * [[Pasteboard| | + | * [[Pasteboard|Pasteboard]] (a.k.a. clip board) services |
− | * [[Spell | + | * [[Spelling|Spell checker]] |
− | * [[Workspace| | + | * [[Workspace|Workspace]] bindings for applications |
* [[Drag and drop]] operations | * [[Drag and drop]] operations | ||
− | * [[ | + | * [[Service|Services]] shared among applications |
+ | * [[XIB]] WYSIWIG GUI definition language – To be implemented | ||
+ | |||
+ | == Notes and Snippets == | ||
+ | {| border="0" cellpadding="2" | ||
+ | ! Class Reference !! Protocol Reference | ||
+ | |- | ||
+ | | | ||
− | + | * [[NSActionCell]] | |
+ | * [[NSAffineTransform]] | ||
+ | * [[NSAlert]] | ||
+ | * [[NSApplication]] | ||
+ | * [[NSBezierPath]] | ||
+ | * [[NSBitmapImageRep]] | ||
+ | * [[NSBox]] | ||
+ | * [[NSBrowser]] | ||
+ | * [[NSBrowserCell]] | ||
+ | * [[NSButton]] | ||
+ | * [[NSButtonCell]] | ||
+ | * [[NSCachedImageRep]] | ||
+ | * [[NSCell]] | ||
+ | * [[NSClipView]] | ||
+ | * [[NSColor]] | ||
+ | * [[NSColorList]] | ||
+ | * [[NSColorPanel]] | ||
+ | * [[NSColorPicker]] | ||
+ | * [[NSColorWell]] | ||
+ | * [[NSComboBox]] | ||
+ | * [[NSComboBoxCell]] | ||
+ | * [[NSControl]] | ||
+ | * [[NSCursor]] | ||
+ | * [[NSCustomImageRep]] | ||
+ | * [[NSDataLink]] | ||
+ | * [[NSDataLinkManager]] | ||
+ | * [[NSDataLinkPanel]] | ||
+ | * [[NSDocument]] | ||
+ | * [[NSDocumentController]] | ||
+ | * [[NSDrawer]] | ||
+ | * [[NSDrawerDelegate]] | ||
+ | * [[NSEPSImageRep]] | ||
+ | * [[NSEvent]] | ||
+ | * [[NSFileWrapper]] | ||
+ | * [[NSFont]] | ||
+ | * [[NSFontManager]] | ||
+ | * [[NSFontPanel]] | ||
+ | * [[NSForm]] | ||
+ | * [[NSFormCell]] | ||
+ | * [[NSGraphicsContext]] | ||
+ | * [[NSHelpManager]] | ||
+ | * [[NSHelpPanel]] | ||
+ | * [[NSImage]] | ||
+ | * [[NSImageCell]] | ||
+ | * [[NSImageRep]] | ||
+ | * [[NSImageView]] | ||
+ | * [[NSInputManager]] | ||
+ | * [[NSInputServer]] | ||
+ | * [[NSLayoutManager]] | ||
+ | * [[NSMatrix]] | ||
+ | * [[NSMenu]] | ||
+ | * [[NSMenuItem]] | ||
+ | * [[NSMenuItemCell]] | ||
+ | * [[NSMenuView]] | ||
+ | * [[NSMovie]] | ||
+ | * [[NSMovieView]] | ||
+ | * [[NSMutableParagraphStyle]] | ||
+ | * [[NSNib]] | ||
+ | * [[NSNibConnector]] | ||
+ | * [[NSNibControlConnector]] | ||
+ | * [[NSNibOutletConnector]] | ||
+ | * [[NSOpenGLContext]] | ||
+ | * [[NSOpenGLPixelFormat]] | ||
+ | * [[NSOpenGLView]] | ||
+ | * [[NSOpenPanel]] | ||
+ | * [[NSOutlineView]] | ||
+ | * [[NSPageLayout]] | ||
+ | * [[NSPanel]] | ||
+ | * [[NSParagraphStyle]] | ||
+ | * [[NSPasteboard]] | ||
+ | * [[NSPopUpButton]] | ||
+ | * [[NSPopUpButtonCell]] | ||
+ | * [[NSPrintInfo]] | ||
+ | * [[NSPrintOperation]] | ||
+ | * [[NSPrintPanel]] | ||
+ | * [[NSPrinter]] | ||
+ | * [[NSProgressIndicator]] | ||
+ | * [[NSResponder]] | ||
+ | * [[NSRulerMarker]] | ||
+ | * [[NSRulerView]] | ||
+ | * [[NSSavePanel]] | ||
+ | * [[NSScreen]] | ||
+ | * [[NSScrollView]] | ||
+ | * [[NSScroller]] | ||
+ | * [[NSSearchField]] | ||
+ | * [[NSSearchFieldCell]] | ||
+ | * [[NSSecureTextField]] | ||
+ | * [[NSSecureTextFieldCell]] | ||
+ | * [[NSSelection]] | ||
+ | * [[NSSlider]] | ||
+ | * [[NSSliderCell]] | ||
+ | * [[NSSound]] | ||
+ | * [[NSSpellChecker]] | ||
+ | * [[NSSpellServer]] | ||
+ | * [[NSSplitView]] | ||
+ | * [[NSStepper]] | ||
+ | * [[NSStepperCell]] | ||
+ | * [[NSTabView]] | ||
+ | * [[NSTabViewItem]] | ||
+ | * [[NSTableColumn]] | ||
+ | * [[NSTableHeaderCell]] | ||
+ | * [[NSTableHeaderView]] | ||
+ | * [[NSTableView]] | ||
+ | * [[NSText]] | ||
+ | * [[NSTextAttachment]] | ||
+ | * [[NSTextAttachmentCell]] | ||
+ | * [[NSTextContainer]] | ||
+ | * [[NSTextField]] | ||
+ | * [[NSTextFieldCell]] | ||
+ | * [[NSTextStorage]] | ||
+ | * [[NSTextTab]] | ||
+ | * [[NSTextView]] | ||
+ | * [[NSToolbar]] | ||
+ | * [[NSToolbarItem]] | ||
* [[NSView]] | * [[NSView]] | ||
− | * [[ | + | * [[NSWindow]] |
+ | * [[NSWindowController]] | ||
+ | * [[NSWorkspace]] | ||
+ | |||
+ | | valign="top" | | ||
+ | |||
+ | * [[NSChangeSpelling]] | ||
+ | * [[NSColorPickingCustom]] | ||
+ | * [[NSColorPickingDefault]] | ||
+ | * [[NSDraggingInfo]] | ||
+ | * [[NSIgnoreMisspelledWords]] | ||
+ | * [[NSInputServerMouseTracker]] | ||
+ | * [[NSInputServiceProvider]] | ||
+ | * [[NSMenuItem]] | ||
+ | * [[NSMenuValidation]] | ||
+ | * [[NSMenuView]] | ||
+ | * [[NSTextAttachmentCell]] | ||
+ | * [[NSTextInput]] | ||
+ | * [[NSUserInterfaceValidations]] | ||
+ | * [[NSValidatedUserInterfaceItem]] | ||
+ | |||
+ | |} | ||
+ | |||
[[Category:Frameworks]] | [[Category:Frameworks]] |
Latest revision as of 20:20, 19 September 2012
Dynamic List
This is a list which is constantly changing and may never be considered complete.
The GNUstep GUI Library is a library of objects useful for writing graphical applications. For example, it includes classes for drawing and manipulating graphics objects on the screen: windows, menus, buttons, sliders, text fields, and events. There are also many classes that offer operating-system-independent interfaces to images, cursors, colors, fonts, pasteboards, printing. There are also workspace support classes such as data links, open/save panels, context-dependent help, spell checking.
It provides functionality that aims to implement the `AppKit' portion of the Cocoa API (formerly OpenStep standard) however the implementation has been written to take advantage of GNUstep enhancements wherever possible.
The GNUstep GUI Library is divided into a front and back-end. The front-end contains the majority of the implementation, but leaves out the low-level drawing and event code. Different back-ends will make GNUstep available on various platforms. The default GNU back-end currently runs on top of the X Window System and uses only Xlib calls for graphics. Another backend uses a Display Postscript Server for graphics. Much work will be saved by this clean separation between front and back-end, because it allows different platforms to share the large amount of front-end code. Documentation for how the individual backends work is covered in a separate document.
You can find the automatically generated API documentation here.
Features
- User interface elements: table views, browsers, matrices, scroll views, ...
- Graphics: WYSIWYG, Postscript-like graphics, Bezier paths, image handling with multiple representations, graphical contexts
- Color management: calibrated vs. device colors, CMYK, RGB, HSB, gray and named color representations, alpha transparency
- Text system features: rich text format, text attachments, layout manager, typesetter, rules, paragraph styles, font management, spell checking
- Document management
- Printing features: print operations, print panel and page layout
- Help manager
- Pasteboard (a.k.a. clip board) services
- Spell checker
- Workspace bindings for applications
- Drag and drop operations
- Services shared among applications
- XIB WYSIWIG GUI definition language – To be implemented