AppKit
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 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 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 coverered in a separate document.
Features
- user interface elements (table views, browsers, matrices, scroll views)
- graphics (WYSIWYG, postscript-like graphics, bezier paths, image handling with multiple representations, graphical contextes)
- color management (calibrated vs. device colors; CMYK, RGB, HSB, gray and named color representations; alpha transparency)
- Text system features: rich text format, text attachements, layout manager, typesetter, rules, paragraph styles, font management, spell checking
- document management
- printing features: print operations, print panel and page layout
- help manager
- pasteboard (aka clip board) services
- spell checker
- workspace bindings for applications
- Drag and drop operations
- services sharing among applications
Classes
- 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
- NSWindow
- NSWindowController
- NSWorkspace