libs-gui/STATUS

421 lines
13 KiB
Text
Raw Normal View History

Status Report
*************
Last updated August 1996. The most up-to-date version of this status
report is available at:
`http://www.gnustep.org/Documentation/gnustep-gui/gnustep-gui_toc.html'
Please send corrections to <scottc@net-community.com>.
*Key:*
*[10]*
Complete and tested.
*[8]*
Missing a few non-core methods, definitely usable.
*[6]*
Missing several methods, but core is there, usable.
*[4]*
Begun, but missing core functionality, not usable.
*[2]*
Skeleton.
*[0]*
Nothing there.
*[?]*
Unknown status.
Classes
=======
Currently none of the classes raise exceptions; and notifications and
notifications centers are non-existent.
*NSActionCell:: [9]*
Should not require any implementation in the backend as it is an
abstract class which only defines behaviour. All methods are
implemented; the only thing lacking is a test, if needed.
*NSApplication:: [6]*
The event handling is pretty good though it does not take
advantage of the NSRunLoop class. Many of the minor methods are
implemented. No window ordering is being maintained, and a number
of the methods that perform operations on windows are empty.
Modal loops are not implemented.
*NSBitmapImageRep:: [4]*
Many of the methods have code, but the class has not been made to
work; though, some of this could be due to lack of backend
implementation. No compression nor generation of TIFF
representations.
*NSBox:: [8]*
Many of the methods have code, but whether the class is usable
depends upon how much implementation has been done in the backend.
*NSBrowser:: [2]*
*NSBrowserCell:: [2]*
*NSButton:: [8]*
Repeat intervals and key equivalents not implemented. There
should be little need for backend implementation as NSButton is
mainly behavior; its cell class does all drawing.
*NSButtonCell:: [8]*
Repeat intervals and key equivalents not implemented. Actual
ability to use will depend upon backend implementation.
*NSCachedImageRep:: [4]*
All methods are implemented but its unknown if the class works.
*NSCell:: [8]*
No determination of component sizes. Editting text, validating
input, represented object, and some other odd and end methods not
implemented.
*NSClipView:: [2]*
*NSColor:: [5]*
Doesn't know the difference between calibrated and device; only
supported colorspace is RGB. Maybe usable with backend
implementation for basic colors like white, black, red, etc.
*NSColorList:: [2]*
*NSColorPanel:: [2]*
*NSColorPicker:: [2]*
*NSColorWell:: [2]*
*NSControl:: [8]*
No field editor; doesn't know how to calculate its size.
*NSCursor:: [2]*
*NSCustomImageRep:: [4]*
All methods are implemented but it is unknown if the class works.
*NSDataLink:: [2]*
*NSDataLinkManager:: [2]*
*NSDataLinkPanel:: [2]*
*NSDPSContext:: [6]*
Enough implementation for the backend to do something useful; most
methods that deal specifically with Display Ghostscript are empty.
*NSEPSImageRep:: [2]*
*NSEvent:: [9]*
All methods implemented except periodic events.
*NSFont:: [4]*
Maintains no AFM or glyph information. Usability depends greatly
upon backend implementation.
*NSFontManager:: [4]*
Only primitive capability.
*NSFontPanel:: [2]*
May be usable with backend implementation.
*NSForm:: [2]*
*NSFormCell:: [2]*
*NSHelpPanel:: [2]*
*NSImage:: [4]*
All methods are implemented but it is unknown if the class works.
*NSImageRep:: [4]*
All methods are implemented but it is unknown if the class works.
*NSMatrix:: [6]*
Many methods are implemented but more thorough testing needs to be
done.
*NSMenu:: [4]*
Usability greatly depends upon backend implementation.
*NSMenuCell:: [4]*
Usability greatly depends upon backend implementation.
*NSOpenPanel:: [6]*
Usability greatly depends upon backend implementation.
*NSPageLayout:: [2]*
*NSPanel:: [2]*
*NSPasteboard:: [2]*
*NSPopUpButton:: [4]*
Usability greatly depends upon backend implementation.
*NSPrinter:: [2]*
*NSPrintinfo:: [2]*
*NSPrintOperation:: [2]*
*NSPrintPanel:: [2]*
*NSResponder:: [9]*
Shouldn't require any backend implementation; all methods are
implemented.
*NSSavePanel:: [6]*
Usability greatly depends upon backend implementation.
*NSScreen:: [6]*
Knows nothing about window depth, greatly depends upon backend
implementation.
*NSScroller:: [2]*
Most behaviour can probably be taken from NSSlider and
NSSliderCell.
*NSScrollView:: [2]*
*NSSelection:: [2]*
*NSSlider:: [4]*
Usability greatly depends upon backend implementation.
*NSSliderCell:: [6]*
No title or image capability implemented, greatly depends upon
backend.
*NSSpellChecker:: [2]*
*NSSpellServer:: [2]*
*NSSplitView:: [2]*
*NSText:: [2]*
Usability greatly depends upon backend implementation.
*NSTextField:: [8]*
Does not properly send text delegate messages.
*NSTextFieldCell:: [4]*
Usability greatly depends upon backend implementation.
*NSView:: [6]*
Maintains subview lists, notification of new window, send resizing
messages to subviews. No rotation, scaling, or translation of
user coordinate space; coordinate conversion doesn't take user
coordinate space into affect, so everything is based upon device
coordinate space. Event handling and tracking rectangles
implemented. No scrolling capability. No cursor management. No
printing, paging, or postscript.
*NSWindow:: [4]*
Most methods not implemented, but maybe usable with backend
implementation.
*NSWorkspace:: [2]*
Erich Boleyn has some initial ideas and design.
Protocols
=========
*NSChangeSpelling:: [0]*
*NSColorPickingCustom:: [0]*
*NSColorPickingDefault:: [0]*
*NSDraggingDestination:: [0]*
*NSDraggingInfo:: [0]*
*NSDraggingSource:: [0]*
*NSIgnoreMisspelledWords:: [0]*
*NSMenuActionResponder:: [0]*
*NSNibAwaking:: [0]*
*NSServicesRequests:: [0]*
Functions
=========
Very few if any of the functions are implemented; all the functions
dealing with drawing will probably be implemented in the backend. Most
other functions deal with classes that lack sufficient implementation.
Rectangle Drawing Functions
---------------------------
*Optimize Drawing. [2]*
- Function: void NSEraseRect (NSRect ARECT )
- Function: void NSHighlightRect (NSRect ARECT )
- Function: void NSRectClip (NSRect ARECT )
- Function: void NSRectClipList (const NSRect * RECTS, int COUNT )
- Function: void NSRectFill (NSRect ARECT )
- Function: void NSRectFillList (const NSRect * RECTS, int COUNT )
- Function: void NSRectFillListWithGrays (const NSRect * RECTS,
const float * GRAYS, int COUNT )
*Draw a Bordered Rectangle. [2]*
- Function: void NSDrawButton (NSRect ARECT, NSRect CLIPRECT )
- Function: void NSDrawGrayBezel (NSRect ARECT, NSRect CLIPRECT )
- Function: void NSDrawGroove (NSRect ARECT, NSRect CLIPRECT )
- Function: NSRect NSDrawTiledRects (NSRect BOUNDSRECT, NSRect
CLIPRECT, const NSRectEdge * SIDES, const float * GRAYS,
int COUNT )
- Function: void NSDrawWhiteBezel (NSRect ARECT, NSRect CLIPRECT )
- Function: void NSFrameRect (NSRect ARECT )
- Function: void NSFrameRectWithWidth (NSRect ARECT, float
FRAMEWIDTH )
Color Functions
---------------
*Get Information About Color Space and Window Depth. [2]*
- Function: void NSWindowDepth * NSAvailableWindowDepths ( void )
- Function: NSWindowDepth NSBestDepth (NSString * COLORSPACE, int
BITSPERSAMPLE, int BITSPERPIXEL, BOOL PLANAR, BOOL *
EXACTMATCH)
- Function: int NSBitsPerPixelFromDepth (NSWindowDepth DEPTH)
- Function: int NSBitsPerSampleFromDepth (NSWindowDepth DEPTH)
- Function: NSString * NSColorSpaceFromDepth (NSWindowDepth DEPTH)
- Function: int NSNumberOfColorComponents (NSString *
COLORSPACENAME)
- Function: BOOL NSPlanarFromDepth (NSWindowDepth DEPTH)
*Read the Color at a Screen Position. [2]*
- Function: NSColor * NSReadPixel (NSPoint LOCATION)
Text Functions
--------------
*Filter Characters Entered into a Text Object. [2]*
- Function: unsigned short NSEditorFilter (unsigned short
THECHAR, int FLAGS, NSStringEncoding THEENCODING)
- Function: unsigned short NSFieldFilter (unsigned short THECHAR,
int FLAGS, NSStringEncoding THEENCODING)
*Calculate or Draw a Line of Text (in Text Object). [2]*
- Function: int NSDrawALine (id SELF, NSLayInfo * LAYINFO)
- Function: int NSScanALine (id SELF, NSLayInfo * LAYINFO)
*Calculate Font Ascender, Descender, and Line Height (in Text Object). [?]*
- Function: void NSTextFontInfo (id FID, float * ASCENDER, float
* DESCENDER, float * LINEHEIGHT)
*Access Text Object's Word Tables. [2]*
- Function: NSData * NSDataWithWordTable (const unsigned char *
SMARTLEFT, const unsigned char * SMARTRIGHT, const
unsigned char * CHARCLASSES, const NSFSM * WRAPBREAKS,
int WRAPBREAKSCOUNT, const NSFSM * CLICKBREAKS, int
CLICKBREAKSCOUNT, BOOL CHARWRAP)
- Function: void NSReadWordTable (NSZone * ZONE, NSData * DATA,
unsigned char ** SMARTLEFT, unsigned char ** SMARTRIGHT,
unsigned char ** CHARCLASSES, NSFSM ** WRAPBREAKS, int *
WRAPBREAKSCOUNT, NSFSM ** CLICKBREAKS, int *
CLICKBREAKSCOUNT, BOOL * CHARWRAP)
Array Allocation Functions for Use by the NSText Class
------------------------------------------------------
- Function: NSTextChunk * NSChunkCopy (NSTextChunk * PC,
NSTextChunk * DPC)
- Function: NSTextChunk * NSChunkGrow (NSTextChunk * PC, int
NEWUSED)
- Function: NSTextChunk * NSChunkMalloc (int GROWBY, int INITUSED)
- Function: NSTextChunk * NSChunkRealloc (NSTextChunk * PC)
- Function: NSTextChunk * NSChunkZoneCopy (NSTextChunk * PC,
NSTextChunk * DPC, NSZone * ZONE)
- Function: NSTextChunk * NSChunkZoneGrow (NSTextChunk * PC, int
NEWUSED, NSZone * ZONE)
- Function: NSTextChunk * NSChunkZoneMalloc (int GROWBY, int
INITUSED, NSZone * ZONE)
- Function: NSTextChunk * NSChunkZoneRealloc (NSTextChunk * PC,
NSZone * ZONE)
Imaging Functions
-----------------
*Copy an Image. [2]*
- Function: void NSCopyBitmapFromGState (int SRCGSTATE, NSRect
SRCRECT, NSRect DESTRECT)
- Function: void NSCopyBits (int SRCGSTATE, NSRect SRCRECT,
NSPoint DESTPOINT)
*Render Bitmap Images. [2]*
- Function: void NSDrawBitmap (NSRect RECT, int PIXELSWIDE, int
PIXELSHIGH, int BITSPERSAMPLE, int SAMPLESPERPIXEL, int
BITSPERPIXEL, int BYTESPERROW, BOOL ISPLANAR, BOOL
HASALPHA, NSString * COLORSPACENAME, const unsigned char
* const DATA[5]);
Attention Panel Functions
-------------------------
*Create an Attention Panel without Running It Yet. [2]*
- Function: id NSGetAlertPanel (NSString * TITLE, NSString * MSG,
NSString * DEFAULTBUTTON, NSString * ALTERNATEBUTTON,
NSString * OTHERBUTTON, ...)
*Create and Run an Attention Panel. [2]*
- Function: int NSRunAlertPanel (NSString * TITLE, NSString *
MSG, NSString * DEFAULTBUTTON, NSString *
ALTERNATEBUTTON, NSString * OTHERBUTTON, ...)
- Function: int NSRunLocalizedAlertPanel (NSString * TABLE,
NSString * TITLE, NSString * MSG, NSString *
DEFAULTBUTTON, NSString * ALTERNATEBUTTON, NSString *
OTHERBUTTON, ...)
*Release an Attention Panel. [2]*
- Function: void NSReleaseAlertPanel (id PANEL)
Services Menu Functions
-----------------------
*Determine Whether an Item is Included in Services Menus. [2]*
- Function: int NSSetShowsServicesMenuItem (NSString * ITEM, BOOL
SHOWSERVICE)
- Function: BOOL NSShowsServicesMenuItem (NSString * ITEM)
*Programmatically Invoke a Service. [2]*
- Function: BOOL NSPerformService (NSString * ITEM, NSPasteboard
* PBOARD)
*Force Services Menu to Update Based on New Services. [2]*
- Function: void NSUpdateDynamicServices (void)
Miscellaneous Functions
-----------------------
*Play the System Beep. [2]*
- Function: void NSBeep (void)
*Return File-related Pasteboard Types. [2]*
- Function: NSString * NSCreateFileContentsPboardType (NSString *
FILETYPE)
- Function: NSString * NSCreateFilenamePboardType (NSString *
FILENAME)
- Function: NSString * NSGetFileType (NSString * PBOARDTYPE)
- Function: NSArray * NSGetFileTypes (NSArray * PBOARDTYPES)
*Draw a Distinctive Outline around Linked Data. [2]*
- Function: void NSFrameLinkRect (NSRect ARECT, BOOL
ISDESTINATION)
- Function: float NSLinkFrameThickness (void)
*Convert an Event Mask Type to a Mask. [2]*
- Function: unsigned int NSEventMaskFromType (NSEventType TYPE)