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 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 NSMutableParagraphStyle NSNib NSOpenGLContext NSOpenGLPixelFormat NSOpenGLView NSOpenPanel NSOutlineView NSPageLayout NSPanel NSParagraphStyle NSPasteboard NSPopUpButton NSPopUpButtonCell NSPrintInfo NSPrintOperation NSPrintPanel NSPrinter NSProgressIndicator NSResponder NSRulerMarker NSRulerView NSSavePanel NSScreen NSScrollView NSScroller 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