mirror of
https://github.com/gnustep/apps-gorm.git
synced 2025-02-23 19:51:00 +00:00
Gorm is a clone of the Cocoa (OpenStep/NeXTSTEP) `Interface Builder' application for GNUstep
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@5587 72102866-910b-0410-8b05-ffd578937521 |
||
---|---|---|
Documentation | ||
Images | ||
Palettes | ||
.cvsignore | ||
ChangeLog | ||
ClassInformation.plist | ||
GNUmakefile | ||
Gorm.h | ||
Gorm.m | ||
GormClassManager.h | ||
GormClassManager.m | ||
GormDocument.h | ||
GormDocument.m | ||
GormInspectorsManager.h | ||
GormInspectorsManager.m | ||
GormObjectEditor.m | ||
GormPalettesManager.h | ||
GormPalettesManager.m | ||
GormPrivate.h | ||
GormViewKnobs.m | ||
GormWindowEditor.m | ||
IBInspector.m | ||
IBPalette.m | ||
InfoPanel.m | ||
README |
Acknowledgements - Icons - Mostly by Andrew Lindsay. Code - GormViewKnobs.m adapted from code by Gerrit van Dyk. 8th December 1999 This is Gorm version 0.0 ... a very pre-pre-alpha release. Please note - to build this code you will need the latest library source from the CVS repository, and it may be that you also need to be using the xgps backend rather than xdps (I don't have xdps running to test it on). Gorm is an acronym for Graphic Object Relationship modeler (or perhaps GNUstep Object Relationship Modeler). Gorm is a clone of the NeXTstep 'Interface Builder' application for GNUstep. Gorm is not 'gormless' (a Yorkshire dialect word that my parents used when they spotted me staring, slack-jawed, at the TV). My aim in writing this is to get a usable IB clone working before the new millenium, so there is not much time left. By 'usable' I mean that, at least for simple user interfaces, it should be possible to create/edit/test archived representations of an interface more easily using Gorm than by coding by hand. This initial version of the software doesn't come close to that goal - so don't go expecting very much. Current state - Save/Load 'nib' documents (binary archived data) This works so far as it can be tested - but that's just archives containing windows or panels so far. Load palettes Loading of palettes works. You can load palettes from the 'Tools' menu. Gorm automatically loads all the palettes from its Resources directory. Basic framework So far, the app provides a basic framework that needs fleshing out. It has a palettes manager object that allows you to select a palette and drag items from the palette into your document. It has a special per-document editor object, which keeps track of a matrix of icons representing the top-level objects in the document. It has an inspector manager class, which updates the inspector panel when the selected object is changed by an editor. It has special inspectors for handling an empty selection or a multiple selection. Palettes Four palettes (three of which are empty at present) are built and installed in the apps Resources directory. The Window palette is more fully fleshed out than the other palettes. It permits windows and panels to be created in Gorm. If provides the start of a window attributes inspector. 18 December 1999 You can drag views from a palette into a window or panel. You can select views in a window by clicking on them, shift-clicking (for multiple selection), or click-drag on the window background to select views in a box. You can delete/cut/copy/paste views betwen windows. You can move views in a window by clicking on them and dragging. You can resize views by clicking on their knobs and dragging. You can control-drag to mark source and destination views for a connection. Next task - inspectors. The connection inspector needs to be implemented to complete the process of establishing connections. The size inspector needs to be implemented to set autosizing parameters for a view. Once these are done, the object editor needs to be made to support connections so that we can connect between objects other than views, then we need to write a menu editor.