ui/motif/toolbar.c

changeset 4
39b9b86ec452
parent 3
c1a75454b444
child 27
77b09bb52ca0
equal deleted inserted replaced
3:c1a75454b444 4:39b9b86ec452
66 void ui_toolbar_add_default(char *name) { 66 void ui_toolbar_add_default(char *name) {
67 char *s = strdup(name); 67 char *s = strdup(name);
68 defaults = ucx_list_append(defaults, s); 68 defaults = ucx_list_append(defaults, s);
69 } 69 }
70 70
71 void ui_create_toolbar(UiObject *obj, Widget parent) { 71 Widget ui_create_toolbar(UiObject *obj, Widget parent) {
72 if(!defaults) { 72 if(!defaults) {
73 return; 73 return NULL;
74 } 74 }
75 75
76 Arg args[8]; 76 Arg args[8];
77 XtSetArg(args[0], XmNshadowType, XmSHADOW_ETCHED_OUT); 77 XtSetArg(args[0], XmNshadowType, XmSHADOW_ETCHED_OUT);
78 XtSetArg(args[1], XmNshadowThickness, 1); 78 XtSetArg(args[1], XmNshadowThickness, 1);
81 XtSetArg(args[4], XmNrightAttachment, XmATTACH_FORM); 81 XtSetArg(args[4], XmNrightAttachment, XmATTACH_FORM);
82 Widget frame = XmCreateFrame(parent, "toolbar_frame", args, 5); 82 Widget frame = XmCreateFrame(parent, "toolbar_frame", args, 5);
83 83
84 XtSetArg(args[0], XmNorientation, XmHORIZONTAL); 84 XtSetArg(args[0], XmNorientation, XmHORIZONTAL);
85 XtSetArg(args[1], XmNpacking, XmPACK_TIGHT); 85 XtSetArg(args[1], XmNpacking, XmPACK_TIGHT);
86 Widget toolbar = XmCreateRowColumn (frame, "toolbar", args, 2); 86 XtSetArg(args[2], XmNspacing, 1);
87 Widget toolbar = XmCreateRowColumn (frame, "toolbar", args, 3);
87 88
88 UCX_FOREACH(elm, defaults) { 89 UCX_FOREACH(elm, defaults) {
89 UiToolItemI *item = ucx_map_cstr_get(toolbar_items, elm->data); 90 UiToolItemI *item = ucx_map_cstr_get(toolbar_items, elm->data);
90 if(item) { 91 if(item) {
91 item->add_to(toolbar, item, obj); 92 item->add_to(toolbar, item, obj);
92 } else if(!strcmp(elm->data, "@separator")) { 93 } else if(!strcmp(elm->data, "@separator")) {
93 94 // TODO
94 } else { 95 } else {
95 fprintf(stderr, "UI Error: Unknown toolbar item: %s\n", elm->data); 96 fprintf(stderr, "UI Error: Unknown toolbar item: %s\n", elm->data);
96 } 97 }
97 } 98 }
98 99
99 XtManageChild(toolbar); 100 XtManageChild(toolbar);
100 XtManageChild(frame); 101 XtManageChild(frame);
102
103 return frame;
101 } 104 }
102 105
103 void add_toolitem_widget(Widget parent, UiToolItem *item, UiObject *obj) { 106 void add_toolitem_widget(Widget parent, UiToolItem *item, UiObject *obj) {
104 Arg args[4]; 107 Arg args[4];
105 108

mercurial