lpetrich
Contributor
GUI builders: software for laying out GUI widgets, like placement of buttons, text fields, etc. in windows. GUI widgets, a.k.a. GUI controls or GUI elements.
For MacOS Classic, I used ResEdit, which creates a "resource file" with GUI definitions. The original Macintosh team discovered that 128K of memory was very low for GUI's, so they decided on giving each file a "data fork" and a "resource fork". The data fork is an uninterpreted string of bytes, like for Unix and DOS and Windows. The resource fork is a mini-database, with the contents labeled by a 4-byte typecode and a 16-bit number. The resource fork was used for GUI definitions and app graphics, and also for executable code. The resource-fork access was designed so that resource data loaded into memory could easily be purged from memory to make way for other resource data.
For MacOS Cocoa, I use Interface Builder, originally separate from the IDE, Project Builder, but now included in it in one app, Xcode. IB has the nice feature that one can "wire" an app, connecting GUI widgets to placeholder objects in it. In one's code, one prefaces references to GUI widgets with "IBOutlet" and functions that do GUI-widget actions with "IBAction". One then wires from placeholder to widget and selects which IBOutlet one wants, and from widget to placeholder and selects what IBAction one wants. One can also do widget-to-widget connections, like for specifying which order one wants to tab through some text fields.
Programmatic: specifying all the GUI widgets in one's code. I've had to do that with Java AWT, Android, Python/TK, and HTML/CSS/JavaScript.
For MacOS Classic, I used ResEdit, which creates a "resource file" with GUI definitions. The original Macintosh team discovered that 128K of memory was very low for GUI's, so they decided on giving each file a "data fork" and a "resource fork". The data fork is an uninterpreted string of bytes, like for Unix and DOS and Windows. The resource fork is a mini-database, with the contents labeled by a 4-byte typecode and a 16-bit number. The resource fork was used for GUI definitions and app graphics, and also for executable code. The resource-fork access was designed so that resource data loaded into memory could easily be purged from memory to make way for other resource data.
For MacOS Cocoa, I use Interface Builder, originally separate from the IDE, Project Builder, but now included in it in one app, Xcode. IB has the nice feature that one can "wire" an app, connecting GUI widgets to placeholder objects in it. In one's code, one prefaces references to GUI widgets with "IBOutlet" and functions that do GUI-widget actions with "IBAction". One then wires from placeholder to widget and selects which IBOutlet one wants, and from widget to placeholder and selects what IBAction one wants. One can also do widget-to-widget connections, like for specifying which order one wants to tab through some text fields.
Programmatic: specifying all the GUI widgets in one's code. I've had to do that with Java AWT, Android, Python/TK, and HTML/CSS/JavaScript.