XIB does not create it's own colourmap, so if you have an application such as Netscape running which uses large chunks of the default map, you may find that the number of colours available for the XIB's display is limited somewhat so it's probably a good idea to close large colourmap- greedy applications!
![]() |
The control window lets you load and save development files, compile the final application and control the display of other windows. Most functions may be controlled from the pull-down menus, but a few are also available from the button-bar as shown above.
![]() |
Here you can select which object type you are going to work with. Clicking on a tool other than the pointer, and then clicking inside a form will create a new object of that type. The pointer tool is used to allow manipulation of existing objects without accidently creating a new object which could occur if an object type was selected.
Box tools manage their own children, so you could, for example group a set of buttons inside a box, then the entire group could be moved around simply by moving the box. Boxes have their own agenda when it comes to child positioning and you should be careful how you lay out the children in boxes. If you require finer control, use a form tool.
Form tools allow the same control over it's children's positioning as does the window-form (windows use forms in fact...).
Deleting a box or form will delete all of it's children (see below about how to delete objects).
If a form or box is set hidden or disabled, all of it's children are set the same.
![]() | When you have selected or created an object, you can indicate which events you want to be recognised by that object by simply selecting the event type. Each event button toggles on and off so you can switch off an event if you wish (the XIB will warn you if any code is attached to that event). Note that events are additional to any callbacks that objects respond to. |
![]() |
The properties window lets you set the resources of the currently selected object (which is indicated in the 'Object Identity' box. Simply select the property you wish to edit in the resource (left- hand-side) list. Depending on the type of resource, the edit window or edit button will be active just above the parameter list. For editable values, simply change the value and press RETURN to register the change. For resources which display a 'change' button, press the button to display the property change tool for that resource. Resources which have their own property change tool (and thus display a 'change' button) are: Fonts, Colours, Paths, Bitmaps, Icons and object references (used by toggles).
![]() |
This window maintains a list of the current forms and modules loaded in memory. If you set a New Project from the Control window's File menu, all members of this list are included in the project's scope. The Open and Delete buttons are used to control the display and deletion of code modules. Deleting a module will remove it from memory and this list (but not from disk if it has been saved previously). |
Clicking on an object with the LEFT mouse button displays the object move/size tool. This tool has 6 grips: the corner grips perform a constrained size change on the object, whilst the middle buttons allow the object to be moved around the form. Note that moving the pointer off the window will cause the tool to 'drop' the object at the edge of the window.
Clicking on an object with the RIGHT mouse button will display a pop-up menu which allows you to perform one of the following operations:
NOTE that there are certain objects which require care when handling. Box and panner objects will initially appear very small and need to be resized. A Box object will resize itself when a child is created inside it. When you want to re-size or move a Box or form which has children, use the RIGHT mouse button and select the Resize/Move option, or make sure you have the pointer tool selected and click the edge of the box or form with the LEFT button.
Next, the Code Gen dialog will appear and you can select how the system should generate the code. If a project name has been set, the application name will reflect this, otherwise 'noname' is used. You can enable or disable the generation of a Makefile if you wish. Situations where you may not want XIB to generate a Makefile are for example when you may have edited a previously generated makefile.
The name of the Makefile can be changed if you prefer. This defaults to Makefile.
Clicking 'Generate' will allow the XIB to generate the source code, and to start compiling the
application. XIB displays the progress of the compilation, and will display a dialog on completion
indicating the success or otherwise of the operation. All the information is then copied to
the 'Errors' window for inspection.
Your application is now in the working directory and ready to run!.
You should not attempt to re-declare these reserved function and variable names, although
you could override the application exit function to perform come actions required by your
own application.
XIB Programming Tips.
In addition to generating the code needed to construct your application, XIB also generates some
extra program elements which may proove useful to you. These include an application exit
function call and some global system variables containing information collected during
application initialisation. Function to Exit an application
You can call the appExit() function to cause the application to close all of it's
windows and exit. XIB generates a context service event main loop with system variable
_appExit. When this becomes TRUE, the application will leave the loop and close all
current windows before exiting entirely.System Variables
Misc. System functions
These are primarily intended for internal use, but may proove convenient to you.
Note that these dummy functions have the correct parameter list for the type of call that
they service.
Return to the XVisual Homepage
Steve Carrie. steve@phoenix.bim.napier.ac.uk
Last Update 24/05/96 at 15:15 hrs