// 29 april 2015 #include "test.h" static uiLabel *movingLabel; static uiBox *movingBoxes[2]; static int movingCurrent; static void moveLabel(uiButton *b, void *data) { int from, to; from = movingCurrent; to = 0; if (from == 0) to = 1; uiBoxDelete(movingBoxes[from], 0); uiBoxAppend(movingBoxes[to], uiControl(movingLabel), 0); movingCurrent = to; } static int moveBack; #define moveOutText "Move Page 1 Out" #define moveBackText "Move Page 1 Back" static void movePage1(uiButton *b, void *data) { if (moveBack) { // TODO return; } uiTabDeletePage(mainTab, 0); uiBoxAppend(mainBox, uiControl(page1), 1); uiButtonSetText(b, moveBackText); moveBack = 1; } static void openAnotherWindow(uiButton *b, void *data) { uiControlShow(uiControl(uiNewWindow("Another Window", 100, 100, data != NULL))); } uiBox *makePage2(void) { uiBox *page2; uiBox *hbox; uiButton *button; page2 = newVerticalBox(); hbox = newHorizontalBox(); button = uiNewButton("Move the Label!"); uiButtonOnClicked(button, moveLabel, NULL); uiBoxAppend(hbox, uiControl(button), 1); // have a blank label for space uiBoxAppend(hbox, uiControl(uiNewLabel("")), 1); uiBoxAppend(page2, uiControl(hbox), 0); hbox = newHorizontalBox(); movingBoxes[0] = newVerticalBox(); uiBoxAppend(hbox, uiControl(movingBoxes[0]), 1); movingBoxes[1] = newVerticalBox(); uiBoxAppend(hbox, uiControl(movingBoxes[1]), 1); uiBoxAppend(page2, uiControl(hbox), 0); movingCurrent = 0; movingLabel = uiNewLabel("This label moves!"); uiBoxAppend(movingBoxes[movingCurrent], uiControl(movingLabel), 0); hbox = newHorizontalBox(); button = uiNewButton(moveOutText); uiButtonOnClicked(button, movePage1, NULL); uiBoxAppend(hbox, uiControl(button), 0); uiBoxAppend(page2, uiControl(hbox), 0); moveBack = 0; hbox = newHorizontalBox(); uiBoxAppend(hbox, uiControl(uiNewLabel("Label Alignment Test")), 0); button = uiNewButton("Open Menued Window"); uiButtonOnClicked(button, openAnotherWindow, button); uiBoxAppend(hbox, uiControl(button), 0); button = uiNewButton("Open Menuless Window"); uiButtonOnClicked(button, openAnotherWindow, NULL); uiBoxAppend(hbox, uiControl(button), 0); uiBoxAppend(page2, uiControl(hbox), 0); return page2; }