50 static void create_toggleitem(UiObject* obj, Windows::Foundation::Collections::IObservableVector<ICommandBarElement> cb, UiToolbarToggleItem* item); |
50 static void create_toggleitem(UiObject* obj, Windows::Foundation::Collections::IObservableVector<ICommandBarElement> cb, UiToolbarToggleItem* item); |
51 static void create_menuitem(UiObject* obj, Windows::Foundation::Collections::IObservableVector<ICommandBarElement> cb, UiToolbarMenuItem* item); |
51 static void create_menuitem(UiObject* obj, Windows::Foundation::Collections::IObservableVector<ICommandBarElement> cb, UiToolbarMenuItem* item); |
52 |
52 |
53 static void create_appmenu_items(UiObject* obj, Windows::Foundation::Collections::IObservableVector<ICommandBarElement> cb, UiToolbarMenuItem* i); |
53 static void create_appmenu_items(UiObject* obj, Windows::Foundation::Collections::IObservableVector<ICommandBarElement> cb, UiToolbarMenuItem* i); |
54 |
54 |
55 CommandBar ui_create_toolbar(UiObject *obj) { |
55 CommandBar ui_create_toolbar(UiObject *obj, CxList* defaults, bool addappmenu) { |
56 |
56 |
57 CommandBar cb = CommandBar(); |
57 CommandBar cb = CommandBar(); |
58 cb.DefaultLabelPosition(CommandBarDefaultLabelPosition::Right); |
58 cb.DefaultLabelPosition(CommandBarDefaultLabelPosition::Right); |
59 |
59 |
60 // add pre-configured items |
60 // add pre-configured items |
61 CxList* defaults = uic_get_toolbar_defaults(); |
|
62 CxIterator i = cxListIterator(defaults); |
61 CxIterator i = cxListIterator(defaults); |
63 cx_foreach(char*, def, i) { |
62 cx_foreach(char*, def, i) { |
64 UiToolbarItemI* item = uic_toolbar_get_item(def); |
63 UiToolbarItemI* item = uic_toolbar_get_item(def); |
65 if (!item) { |
64 if (!item) { |
66 exit(-1); // TODO: maybe an error dialog? |
65 exit(-1); // TODO: maybe an error dialog? |
67 } |
66 } |
68 create_item(obj, cb.PrimaryCommands(), item); |
67 create_item(obj, cb.PrimaryCommands(), item); |
69 } |
68 } |
70 |
69 |
71 // add appmenu |
70 // add appmenu |
72 UiToolbarMenuItem* appmenu = uic_get_appmenu(); |
71 if (addappmenu) { |
73 if (appmenu) { |
72 UiToolbarMenuItem* appmenu = uic_get_appmenu(); |
74 create_appmenu_items(obj, cb.SecondaryCommands(), appmenu); |
73 if (appmenu) { |
75 } |
74 create_appmenu_items(obj, cb.SecondaryCommands(), appmenu); |
76 |
75 } |
|
76 } |
77 |
77 |
78 return cb; |
78 return cb; |
79 } |
79 } |
80 |
80 |
81 static void create_item(UiObject* obj, Windows::Foundation::Collections::IObservableVector<ICommandBarElement> cb, UiToolbarItemI* i) { |
81 static void create_item(UiObject* obj, Windows::Foundation::Collections::IObservableVector<ICommandBarElement> cb, UiToolbarItemI* i) { |