From GNUstepWiki
Jump to navigation Jump to search

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.


  • 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

Notes and Snippets

Class Reference Protocol Reference