home *** CD-ROM | disk | FTP | other *** search
- /* InterfaceBuilder - InterfaceBuilder.h - Jean-Marie Hullot - (c) 1991 NeXT Computer Inc. */
-
- #import <appkit/appkit.h>
- @class Sound;
-
- // InterfaceBuilder Pasteboard types
-
- extern NXAtom IBObjectPboardType;
- extern NXAtom IBCellPboardType;
- extern NXAtom IBMenuPboardType;
- extern NXAtom IBMenuCellPboardType;
- extern NXAtom IBViewPboardType;
- extern NXAtom IBWindowPboardType;
-
- @protocol IB
-
- - activeDocument;
- - selectionOwner;
-
- /* The following might be useful when implementing your own ConnectInspector */
-
- - connectSource;
- - connectDestination;
- - (BOOL)isConnecting;
- - stopConnecting;
- - displayConnectionBetween:source and:dest;
-
- /* Test Mode */
-
- - (BOOL)isTestingInterface;
-
- /* Document Controllers registration */
-
- - registerDocumentController:aController;
- - unregisterDocumentController:aController;
-
- /* Updater */
-
- - disableUpdate;
- /* Not supported as public API in Release 3 */
- - reenableUpdate;
- /* Not supported as public API in Release 3 */
-
- @end
-
- @protocol IBDocumentControllers
- - willSaveDocument:aDocument;
- - didSaveDocument:aDocument;
- - didOpenDocument:aDocument;
- @end
-
- @protocol IBSelectionOwners
- - (unsigned)selectionCount;
- - getSelectionInto:(List *)objectList;
- - redrawSelection;
- @end
-
- @protocol IBDocuments
-
- - touch;
- - getDocumentPathIn:(char *)thePath;
-
- - (BOOL)objectIsMember:object;
-
-
- - getObjects:(List *)objects;
- - getParentForObject:object;
-
- - copyObject:anObject type:(NXAtom)type inPasteboard:(Pasteboard *)aPasteboard;
- - copyObjects:(List *)objectList type:(NXAtom)type inPasteboard:(Pasteboard *)aPasteboard;
- - (List *)pasteType:(NXAtom)type fromPasteboard:(Pasteboard *)aPasteboard parent:aParent;
-
- - attachObject:object to:parent;
- - attachObjects:(List *)objectList to:parent;
-
- - deleteObject:anObject;
- - deleteObjects:(List *)objectList;
-
- - (BOOL) setName:(const char *)aName for:anObject;
- - getNameIn:(char *)name for:object;
-
-
- - addConnector:aConnector;
- - removeConnector:aConnector;
- - listConnectors:(List *)aList forSource:aSource;
- - listConnectors:(List *)aList forDestination:aDest;
- - listConnectors:(List *)aList forSource:aSource filterClass:filterClass;
- - listConnectors:(List *)aList forDestination:aDest filterClass:filterClass;
-
- - setSelectionFrom:anEditor;
- - editorDidClose:anEditor for:anObject;
-
- - openEditorFor:anObject;
- - getEditor:(BOOL)createIt for:anObject;
-
- - redrawObject:anObject;
-
- @end
-
- @protVH IBConnectors
-
- - free;
- - write:(NXTypedStream *) s;
- - read:(NXTypedStream *) s;
-
- - source;
- - destination;
- - renewObject:old to:new;
- - nibInstantiate;
- - establishConnection;
-
- @end
-
- @protocol IBEditors <IBSelectionOwners>
-
- - initWith:anObject inDocument:aDocument;
- - document;
- - editedObject;
- - window;
- - (BOOL) wantsSelection;
- - selectObjects:(List *)objectList;
- - close;
- - openSubeditorFor:anObject;
- - closeSubeditors;
- - resetObject:anObject;
-
- - orderFront;
- - (BOOL)activate;
- - makeSelectionVisible:(BOOL)showIt;
-
- - (NXAtom)acceptsTypeFrom:(const NXAtom *)typeList;
- - (BOOL)copySelection;
- - (BOOL)deleteSelection;
- - (BOOL)pasteInSelection;
-
-
- @end
-
- @interface Object (IBObject)
-
- - (const char *)getInspectorClassName;
- - (const char *)getConnectInspectorClassName;
- - (const char *)getSizeInspectorClassName;
- - (const char *)getHelpInspectorClassName;
-
- - (const char *)getEditorClassName;
-
- - (NXImage *)getIBImage;
-
- @end
-
- @interface View (IBView)
-
- #define IB_BOTTOMLEFT 0
- #define IB_MIDDLELEFT 1
- #define IB_TOPLEFT 2
- #define IB_MIDDLETOP 3
- #define IB_TOPRIGHT 4
- #define IB_MIDDLERIGHT 5
- #define IB_BOTTOMRIGHT 6
- #define IB_MIDDLEBOTTOM 7
-
- - getMinSize:(NXSize *)minSize maxSize:(NXSize *)maxSize from:(int)where;
- - placeView:(NXRect *)frameRect;
- // default is setFrame:
- @end
-
- @protocol IBInspectors
- - (BOOL)wantsButtons;
- /* Required */
- /* whether the inspector wants ok & revert buttons or not */
-
- - revert:sender;
- /* Required */
- /* This is the main point of functionality: this method is called when the inspector is activited; must call [super revert:sender] */
-
- - ok:sender;
- /* Required */
- /* must call [super ok:sender] */
- @end
-
- @interface IBInspector:Object <IBInspectors> {
- id object;
- id window;
- id driver; // private!
- id okButton;
- id revertButton;
- }
-
- - object;
- - window;
-
- - touch:sender;
-
- - textDidChange:sender;
-
- - updateFor:(int)changeMask;
- /* Not supported as public API in Release 3 */
-
- @end
-
- @interface IBPalette:Object {
- id paletteDocument;
- id originalWindow;
- id paletteView;
- id draggedView;
- id paletteInfo; // private
- }
-
- - paletteDocument;
- - originalWindow;
- - paletteView;
- /* Not supported as public API in Release 3 */
- - draggedView;
- /* Not supported as public API in Release 3 */
-
- - finishInstantiate;
- - associateObject:object type:(NXAtom)typeVIh:aView;
-
- - declareTypesFor:aView inPasteboard:(Pasteboard *)aPasteboard;
- /* Not supported as public API in Release 3 */
- - pasteboard:aPasteboard provideData:(NXAtom)type;
- /* Not supported as public API in Release 3 */
-
- - findImageNamed:(const char *)name;
-
- @end
-
-
-