The MiscKit

MiscKit Manifest


Home
Hot News
About
Press Kit
FAQ
Documentation
Download
Resources
Services
Search
Credits
Links
Contact Us


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.

Libraries

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

Palettes

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

Documentation

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

Functions

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

Protocols

The following protocols are defined by the MiscKit:

MiscBackWindowDelegate, MiscCompare, MiscDependency, MiscEndCompare, MiscListCursorPositioning, MiscStorageCursorPositioning, SearchableText

Categories

There are categories available to add functionality to the following objects:

Text, Window, Application, List, Object, Matrix, DBTableView, MiscClockView, MiscFile, MiscString, MiscTree

Objects

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)

Examples

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

Bundles

Several bundles are available, covering the following objects:
  • MiscKitBundle (kit wide resources like strings, images, and .nibs)
  • MiscDictionary
  • MiscFindPanel
  • MiscString
  • MiscStringArray

Images

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

Headers

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

Extra Makefile support

The MiscKit has extra Makefile support to help developers with:
  • Library projects -- even on NEXTSTEP 3.2!
  • Making palette projects generate libraries
  • Versioning
  • Localization

Temp Area

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

Private Objects

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)



Questions? Contact our webmaster via email to don@misckit.com. .