void structHyperPage :: v_createChildren () { int height = Machine_getTextHeight (); int y = Machine_getMenuBarHeight () + 4; /***** Create navigation buttons. *****/ if (v_hasHistory ()) { GuiButton_createShown (d_windowForm, 4, 48, y, y + height, L"<", gui_button_cb_back, this, 0); GuiButton_createShown (d_windowForm, 54, 98, y, y + height, L">", gui_button_cb_forth, this, 0); } if (v_isOrdered ()) { GuiButton_createShown (d_windowForm, 174, 218, y, y + height, L"< 1", gui_button_cb_previousPage, this, 0); GuiButton_createShown (d_windowForm, 224, 268, y, y + height, L"1 >", gui_button_cb_nextPage, this, 0); } /***** Create scroll bar. *****/ createVerticalScrollBar (this, d_windowForm); /***** Create drawing area. *****/ drawingArea = GuiDrawingArea_createShown (d_windowForm, 0, - Machine_getScrollBarWidth (), y + height + 8, - Machine_getScrollBarWidth (), gui_drawingarea_cb_expose, gui_drawingarea_cb_click, NULL, gui_drawingarea_cb_resize, this, GuiDrawingArea_BORDER); drawingArea -> f_setSwipable (NULL, verticalScrollBar); }
void structArtwordEditor :: v_createChildren () { int dy = Machine_getMenuBarHeight (); GuiLabel_createShown (d_windowForm, 40, 100, dy + 3, dy + 3 + Gui_LABEL_HEIGHT, U"Targets:", 0); GuiLabel_createShown (d_windowForm, 5, 65, dy + 20, dy + 20 + Gui_LABEL_HEIGHT, U"Times:", 0); GuiLabel_createShown (d_windowForm, 80, 140, dy + 20, dy + 20 + Gui_LABEL_HEIGHT, U"Values:", 0); list = GuiList_createShown (d_windowForm, 0, 140, dy + 40, dy + 340, true, nullptr); GuiButton_createShown (d_windowForm, 10, 130, dy + 410, dy + 410 + Gui_PUSHBUTTON_HEIGHT, U"Remove target", gui_button_cb_removeTarget, this, 0); drawingArea = GuiDrawingArea_createShown (d_windowForm, 170, 470, dy + 10, dy + 310, gui_drawingarea_cb_expose, gui_drawingarea_cb_click, nullptr, nullptr, this, 0); GuiLabel_createShown (d_windowForm, 220, 270, dy + 340, dy + 340 + Gui_LABEL_HEIGHT, U"Time:", 0); time = GuiText_createShown (d_windowForm, 270, 370, dy + 340, dy + 340 + Gui_TEXTFIELD_HEIGHT, 0); GuiLabel_createShown (d_windowForm, 220, 270, dy + 370, dy + 370 + Gui_LABEL_HEIGHT, U"Value:", 0); value = GuiText_createShown (d_windowForm, 270, 370, dy + 370, dy + 370 + Gui_TEXTFIELD_HEIGHT, 0); GuiButton_createShown (d_windowForm, 240, 360, dy + 410, dy + 410 + Gui_PUSHBUTTON_HEIGHT, U"Add target", gui_button_cb_addTarget, this, GuiButton_DEFAULT); dy = Machine_getMenuBarHeight (); GuiRadioGroup_begin (); for (int i = 1; i <= kArt_muscle_MAX; i ++) { button [i] = GuiRadioButton_createShown (d_windowForm, 480, 0, dy, dy + Gui_RADIOBUTTON_HEIGHT, kArt_muscle_getText (i), gui_radiobutton_cb_toggle, this, 0); dy += Gui_RADIOBUTTON_HEIGHT + Gui_RADIOBUTTON_SPACING - 2; } GuiRadioGroup_end (); feature = 1; GuiRadioButton_set (button [feature]); }
void structManual :: v_createChildren () { Manual_Parent :: v_createChildren (); ManPages pages = (ManPages) data; // has been installed here by Editor_init () #if defined (macintosh) #define STRING_SPACING 8 #else #define STRING_SPACING 2 #endif int height = Machine_getTextHeight (), y = Machine_getMenuBarHeight () + 4; homeButton = GuiButton_createShown (holder, 104, 168, y, y + height, L"Home", gui_button_cb_home, this, 0); if (pages -> dynamic) { #if motif XtVaSetValues (drawingArea, XmNtopOffset, y + height * 2 + 16, NULL); XtVaSetValues (verticalScrollBar, XmNtopOffset, y + height * 2 + 16, NULL); #endif recordButton = GuiButton_createShown (d_windowForm, 4, 79, y+height+8, y+height+8 + height, L"Record", gui_button_cb_record, this, 0); playButton = GuiButton_createShown (d_windowForm, 85, 160, y+height+8, y+height+8 + height, L"Play", gui_button_cb_play, this, 0); publishButton = GuiButton_createShown (d_windowForm, 166, 166 + 175, y+height+8, y+height+8 + height, L"Copy last played to list", gui_button_cb_publish, this, 0); } GuiButton_createShown (holder, 274, 274 + 69, y, y + height, L"Search:", gui_button_cb_search, this, GuiButton_DEFAULT); searchText = GuiText_createShown (holder, 274+69 + STRING_SPACING, 452 + STRING_SPACING - 2, y, Gui_AUTOMATIC, 0); #if motif /* TODO */ XtAddCallback (searchText, XmNactivateCallback, gui_cb_search, (XtPointer) this); #endif }
void structTextEditor :: v_goAway () { if (v_fileBased () && dirty) { if (! dirtyCloseDialog) { int buttonWidth = 120, buttonSpacing = 20; dirtyCloseDialog = GuiDialog_create (d_windowForm, 150, 70, Gui_LEFT_DIALOG_SPACING + 3 * buttonWidth + 2 * buttonSpacing + Gui_RIGHT_DIALOG_SPACING, Gui_TOP_DIALOG_SPACING + Gui_TEXTFIELD_HEIGHT + Gui_VERTICAL_DIALOG_SPACING_SAME + 2 * Gui_BOTTOM_DIALOG_SPACING + Gui_PUSHBUTTON_HEIGHT, U"Text changed", nullptr, nullptr, GuiDialog_MODAL); GuiLabel_createShown (dirtyCloseDialog, Gui_LEFT_DIALOG_SPACING, - Gui_RIGHT_DIALOG_SPACING, Gui_TOP_DIALOG_SPACING, Gui_TOP_DIALOG_SPACING + Gui_LABEL_HEIGHT, U"The text has changed! Save changes?", 0); int x = Gui_LEFT_DIALOG_SPACING, y = - Gui_BOTTOM_DIALOG_SPACING; GuiButton_createShown (dirtyCloseDialog, x, x + buttonWidth, y - Gui_PUSHBUTTON_HEIGHT, y, U"Discard & Close", gui_button_cb_discardAndClose, this, 0); x += buttonWidth + buttonSpacing; GuiButton_createShown (dirtyCloseDialog, x, x + buttonWidth, y - Gui_PUSHBUTTON_HEIGHT, y, U"Cancel", gui_button_cb_cancelClose, this, 0); x += buttonWidth + buttonSpacing; GuiButton_createShown (dirtyCloseDialog, x, x + buttonWidth, y - Gui_PUSHBUTTON_HEIGHT, y, U"Save & Close", gui_button_cb_saveAndClose, this, 0); } GuiThing_show (dirtyCloseDialog); } else { closeDocument (this); } }
static void menu_cb_new (TextEditor me, EDITOR_ARGS_CMD) { if (my v_fileBased () && my dirty) { if (! my dirtyNewDialog) { int buttonWidth = 120, buttonSpacing = 20; my dirtyNewDialog = GuiDialog_create (my d_windowForm, 150, 70, Gui_LEFT_DIALOG_SPACING + 3 * buttonWidth + 2 * buttonSpacing + Gui_RIGHT_DIALOG_SPACING, Gui_TOP_DIALOG_SPACING + Gui_TEXTFIELD_HEIGHT + Gui_VERTICAL_DIALOG_SPACING_SAME + 2 * Gui_BOTTOM_DIALOG_SPACING + Gui_PUSHBUTTON_HEIGHT, U"Text changed", nullptr, nullptr, GuiDialog_MODAL); GuiLabel_createShown (my dirtyNewDialog, Gui_LEFT_DIALOG_SPACING, - Gui_RIGHT_DIALOG_SPACING, Gui_TOP_DIALOG_SPACING, Gui_TOP_DIALOG_SPACING + Gui_LABEL_HEIGHT, U"The text has changed! Save changes?", 0); int x = Gui_LEFT_DIALOG_SPACING, y = - Gui_BOTTOM_DIALOG_SPACING; GuiButton_createShown (my dirtyNewDialog, x, x + buttonWidth, y - Gui_PUSHBUTTON_HEIGHT, y, U"Discard & New", gui_button_cb_discardAndNew, cmd, 0); x += buttonWidth + buttonSpacing; GuiButton_createShown (my dirtyNewDialog, x, x + buttonWidth, y - Gui_PUSHBUTTON_HEIGHT, y, U"Cancel", gui_button_cb_cancelNew, cmd, 0); x += buttonWidth + buttonSpacing; GuiButton_createShown (my dirtyNewDialog, x, x + buttonWidth, y - Gui_PUSHBUTTON_HEIGHT, y, U"Save & New", gui_button_cb_saveAndNew, cmd, 0); } GuiThing_show (my dirtyNewDialog); } else { newDocument (me); } }
void structStringsEditor :: v_createChildren () { list = GuiList_create (d_windowForm, 1, 0, Machine_getMenuBarHeight (), -70, true, NULL); //GuiList_setDoubleClickCallback (list, gui_list_cb_doubleClick, this); GuiObject_show (list); text = GuiText_createShown (d_windowForm, 0, 0, Gui_AUTOMATIC, -40, 0); GuiButton_createShown (d_windowForm, 10, 100, Gui_AUTOMATIC, -10, L"Insert", gui_button_cb_insert, this, GuiButton_DEFAULT); GuiButton_createShown (d_windowForm, 110, 200, Gui_AUTOMATIC, -10, L"Append", gui_button_cb_append, this, 0); GuiButton_createShown (d_windowForm, 210, 300, Gui_AUTOMATIC, -10, L"Replace", gui_button_cb_replace, this, 0); GuiButton_createShown (d_windowForm, 310, 400, Gui_AUTOMATIC, -10, L"Remove", gui_button_cb_remove, this, 0); }
void structStringsEditor :: v_createChildren () { list = GuiList_create (d_windowForm, 1, 0, Machine_getMenuBarHeight (), -70, true, nullptr); GuiList_setDoubleClickCallback (list, gui_list_cb_doubleClick, this); GuiThing_show (list); text = GuiText_createShown (d_windowForm, 0, 0, -40 - Gui_TEXTFIELD_HEIGHT, -40, 0); GuiButton_createShown (d_windowForm, 10, 100, -10 - Gui_PUSHBUTTON_HEIGHT, -10, U"Insert", gui_button_cb_insert, this, GuiButton_DEFAULT); GuiButton_createShown (d_windowForm, 110, 200, -10 - Gui_PUSHBUTTON_HEIGHT, -10, U"Append", gui_button_cb_append, this, 0); GuiButton_createShown (d_windowForm, 210, 300, -10 - Gui_PUSHBUTTON_HEIGHT, -10, U"Replace", gui_button_cb_replace, this, 0); GuiButton_createShown (d_windowForm, 310, 400, -10 - Gui_PUSHBUTTON_HEIGHT, -10, U"Remove", gui_button_cb_remove, this, 0); }
void structOTMultiEditor :: v_createChildren () { OTMultiEditor_Parent :: v_createChildren (); #if defined (macintosh) #define STRING_SPACING 8 #else #define STRING_SPACING 2 #endif int height = Machine_getTextHeight (), y = Machine_getMenuBarHeight () + 4; GuiButton_createShown (d_windowForm, 4, 124, y, y + height, U"Partial forms:", gui_button_cb_limit, this, GuiButton_DEFAULT); form1Text = GuiText_createShown (d_windowForm, 124 + STRING_SPACING, 274 + STRING_SPACING, y, y + Gui_TEXTFIELD_HEIGHT, 0); form2Text = GuiText_createShown (d_windowForm, 274 + 2 * STRING_SPACING, 424 + 2 * STRING_SPACING, y, y + Gui_TEXTFIELD_HEIGHT, 0); }
void structManual :: v_createChildren () { ManPages pages = (ManPages) our data; // has been installed here by Editor_init () our d_hasExtraRowOfTools = pages -> dynamic; Manual_Parent :: v_createChildren (); #if defined (macintosh) #define STRING_SPACING 8 #else #define STRING_SPACING 2 #endif int height = Machine_getTextHeight (), y = Machine_getMenuBarHeight () + 4; our homeButton = GuiButton_createShown (our d_windowForm, 104, 168, y, y + height, U"Home", gui_button_cb_home, this, 0); if (pages -> dynamic) { our recordButton = GuiButton_createShown (our d_windowForm, 4, 79, y+height+8, y+height+8 + height, U"Record", gui_button_cb_record, this, 0); our playButton = GuiButton_createShown (our d_windowForm, 85, 160, y+height+8, y+height+8 + height, U"Play", gui_button_cb_play, this, 0); our publishButton = GuiButton_createShown (our d_windowForm, 166, 166 + 175, y+height+8, y+height+8 + height, U"Copy last played to list", gui_button_cb_publish, this, 0); } GuiButton_createShown (our d_windowForm, 274, 274 + 69, y, y + height, U"Search:", gui_button_cb_search, this, GuiButton_DEFAULT); our searchText = GuiText_createShown (our d_windowForm, 274+69 + STRING_SPACING, 452 + STRING_SPACING - 2, y, y + Gui_TEXTFIELD_HEIGHT, 0); }
// origin is at top left. void structCategoriesEditor :: v_createChildren () { constexpr int menuBarOffset { 40 }; constexpr int button_width { 130 }, button_height { menuBarOffset }, list_width { 260 }, list_height { 420 }; constexpr int delta_x { 15 }, delta_y { menuBarOffset / 2 }, text_button_height { button_height / 2 }; int left, right, top, bottom, buttons_left, buttons_top, list_bottom; left = 5; right = left + button_width; top = 3 + menuBarOffset; bottom = top + text_button_height; GuiLabel_createShown (d_windowForm, left, right, top, bottom, U"Positions:", 0); left = right + delta_x ; right = left + button_width; GuiLabel_createShown (d_windowForm, left, right, top, bottom, U"Values:", 0); left = 0; right = left + list_width; buttons_top = (top = bottom + delta_y); list_bottom = bottom = top + list_height; list = GuiList_create (d_windowForm, left, right, top, bottom, true, 0); GuiList_setSelectionChangedCallback (list, gui_list_cb_selectionChanged, this); GuiList_setDoubleClickCallback (list, gui_list_cb_doubleClick, this); GuiList_setScrollCallback (list, gui_list_cb_scroll, this); GuiThing_show (list); buttons_left = left = right + 2 * delta_x; right = left + button_width; bottom = top + button_height; GuiLabel_createShown (d_windowForm, left, right, top, bottom, U"Value:", 0); left = right + delta_x; right = left + button_width; text = GuiText_createShown (d_windowForm, left, right, top, bottom, 0); GuiText_setString (text, CategoriesEditor_EMPTYLABEL); left = buttons_left; right = left + button_width; top = bottom + delta_y; bottom = top + button_height; insert = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Insert", gui_button_cb_insert, this, GuiButton_DEFAULT); left = right + delta_x; right = left + button_width; replace = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Replace", gui_button_cb_replace, this, 0); left = buttons_left; right = left + int (1.5 * button_width); top = bottom + delta_y; bottom = top + button_height; insertAtEnd = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Insert at end", gui_button_cb_insertAtEnd, this, 0); top = bottom + delta_y; bottom = top + button_height; undo = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Undo", gui_button_cb_undo, this, 0); top = bottom + delta_y; bottom = top + button_height; redo = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Redo", gui_button_cb_redo, this, 0); top = bottom + delta_y; bottom = top + button_height; remove = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Remove", gui_button_cb_remove, this, 0); top = bottom + delta_y; bottom = top + button_height; moveUp = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Move selection up", gui_button_cb_moveUp, this, 0); top = bottom + delta_y; bottom = top + button_height; moveDown = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Move selection down", gui_button_cb_moveDown, this, 0); top = list_bottom + delta_y; bottom = top + button_height; left = 5; right = left + 200; outOfView = GuiLabel_createShown (d_windowForm, left, right, top, bottom, U"", 0); }