













| |
The last update to this list was February 15, 1996, for MiscKit version 1.7.1.
There's a lot of talk about the MiscKit and often people are
advised to pick it up. Why? For many people it has turned
out to be a valuable resource which provides code and objects
that allow work to be done faster. This is where NEXTSTEP
really pays off; here is a library of reusable objects packaged
up for everyone to take advantage of. So, what's in it that
makes it so great? One could answer "one of everything" which,
although not quite true, may not be all that far off. The
licensing and charter of the MiscKit make it attractive, but
its contents are what makes it outstanding.
This document is a simple listing of what you'll find inside the
more than 10 Megabytes that make up the MiscKit
source code. There's a lot here!
Quick reference
Here is a quick listing of the types of resources that are cataloged
on this page. Click on any one of them to be whisked away to
the section listing resources of that type.
The libraries are the main features of the MiscKit. In them are
well over 100 objects that you can use in your applications.
- MiscGISKit
- MiscInspectorKit
- MiscKit
- MiscMergeKit
- MiscString
The MiscKit has nearly 25 Interface Builder palettes to
help make your time spent with Interface Builder more
enjoyable. Everything from new GUI widgets to utilities that
can automate Interface Builder are provided.
(All palettes come with libraries to link against unless maked with a "*")
- IBMole (*)
- MiscCoolButtons (*)
- MiscArrowButton
- MiscCalendar
- MiscCircularSlider
- MiscClassDecoder
- MiscClipText
- MiscClock
- MiscColorWells
- MiscDate
- MiscDragViews
- MiscGauge
- MiscLogSlider
- MiscPaperView
- MiscProgress
- MiscShell
- MiscSound
- MiscString
- MiscSwapKit
- MiscTabMatrix
- MiscTableScroll
- MiscTee
- MiscThreeStateButton
- MiscValueField
Detailed Listings of Resources
The MiscKit has all kinds of documentation. Although some
areas are not as well documented as they should be, the
documentation is nevertheless quite extensive. You'll find
documentation such as:
- MiscKit introduction
- MiscKit usage
- Classes
- Categories
- Functions
- Protocols
- Diagram of entire kit's class heirarchy
- And extra tutorials for: MiscFindPanel, MiscGISKit, SwapKit, MiscMergeKit, MiscSoundPalette
- Top level documents: Authors.rtf, Charter.rtf, Copyright.rtfd, History.rtf, In_Progress.rtf, License.rtf, License_Notes.rtf, README.rtf, Submissions.rtfd, TableOfContents.rtf, To_Do.rtf
Several suites of functions are provided with the MiscKit:
- Miscdaemon -- create UNIX daemons more easily
- regexpr -- a good regexpr implementation
- MiscTBMK -- very fast tuned Boyer-Moore string searches
- MiscParseTableFile -- parsing and writing .table files
The following protocols are defined by the MiscKit:
MiscBackWindowDelegate, MiscCompare, MiscDependency, MiscEndCompare, MiscListCursorPositioning, MiscStorageCursorPositioning, SearchableText
There are categories available to add functionality
to the following objects:
Text, Window, Application, List, Object, Matrix, DBTableView,
MiscClockView, MiscFile, MiscString, MiscTree
The MiscKit has over 140 public classes, and here's the list
of what you'll find.
(The object's library of residence is in parentheses.)
- MiscAbstraction (MiscKit)
- MiscAnnouncer (MiscKit)
- MiscAppFile (MiscKit)
- MiscAppIcon (MiscKit)
- MiscAppIconAnimator (MiscKit)
- MiscArrowButton (MiscArrowButton)
- MiscArrowButtonCell (MiscArrowButton)
- MiscAwakeAction (MiscShell)
- MiscBackWindow (MiscKit)
- MiscBundleLoader (MiscKit)
- MiscCalendarMatrix (MiscCalendarView)
- MiscCalendarView (MiscCalendarView)
- MiscCartesianCoord (MiscGISKit)
- MiscCircularSlider (MiscCircularSlider)
- MiscCircularSliderCell (MiscCircularSlider)
- MiscClassDecoder (MiscClassDecoder)
- MiscClassVariable (MiscKit)
- MiscClipTextField (MiscClipText)
- MiscClipTextFieldCell (MiscClipText)
- MiscClockView (MiscClockView)
- MiscColorView (MiscPaperView)
- MiscColor (MiscKit)
- MiscCoord (MiscGISKit)
- MiscCoordConverter (MiscGISKit)
- MiscCylindricalCoord (MiscGISKit)
- MiscDateView (MiscDateView)
- MiscDefaultInspector (MiscInspectorKit)
- MiscDictionary (MiscKit)
- MiscDirectory (MiscKit)
- MiscDistributor (MiscTee)
- MiscDocManager (MiscKit)
- MiscDocType (MiscKit)
- MiscDocument (MiscKit)
- MiscDragView (MiscDragViews)
- MiscExplodingMenu (MiscKit)
- MiscFileFinder (MiscKit)
- MiscFile (MiscKit)
- MiscFindPanelClass (MiscKit)
- MiscFramingView (MiscKit)
- MiscGaugeCell (MiscGaugeView)
- MiscGaugeView (MiscGaugeView)
- MiscGraphNode (MiscKit)
- MiscHalftoneColor (MiscKit)
- MiscINETAddress (MiscKit)
- MiscINETSocket (MiscKit)
- MiscIconWell (MiscDragViews)
- MiscIfStack (MiscMergeKit)
- MiscImageDragView (MiscDragViews)
- MiscInfoController (MiscKit)
- MiscInfo (MiscKit)
- MiscInspector (MiscInspectorKit)
- MiscInspectorManager (MiscInspectorKit)
- MiscInspectorWrapper (MiscInspectorKit)
- MiscIntList (MiscTableScroll)
- MiscIrelandCoordConverter (MiscGISKit)
- MiscIrelandOldUTMCoord (MiscGISKit)
- MiscIrelandUTMCoord (MiscGISKit)
- MiscLinkedListNode (MiscKit)
- MiscLinkedList (MiscKit)
- MiscList (MiscKit)
- MiscLockFile (MiscKit)
- MiscLogFile (MiscKit)
- MiscLogSlider (MiscLogSlider)
- MiscLogSliderCell (MiscLogSlider)
- MiscMailApp (MiscKit)
- MiscMailSpeaker (MiscKit)
- MiscMathCoord (MiscGISKit)
- MiscMathCoordConverter (MiscGISKit)
- MiscMatrix (MiscKit)
- MiscMergeCommand (MiscMergeKit)
- MiscMergeDriver (MiscMergeKit)
- MiscMergeEngine (MiscMergeKit)
- MiscMergeTemplate (MiscMergeKit)
- MiscMultiSelInspector (MiscInspectorKit)
- MiscNibController (MiscKit)
- MiscNoSelInspector (MiscInspectorKit)
- MiscOrderForm (MiscKit)
- MiscPaperView (MiscPaperView)
- MiscPathField (MiscClipText)
- MiscPlanetCoordConverter (MiscGISKit)
- MiscPriorityQueue (MiscKit)
- MiscProgressBar (MiscProgressView)
- MiscProgressPie (MiscProgressView)
- MiscProgressView (MiscProgressView)
- MiscQueue (MiscKit)
- MiscReadOnlyColorWell (MiscColorWells)
- MiscRecordParser (MiscKit)
- MiscRegistration (MiscKit)
- MiscRemoteApplication (MiscKit)
- MiscRemoteSubprocess (MiscKit)
- MiscRtMatrix (MiscKit)
- MiscSavePanel (MiscKit)
- MiscScreenColor (MiscKit)
- MiscSearcher (MiscKit)
- MiscSelectionMatrix (MiscKit)
- MiscSerialPort (MiscKit)
- MiscShell (MiscShell)
- MiscSliderCell (MiscValueField)
- MiscSliderField (MiscValueField)
- MiscSocket (MiscKit)
- MiscSortedList (MiscKit)
- MiscSortedStorage (MiscKit)
- MiscSoundTracker (MiscSoundUtil)
- MiscSoundView (MiscSoundUtil)
- MiscSphericalCoord (MiscGISKit)
- MiscSplitView (MiscKit)
- MiscStack (MiscKit)
- MiscStopwatch (MiscKit)
- MiscStorage (MiscKit)
- MiscStringArray (MiscKit)
- MiscString (MiscKit)
- MiscSubprocess (MiscKit)
- MiscSwapContentsController (MiscSwapKit)
- MiscSwapView (MiscSwapKit)
- MiscTabActionCell(MiscTabMatrix)
- MiscTableCell (MiscTableScroll)
- MiscTableScroll (MiscTableScroll)
- MiscTableSource (MiscKit)
- MiscTaggedImage (MiscKit)
- MiscTapper (MiscSoundUtil)
- MiscTargetActionView (MiscKit)
- MiscTee (MiscTee)
- MiscTeeConnector (MiscTee)
- MiscThreadedObject (MiscKit)
- MiscThreeStateButton (MiscThreeStateButton)
- MiscThreeStateButtonCell (MiscThreeStateButton)
- MiscTimedEntry (MiscKit)
- MiscTime (MiscKit)
- MiscTree (MiscKit)
- MiscUKUTMCoord (MiscGISKit)
- MiscUTMConstants (MiscGISKit)
- MiscUTMCoord (MiscGISKit)
- MiscUniqueStringArray (MiscKit)
- MiscUser (MiscKit)
- MiscUserGroup (MiscKit)
- MiscValueCell (MiscValueField)
- MiscValueField (MiscValueField)
- MiscVolumeLight (MiscSoundUtil)
- MiscVolumeMeter (MiscSoundUtil)
- MiscWorldCoord (MiscGISKit)
- MiscXmodem (MiscKit)
- MiscZoneUTMCoord (MiscGISKit)
The MiscKit is chock full of example code. In addition to
the source of the kit itself, there are applications to
show how to use sections of the kit as well as test suites
and other useful utilities and templates.
- Example applications:
- BPM -- an app to measure music tempos
- FileBrowser -- a bare-bones file viewer
- FileSearchTest -- a bare-bones file finder
- IconTester -- demonstrates how to animate an app's icon
- LazyScrollDir -- Like ScrollDir, but in lazy mode
- MergeTest -- a simple command line template merger
- MiscClassDecoder -- Service to display the definition of a class
- MiscGISMapCoord -- a GIS coordinate converter
- Robby -- a creative volume meter in the app's icon
- ScrollDir -- MiscTableScroll displaying directory contents
- SearchBench -- a program to benchmark MiscKit search routines
- SplitView -- a demonstration of the MiscSplitView class
- TinyTerm -- a bare-bones terminal emulator
- TreeView -- a simple way to view hierarchical data
- UNIX-HatersTool -- a simple interface to several shell scripts
- UsersAndGroups -- an inspector to view a machine's users and groups
- cnvwrap -- a program to generate "convenience" methods
- image2m -- converts images to source code that can be compiled as part of a library
- generate-makefile -- a way to work on PB.project files from a shell
- MiscStringService -- a simple service to manipulate strings
- MiscTree_Browser -- how to hook a MiscTree up to a browser
- qlipo -- a better "lipo"
- receiptfilter -- a way to control to whom you send NeXT read receipts
- Test programs: MiscLockFile, MiscLogFile, DragViewTest, MiscString, MiscStringRegex, MiscPriorityQueue, TableParse, TestExplodingMenus, MailTest, MiscDistributor
- Various utilities: AutoDoc, IBMole, getset, format_comment
- Documentation Templates: MiscNeXTdocumentFormat (frame), NX_ClassDoc, NX_Documentation, NX_FuncDoc, NX_HelpTemplate
- Interfaces: InfoMenu, InfoPanel, Inspector, MiscSoundPaletteExample, OrderForm, Register
- Project Templates: Library, MiscKitPalette, MiscKitPaletteWithLib, MiscKitSubLibrary
Several bundles are available, covering the following objects:
- MiscKitBundle (kit wide resources like strings, images, and .nibs)
- MiscDictionary
- MiscFindPanel
- MiscString
- MiscStringArray
Here are some of the images that are provided for use with
various MiscKit objects. Most have to be copied from the
palettes to the project that uses the interface
widget. Although this is clumsy, at least it works. In the
future, OpenStep, world, this will go away with the
introduction of frameworks! Currently, using the MiscKit
bundle will help alleviate the problem.
- MiscClockStuff
- DontCare
- EtchedTriangleDown
- EtchedTriangleDownIn
- EtchedTriangleUp
- EtchedTriangleUpIn
- Left
- Plus
- Right
- down
- erasebutton
- erasebuttonH
- go
- pausebutton
- pausebuttonH
- playbutton
- playbuttonH
- recordbutton
- recordbuttonH
- stop
- stopbutton
- stopbuttonH
- up
- Plus
- check
- MVCDown
- MVCUp
The MiscKit comes with headers for all the classes, protocols,
and functions but also adds extra headers for the user's
convenience. This includes:
- Compatability for the following MOKit classes: MOClassVariable, MOController, MOMatrix, MOPathString, MOString, MOSybaseString
- Compatability for the following daymisckit classes: DAYLockFile, DAYLogFile, DAYStopwatch, DAYString, DAYTime, ExtendedApp, daymisckit.h
- Various protocols
- Special MiscKit headers:
- miscinterface.h -- MiscKit GUI-level classes, including all palettes
- misckit.h -- all objects in the MiscKit library
- miscmerge.h -- MiscMergeKit headers
- miscgiskit.h -- MiscGISKit headers
- MiscDragViews.h -- MiscKit dragable document/image wells
The MiscKit has extra Makefile support to help developers with:
- Library projects -- even on NEXTSTEP 3.2!
- Making palette projects generate libraries
- Versioning
- Localization
There are lots of extras that aren't part of the kit proper yet
might still be useful to developers. They are found in the Temp
area. Many will eventually become a part of the kit, after
further refinement.
- Alternative DataStructures: MiscPriorityQueue, PriorityQueue
- MiscClockViewExtensions
- MiscCompletionText
- MiscPickList
- MiscSerialPort2
- MiscTimeAdditions
- NetImageFilter
- ObjCategories.rtf
- QuickProject
- Text_more
- UniqueInstance
Although we're listing these, you'll probably never need to use
any of them. But it is nice to know that they are hidden away
in there...
(The object's library of residence is in parentheses.)
- EmacsText (MiscShell)
- DateSelectionCell (MiscCalendarView)
- SimpleDate (MiscCalendarView)
- _MiscDistributorConnection (MiscTee)
- _MiscDirectoryStream (MiscKit)
- _MiscIfPlaceHolder (MiscMergeKit)
- _MiscMergeAskCommand (MiscMergeKit)
- _MiscMergeCommentCommand (MiscMergeKit)
- _MiscMergeCopyCommand (MiscMergeKit)
- _MiscMergeDateCommand (MiscMergeKit)
- _MiscMergeDelayedParseCommand (MiscMergeKit)
- _MiscMergeElseCommand (MiscMergeKit)
- _MiscMergeEndifCommand (MiscMergeKit)
- _MiscMergeFieldCommand (MiscMergeKit)
- _MiscMergeIdentifyCommand (MiscMergeKit)
- _MiscMergeIfCommand (MiscMergeKit)
- _MiscMergeNextCommand (MiscMergeKit)
- _MiscMergeOmitCommand (MiscMergeKit)
- _MiscMergeQuery (MiscMergeKit)
- _MiscMergeSetCommand (MiscMergeKit)
|