ui/winui/commandbar.cpp

branch
newapi
changeset 226
4eef1d49f794
parent 213
7e39db525fd9
equal deleted inserted replaced
225:097f45f9c1fa 226:4eef1d49f794
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) {

mercurial