diff options
Diffstat (limited to 'src/libui_sdl/libui/test/menus.c')
-rw-r--r-- | src/libui_sdl/libui/test/menus.c | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/src/libui_sdl/libui/test/menus.c b/src/libui_sdl/libui/test/menus.c new file mode 100644 index 0000000..87ff80a --- /dev/null +++ b/src/libui_sdl/libui/test/menus.c @@ -0,0 +1,112 @@ +// 23 april 2015 +#include "test.h" + +uiMenu *fileMenu; +uiMenuItem *newItem; +uiMenuItem *openItem; +uiMenuItem *shouldQuitItem; +uiMenuItem *quitItem; +uiMenu *editMenu; +uiMenuItem *undoItem; +uiMenuItem *checkItem; +uiMenuItem *accelItem; +uiMenuItem *prefsItem; +uiMenu *testMenu; +uiMenuItem *enabledItem; +uiMenuItem *enableThisItem; +uiMenuItem *forceCheckedItem; +uiMenuItem *forceUncheckedItem; +uiMenuItem *whatWindowItem; +uiMenu *moreTestsMenu; +uiMenuItem *quitEnabledItem; +uiMenuItem *prefsEnabledItem; +uiMenuItem *aboutEnabledItem; +uiMenuItem *checkEnabledItem; +uiMenu *multiMenu; +uiMenu *helpMenu; +uiMenuItem *helpItem; +uiMenuItem *aboutItem; + +static void enableItemTest(uiMenuItem *item, uiWindow *w, void *data) +{ + if (uiMenuItemChecked(item)) + uiMenuItemEnable(uiMenuItem(data)); + else + uiMenuItemDisable(uiMenuItem(data)); +} + +static void forceOn(uiMenuItem *item, uiWindow *w, void *data) +{ + uiMenuItemSetChecked(enabledItem, 1); +} + +static void forceOff(uiMenuItem *item, uiWindow *w, void *data) +{ + uiMenuItemSetChecked(enabledItem, 0); +} + +static void whatWindow(uiMenuItem *item, uiWindow *w, void *data) +{ + printf("menu item clicked on window %p\n", (void *) w); +} + +void initMenus(void) +{ + fileMenu = uiNewMenu("File"); + newItem = uiMenuAppendItem(fileMenu, "New"); + openItem = uiMenuAppendItem(fileMenu, "Open"); + uiMenuAppendSeparator(fileMenu); + shouldQuitItem = uiMenuAppendCheckItem(fileMenu, "Should Quit"); + quitItem = uiMenuAppendQuitItem(fileMenu); + + editMenu = uiNewMenu("Edit"); + undoItem = uiMenuAppendItem(editMenu, "Undo"); + uiMenuItemDisable(undoItem); + uiMenuAppendSeparator(editMenu); + checkItem = uiMenuAppendCheckItem(editMenu, "Check Me\tTest"); + accelItem = uiMenuAppendItem(editMenu, "A&ccele&&rator T_es__t"); + prefsItem = uiMenuAppendPreferencesItem(editMenu); + + testMenu = uiNewMenu("Test"); + enabledItem = uiMenuAppendCheckItem(testMenu, "Enable Below Item"); + uiMenuItemSetChecked(enabledItem, 1); + enableThisItem = uiMenuAppendItem(testMenu, "This Will Be Enabled"); + uiMenuItemOnClicked(enabledItem, enableItemTest, enableThisItem); + forceCheckedItem = uiMenuAppendItem(testMenu, "Force Above Checked"); + uiMenuItemOnClicked(forceCheckedItem, forceOn, NULL); + forceUncheckedItem = uiMenuAppendItem(testMenu, "Force Above Unchecked"); + uiMenuItemOnClicked(forceUncheckedItem, forceOff, NULL); + uiMenuAppendSeparator(testMenu); + whatWindowItem = uiMenuAppendItem(testMenu, "What Window?"); + uiMenuItemOnClicked(whatWindowItem, whatWindow, NULL); + + moreTestsMenu = uiNewMenu("More Tests"); + quitEnabledItem = uiMenuAppendCheckItem(moreTestsMenu, "Quit Item Enabled"); + uiMenuItemSetChecked(quitEnabledItem, 1); + prefsEnabledItem = uiMenuAppendCheckItem(moreTestsMenu, "Preferences Item Enabled"); + uiMenuItemSetChecked(prefsEnabledItem, 1); + aboutEnabledItem = uiMenuAppendCheckItem(moreTestsMenu, "About Item Enabled"); + uiMenuItemSetChecked(aboutEnabledItem, 1); + uiMenuAppendSeparator(moreTestsMenu); + checkEnabledItem = uiMenuAppendCheckItem(moreTestsMenu, "Check Me Item Enabled"); + uiMenuItemSetChecked(checkEnabledItem, 1); + + multiMenu = uiNewMenu("Multi"); + uiMenuAppendSeparator(multiMenu); + uiMenuAppendSeparator(multiMenu); + uiMenuAppendItem(multiMenu, "Item && Item && Item"); + uiMenuAppendSeparator(multiMenu); + uiMenuAppendSeparator(multiMenu); + uiMenuAppendItem(multiMenu, "Item __ Item __ Item"); + uiMenuAppendSeparator(multiMenu); + uiMenuAppendSeparator(multiMenu); + + helpMenu = uiNewMenu("Help"); + helpItem = uiMenuAppendItem(helpMenu, "Help"); + aboutItem = uiMenuAppendAboutItem(helpMenu); + + uiMenuItemOnClicked(quitEnabledItem, enableItemTest, quitItem); + uiMenuItemOnClicked(prefsEnabledItem, enableItemTest, prefsItem); + uiMenuItemOnClicked(aboutEnabledItem, enableItemTest, aboutItem); + uiMenuItemOnClicked(checkEnabledItem, enableItemTest, checkItem); +} |