home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / lang / objectiv / 466 < prev    next >
Encoding:
Internet Message Format  |  1992-08-18  |  21.2 KB

  1. Path: sparky!uunet!wupost!bcm!aio!shirley
  2. From: shirley@fdr.jsc.nasa.gov (Bill Shirley [CSC])
  3. Newsgroups: comp.lang.objective-c
  4. Subject: FAQ - Available Class/Library listing
  5. Keywords: FAQ
  6. Message-ID: <1992Aug18.092355@fdr.jsc.nasa.gov>
  7. Date: 18 Aug 1992 14:23:55 GMT
  8. Sender: shirley@fdr (Bill Shirley [CSC])
  9. Organization: Software Technology Branch - NASA/JSC
  10. Lines: 503
  11. Originator: shirley@fdr
  12.  
  13.  
  14.  
  15.                Objective C
  16.             A matter of Class
  17.  
  18.    A (very incomplete) listing of available Objective-C classes
  19.            (last modified Aug 18, 1992)
  20.  
  21.  
  22. Index:
  23.   Stepstone Classes/Libraries
  24.   GNU Distributed Classes
  25.   Public Domain Classes
  26.   NeXT Distributed Classes
  27.   NeXT 3rd Party Classes
  28.  
  29.  
  30.  
  31. *Class* == Not a part of that kit
  32.  
  33.  
  34. ===========================
  35. Stepstone Classes/Libraries
  36. ===========================
  37.  
  38.   Bundled with the compiler is ICpak 101 - Foundation Class Library
  39.         (20 classes, more than 300 methods)
  40.   Object                object - the runtime 'root' object'
  41.     Array               array - an abstract class
  42.       IdArray           id array - array of objects
  43.       IntArray          integer array
  44.     AsciiFiler          ASCII filer - an automatic I/O object
  45.     Cltn                collection - an abstract class
  46.       OrdCltn           ordered collection
  47.       Stack             LIFO collection
  48.       Set               Set collection - no duplicate members
  49.         Dictionary      associations - a la symbol tables
  50.     BalNode             balanced node - support for binary trees
  51.       SortCltn          sorted collection
  52.     String              string - null terminated ASCII sequence
  53.     Point               point - 2D coordinate
  54.     Rectangle           rectangle - 2D region
  55.     Assoc               association - key/value pairs support for dictionaries
  56.     IPSequence          in-place sequence - for sequencing through cltn
  57.       Sequence          sequence - same as above but uses copy of data
  58.     ObjGraph            object graph - graph of objects reachable
  59.     Unknown             unknown - support for AsciiFiler
  60.  
  61.   available separately for most systems, ICpak 201 - Graphical User Interface
  62.         (58 classes, more than 1100 methods)
  63.  
  64.   *Object*
  65.     IntCltn
  66.       IntOrdCltn
  67.     PtrCltn
  68.       PtrOrdCltn
  69.     TransCltr
  70.       OpaqCltr
  71.     *Array*
  72.       ColorArray
  73.         ColorMap
  74.       ShortArray
  75.       PtrArray
  76.     RubberLine
  77.     EventQ
  78.     CharString
  79.     Quad
  80.       RectList
  81.       DispObject
  82.         SolidColor
  83.         DispText
  84.         DispMedium
  85.           [****] ....
  86.         Pattern
  87.         Cursor
  88.       EchoBox
  89.     Font
  90.     Menu
  91.       DepMenu
  92.       AdHocMenu
  93.     Timer
  94.     DepObject
  95.     SharObject
  96.  
  97.   available for several platforms, ICpak 301 - GRAPHpak
  98.  
  99.   [****]
  100.  
  101.  
  102.  
  103. =======================
  104. GNU distributed classes
  105. =======================
  106.  
  107.   [****]
  108.  
  109.  
  110. =====================
  111. Public Domain classes
  112. =====================
  113.  
  114.     Random Class (sonata.cc.purdue.edu:/pub/next/oop/classes/Random1.1.tar.Z)
  115.         - implements its own random number generator, supports Gaussian
  116.           variables, die rolling, etc.
  117.   [****]
  118.  
  119.  
  120. ========================
  121. NeXT distributed Classes
  122. ========================
  123.  
  124. + == only in NeXTSTEP Release 3 (may follow kit name for all objects in kit)
  125.  
  126. Root Class
  127. ==========
  128. Object                    the root class
  129.  
  130.  
  131. Common Classes
  132. ==============
  133. Some classes of general utility, that don't belong to any kit.
  134.  
  135. *Object*
  136.   Storage                 object that stores a list of items (various types)
  137.   List                    object that stores a list of other objects
  138.   HashTable               key-based storage object
  139.     StreamTable           used for writing sets of data to streams
  140.     NXStringTable         stores a set of strings accessible by key
  141.  
  142. Application Kit (AppKit)
  143. ========================
  144. The first kit, used for implementing the framework and user interface of
  145. (nearly) every NeXTSTEP application.  Provides an engine that handles
  146. the event loop, connection to the Window Server, and handles many standard  
  147. services. Includes classes for user controls, font and color management, a
  148. text editor, a dynamic data link system (release 3), inter-application
  149. communication, and several standard panels.
  150.  
  151. *Object*
  152.   Responder               abstract class for objects that respond to events
  153.     Application           an application's "engine"; handles event loop & more
  154.     Window                manages an independent drawing area on the screen
  155.       Panel               special subclass of Window
  156.         Menu              manages array of command items that can be picked
  157.           PopUpList       pop-up list of items that can be picked
  158.         FontPanel         std Panel for selecting Fonts
  159.         PrintPanel        std printing Panel:choose printer, resolution, etc
  160.         PageLayout        std page layout Panel
  161.         SavePanel         std save Panel
  162.           OpenPanel       std open Panel
  163.         NXColorPanel      std color-picker Panel
  164.         NXHelpPanel +     std help Panel
  165.         NXDataLinkPanel + std Panel for managing dynamic data links
  166.     View                  manages a drawing area within a Window
  167.       Control             abstract class for UI objects (buttons, etc)
  168.         NXBrowser         hierarchical browser of items (like a filesystem)
  169.         Matrix            manages a group of Cells (eg, a set of radio buttons)
  170.           Form            a Matrix of FormCells (text entry areas with titles)
  171.         Button            your basic push-button doodad
  172.         TextField         displays text or allows the user to edit it
  173.         Slider            slide its knob to change its value
  174.         Scroller          used for scrolling long documents
  175.         NXColorWell       used for representing a color selection
  176.       Text                std object for editing text (ascii or RTF)
  177.       Box                 used to group other Views in a box
  178.       NXSplitView         used for a pair of Views that share screen space
  179.       ScrollView          manages relation between a ClipView and Scrollers
  180.       ClipView            used for View that's larger than its onscreen area
  181.   Cell                    rubber-stamp class for drawing in a View
  182.     NXBrowserCell         used for the items in an NXBrowser
  183.     SelectionCell         performs some of NXBrowserCell's functionality (obs)
  184.     ActionCell            used with Controls (or a set with a Matrix)
  185.       FormCell            displays a title and a text-entry area in a Form
  186.       ButtonCell          used for drawing Buttons
  187.         MenuCell          used for drawing Menu items
  188.       TextFieldCell       used for drawing text-entry/display areas
  189.       SliderCell          used for drawing a slider bar
  190.   Pasteboard              used for cut/copy/paste and much, much, more
  191.   NXImage                 convenient image-drawer; handles much nitty detail
  192.   NXImageRep              abstract class used with NXImage for specific images
  193.     NXBitmapImageRep        NXImageRep for bitmaps (for example, TIFF)
  194.     NXEPSImageRep           NXImageRep for PostScrip images
  195.     NXCustomImageRep        NXImageRep for user-defined images
  196.     NXCachedImageRep        NXImageRep for already-rendered images
  197.   NXDataLink +            represents a dynamic data link in a document
  198.   NXDataLinkManager +     manages all the data links in a document
  199.   NXSelection +           represents the linked data in a source document
  200.   NXCursor                std object for displaying various cursors
  201.   Font                    object representing a PostScript font
  202.   FontManager             manages the Fonts in an application
  203.   NXColorPicker +         for creating a custom color picker in the color Panel
  204.   NXColorList +           manages a list of named colors (eg, Pantone(R))
  205.   PrintInfo               contains information about a print job
  206.   NXSpellChecker +        used to access spell-checking services
  207.   NXSpellServer +         allows 3rd party to provide a custom spell-checker
  208.   Speaker                 sends inter-application messages
  209.   Listener                receives inter-application messages
  210.   NXJournaler             records and plays back events and sounds
  211.  
  212. Video Class +(was in AppKit for Release 2)
  213. ===========
  214. Displays video input to a NeXTdimension board on screen.
  215.  
  216. *Object*
  217.   NXLiveVideoView         displays video input to a NeXTdimension board
  218.  
  219. Sound Kit
  220. =========
  221. The Sound Kit is a set of classes for managing sound in a NeXTSTEP application.
  222.  
  223. *Object*
  224.   Sound                   represents a single sound
  225.   *Responder*
  226.     *View*
  227.       SoundView           used to display and edit sounds
  228.       SoundMeter          used to indicate sound volume as it plays
  229.   NXSoundStream +         abstract class; manages a stream of sound data
  230.     NXPlayStream +          plays sound data on an NXSoundOut object
  231.     NXRecordStream +        records sound data from an NXSoundIn object
  232.   NXSoundDevice +         abstract class; represents a device (mic, speaker)
  233.     NXSoundIn +             represents sound input devices (microphones)
  234.     NXSoundOut +            represents sound output devices (speakers etc)
  235.  
  236. Music Kit # (no longer maintained by NeXT)
  237. ==========================================
  238. A large kit for music synthesis.  <<Should be available by ftp from CCRMA>>
  239.  
  240. *Object*
  241.   Note                    stores information about a musical event
  242.   Envelope                control musical attributes of Notes
  243.   Part                    ordered set of Notes than can be performed
  244.   Score                   set of Parts that make up a musical piece
  245.   ScorePerformer          plays each Part in a Score
  246.   ScoreRecorder           records a Score, Part by Part and Note by Note
  247.   Orchestra               manages a DSP to synthesize music
  248.   Conductor               controls the timing of a group of objects
  249.   Instrument              manages Notes in a performance
  250.     SynthInstrument         synthesizes its Notes on the DSP
  251.     PartRecorder            copies its notes onto a Part object
  252.     FileWriter              writes its notes to a file on disk
  253.     NoteFilter              modifies Notes and passes them on to other objects
  254.   Performer               abstract class; sends a sequence of notes in time
  255.     FilePerformer           performs music data from a file or stream
  256.       ScorefilePerformer      performs music data from a scorefile
  257.     PartPerformer           performs the Notes in a Part
  258.   NoteReceiver            used by Instruments to realize Notes from Performers
  259.   NoteSender              used by Performers to realize Notes on Instruments
  260.   TuningSystem            represents a musical tuning system
  261.   SynthData               represents DSP memory used in music synthesis
  262.   Midi                    provides and ObjC interfact to the MIDI driver
  263.   WaveTable               represents a period of sound as a series of samples
  264.     Samples                 builds WaveTable of recorded samples
  265.     Partials                builds WaveTable from sine wave components
  266.   PatchTemplate           used as part of a SynthPatch
  267.   SynthPatch              abstract class; represents a sound sythesis module
  268.     Pluck                   synthesizes the sound of a plucked string
  269.     Wave1                   WaveTable synthesis; 1 table
  270.     Wave1v                  WaveTable synth; 1 table with vibrato
  271.     Wave1i                  WaveTable synth; 1 table with freq interpolation
  272.     Wave1vi                 WaveTable synth; 1 table with both
  273.     DBWave1v                WaveTable synth; 1 table with vibrato
  274.     DBWave1i                WaveTable synth; 1 table with interpolation
  275.     DBWave2vi               WaveTable synth; 2 tables with both
  276.     Fm1                     Freq modulation synth; simple fm
  277.     Fm1i                    Freq mod synth; simple fm with freq interpolation
  278.     Fm1v                    Freq mod synth; simple fm with vibrato
  279.     Fm1vi                   Freq mod synth; simple fm with both
  280.     Fm2cvi                  Freq mod synth; Cascade fm
  281.     Fm2cnvi                 Freq mod synth; Cascade fm with random mod. (noise)
  282.     Fm2pvi                  Freq mod synth; Parallel fm
  283.     Fm2pnvi                 Freq mod synth; Parallel fm with noise
  284.   UnitGenerator             abstract class; building blocks of DSP synthesis
  285.     Add2UG                  Various types of UnitGenerators
  286.     AllPass1UG              ...
  287.     AsympUG
  288.     ConstantUG
  289.     DelayUG
  290.     DswitchtUG
  291.     DswitchUG
  292.     InterpUG
  293.     Mul1add2UG
  294.     Mul2UG
  295.     OnepoleUG
  296.     OnezeroUG
  297.     OscgafUG
  298.     OscgafiUG
  299.     UscgUG
  300.     Out1aUG
  301.     Out1bUG
  302.     Out2sumUG
  303.     ScaleUG
  304.     Scl1add2UG
  305.     Scl2add2UG
  306.     SnoiseUG
  307.     UnoiseUG
  308.  
  309. Database Kit (DBKit) +
  310. ======================
  311. Manages connections to entity-relationship database servers.  The Database kit
  312. includes these services: communication with client-server databases, modeling
  313. properties (attributes and relationships) of each database, record management
  314. and buffering, data flow between record managers and the application user
  315. interface, and user interface objects for display and editing.
  316.  
  317. *Object*
  318.   DBDatabase              represents a connection to a database server
  319.   DBExpression            encapsulates a database expression as an object
  320.   DBQualifier             represents cond. records must satisfy to be selected
  321.   DBValue                 stores a value of an arbitrary type
  322.   DBBinder                connects database items to ObjC objects
  323.   DBModule                maps database model entities to application objects
  324.   DBRecordStream          represents a sequence of fetched database records
  325.     DBRecordList            supports random access to a seq. of records
  326.   DBFetchGroup            manages DBRecordList data with UI presentation
  327.   DBAssocation            associates a property with a destination object
  328.   *Responder*
  329.     *View*
  330.       *Control*
  331.         DBImageView       displays an NXImage object in a frame
  332.       *ScrollView*
  333.         DBTableView       spreadsheet-like view for modifying tables of data
  334.   DBTableVector           represents a field in a DBTableView
  335.   DBFormatter             abstract class for formatting data
  336.     DBTextFormatter         quickly formats read-only text data
  337.     DBEditableFormatter     formats editable text data
  338.     DBImageFormatter        formats, scales, and aligns image data
  339.  
  340. Indexing Kit (IXKit) +
  341. ======================
  342. The Indexing Kit is a set of programmatic tools for managing data, especially
  343. the large amounts of data characteristic of information-intensive applications.
  344. Much as the Application Kit provides a framework for a graphical interface,
  345. the Indexing Kit provides a framework for data management.
  346.  
  347. *Object*
  348.   IXStore                 relocatable storage allocator/manager
  349.     IXStoreFile           disk-based IXStore
  350.   IXStoreBlock            "wrapper" for a single block of storage in an IXStore
  351.   IXStoreDirectory        allows access to objects in an IXStore by name
  352.   IXBTree                 associative (key-based) access to data in an IXStore
  353.   IXBTreeCursor           a pointer to an item in an IXBTree
  354.     IXPostingCursor       cursor that assumes data is sets of postings (below)
  355.   IXRecordManager         manages large indexed collections of data
  356.   IXPostingSet            manages a set of postings (refs to indexed records)
  357.   *List*
  358.     IXPostingList         lazily retrieves objects from postings
  359.   IXFileFinder            indexes and finds files with a general query language
  360.   IXFileRecord            represents a file in the filesystem
  361.   IXAttributeParser       parses text into lists of tokens
  362.   IXAttributeReader       breaks text into tokens
  363.     IXLanguageReader      abstract class; for tokenizing a specific language
  364.   IXWeightingDomain       represents frequency information about a set of text
  365.   IXAttributeQuery        processes a query against a conforming object
  366.  
  367. Mach Kit +
  368. ==========
  369. The Mach Kit provides a number of classes for convenient use of Mach mutexes,
  370. and a number of classes used by the Distributed Objects facility.
  371.  
  372. *Object*
  373.   NXData                  wrapper for (void *) data
  374.   NXLock                  object-oriented mutex lock
  375.   NXConditionLock         as above, but waits on a condition
  376.   NXRecursiveLock         as above, but same thread can acquire multiple times
  377.   NXSpinLock              as above, for use with short critical sections
  378.   NXProtocolChecker       restricts messaging access to remote objects
  379.   NXInvalidationNotifier  notifies clients when a connection breaks
  380.     NXPort                wrapper for a Mach port
  381.   NXNetNameServer         provides ObjC interface to NeXT's NetNameServer
  382.  
  383. Distributed Objects Facility +
  384. ==============================
  385. The Distributed Objects facility allows a process to send messages to objects
  386. in the address space of a different process.  For all practical purposes, the
  387. remote object exists in the sending process.  Nearly any message can be sent,
  388. and many data types, including other objects can be sent and received
  389. "across the wire."
  390.  
  391. NXProxy                   a "root" class that represents a remote object
  392. *Object*
  393.   NXConnection            manages a connection between remote objects
  394.  
  395. Phone Kit +
  396. ===========
  397. The Phone Kit offers an easy way for a developer to connect an application to
  398. a telephone line, to initiate and receive calls over the line, and to transmit
  399. and receive data during a call.  The phone line must be attached to the user's
  400. computer, or to a computer on the user's network, through a Hayes ISDN
  401. Extender(R) or an equivalent device.
  402.  
  403. *Object*
  404.   NXPhone                 represents a phone line connected to the computer
  405.   NXPhoneCall             represents/manages a connection over a phone line
  406.   NXPhoneChannel          represents a channel within a connection
  407.  
  408. 3D Graphics Kit (3DKit) +
  409. =========================
  410. The 3D Kit uses RenderMan to create 3D scenes, much as the Application Kit
  411. uses the PostScript language to draw 2D graphics.  It also provides for
  412. animation and real-time manipulation of rendered scenes.
  413.  
  414. *Object*
  415.   *NXImageRep*
  416.     N3DRIBImageRep        NXImageRep for RenderMan RIB data
  417.   *Responder*
  418.     *Window*
  419.       *Panel*
  420.         N3DRenderPanel    std Panel for selecting hosts to render scene on
  421.     *View*
  422.       N3DCamera           renders a single 3D scene
  423.         N3DMovieCamera    rederes a sequence of 3D scenes, providing animation
  424.   N3DShape                abstract class representing a single 3D "object"
  425.     N3DLight              represents a source of light in a scene
  426.   N3DShader               handles surface shading/texturing/coloring
  427.   N3DRotator              rotates/moves a 3D scene in various ways
  428.   N3DContextManager       manages rendering contexts for an application
  429.  
  430. NetInfo Kit (NIKit) +
  431. =====================
  432. These are all standard panels for accessing NetInfo information.  Strangely,
  433. most aren't subclasses of Panel.
  434.  
  435. *Object*
  436.   NIDomain                represents a NetInfo domain
  437.   NIDomainPanel           std panel for selecting a NetInfo domain
  438.     NIOpenPanel           std panel for opening an item in a domain
  439.       NISavePanel         std panel for saving info for a domain
  440.   *Responder*
  441.     *Window*
  442.       *Panel*
  443.         NILoginPanel      used, for example, to authorize root access to run an  
  444. app
  445.  
  446. Interface Builder Applicaton Classes (IB Classes) +
  447. ===================================================
  448. These classes allow developers to expand the functionality of the 
  449. Interface Builder application, creating their own palettes of objects
  450. that can be dragged into an interface, and inspectors to set and view
  451. the attributes of those objects.
  452.  
  453. *Object*
  454.   IBInspector             defines a custom Interface Builder inspector
  455.   IBPalette               connects a loadable palette to Interface Builder
  456.  
  457. Preferences Application Classes +
  458. =================================
  459. These classes allow developers to add their own modules to the Preferences
  460. application.
  461.  
  462. *Object*
  463.   Layout                  represents a Preferences module's layout view
  464.  
  465. Workspace Manager Application Classes +
  466. =======================================
  467. These classes allow developers to add their own file contents inspectors to
  468. the Workspace Manager application.
  469.  
  470. *Object*
  471.   WMInspector             represents a Workspace contents inspector
  472.  
  473.  
  474.  
  475. ==============================
  476. NeXT 3rd Party Class Libraries
  477. ==============================
  478.  
  479.   [many others - NeXT now publishes an _Object Works_ Catalogue, which
  480.     tells of available classes]
  481.  
  482.   BarCodeKit - an object library for creating bar codes in PostScript and
  483.                 TIFF formats.  (Hot Software, (617) 252-0088)
  484.  
  485.   GeoKit - objects that perform map rendering
  486.                 (Deltos Fleet Computing, (214) 540-2301)
  487.  
  488.   ChooserPalette - a selection list manager
  489.                 (Objective Technologies, (212) 227 6767)
  490.  
  491.   GraphPalette - tools for graphing data in custom apps
  492.                 (Objective Technologies, (212) 227 6767)
  493.  
  494.   MathPalette - tools for interfacing with Mathmatica
  495.                 (Objective Technologies, (212) 227 6767)
  496.  
  497.   SmartFieldPalette - supplies data input fields that restrict and format
  498.                 input, report errors, and notify the user of field content
  499.                 (Objective Technologies, (212) 227 6767)
  500.  
  501.  
  502.  
  503. --------------
  504.  This compendium is doomed to always be incomplete.  Is you would like
  505. to add something to it that was left off, you can either contact me
  506. directly (shirley@fdr.jsc.nasa.gov, Bill Shirley) or post to the group
  507. comp.lang.objective-c.  Contacting me directly will have better chances
  508. of me making the change.
  509.  Again, thanks to all those who have helped, informed, and given feedback.
  510.  
  511. -- 
  512. -- 
  513. Bill Shirley        | Not only are the Republicans coming to town, but the
  514. shirley@fdr.jsc.nasa.gov| local Fun Police are cracking down on victimless 
  515.             | crime.  Houston has become a scary place to live.
  516.