ObjectEditor is provided for convenience only. It is highly configurable and should be flexible enough to be used by most applications. However, if this is not the case, all of its behavior can be easily duplicated using the EditObject class convenience functions and Graphic object resources.
Each group is created inside a Motif RowColumn widget. Resources are available to specify the content of each group and to position the elements of the group, rowwise or columnwise. Also, using resource XmNeditList, the application can control which groups of components are displayed.
| Name | Type | Default | Access |
|---|---|---|---|
| XmNactionList | String * | dynamic | CSG |
| XmNactionNumColumns | short | 5 | CSG |
| XmNactionOrientation | unsigned char | XintHORIZONTAL | CSG |
| XmNattributeList | String * | dynamic | CSG |
| XmNattributeNumColumns | short | 1 | CSG |
| XmNattributeOrientation | unsigned char | XintVERTICAL | CSG |
| XmNcolorAttributeList | String * | dynamic | CSG |
| XmNcolorList | String * | dynamic | CSG |
| XmNcolorNumColumns | short | 1 | CSG |
| XmNcolorOrientation | unsigned char | XintVERTICAL | CSG |
| XmNeditList | String * | dynamic | CSG |
| XmNeditObjects | Widget * | NULL | CSG |
| XmNnumColumns | short | 2 | CSG |
| XmNnumEditObjects | int | 0 | CSG |
| XmNobjectClassList | ObjectClass * | dynamic | CSG |
| XmNorientation | unsigned char | XintVERTICAL | CSG |
| XmNpixmapList | Pixmap * | NULL | CSG |
| XmNpixmapNumColumns | short | dynamic | CSG |
| XmNpixmapOrientation | unsigned char | XintVERTICAL | CSG |
| XmNshowAttributeLabels | Boolean | True | CSG |
| XintGROUP | Creates a Push Button that groups all the selected objects. |
| XintUNGROUP | Creates a Push Button that ungroups all the selected groups. |
| XintRAISE | Creates a Push Button that raises one place the selected objects in the display list. |
| XintLOWER | Creates a Push Button that lowers one place the selected objects in the display list. |
| XintFRONT | Creates a Push Button that raises the selected objects to the front of the display list. |
| XintBACK | Creates a Push Button that lowers the selected objects at the end of the display list. |
| XintCUT | Creates a Push Button that removes the selected objects and places them in the cut and paste buffer. |
| XintCOPY | Creates a Push Button that places the selected objects in the cut and paste buffer. |
| XintPASTE | Creates a Push Button that pastes any object in the cut and paste buffer. |
The default for this resource is a NULL terminated list containing all the actions listed above.
| XintFILL_STYLE | Creates a pulldown menu to edit the fill style of the selected objects. |
| XintLINE_STYLE | Creates a pulldown menu to edit the line style of the selected objects. |
| XintLINE_WIDTH | Creates a pulldown menu to edit the line width of the selected objects. |
| XintDASH_TYPE | Creates a pulldown menu to edit the line dash style of the selected objects. |
| XintLINE_ENDS | Creates a pulldown menu to edit the line end style (for arrows) of the selected line objects. |
The default for this resource is a NULL terminated list containing all the attributes listed above.
| XintFILL_COLOR | Creates a pulldown menu to edit the fill color of the selected objects. |
| XintPATTERN_COLOR | Creates a pulldown menu to edit the pattern color of the selected objects. |
| XintLINE_COLOR | Creates a pulldown menu to edit the line color of the selected objects. |
The default for this resource is a NULL terminated list containing all the color attributes listed above.
| XintACTION_EDITOR | Creates the Action group which contains a set of push buttons used to perform actions on the objects. |
| XintOBJECT_EDITOR | Creates the Object group which contains a set of push buttons that can be used to create objects interactively. |
| XintCOLOR_EDITOR | Creates the Color group which contains a set of pulldown menus that can be used to edit the object colors. |
| XintATTRIBUTE_EDITOR | Creates the Attribute group which contains a set of pulldown menus that can be used to edit the object attributes. |
| XintPIXMAP_EDITOR | Creates the Pixmap group which contains a set of push buttons that can be used to assign a fill pattern to the objects. |
The default for this resource is a NULL terminated list containing all the items listed above.
| xintChartObjectClass | To create a Chart object interactively. |
| xintFreeHandObjectClass | To create a Polyline for which points are sampled along the cursor path during creation. |
| xintLineObjectClass | To create a Line object interactively. |
| xintOvalObjectClass | To create an Oval object interactively. |
| xintPolygonObjectClass | To create a closed Polyline object interactively. |
| xintPolylineObjectClass | To create a Polyline object interactively. |
| xintRectangleObjectClass | To create a Rectangle object interactively. |
| xintRoundedRectObjectClass | To create a Rounded Rectangle object interactively. |
| xintScaledTextObjectClass | To create a scalable Text object interactively. |
| xintSymbolObjectClass | To create a Symbol object interactively. |
| xintTextObjectClass | To create a fixed Text object interactively. |
See the Graphic object reference section for more information on each object class. The set of push buttons listed above will only be created if attribute XintOBJECT is listed in resource XmNeditList.
| Function Name | Description |
|---|---|
| XintCreateObjectEditor | Creates an ObjectEditor widget. |
| XintObjectEditorGetDefinedPixmap | Returns a pixmap id from a specified name. |
| XintObjectEditorAddEditObjectToList | Adds a widget to the list of EditObject widgets associated with an ObjectEditor widget. |
| XintObjectEditorRemoveEditObjectFromList | Removes a widget from the list of EditObject widgets managed by an ObjectEditor widget. |
Widget XintCreateObjectEditor (...)
| Widget | parent | Parent of new ObjectEditor widget. |
| char * | name | Name of new ObjectEditor widget. |
| ArgList | arglist | List of resource/value items. |
| Cardinal | argcount | Number of items in arglist. |
Pixmap XintObjectEditorGetDefinedPixmap (...)
| Widget | widget | ID of any Motif or INT widget. |
| char * | name | Name of the pixmap. Use one of the name in the list below. |
Below is the list of pixmap names recognized by function XintObjectEditorGetDefinedPixmap. Note that if you don't find the right pixmap in the list, you can always create your own using the proper X library functions.
| "Solid" | "Clear" | "25_percent_1" | "25_percent_2" |
| "25_percent_3" | "25_percent_4" | "50_percent_1" | "50_percent_2" |
| "75_percent" | "Vertical" | "Vertical1" | "Vertical2" |
| "Vertical3" | "Horizontal" | "Horizontal1" | "Horizontal2" |
| "Horizontal3" | "Slant_Left" | "Slant_Left1" | "Slant_Left2" |
| "Star_Left1" | "Star_Left2" | "Star_Right1" | "Star_Right2" |
| "Slant_Right" | "Slant_Right1" | "Slant_Right2" | "Zigzag" |
| "Zigzag1" | "Zigzag2" | "Tread" | "Tread1" |
| "Tread2" | "Trellis" | "Trellis1" | "Trellis2" |
| "Weave1" | "Weave2" | "Weave3" | "Weave4" |
| "12_5_percent_1" | "12_5_percent_2" | "12_5_percent_3" | "12_5_percent_4" |
| "12_5_percent_5" | "12_5_percent_6" | "12_5_percent_7" | "12_5_percent_8" |
| "Sandstone" | "Siltstone" | "Shale" | "Limestone" |
| "Dolomite" | "Chert" | "Basement" | "Check1" |
| "Check2" | "Check3" | "Wicker1" | "Wicker2" |
| "Wicker3" | "Cross_Hatch" | "Diamond1" | "Diamond2" |
| "Diamond3" | "Lattice1" | "Lattice2" | "Lattice3" |
| "Lattice4" | "Lattice5" | "Lattice6" | "Lattice7" |
| "Herring_Bone1" | "Herring_Bone2" | "Plaid1" | "Plaid2" |
| "Plaid3" | "Plaid4" | "Imbrication1" | "Imbrication2" |
| "Imbrication3" | "Imbrication4" | "Diaper" | "Parquet1" |
| "Parquet2" | "Horizontal_Bar1" | "Horizontal_Bar2" | "Horizontal_Bar3" |
| "Horizontal_Bar4" | "Horizontal_Bar5" | "Horizontal_Bar6" | "Horizontal_Bar7" |
| "Horizontal_Bar8" | "Horizontal_Bar9" | "Horizontal_Bar10" | "Vertical_Bar1" |
| "Vertical_Bar2" | "Vertical_Bar3" | "Vertical_Bar4" | "Vertical_Bar5" |
| "Vertical_Bar6" | "Vertical_Bar7" | "Vertical_Bar8" | "Vertical_Bar9" |
void XintObjectEditorAddEditObjectToList (...)
| Widget | widget | ID of the ObjectEditor widget. |
| Widget | edit_object | ID of an EditObject widget where we want to create or edit objects interactively using the ObjectEditor widget. |
void XintObjectEditorRemoveEditObjectFromList (...)
| Widget | widget | ID of the ObjectEditor widget. |
| Widget | eo | ID of the EditObject widget to be removed from the list. |