3/11/91 Objects: have inputs and outputs can be graphical or not both have a graphical representation in the work area Widgets as objects: inputs: through set values or exported functions output: through callbacks (what about actions - I think not) How to program input/output for a widget ? Is Object a subclass of a widget, or is object a base class and it's subclassed for for each purpose and it has a widget pointer (both ?) how to create an object/widget : through widget selector, or object selector ? >> widget selector is each widget an object ? (menus, commands) - no, the containers (form, shell etc,) are not how is the graphical representation attached to it (through object) inpute/outputs -> data types float integer Boolean string enums special data: clock tick and objects: clock and counter control objects: ifelse case const How to handle time ? generating an output is up to the object's semantics, e.g. an object can decide if an output has to be generated if it doesn't change. design of the widget selector ? data converters : always attempt to convert, maybe ask the user when she is making the connection, and the data types differ three windows: 1. work space (+ object selector) 2. widget space ( + widget selector + widget editor) 3. application window(s) xt++ to do: a constructor accepting several resource pairs ??? (cannot do varargs, this would require C file for each widget we want the macro) implement Args class, and modify the constructors implement LayoutSpace class, as a base class for ObjectEditor: it would handle any objects, by registering actions through the accelarators implement a general purpose Dialog class with keyword based type: InformationDialog, UserInputDialog, YesOrNo Dialog, etc.