ui/gtk/toolbar.c

changeset 1028
925a345ea298
parent 1015
b459361d98ad
equal deleted inserted replaced
1027:9613f7726032 1028:925a345ea298
42 #include "../common/context.h" 42 #include "../common/context.h"
43 43
44 44
45 #if UI_GTK2 || UI_GTK3 45 #if UI_GTK2 || UI_GTK3
46 46
47 GtkWidget* ui_create_toolbar(UiObject *obj) { 47 GtkWidget* ui_create_toolbar(UiObject *obj, UiBool sidebar) {
48 GtkWidget *toolbar = gtk_toolbar_new(); 48 GtkWidget *toolbar = gtk_toolbar_new();
49 #ifdef UI_GTK3 49 #ifdef UI_GTK3
50 gtk_style_context_add_class( 50 gtk_style_context_add_class(
51 gtk_widget_get_style_context(toolbar), 51 gtk_widget_get_style_context(toolbar),
52 GTK_STYLE_CLASS_PRIMARY_TOOLBAR); 52 GTK_STYLE_CLASS_PRIMARY_TOOLBAR);
54 54
55 CxMap *items = uic_get_toolbar_items(); 55 CxMap *items = uic_get_toolbar_items();
56 CxList *left_defaults = uic_get_toolbar_defaults(UI_TOOLBAR_LEFT); 56 CxList *left_defaults = uic_get_toolbar_defaults(UI_TOOLBAR_LEFT);
57 CxList *center_defaults = uic_get_toolbar_defaults(UI_TOOLBAR_CENTER); 57 CxList *center_defaults = uic_get_toolbar_defaults(UI_TOOLBAR_CENTER);
58 CxList *right_defaults = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHT); 58 CxList *right_defaults = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHT);
59 CxList *sidebar_left = uic_get_toolbar_defaults(UI_TOOLBAR_SIDEBAR_LEFT);
60 CxList *sidebar_right = uic_get_toolbar_defaults(UI_TOOLBAR_SIDEBAR_RIGHT);
61 CxList *rightpanel_left = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHTPANEL_LEFT);
62 CxList *rightpanel_center = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHTPANEL_CENTER);
63 CxList *rightpanel_right = uic_get_toolbar_defaults(UI_TOOLBAR_RIGHTPANEL_RIGHT);
64
65 if(sidebar) {
66 ui_toolbar_add_items(obj, toolbar, items, sidebar_left);
67 ui_toolbar_add_items(obj, toolbar, items, sidebar_right);
68 }
59 69
60 ui_toolbar_add_items(obj, toolbar, items, left_defaults); 70 ui_toolbar_add_items(obj, toolbar, items, left_defaults);
61 ui_toolbar_add_items(obj, toolbar, items, center_defaults); 71 ui_toolbar_add_items(obj, toolbar, items, center_defaults);
62 ui_toolbar_add_items(obj, toolbar, items, right_defaults); 72 ui_toolbar_add_items(obj, toolbar, items, right_defaults);
63 73
64 /* 74 ui_toolbar_add_items(obj, toolbar, items, rightpanel_left);
65 GtkToolbar *tb = GTK_TOOLBAR(toolbar); 75 ui_toolbar_add_items(obj, toolbar, items, rightpanel_center);
66 CxIterator i = cxListIterator(defaults); 76 ui_toolbar_add_items(obj, toolbar, items, rightpanel_right);
67 cx_foreach(char *, def, i) {
68 UiToolItemI *item = cxMapGet(toolbar_items, def);
69 if(item) {
70 item->add_to(tb, item, obj);
71 } else if(!strcmp(def, "@separator")) {
72 gtk_toolbar_insert(tb, gtk_separator_tool_item_new(), -1);
73 } else {
74 fprintf(stderr, "UI Error: Unknown toolbar item: %s\n", def);
75 }
76 }
77 */
78 77
79 return toolbar; 78 return toolbar;
80 } 79 }
81 80
82 static void create_item(UiObject *obj, GtkWidget *toolbar, UiToolbarItemI *i) { 81 static void create_item(UiObject *obj, GtkWidget *toolbar, UiToolbarItemI *i) {

mercurial