/* main */ int main(int argc, char **argv) { Ihandle *vboxr[MAXPLOT+1]; /* tabs containing the plots */ Ihandle *dlg, *vboxl, *hbox, *lbl1, *lbl2, *lbl3, *bt1, *boxinfo, *boxdial1, *boxdial2, *f1, *f2; int ii; IupOpen(&argc, &argv); // init IUP IupControlsOpen(); // init the addicional controls library (we use IupTabs) IupPPlotOpen(); // init IupPPlot library // cdInitGdiPlus(); // create plots for (ii=0; ii<MAXPLOT; ii++) plot[ii] = IupPPlot(); // left panel: plot control // Y zooming dial1 = IupDial("VERTICAL"); lbl1 = IupLabel("+"); lbl2 = IupLabel("-"); boxinfo = IupVbox(lbl1, IupFill(), lbl2, NULL); boxdial1 = IupHbox(boxinfo, dial1, NULL); IupSetAttribute(boxdial1, "ALIGNMENT", "ACENTER"); IupSetAttribute(boxinfo, "ALIGNMENT", "ACENTER"); IupSetAttribute(boxinfo, "SIZE", "20x52"); IupSetAttribute(boxinfo, "GAP", "2"); IupSetAttribute(boxinfo, "MARGIN", "4"); IupSetAttribute(boxinfo, "EXPAND", "YES"); IupSetAttribute(lbl1, "EXPAND", "NO"); IupSetAttribute(lbl2, "EXPAND", "NO"); IupSetAttribute(dial1, "ACTIVE", "NO"); IupSetAttribute(dial1, "SIZE", "20x52"); IupSetCallback(dial1, "BUTTON_PRESS_CB", (Icallback)dial1_btndown_cb); IupSetCallback(dial1, "MOUSEMOVE_CB", (Icallback)dial1_btnup_cb); IupSetCallback(dial1, "BUTTON_RELEASE_CB", (Icallback)dial1_btnup_cb); tgg1 = IupToggle("Y Autoscale", NULL); IupSetCallback(tgg1, "ACTION", (Icallback)tgg1_cb); IupSetAttribute(tgg1, "VALUE", "ON"); f1 = IupFrame( IupVbox(boxdial1, tgg1, NULL) ); IupSetAttribute(f1, "TITLE", "Y Zoom"); // X zooming dial2 = IupDial("HORIZONTAL"); lbl1 = IupLabel("-"); lbl2 = IupLabel("+"); boxinfo = IupHbox(lbl1, IupFill(), lbl2, NULL); boxdial2 = IupVbox(dial2, boxinfo, NULL); IupSetAttribute(boxdial2, "ALIGNMENT", "ACENTER"); IupSetAttribute(boxinfo, "ALIGNMENT", "ACENTER"); IupSetAttribute(boxinfo, "SIZE", "64x16"); IupSetAttribute(boxinfo, "GAP", "2"); IupSetAttribute(boxinfo, "MARGIN", "4"); IupSetAttribute(boxinfo, "EXPAND", "HORIZONTAL"); IupSetAttribute(lbl1, "EXPAND", "NO"); IupSetAttribute(lbl2, "EXPAND", "NO"); IupSetAttribute(dial2, "ACTIVE", "NO"); IupSetAttribute(dial2, "SIZE", "64x16"); IupSetCallback(dial2, "BUTTON_PRESS_CB", (Icallback)dial2_btndown_cb); IupSetCallback(dial2, "MOUSEMOVE_CB", (Icallback)dial2_btnup_cb); IupSetCallback(dial2, "BUTTON_RELEASE_CB", (Icallback)dial2_btnup_cb); tgg2 = IupToggle("X Autoscale", NULL); IupSetCallback(tgg2, "ACTION", (Icallback)tgg2_cb); f2 = IupFrame( IupVbox(boxdial2, tgg2, NULL) ); IupSetAttribute(f2, "TITLE", "X Zoom"); lbl1 = IupLabel(""); IupSetAttribute(lbl1, "SEPARATOR", "HORIZONTAL"); tgg3 = IupToggle("Vertical Grid", NULL); IupSetCallback(tgg3, "ACTION", (Icallback)tgg3_cb); tgg4 = IupToggle("Horizontal Grid", NULL); IupSetCallback(tgg4, "ACTION", (Icallback)tgg4_cb); lbl2 = IupLabel(""); IupSetAttribute(lbl2, "SEPARATOR", "HORIZONTAL"); tgg5 = IupToggle("Legend", NULL); IupSetCallback(tgg5, "ACTION", (Icallback)tgg5_cb); lbl3 = IupLabel(""); IupSetAttribute(lbl3, "SEPARATOR", "HORIZONTAL"); bt1 = IupButton("Export PDF", NULL); IupSetCallback(bt1, "ACTION", (Icallback)bt1_cb); vboxl = IupVbox(f1, f2, lbl1, tgg3, tgg4, lbl2, tgg5, lbl3, bt1, NULL); IupSetAttribute(vboxl, "GAP", "4"); IupSetAttribute(vboxl, "EXPAND", "NO"); // right panel: tabs with plots for (ii=0; ii<MAXPLOT; ii++) { vboxr[ii] = IupVbox(plot[ii], NULL); // each plot a tab IupSetfAttribute(vboxr[ii], "TABTITLE", "Plot %d", ii); // name each tab } vboxr[MAXPLOT] = NULL; // mark end of vector tabs = IupTabsv(vboxr); // create tabs IupSetCallback(tabs, "TABCHANGE_CB", (Icallback)tabs_tabchange_cb); // dialog hbox = IupHbox(vboxl, tabs, NULL); IupSetAttribute(hbox, "MARGIN", "4x4"); IupSetAttribute(hbox, "GAP", "10"); dlg = IupDialog(hbox); IupSetAttributes(dlg, "SIZE=500x240" ); IupSetAttribute(dlg, "TITLE", "IupPPlot Example"); InitPlots(); // It must be able to be done independent of dialog Mapping tabs_tabchange_cb(tabs, vboxr[0]); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); IupSetAttribute(dlg, "SIZE", NULL); IupMainLoop(); IupClose(); return EXIT_SUCCESS; }
static int k_any(Ihandle *ih, int c) { if (iup_isprint(c)) printf("K_ANY(%s, %d = %s \'%c\')", IupGetAttribute(ih, "TESTTITLE"), c, iupKeyCodeToName(c), (char)c); else printf("K_ANY(%s, %d = %s)", IupGetAttribute(ih, "TESTTITLE"), c, iupKeyCodeToName(c)); printf(" MODKEYSTATE(%s)\n", IupGetGlobal("MODKEYSTATE")); switch(c) { case K_r: IupSetAttribute(ih, "RASTERSIZE", "300x300"); IupRefresh(ih); IupFlush(); printf(" RASTERSIZE=%s\n", IupGetAttribute(ih, "RASTERSIZE")); break; case K_1: new_dialog(1, "SIZE=FULLxFULL + IupShow.\n" "Check also F1 = RASTERSIZE+IupRefresh.\n" "close_cb returns IGNORE."); break; case K_2: new_dialog(2, "Only common dlg decorations.\n" "ShowXY.\n" "min/max size."); break; case K_3: new_dialog(3, "NO decorations"); break; case K_4: new_dialog(4, "PLACEMENT.\n" "Repeat key to test variations."); break; case K_5: new_dialog(5, "IupPopup"); break; case K_6: new_dialog(6, "FULLSCREEN"); break; case K_p: { static int count = 0; if (count == 0) IupSetAttribute(ih, "PLACEMENT", "MAXIMIZED"); else if (count == 1) IupSetAttribute(ih, "PLACEMENT", "MINIMIZED"); else if (count == 2) IupSetAttribute(ih, "PLACEMENT", "NORMAL"); else IupSetAttribute(ih, "PLACEMENT", "FULL"); count++; if (count == 4) // cicle from 0 to 3 count = 0; IupShow(ih); } break; case K_s: IupShow(IupGetHandle("_MAIN_DIALOG_TEST_")); break; case K_f: if (IupGetInt(ih, "FULLSCREEN")) IupSetAttribute(ih, "FULLSCREEN", "NO"); else IupSetAttribute(ih, "FULLSCREEN", "YES"); break; case K_ESC: IupDestroy(ih); return IUP_IGNORE; case K_c: return IUP_CLOSE; case K_h: IupHide(ih); break; } return IUP_DEFAULT; }
void GLCanvasCubeTest(void) { Ihandle *dlg, *canvas, *box, *gtoggle, *gtoggle1, *gtoggle2, *hbox, *vbox, *glabel, *gsep1, *gsep2, *gbutton1, *gbutton2, *pbar1, *pbar2, *glink, *gval1, *gval2, *gframe1, *gframe2, *gexp1, *gexp2, *image_open, *image_close, *image_high, *gframe3, *vbox2, *gtoggle3, *gtoggle4, *gtoggle5, *gsbox, *text, *vbox3, *matrix, *image_val; IupGLCanvasOpen(); IupGLControlsOpen(); IupControlsOpen(); glabel = IupGLLabel("Label"); // IupSetAttribute(glabel, "FGCOLOR", "255 255 255"); IupSetAttribute(glabel, "FONT", "Helvetica, 24"); IupSetAttributeHandle(glabel, "IMAGE", load_image_Tecgraf()); gbutton1 = IupGLButton("Button"); IupSetAttribute(gbutton1, "PADDING", "5x5"); //IupSetAttribute(gbutton1, "BGCOLOR", "245 0 245 92"); IupSetCallback(gbutton1, "ACTION", button_action_cb); IupSetAttribute(gbutton1, "NAME", "button1"); IupSetAttribute(gbutton1, "TIP", "Button Tip"); // IupSetAttribute(gbutton1, "RASTERSIZE", "x100"); if (0) { Ihandle* pressed_back = IupLoadImage("../test/pressed_back.png"); Ihandle* enabled_back = IupLoadImage("../test/enabled_back.png"); Ihandle* highlighted_back = IupLoadImage("../test/highlighted_back.png"); IupSetAttributeHandle(gbutton1, "BACKIMAGE", enabled_back); IupSetAttributeHandle(gbutton1, "BACKIMAGEPRESS", pressed_back); IupSetAttributeHandle(gbutton1, "BACKIMAGEHIGHLIGHT", highlighted_back); IupSetAttribute(gbutton1, "BORDERCOLOR", "0 0 0 0"); } gbutton2 = IupGLButton(NULL); IupSetAttribute(gbutton2, "PADDING", "5x5"); IupSetAttributeHandle(gbutton2, "IMAGE", load_image_FileSave()); IupSetCallback(gbutton2, "ACTION", button_action_cb); IupSetAttribute(gbutton2, "NAME", "button2"); gtoggle = IupGLToggle("Toggle"); IupSetAttribute(gtoggle, "PADDING", "5x5"); IupSetCallback(gtoggle, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle, "NAME", "toggle"); gtoggle1 = IupGLToggle(NULL); IupSetAttribute(gtoggle1, "PADDING", "5x5"); IupSetAttributeHandle(gtoggle1, "IMAGE", load_image_Test()); IupSetCallback(gtoggle1, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle1, "NAME", "toggle1"); gtoggle2 = IupGLToggle(NULL); IupSetAttribute(gtoggle2, "PADDING", "5x5"); IupSetAttributeHandle(gtoggle2, "IMAGE", load_image_Test()); IupSetCallback(gtoggle2, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle2, "NAME", "toggle2"); gsep1 = IupGLSeparator(); glink = IupGLLink("http://www.tecgraf.puc-rio.br/iup", "IUP Toolkit"); IupSetCallback(glink, "ACTION", (Icallback)link_action_cb); pbar1 = IupGLProgressBar(); IupSetAttribute(pbar1, "VALUE", "0.3"); IupSetAttribute(pbar1, "SHOWTEXT", "Yes"); //image_val = IupLoadImage("../test/slider_handler.png"); gval1 = IupGLVal(); IupSetAttribute(gval1, "VALUE", "0.3"); IupSetCallback(gval1, "VALUECHANGED_CB", val_action_cb); IupSetAttribute(gval1, "PROGRESSBAR", (char*)pbar1); IupSetAttribute(gval1, "NAME", "val1"); IupSetAttribute(gval1, "TIP", "Val Tip"); //IupSetAttributeHandle(gval1, "IMAGE", image_val); hbox = IupHbox(glabel, gsep1, gbutton1, gtoggle, glink, pbar1, gval1, NULL); IupSetAttribute(hbox, "ALIGNMENT", "ACENTER"); IupSetAttribute(hbox, "MARGIN", "5x5"); IupSetAttribute(hbox, "GAP", "5"); pbar2 = IupGLProgressBar(); IupSetAttribute(pbar2, "VALUE", "0.3"); IupSetAttribute(pbar2, "ORIENTATION", "VERTICAL"); gval2 = IupGLVal(); IupSetAttribute(gval2, "VALUE", "0.3"); IupSetAttribute(gval2, "ORIENTATION", "VERTICAL"); IupSetCallback(gval2, "VALUECHANGED_CB", val_action_cb); IupSetAttribute(gval2, "PROGRESSBAR", (char*)pbar2); IupSetAttribute(gval2, "NAME", "val2"); gsep2 = IupGLSeparator(); IupSetAttribute(gsep2, "ORIENTATION", "HORIZONTAL"); vbox = IupVbox(gbutton2, gsep2, IupRadio(IupSetAttributes(IupVbox(gtoggle1, gtoggle2, NULL), "MARGIN=0x0")), pbar2, gval2, NULL); IupSetAttribute(vbox, "ALIGNMENT", "ACENTER"); IupSetAttribute(vbox, "MARGIN", "5x5"); IupSetAttribute(vbox, "GAP", "5"); gtoggle5 = IupGLToggle("Toggle"); IupSetAttribute(gtoggle5, "PADDING", "5x5"); IupSetCallback(gtoggle5, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle5, "NAME", "toggle5"); IupSetAttribute(gtoggle5, "CHECKMARK", "Yes"); // IupSetAttribute(gtoggle5, "RIGHTBUTTON", "Yes"); gtoggle3 = IupGLToggle("Radio Toggle"); IupSetAttribute(gtoggle3, "PADDING", "5x5"); IupSetCallback(gtoggle3, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle3, "NAME", "toggle3"); IupSetAttribute(gtoggle3, "CHECKMARK", "Yes"); gtoggle4 = IupGLToggle("Radio Toggle"); IupSetAttribute(gtoggle4, "PADDING", "5x5"); IupSetAttributeHandle(gtoggle4, "IMAGE", load_image_Test()); IupSetCallback(gtoggle4, "ACTION", (Icallback)toggle_action_cb); IupSetAttribute(gtoggle4, "NAME", "toggle4"); IupSetAttribute(gtoggle4, "CHECKMARK", "Yes"); // IupSetAttribute(gtoggle4, "RIGHTBUTTON", "Yes"); vbox2 = IupVbox( IupRadio(IupSetAttributes(IupVbox(gtoggle3, gtoggle4, NULL), "MARGIN=0x0")), gtoggle5, NULL); gsbox = IupSetAttributes(IupGLScrollBox(vbox2), "RASTERSIZE=90x90"); gsbox = IupGLSizeBox(gsbox); gframe1 = IupSetAttributes(IupGLFrame(hbox), "TITLE=Frame1"); gframe2 = IupSetAttributes(IupGLFrame(vbox), "BACKCOLOR=\"250 250 160 128\", FRAMECOLOR=\"250 250 160\""); gframe3 = IupSetAttributes(IupGLFrame(gsbox), "TITLE=Frame3, TITLEBOX=Yes"); // IupSetAttributeHandle(gframe3, "TITLEBACKIMAGE", load_image_Tecgraf()); gexp1 = IupSetAttributes(IupGLExpander(gframe1), "TITLE=Expander"); gexp2 = IupSetAttributes(IupGLExpander(gframe2), "BARPOSITION=LEFT"); text = IupText(NULL); IupSetAttribute(text, "VALUE", "Text"); matrix = IupMatrix(NULL); IupSetAttribute(matrix, "NUMLIN", "3"); IupSetAttribute(matrix, "NUMCOL", "2"); IupSetAttribute(matrix, "NUMLIN_VISIBLE", "3"); IupSetAttribute(matrix, "NUMCOL_VISIBLE", "2"); IupSetAttribute(matrix, "0:0", "Inflation"); IupSetAttribute(matrix, "1:0", "Medicine"); IupSetAttribute(matrix, "2:0", "Food"); IupSetAttribute(matrix, "3:0", "Energy"); IupSetAttribute(matrix, "0:1", "January 2000"); IupSetAttribute(matrix, "0:2", "February 2000"); IupSetAttribute(matrix, "1:1", "5.6"); IupSetAttribute(matrix, "2:1", "2.2"); IupSetAttribute(matrix, "3:1", "4.1"); IupSetAttribute(matrix, "1:2", "10"); IupSetAttribute(matrix, "2:2", "1"); IupSetAttribute(matrix, "3:2", "0.5"); // IupSetAttribute(matrix, "EXPAND", "No"); IupSetAttribute(matrix, "SCROLLBAR", "No"); vbox3 = IupVbox( text, matrix, NULL); vbox3 = IupSetAttributes(IupGLFrame(vbox3), "TITLE=Frame4"); canvas = IupGLCanvasBox( IupSetAttributes(gexp1, "HORIZONTALALIGN=ACENTER, VERTICALALIGN=ATOP, MOVEABLE=Yes, MOVETOTOP=Yes"), IupSetAttributes(gexp2, "HORIZONTALALIGN=ALEFT, VERTICALALIGN=ACENTER"), IupSetAttributes(gframe3, "MOVEABLE=Yes, POSITION=\"550,200\", MOVETOTOP=Yes"), IupSetAttributes(vbox3, "MOVEABLE=Yes, POSITION=\"250,350\""), NULL); IupSetAttribute(canvas, "DEPTH_SIZE", "16"); image_open = IupImage(16, 16, img_open); image_close = IupImage(16, 16, img_close); image_high = IupImage(16, 16, img_close); IupSetAttribute(image_open, "0", "BGCOLOR"); IupSetAttribute(image_open, "1", "192 192 192"); IupSetAttribute(image_close, "0", "BGCOLOR"); IupSetAttribute(image_close, "1", "192 192 192"); IupSetAttribute(image_high, "1", "192 192 192"); // IupSetAttribute(gexp1, "BARSIZE", "50"); // IupSetAttributeHandle(gexp1, "IMAGE", image_close); // IupSetAttributeHandle(gexp1, "IMOPEN", image_open); // IupSetAttribute(gexp1, "IMAGE", "img1"); IupSetCallback(gexp1, "ACTION", (Icallback)expand_cb); IupSetAttribute(gexp1, "EXTRABUTTONS", "3"); IupSetCallback(gexp1, "EXTRABUTTON_CB", (Icallback)extrabutton_cb); IupSetAttributeHandle(gexp1, "IMAGEEXTRA1", image_close); IupSetAttributeHandle(gexp1, "IMAGEEXTRAPRESS1", image_open); IupSetAttributeHandle(gexp1, "IMAGEEXTRAHIGHLIGHT1", image_high); IupSetAttributeHandle(gexp1, "IMAGEEXTRA2", image_close); IupSetAttributeHandle(gexp1, "IMAGEEXTRAPRESS2", image_open); IupSetAttributeHandle(gexp1, "IMAGEEXTRAHIGHLIGHT2", image_high); IupSetAttributeHandle(gexp1, "IMAGEEXTRA3", image_close); IupSetAttributeHandle(gexp1, "IMAGEEXTRAPRESS3", image_open); IupSetAttributeHandle(gexp1, "IMAGEEXTRAHIGHLIGHT3", image_high); //IupSetAttribute(gexp1, "REDRAWALL", "No"); IupSetCallback(canvas, "ACTION", action); IupSetCallback(canvas, "BUTTON_CB", (Icallback)button_cb); IupSetCallback(canvas, "MOTION_CB", (Icallback)motion_cb); IupSetAttribute(canvas, "BUFFER", "DOUBLE"); IupSetAttribute(canvas, "MARGIN", "10x10"); box = IupVbox(canvas, NULL); IupSetAttribute(box, "MARGIN", "25x25"); dlg = IupDialog(box); IupSetAttribute(dlg, "TITLE", "IupGLCanvas Test"); IupSetAttribute(dlg, "RASTERSIZE", "800x600"); IupMap(dlg); IupGLMakeCurrent(canvas); printf("Vendor: %s\n", glGetString(GL_VENDOR)); printf("Renderer: %s\n", glGetString(GL_RENDERER)); printf("Version: %s\n", glGetString(GL_VERSION)); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); IupSetAttribute(dlg, "RASTERSIZE", NULL); }
int main(int argc, char **argv) { Ihandle *dlg, *vbox, *multitext, *menu; Ihandle *sub_menu_file, *file_menu, *item_exit, *item_new, *item_open, *item_save, *item_saveas, *item_revert; Ihandle *sub_menu_edit, *edit_menu, *item_find, *item_goto, *item_copy, *item_paste, *item_cut, *item_delete, *item_select_all; Ihandle *btn_cut, *btn_copy, *btn_paste, *btn_find, *btn_new, *btn_open, *btn_save; Ihandle *sub_menu_format, *format_menu, *item_font; Ihandle *sub_menu_help, *help_menu, *item_help, *item_about; Ihandle *sub_menu_view, *view_menu, *item_toolbar, *item_statusbar; Ihandle *lbl_statusbar, *toolbar_hb, *recent_menu; Ihandle *config; const char* font; IupOpen(&argc, &argv); IupImageLibOpen(); config = IupConfig(); IupSetAttribute(config, "APP_NAME", "simple_notepad"); IupConfigLoad(config); multitext = IupText(NULL); IupSetAttribute(multitext, "MULTILINE", "YES"); IupSetAttribute(multitext, "EXPAND", "YES"); IupSetAttribute(multitext, "NAME", "MULTITEXT"); IupSetAttribute(multitext, "DIRTY", "NO"); IupSetCallback(multitext, "CARET_CB", (Icallback)multitext_caret_cb); IupSetCallback(multitext, "VALUECHANGED_CB", (Icallback)multitext_valuechanged_cb); IupSetCallback(multitext, "DROPFILES_CB", (Icallback)dropfiles_cb); font = IupConfigGetVariableStr(config, "MainWindow", "Font"); if (font) IupSetStrAttribute(multitext, "FONT", font); lbl_statusbar = IupLabel("Lin 1, Col 1"); IupSetAttribute(lbl_statusbar, "NAME", "STATUSBAR"); IupSetAttribute(lbl_statusbar, "EXPAND", "HORIZONTAL"); IupSetAttribute(lbl_statusbar, "PADDING", "10x5"); item_new = IupItem("New\tCtrl+N", NULL); IupSetAttribute(item_new, "IMAGE", "IUP_FileNew"); IupSetCallback(item_new, "ACTION", (Icallback)item_new_action_cb); btn_new = IupButton(NULL, NULL); IupSetAttribute(btn_new, "IMAGE", "IUP_FileNew"); IupSetAttribute(btn_new, "FLAT", "Yes"); IupSetCallback(btn_new, "ACTION", (Icallback)item_new_action_cb); IupSetAttribute(btn_new, "TIP", "New (Ctrl+N)"); IupSetAttribute(btn_new, "CANFOCUS", "No"); item_open = IupItem("&Open...\tCtrl+O", NULL); IupSetAttribute(item_open, "IMAGE", "IUP_FileOpen"); IupSetCallback(item_open, "ACTION", (Icallback)item_open_action_cb); btn_open = IupButton(NULL, NULL); IupSetAttribute(btn_open, "IMAGE", "IUP_FileOpen"); IupSetAttribute(btn_open, "FLAT", "Yes"); IupSetCallback(btn_open, "ACTION", (Icallback)item_open_action_cb); IupSetAttribute(btn_open, "TIP", "Open (Ctrl+O)"); IupSetAttribute(btn_open, "CANFOCUS", "No"); item_save = IupItem("Save\tCtrl+S", NULL); IupSetAttribute(item_save, "NAME", "ITEM_SAVE"); IupSetAttribute(item_save, "IMAGE", "IUP_FileSave"); IupSetCallback(item_save, "ACTION", (Icallback)item_save_action_cb); btn_save = IupButton(NULL, NULL); IupSetAttribute(btn_save, "IMAGE", "IUP_FileSave"); IupSetAttribute(btn_save, "FLAT", "Yes"); IupSetCallback(btn_save, "ACTION", (Icallback)item_save_action_cb); IupSetAttribute(btn_save, "TIP", "Save (Ctrl+S)"); IupSetAttribute(btn_save, "CANFOCUS", "No"); item_saveas = IupItem("Save &As...", NULL); IupSetAttribute(item_saveas, "NAME", "ITEM_SAVEAS"); IupSetCallback(item_saveas, "ACTION", (Icallback)item_saveas_action_cb); item_revert = IupItem("Revert", NULL); IupSetAttribute(item_revert, "NAME", "ITEM_REVERT"); IupSetCallback(item_revert, "ACTION", (Icallback)item_revert_action_cb); item_exit = IupItem("E&xit", NULL); IupSetCallback(item_exit, "ACTION", (Icallback)item_exit_action_cb); item_find = IupItem("&Find...\tCtrl+F", NULL); IupSetAttribute(item_find, "IMAGE", "IUP_EditFind"); IupSetCallback(item_find, "ACTION", (Icallback)item_find_action_cb); btn_find = IupButton(NULL, NULL); IupSetAttribute(btn_find, "IMAGE", "IUP_EditFind"); IupSetAttribute(btn_find, "FLAT", "Yes"); IupSetCallback(btn_find, "ACTION", (Icallback)item_find_action_cb); IupSetAttribute(btn_find, "TIP", "Find (Ctrl+F)"); IupSetAttribute(btn_find, "CANFOCUS", "No"); item_cut = IupItem("Cut\tCtrl+X", NULL); IupSetAttribute(item_cut, "NAME", "ITEM_CUT"); IupSetAttribute(item_cut, "IMAGE", "IUP_EditCut"); IupSetCallback(item_cut, "ACTION", (Icallback)item_cut_action_cb); item_copy = IupItem("Copy\tCtrl+C", NULL); IupSetAttribute(item_copy, "NAME", "ITEM_COPY"); IupSetAttribute(item_copy, "IMAGE", "IUP_EditCopy"); IupSetCallback(item_copy, "ACTION", (Icallback)item_copy_action_cb); item_paste = IupItem("Paste\tCtrl+V", NULL); IupSetAttribute(item_paste, "NAME", "ITEM_PASTE"); IupSetAttribute(item_paste, "IMAGE", "IUP_EditPaste"); IupSetCallback(item_paste, "ACTION", (Icallback)item_paste_action_cb); item_delete = IupItem("Delete\tDel", NULL); IupSetAttribute(item_delete, "IMAGE", "IUP_EditErase"); IupSetAttribute(item_delete, "NAME", "ITEM_DELETE"); IupSetCallback(item_delete, "ACTION", (Icallback)item_delete_action_cb); item_select_all = IupItem("Select All\tCtrl+A", NULL); IupSetCallback(item_select_all, "ACTION", (Icallback)item_select_all_action_cb); btn_cut = IupButton(NULL, NULL); IupSetAttribute(btn_cut, "IMAGE", "IUP_EditCut"); IupSetAttribute(btn_cut, "FLAT", "Yes"); IupSetCallback(btn_cut, "ACTION", (Icallback)item_cut_action_cb); btn_copy = IupButton(NULL, NULL); IupSetAttribute(btn_copy, "IMAGE", "IUP_EditCopy"); IupSetAttribute(btn_copy, "FLAT", "Yes"); IupSetCallback(btn_copy, "ACTION", (Icallback)item_copy_action_cb); btn_paste = IupButton(NULL, NULL); IupSetAttribute(btn_paste, "IMAGE", "IUP_EditPaste"); IupSetAttribute(btn_paste, "FLAT", "Yes"); IupSetCallback(btn_paste, "ACTION", (Icallback)item_paste_action_cb); toolbar_hb = IupHbox( btn_new, btn_open, btn_save, IupSetAttributes(IupLabel(NULL), "SEPARATOR=VERTICAL"), btn_cut, btn_copy, btn_paste, IupSetAttributes(IupLabel(NULL), "SEPARATOR=VERTICAL"), btn_find, NULL); IupSetAttribute(toolbar_hb, "MARGIN", "5x5"); IupSetAttribute(toolbar_hb, "GAP", "2"); item_toolbar = IupItem("&Toobar", NULL); IupSetCallback(item_toolbar, "ACTION", (Icallback)item_toolbar_action_cb); IupSetAttribute(item_toolbar, "VALUE", "ON"); item_statusbar = IupItem("&Statusbar", NULL); IupSetCallback(item_statusbar, "ACTION", (Icallback)item_statusbar_action_cb); IupSetAttribute(item_statusbar, "VALUE", "ON"); if (!IupConfigGetVariableIntDef(config, "MainWindow", "Toolbar", 1)) { IupSetAttribute(item_toolbar, "VALUE", "OFF"); IupSetAttribute(toolbar_hb, "FLOATING", "YES"); IupSetAttribute(toolbar_hb, "VISIBLE", "NO"); } if (!IupConfigGetVariableIntDef(config, "MainWindow", "Statusbar", 1)) { IupSetAttribute(item_statusbar, "VALUE", "OFF"); IupSetAttribute(lbl_statusbar, "FLOATING", "YES"); IupSetAttribute(lbl_statusbar, "VISIBLE", "NO"); } item_goto = IupItem("&Go To...\tCtrl+G", NULL); IupSetCallback(item_goto, "ACTION", (Icallback)item_goto_action_cb); item_font = IupItem("&Font...", NULL); IupSetCallback(item_font, "ACTION", (Icallback)item_font_action_cb); item_help = IupItem("&Help...", NULL); IupSetCallback(item_help, "ACTION", (Icallback)item_help_action_cb); item_about = IupItem("&About...", NULL); IupSetCallback(item_about, "ACTION", (Icallback)item_about_action_cb); recent_menu = IupMenu(NULL); file_menu = IupMenu( item_new, item_open, item_save, item_saveas, item_revert, IupSeparator(), IupSubmenu("Recent &Files", recent_menu), item_exit, NULL); edit_menu = IupMenu( item_cut, item_copy, item_paste, item_delete, IupSeparator(), item_find, item_goto, IupSeparator(), item_select_all, NULL); format_menu = IupMenu( item_font, NULL); view_menu = IupMenu( item_toolbar, item_statusbar, NULL); help_menu = IupMenu( item_help, item_about, NULL); IupSetCallback(file_menu, "OPEN_CB", (Icallback)file_menu_open_cb); IupSetCallback(edit_menu, "OPEN_CB", (Icallback)edit_menu_open_cb); sub_menu_file = IupSubmenu("&File", file_menu); sub_menu_edit = IupSubmenu("&Edit", edit_menu); sub_menu_format = IupSubmenu("F&ormat", format_menu); sub_menu_view = IupSubmenu("&View", view_menu); sub_menu_help = IupSubmenu("&Help", help_menu); menu = IupMenu( sub_menu_file, sub_menu_edit, sub_menu_format, sub_menu_view, sub_menu_help, NULL); vbox = IupVbox( toolbar_hb, multitext, lbl_statusbar, NULL); dlg = IupDialog(vbox); IupSetAttributeHandle(dlg, "MENU", menu); IupSetAttribute(dlg, "SIZE", "HALFxHALF"); IupSetCallback(dlg, "CLOSE_CB", (Icallback)item_exit_action_cb); IupSetCallback(dlg, "DROPFILES_CB", (Icallback)dropfiles_cb); IupSetAttribute(dlg, "CONFIG", (char*)config); /* parent for pre-defined dialogs in closed functions (IupMessage) */ IupSetAttributeHandle(NULL, "PARENTDIALOG", dlg); IupSetCallback(dlg, "K_cN", (Icallback)item_new_action_cb); IupSetCallback(dlg, "K_cO", (Icallback)item_open_action_cb); IupSetCallback(dlg, "K_cS", (Icallback)item_save_action_cb); IupSetCallback(dlg, "K_cF", (Icallback)item_find_action_cb); IupSetCallback(dlg, "K_cG", (Icallback)item_goto_action_cb); IupConfigRecentInit(config, recent_menu, config_recent_cb, 10); IupConfigDialogShow(config, dlg, "MainWindow"); /* initialize the current file */ new_file(dlg); /* open a file from the command line (allow file association in Windows) */ if (argc > 1 && argv[1]) { const char* filename = argv[1]; open_file(dlg, filename); } IupMainLoop(); IupClose(); return EXIT_SUCCESS; }
void iupmaskRemove(Ihandle *ih) { IupSetAttribute(ih,"MASK", NULL); }
int multitext_valuechanged_cb(Ihandle* multitext) { IupSetAttribute(multitext, "DIRTY", "YES"); return IUP_DEFAULT; }
int item_find_action_cb(Ihandle* item_find) { Ihandle* dlg = (Ihandle*)IupGetAttribute(item_find, "FIND_DIALOG"); if (!dlg) { Ihandle* multitext = IupGetDialogChild(item_find, "MULTITEXT"); Ihandle *box, *bt_next, *bt_close, *txt, *find_case; txt = IupText(NULL); IupSetAttribute(txt, "NAME", "FIND_TEXT"); IupSetAttribute(txt, "VISIBLECOLUMNS", "20"); find_case = IupToggle("Case Sensitive", NULL); IupSetAttribute(find_case, "NAME", "FIND_CASE"); bt_next = IupButton("Find Next", NULL); IupSetAttribute(bt_next, "PADDING", "10x2"); IupSetCallback(bt_next, "ACTION", (Icallback)find_next_action_cb); bt_close = IupButton("Close", NULL); IupSetCallback(bt_close, "ACTION", (Icallback)find_close_action_cb); IupSetAttribute(bt_close, "PADDING", "10x2"); box = IupVbox( IupLabel("Find What:"), txt, find_case, IupSetAttributes(IupHbox( IupFill(), bt_next, bt_close, NULL), "NORMALIZESIZE=HORIZONTAL"), NULL); IupSetAttribute(box, "MARGIN", "10x10"); IupSetAttribute(box, "GAP", "5"); dlg = IupDialog(box); IupSetAttribute(dlg, "TITLE", "Find"); IupSetAttribute(dlg, "DIALOGFRAME", "Yes"); IupSetAttributeHandle(dlg, "DEFAULTENTER", bt_next); IupSetAttributeHandle(dlg, "DEFAULTESC", bt_close); IupSetAttributeHandle(dlg, "PARENTDIALOG", IupGetDialog(item_find)); /* Save the multiline to acess it from the callbacks */ IupSetAttribute(dlg, "MULTITEXT", (char*)multitext); /* Save the dialog to reuse it */ IupSetAttribute(item_find, "FIND_DIALOG", (char*)dlg); } /* centerparent first time, next time reuse the last position */ IupShowXY(dlg, IUP_CURRENT, IUP_CURRENT); return IUP_DEFAULT; }
static int iMatrixListKeyAny_CB(Ihandle *ih, int key) { ImatrixListData* mtxList = (ImatrixListData*)iupAttribGet(ih, "_IUPMTXLIST_DATA"); if (IupGetInt(ih, "EDIT_MODE")) return IUP_CONTINUE; if (key == K_SP || key == K_sSP) { if (mtxList->image_col != 0) { int lin = ih->data->lines.focus_cell; int itemactive = IupGetIntId(ih, "ITEMACTIVE", lin); int imageactive = IupGetIntId(ih, "IMAGEACTIVE", lin); int lines_num = ih->data->lines.num; if (!itemactive || !imageactive) return IUP_IGNORE; if (!mtxList->editable || lin != lines_num-1) { IFnii imagevaluechanged_cb = (IFnii)IupGetCallback(ih, "IMAGEVALUECHANGED_CB"); int imagevalue = !IupGetIntId(ih, "IMAGEVALUE", lin); if (!imagevaluechanged_cb || imagevaluechanged_cb(ih, lin, imagevalue) != IUP_IGNORE) { IupSetIntId(ih, "IMAGEVALUE", lin, imagevalue); IupSetfAttribute(ih, "REDRAW", "L%d", lin); return IUP_IGNORE; } } return IUP_IGNORE; } } else if (key == K_HOME || key == K_sHOME) { iMatrixListSetFocusItem(ih, mtxList, 1); IupSetAttribute(ih, "SHOW", "1:*"); return IUP_IGNORE; } else if (key == K_END || key == K_sEND) { iMatrixListSetFocusItem(ih, mtxList, ih->data->lines.num-1); IupSetfAttribute(ih, "SHOW", "%d:*", ih->data->lines.num-1); return IUP_IGNORE; } else if (key == K_DEL || key == K_sDEL) { if (mtxList->editable) { IFni listremove_cb = (IFni)IupGetCallback(ih, "LISTREMOVE_CB"); /* notify the application that a line will be removed */ int lin = ih->data->lines.focus_cell; int itemactive = IupGetIntId(ih, "ITEMACTIVE", lin); if (itemactive && (!listremove_cb || listremove_cb(ih, lin) != IUP_IGNORE)) { /* Remove the line */ IupSetInt(ih, "DELLIN", lin); return IUP_IGNORE; } } } else if (key == K_F2 || key == K_CR || key == K_sCR) { int lin = ih->data->lines.focus_cell; iMatrixListSetFocusItem(ih, mtxList, lin); /* this will position focus at the right cell */ IupSetAttribute(ih, "EDIT_MODE", "Yes"); return IUP_IGNORE; } else { /* if a valid character is pressed enter edition mode */ if (iup_isprint(key)) { int lin = ih->data->lines.focus_cell; iMatrixListSetFocusItem(ih, mtxList, lin); /* this will position focus at the right cell */ IupSetAttribute(ih, "EDIT_MODE", "Yes"); if (IupGetInt(ih, "EDIT_MODE")) { char value[2] = {0,0}; value[0] = (char)key; IupStoreAttribute(ih->data->datah, "VALUEMASKED", value); IupSetAttribute(ih->data->datah, "CARET", "2"); return IUP_IGNORE; } } } return IUP_CONTINUE; }
static void iMatrixListInitializeImages(void) { Ihandle *image_uncheck, *image_check, *image_del, *image_add; #define IMTXL_IMG_WIDTH 16 #define IMTXL_IMG_HEIGHT 16 unsigned char img_check[IMTXL_IMG_WIDTH*IMTXL_IMG_HEIGHT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; unsigned char img_uncheck[IMTXL_IMG_WIDTH*IMTXL_IMG_HEIGHT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; unsigned char img_del[IMTXL_IMG_WIDTH*IMTXL_IMG_HEIGHT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; unsigned char img_add[IMTXL_IMG_WIDTH*IMTXL_IMG_HEIGHT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; image_uncheck = IupImage(IMTXL_IMG_WIDTH, IMTXL_IMG_HEIGHT, img_uncheck); image_check = IupImage(IMTXL_IMG_WIDTH, IMTXL_IMG_HEIGHT, img_check); image_del = IupImage(IMTXL_IMG_WIDTH, IMTXL_IMG_HEIGHT, img_del); image_add = IupImage(IMTXL_IMG_WIDTH, IMTXL_IMG_HEIGHT, img_add); IupSetAttribute(image_uncheck, "0", "100 100 100"); IupSetAttribute(image_uncheck, "1", "255 255 255"); IupSetAttribute(image_check, "0", "100 100 100"); IupSetAttribute(image_check, "1", "255 255 255"); IupSetAttribute(image_del, "0", "BGCOLOR"); IupSetAttribute(image_del, "1", "255 0 0"); IupSetAttribute(image_add, "0", "BGCOLOR"); IupSetAttribute(image_add, "1", "100 100 100"); IupSetHandle("MTXLIST_IMG_UNCHECK", image_uncheck); IupSetHandle("MTXLIST_IMG_CHECK", image_check); IupSetHandle("MTXLIST_IMG_DEL", image_del); IupSetHandle("MTXLIST_IMG_ADD", image_add); #undef IMTXL_IMG_WIDTH #undef IMTXL_IMG_HEIGHT }
static int iMatrixListEdition_CB(Ihandle *ih, int lin, int col, int mode, int update) { ImatrixListData* mtxList = (ImatrixListData*)iupAttribGet(ih, "_IUPMTXLIST_DATA"); int lines_num = ih->data->lines.num; IFniiii listedition_cb = (IFniiii)IupGetCallback(ih, "LISTEDITION_CB"); /* allow editing only at the label column */ if (col != mtxList->label_col) return IUP_IGNORE; /* allow editing only if active */ if (!IupGetIntId2(ih, "ITEMACTIVE", lin, col)) return IUP_IGNORE; /* call application callback before anything */ if (listedition_cb && listedition_cb(ih, lin, col, mode, update)==IUP_IGNORE) return IUP_IGNORE; if (mode==1 && mtxList->image_col) { if (!IupGetInt(ih, "SHOWDELETE")) IupSetAttributeId(ih, "LINEDELETE", lin, "Yes"); IupSetfAttribute(ih, "REDRAW", "C%d", mtxList->image_col); } /* adding a new line */ if (mtxList->editable && lin == lines_num-1 && mode == 0) { /* clear any edition if not updating */ if (update==0) { IupSetAttribute(ih, "VALUE", ""); IupSetfAttribute(ih, "REDRAW", "L%d", lin); } else { /* check if entered a non empty value */ char* value = IupGetAttribute(ih, "VALUE"); if (value && value[0]!=0) { IFni listinsert_cb = (IFni)IupGetCallback(ih, "LISTINSERT_CB"); /* notify the application that a line will be inserted */ if (listinsert_cb && listinsert_cb(ih, lin) == IUP_IGNORE) { IupSetAttribute(ih, "VALUE", ""); IupSetfAttribute(ih, "REDRAW", "L%d", lin); } else { /* Add a new empty line */ IupSetInt(ih, "ADDLIN", lin); } } } } if (mode==0) { if (!IupGetInt(ih, "SHOWDELETE")) { /* turn off drawing, but prepare for delete */ if (update && iupAttribGet(ih, "EDITIONHIDEFOCUS")) iupAttribSetInt(ih, "_IUPMTXLIST_DELETE", (int)clock()); IupSetAttributeId(ih, "LINEDELETE", lin, NULL); } IupSetfAttribute(ih, "REDRAW", "C%d", mtxList->image_col); } return IUP_DEFAULT; }
static int iMatrixListRelease_CB(Ihandle *ih, int lin, int col, char *status) { ImatrixListData* mtxList = (ImatrixListData*)iupAttribGet(ih, "_IUPMTXLIST_DATA"); IFniis listrelease_cb = (IFniis)IupGetCallback(ih, "LISTRELEASE_CB"); int lines_num = ih->data->lines.num; int itemactive, imageactive; /* call application callback before anything */ if (listrelease_cb && listrelease_cb(ih, lin, col, status)==IUP_IGNORE) return IUP_IGNORE; if (mtxList->last_click_lin != lin || mtxList->last_click_col != col) return IUP_DEFAULT; /* only the image column must be processed */ if (col != mtxList->image_col) return IUP_DEFAULT; itemactive = IupGetIntId(ih, "ITEMACTIVE", lin); imageactive = IupGetIntId(ih, "IMAGEACTIVE", lin); if (!itemactive || !imageactive) return IUP_DEFAULT; if (mtxList->editable && lin == lines_num-1) { /* click on IMAGEADD - start editing */ iMatrixListSetFocusItem(ih, mtxList, lin); IupSetAttribute(ih, "EDIT_MODE", "Yes"); } else if (iMatrixListCheckDelete(ih)) { /* click on IMAGEDEL */ IFni listremove_cb = (IFni)IupGetCallback(ih, "LISTREMOVE_CB"); if (lin == 0) { if (mtxList->editable) lines_num--; for (lin = lines_num-1; lin>0; lin--) { itemactive = IupGetIntId(ih, "ITEMACTIVE", lin); imageactive = IupGetIntId(ih, "IMAGEACTIVE", lin); if (!itemactive || !imageactive) continue; if (!listremove_cb || listremove_cb(ih, lin) != IUP_IGNORE) IupSetInt(ih, "DELLIN", lin); } } else { /* notify the application that a line will be removed */ if (!listremove_cb || listremove_cb(ih, lin) != IUP_IGNORE) { /* Remove the line */ IupSetInt(ih, "DELLIN", lin); } } } else { /* click on IMAGECHECK/IMAGEUNCHECK */ IFnii imagevaluechanged_cb = (IFnii)IupGetCallback(ih, "IMAGEVALUECHANGED_CB"); int imagevalue = !IupGetIntId(ih, "IMAGEVALUE", lin); if (!imagevaluechanged_cb || imagevaluechanged_cb(ih, lin, imagevalue) != IUP_IGNORE) { IupSetIntId(ih, "IMAGEVALUE", lin, imagevalue); IupSetfAttribute(ih, "REDRAW", "L%d", lin); if (lin==0) { if (mtxList->editable) lines_num--; for (lin=1; lin<lines_num; lin++) { itemactive = IupGetIntId(ih, "ITEMACTIVE", lin); imageactive = IupGetIntId(ih, "IMAGEACTIVE", lin); if (!itemactive || !imageactive) continue; if (!imagevaluechanged_cb || imagevaluechanged_cb(ih, lin, imagevalue) != IUP_IGNORE) { IupSetIntId(ih, "IMAGEVALUE", lin, imagevalue); IupSetfAttribute(ih, "REDRAW", "L%d", lin); } } } } } return IUP_DEFAULT; }
/* start button callback */ int inicio_cb(void) { IupSetAttribute(gauge, "VALUE", "0") ; return IUP_DEFAULT ; }
int main(int argc, char **argv) { Ihandle *dlg, *bt, *dbox, *lbl, *ml, *hbox, *bt2, *txt; IupOpen(&argc, &argv); bt = IupButton("Detache Me!", NULL); IupSetCallback(bt, "ACTION", (Icallback)btn_detach_cb); IupSetHandle("detach", bt); ml = IupMultiLine(NULL); IupSetAttribute(ml, "EXPAND", "YES"); IupSetAttribute(ml, "VISIBLELINES", "5"); hbox = IupHbox(bt, ml, NULL); IupSetAttribute(hbox, "MARGIN", "10x0"); dbox = IupDetachBox(hbox); IupSetAttribute(dbox, "ORIENTATION", "VERTICAL"); //IupSetAttribute(dbox, "SHOWGRIP", "NO"); //IupSetAttribute(dbox, "BARSIZE", "0"); //IupSetAttribute(dbox, "COLOR", "255 0 0"); IupSetCallback(dbox, "DETACHED_CB", (Icallback)detached_cb); IupSetHandle("dbox", dbox); lbl = IupLabel("Label"); IupSetAttribute(lbl, "EXPAND", "VERTICAL"); bt2 = IupButton("Restore me!", NULL); IupSetAttribute(bt2, "EXPAND", "YES"); IupSetAttribute(bt2, "ACTIVE", "NO"); IupSetCallback(bt2, "ACTION", (Icallback)btn_restore_cb); IupSetHandle("restore", bt2); txt = IupText(NULL); IupSetAttribute(txt, "EXPAND", "HORIZONTAL"); dlg = IupDialog(IupVbox(dbox, lbl, bt2, txt, NULL)); IupSetAttribute(dlg, "TITLE", "IupDetachBox Example"); IupSetAttribute(dlg, "MARGIN", "10x10"); IupSetAttribute(dlg, "GAP", "10"); IupSetAttribute(dlg, "RASTERSIZE", "300x300"); IupShow(dlg); IupMainLoop(); IupClose(); return EXIT_SUCCESS; }
void InitPlots(void) { int theI; float x, y; // PLOT 0 - MakeExamplePlot1 IupSetAttribute(plot[0], "TITLE", "AutoScale"); IupSetAttribute(plot[0], "MARGINTOP", "40"); IupSetAttribute(plot[0], "MARGINLEFT", "40"); IupSetAttribute(plot[0], "MARGINBOTTOM", "50"); IupSetAttribute(plot[0], "TITLEFONTSIZE", "16"); IupSetAttribute(plot[0], "AXS_XLABEL", "gnu (Foo)"); IupSetAttribute(plot[0], "AXS_YLABEL", "Space (m^3)"); IupSetAttribute(plot[0], "AXS_YFONTSIZE", "7"); IupSetAttribute(plot[0], "AXS_YTICKFONTSIZE", "7"); IupSetAttribute(plot[0], "LEGENDSHOW", "YES"); IupSetAttribute(plot[0], "AXS_XFONTSIZE", "10"); IupSetAttribute(plot[0], "AXS_YFONTSIZE", "10"); IupSetAttribute(plot[0], "AXS_XLABELCENTERED", "NO"); IupSetAttribute(plot[0], "AXS_YLABELCENTERED", "NO"); // IupSetAttribute(plot[0], "USE_IMAGERGB", "YES"); // IupSetAttribute(plot[0], "USE_GDI+", "YES"); float theFac = (float)1.0/(100*100*100); IupPPlotBegin(plot[0], 0); for (theI=-100; theI<=100; theI++) { x = (float)(theI+50); y = theFac*theI*theI*theI; IupPPlotAdd(plot[0], x, y); } IupPPlotEnd(plot[0]); IupSetAttribute(plot[0], "DS_LINEWIDTH", "3"); IupSetAttribute(plot[0], "DS_LEGEND", "Line"); theFac = (float)2.0/100; IupPPlotBegin(plot[0], 0); for (theI=-100; theI<=100; theI++) { x = (float)theI; y = -theFac*theI; IupPPlotAdd(plot[0], x, y); } IupPPlotEnd(plot[0]); IupSetAttribute(plot[0], "DS_LEGEND", "Curve 1"); IupPPlotBegin(plot[0], 0); for (theI=-100; theI<=100; theI++) { x = (float)(0.01*theI*theI-30); y = (float)0.01*theI; IupPPlotAdd(plot[0], x, y); } IupPPlotEnd(plot[0]); IupSetAttribute(plot[0], "DS_LEGEND", "Curve 2"); // PLOT 1 - MakeExamplePlot2 IupSetAttribute(plot[1], "TITLE", "No Autoscale+No CrossOrigin"); IupSetAttribute(plot[1], "TITLEFONTSIZE", "16"); IupSetAttribute(plot[1], "MARGINTOP", "40"); IupSetAttribute(plot[1], "MARGINLEFT", "55"); IupSetAttribute(plot[1], "MARGINBOTTOM", "50"); IupSetAttribute(plot[1], "BGCOLOR", "0 192 192"); IupSetAttribute(plot[1], "AXS_XLABEL", "Tg (X)"); IupSetAttribute(plot[1], "AXS_YLABEL", "Tg (Y)"); IupSetAttribute(plot[1], "AXS_XAUTOMIN", "NO"); IupSetAttribute(plot[1], "AXS_XAUTOMAX", "NO"); IupSetAttribute(plot[1], "AXS_YAUTOMIN", "NO"); IupSetAttribute(plot[1], "AXS_YAUTOMAX", "NO"); IupSetAttribute(plot[1], "AXS_XMIN", "10"); IupSetAttribute(plot[1], "AXS_XMAX", "60"); IupSetAttribute(plot[1], "AXS_YMIN", "-0.5"); IupSetAttribute(plot[1], "AXS_YMAX", "0.5"); IupSetAttribute(plot[1], "AXS_XCROSSORIGIN", "NO"); IupSetAttribute(plot[1], "AXS_YCROSSORIGIN", "NO"); IupSetAttribute(plot[1], "AXS_XFONTSTYLE", "BOLD"); IupSetAttribute(plot[1], "AXS_YFONTSTYLE", "BOLD"); IupSetAttribute(plot[1], "AXS_XREVERSE", "YES"); IupSetAttribute(plot[1], "GRIDCOLOR", "128 255 128"); IupSetAttribute(plot[1], "GRIDLINESTYLE", "DOTTED"); IupSetAttribute(plot[1], "GRID", "YES"); IupSetAttribute(plot[1], "LEGENDSHOW", "YES"); theFac = (float)1.0/(100*100*100); IupPPlotBegin(plot[1], 0); for (theI=0; theI<=100; theI++) { x = (float)(theI); y = theFac*theI*theI*theI; IupPPlotAdd(plot[1], x, y); } IupPPlotEnd(plot[1]); theFac = (float)2.0/100; IupPPlotBegin(plot[1], 0); for (theI=0; theI<=100; theI++) { x = (float)(theI); y = -theFac*theI; IupPPlotAdd(plot[1], x, y); } IupPPlotEnd(plot[1]); // PLOT 2 - MakeExamplePlot4 IupSetAttribute(plot[2], "TITLE", "Log Scale"); IupSetAttribute(plot[2], "TITLEFONTSIZE", "16"); IupSetAttribute(plot[2], "MARGINTOP", "40"); IupSetAttribute(plot[2], "MARGINLEFT", "70"); IupSetAttribute(plot[2], "MARGINBOTTOM", "50"); IupSetAttribute(plot[2], "GRID", "YES"); IupSetAttribute(plot[2], "AXS_XSCALE", "LOG10"); IupSetAttribute(plot[2], "AXS_YSCALE", "LOG2"); IupSetAttribute(plot[2], "AXS_XLABEL", "Tg (X)"); IupSetAttribute(plot[2], "AXS_YLABEL", "Tg (Y)"); IupSetAttribute(plot[2], "AXS_XFONTSTYLE", "BOLD"); IupSetAttribute(plot[2], "AXS_YFONTSTYLE", "BOLD"); theFac = (float)100.0/(100*100*100); IupPPlotBegin(plot[2], 0); for (theI=0; theI<=100; theI++) { x = (float)(0.0001+theI*0.001); y = (float)(0.01+theFac*theI*theI*theI); IupPPlotAdd(plot[2], x, y); } IupPPlotEnd(plot[2]); IupSetAttribute(plot[2], "DS_COLOR", "100 100 200"); //PLOT 3 - MakeExamplePlot5 IupSetAttribute(plot[3], "TITLE", "Bar Mode"); IupSetAttribute(plot[3], "TITLEFONTSIZE", "16"); IupSetAttribute(plot[3], "MARGINTOP", "40"); IupSetAttribute(plot[3], "MARGINLEFT", "30"); IupSetAttribute(plot[3], "MARGINBOTTOM", "30"); const char * kLables[12] = {"jan","feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"}; const float kData[12] = {1,2,3,4,5,6,7,8,9,0,1,2}; IupPPlotBegin(plot[3], 1); for (theI=0; theI<12; theI++) IupPPlotAddStr(plot[3], kLables[theI], kData[theI]); IupPPlotEnd(plot[3]); IupSetAttribute(plot[3], "DS_COLOR", "100 100 200"); IupSetAttribute(plot[3], "DS_MODE", "BAR"); //PLOT 4 - MakeExamplePlot6 IupSetAttribute(plot[4], "TITLE", "Marks Mode"); IupSetAttribute(plot[4], "TITLEFONTSIZE", "16"); IupSetAttribute(plot[4], "MARGINTOP", "40"); IupSetAttribute(plot[4], "MARGINLEFT", "45"); IupSetAttribute(plot[4], "MARGINBOTTOM", "40"); IupSetAttribute(plot[4], "AXS_XAUTOMIN", "NO"); IupSetAttribute(plot[4], "AXS_XAUTOMAX", "NO"); IupSetAttribute(plot[4], "AXS_YAUTOMIN", "NO"); IupSetAttribute(plot[4], "AXS_YAUTOMAX", "NO"); IupSetAttribute(plot[4], "AXS_XMIN", "0"); IupSetAttribute(plot[4], "AXS_XMAX", "0.011"); IupSetAttribute(plot[4], "AXS_YMIN", "0"); IupSetAttribute(plot[4], "AXS_YMAX", "0.22"); IupSetAttribute(plot[4], "AXS_XCROSSORIGIN", "NO"); IupSetAttribute(plot[4], "AXS_YCROSSORIGIN", "NO"); IupSetAttribute(plot[4], "AXS_XTICKFORMAT", "%1.3f"); IupSetAttribute(plot[4], "LEGENDSHOW", "YES"); IupSetAttribute(plot[4], "LEGENDPOS", "BOTTOMRIGHT"); theFac = (float)100.0/(100*100*100); IupPPlotBegin(plot[4], 0); for (theI=0; theI<=10; theI++) { x = (float)(0.0001+theI*0.001); y = (float)(0.01+theFac*theI*theI); IupPPlotAdd(plot[4], x, y); } IupPPlotEnd(plot[4]); IupSetAttribute(plot[4], "DS_MODE", "MARKLINE"); IupSetAttribute(plot[4], "DS_SHOWVALUES", "YES"); IupPPlotBegin(plot[4], 0); for (theI=0; theI<=10; theI++) { x = (float)(0.0001+theI*0.001); y = (float)(0.2-theFac*theI*theI); IupPPlotAdd(plot[4], x, y); } IupPPlotEnd(plot[4]); IupSetAttribute(plot[4], "DS_MODE", "MARK"); IupSetAttribute(plot[4], "DS_MARKSTYLE", "HOLLOW_CIRCLE"); //PLOT 5 - MakeExamplePlot8 IupSetAttribute(plot[5], "TITLE", "Data Selection and Editing"); IupSetAttribute(plot[5], "TITLEFONTSIZE", "16"); IupSetAttribute(plot[5], "MARGINTOP", "40"); theFac = (float)100.0/(100*100*100); IupPPlotBegin(plot[5], 0); for (theI=-10; theI<=10; theI++) { x = (float)(0.001*theI); y = (float)(0.01+theFac*theI*theI*theI); IupPPlotAdd(plot[5], x, y); } IupPPlotEnd(plot[5]); IupSetAttribute(plot[5], "DS_COLOR", "100 100 200"); IupSetAttribute(plot[5], "DS_EDIT", "YES"); IupSetCallback(plot[5], "DELETE_CB", (Icallback)delete_cb); IupSetCallback(plot[5], "SELECT_CB", (Icallback)select_cb); IupSetCallback(plot[5], "POSTDRAW_CB", (Icallback)postdraw_cb); IupSetCallback(plot[5], "PREDRAW_CB", (Icallback)predraw_cb); IupSetCallback(plot[5], "EDIT_CB", (Icallback)edit_cb); }
int main(int argc, char **argv) { Ihandle *dlg, *vbox, *multitext, *menu; Ihandle *sub_menu_file, *file_menu, *item_exit, *item_open, *item_saveas, *btn_open, *btn_save; Ihandle *sub_menu_edit, *edit_menu, *item_find, *item_goto, *btn_find; Ihandle *sub_menu_format, *format_menu, *item_font; Ihandle *sub_menu_help, *help_menu, *item_about; Ihandle *lbl_statusbar, *toolbar_hb; IupOpen(&argc, &argv); IupImageLibOpen(); multitext = IupText(NULL); IupSetAttribute(multitext, "MULTILINE", "YES"); IupSetAttribute(multitext, "EXPAND", "YES"); IupSetAttribute(multitext, "NAME", "MULTITEXT"); lbl_statusbar = IupLabel("Lin 1, Col 1"); IupSetAttribute(lbl_statusbar, "NAME", "STATUSBAR"); IupSetAttribute(lbl_statusbar, "EXPAND", "HORIZONTAL"); IupSetAttribute(lbl_statusbar, "PADDING", "10x5"); item_open = IupItem("&Open...\tCtrl+O", NULL); btn_open = IupButton(NULL, NULL); IupSetAttribute(btn_open, "IMAGE", "IUP_FileOpen"); IupSetAttribute(btn_open, "FLAT", "Yes"); item_saveas = IupItem("Save &As...\tCtrl+S", NULL); btn_save = IupButton(NULL, NULL); IupSetAttribute(btn_save, "IMAGE", "IUP_FileSave"); IupSetAttribute(btn_save, "FLAT", "Yes"); item_exit = IupItem("E&xit", NULL); item_find = IupItem("&Find...\tCtrl+F", NULL); btn_find = IupButton(NULL, NULL); IupSetAttribute(btn_find, "IMAGE", "IUP_EditFind"); IupSetAttribute(btn_find, "FLAT", "Yes"); toolbar_hb = IupHbox( btn_open, btn_save, IupSetAttributes(IupLabel(NULL), "SEPARATOR=VERTICAL"), btn_find, NULL); IupSetAttribute(toolbar_hb, "MARGIN", "5x5"); IupSetAttribute(toolbar_hb, "GAP", "2"); item_goto = IupItem("&Go To...\tCtrl+G", NULL); item_font = IupItem("&Font...", NULL); item_about = IupItem("&About...", NULL); IupSetCallback(item_open, "ACTION", (Icallback)item_open_action_cb); IupSetCallback(btn_open, "ACTION", (Icallback)item_open_action_cb); IupSetCallback(item_saveas, "ACTION", (Icallback)item_saveas_action_cb); IupSetCallback(btn_save, "ACTION", (Icallback)item_saveas_action_cb); IupSetCallback(item_exit, "ACTION", (Icallback)item_exit_action_cb); IupSetCallback(item_find, "ACTION", (Icallback)item_find_action_cb); IupSetCallback(btn_find, "ACTION", (Icallback)item_find_action_cb); IupSetCallback(item_goto, "ACTION", (Icallback)item_goto_action_cb); IupSetCallback(item_font, "ACTION", (Icallback)item_font_action_cb); IupSetCallback(item_about, "ACTION", (Icallback)item_about_action_cb); IupSetCallback(multitext, "CARET_CB", (Icallback)multitext_caret_cb); file_menu = IupMenu( item_open, item_saveas, IupSeparator(), item_exit, NULL); edit_menu = IupMenu( item_find, item_goto, NULL); format_menu = IupMenu( item_font, NULL); help_menu = IupMenu( item_about, NULL); sub_menu_file = IupSubmenu("&File", file_menu); sub_menu_edit = IupSubmenu("&Edit", edit_menu); sub_menu_format = IupSubmenu("F&ormat", format_menu); sub_menu_help = IupSubmenu("&Help", help_menu); menu = IupMenu( sub_menu_file, sub_menu_edit, sub_menu_format, sub_menu_help, NULL); vbox = IupVbox( toolbar_hb, multitext, lbl_statusbar, NULL); dlg = IupDialog(vbox); IupSetAttributeHandle(dlg, "MENU", menu); IupSetAttribute(dlg, "TITLE", "Simple Notepad"); IupSetAttribute(dlg, "SIZE", "HALFxHALF"); /* parent for pre-defined dialogs in closed functions (IupMessage) */ IupSetAttributeHandle(NULL, "PARENTDIALOG", dlg); IupSetCallback(dlg, "K_cO", (Icallback)item_open_action_cb); IupSetCallback(dlg, "K_cS", (Icallback)item_saveas_action_cb); IupSetCallback(dlg, "K_cF", (Icallback)item_find_action_cb); IupSetCallback(dlg, "K_cG", (Icallback)item_goto_action_cb); IupShowXY(dlg, IUP_CENTERPARENT, IUP_CENTERPARENT); IupSetAttribute(dlg, "USERSIZE", NULL); IupMainLoop(); IupClose(); return EXIT_SUCCESS; }
void init(int argc, char* argv[]) { UINT ix; Ihandle *topVbox, *bottomVbox, *dialogVBox, *controlHbox; Ihandle *noneIcon, *doingIcon, *errorIcon; // fill in config loadConfig(); // iup inits IupOpen(&argc, &argv); // this is so easy to get wrong so it's pretty worth noting in the program statusLabel = IupLabel("NOTICE: When capturing localhost (loopback) packets, you CAN'T include inbound criteria.\n" "Filters like 'udp' need to be 'udp and outbound' to work. See readme for more info."); IupSetAttribute(statusLabel, "EXPAND", "HORIZONTAL"); IupSetAttribute(statusLabel, "PADDING", "8x8"); topFrame = IupFrame( topVbox = IupVbox( filterText = IupText(NULL), controlHbox = IupHbox( stateIcon = IupLabel(NULL), filterButton = IupButton("Start", NULL), IupFill(), IupLabel("Presets: "), filterSelectList = IupList(NULL), NULL ), NULL ) ); // parse arguments and set globals *before* setting up UI. // arguments can be read and set after callbacks are setup // FIXME as Release is built as WindowedApp, stdout/stderr won't show LOG("argc: %d", argc); if (argc > 1) { if (!parseArgs(argc, argv)) { fprintf(stderr, "invalid argument count. ensure you're using options as \"--drop on\""); exit(-1); // fail fast. } parameterized = 1; } IupSetAttribute(topFrame, "TITLE", "Filtering"); IupSetAttribute(topFrame, "EXPAND", "HORIZONTAL"); IupSetAttribute(filterText, "EXPAND", "HORIZONTAL"); IupSetCallback(filterText, "VALUECHANGED_CB", (Icallback)uiFilterTextCb); IupSetAttribute(filterButton, "PADDING", "8x"); IupSetCallback(filterButton, "ACTION", uiStartCb); IupSetAttribute(topVbox, "NCMARGIN", "4x4"); IupSetAttribute(topVbox, "NCGAP", "4x2"); IupSetAttribute(controlHbox, "ALIGNMENT", "ACENTER"); // setup state icon IupSetAttribute(stateIcon, "IMAGE", "none_icon"); IupSetAttribute(stateIcon, "PADDING", "4x"); // fill in options and setup callback IupSetAttribute(filterSelectList, "VISIBLECOLUMNS", "24"); IupSetAttribute(filterSelectList, "DROPDOWN", "YES"); for (ix = 0; ix < filtersSize; ++ix) { char ixBuf[4]; sprintf(ixBuf, "%d", ix+1); // ! staring from 1, following lua indexing IupStoreAttribute(filterSelectList, ixBuf, filters[ix].filterName); } IupSetAttribute(filterSelectList, "VALUE", "1"); IupSetCallback(filterSelectList, "ACTION", (Icallback)uiListSelectCb); // set filter text value since the callback won't take effect before main loop starts IupSetAttribute(filterText, "VALUE", filters[0].filterValue); // functionalities frame bottomFrame = IupFrame( bottomVbox = IupVbox( NULL ) ); IupSetAttribute(bottomFrame, "TITLE", "Functions"); IupSetAttribute(bottomVbox, "NCMARGIN", "4x4"); IupSetAttribute(bottomVbox, "NCGAP", "4x2"); // create icons noneIcon = IupImage(8, 8, icon8x8); doingIcon = IupImage(8, 8, icon8x8); errorIcon = IupImage(8, 8, icon8x8); IupSetAttribute(noneIcon, "0", "BGCOLOR"); IupSetAttribute(noneIcon, "1", "224 224 224"); IupSetAttribute(doingIcon, "0", "BGCOLOR"); IupSetAttribute(doingIcon, "1", "109 170 44"); IupSetAttribute(errorIcon, "0", "BGCOLOR"); IupSetAttribute(errorIcon, "1", "208 70 72"); IupSetHandle("none_icon", noneIcon); IupSetHandle("doing_icon", doingIcon); IupSetHandle("error_icon", errorIcon); // setup module uis for (ix = 0; ix < MODULE_CNT; ++ix) { uiSetupModule(*(modules+ix), bottomVbox); } // dialog dialog = IupDialog( dialogVBox = IupVbox( topFrame, bottomFrame, statusLabel, NULL ) ); IupSetAttribute(dialog, "TITLE", "clumsy " CLUMSY_VERSION); IupSetAttribute(dialog, "SIZE", "400x"); // add padding manually to width IupSetAttribute(dialog, "RESIZE", "NO"); IupSetCallback(dialog, "SHOW_CB", (Icallback)uiOnDialogShow); // global layout settings to affect childrens IupSetAttribute(dialogVBox, "ALIGNMENT", "ACENTER"); IupSetAttribute(dialogVBox, "NCMARGIN", "4x4"); IupSetAttribute(dialogVBox, "NCGAP", "4x2"); // setup timer timer = IupTimer(); IupSetAttribute(timer, "TIME", STR(ICON_UPDATE_MS)); IupSetCallback(timer, "ACTION_CB", uiTimerCb); }
void guiVal_OnLang( void ) { IupSetAttribute( guiVal->value.fset, IUP_TITLE, appLang->a[ LNG_VALUE ].a ); IupSetAttribute( guiVal->hlType, IUP_TITLE, appLang->a[ LNG_TYPE ].a ); }
static int uiFilterTextCb(Ihandle *ih) { UNREFERENCED_PARAMETER(ih); // unselect list IupSetAttribute(filterSelectList, "VALUE", "0"); return IUP_DEFAULT; }
int goto_cancel_action_cb(Ihandle* bt_ok) { IupSetAttribute(IupGetDialog(bt_ok), "STATUS", "0"); return IUP_CLOSE; }
/***********************************************\ * Initializes the default values to the element * \***********************************************/ static void iColorBrowserDlgInit_Defaults(IcolorDlgData* colordlg_data) { Ihandle* box; int i; IupSetAttribute(colordlg_data->color_browser, "RGB", "0 0 0"); IupSetAttribute(colordlg_data->red_txt, "VALUE", "0"); IupSetAttribute(colordlg_data->green_txt, "VALUE", "0"); IupSetAttribute(colordlg_data->blue_txt, "VALUE", "0"); IupSetAttribute(colordlg_data->hue_txt, "VALUE", "0"); IupSetAttribute(colordlg_data->saturation_txt, "VALUE", "0"); IupSetAttribute(colordlg_data->intensity_txt, "VALUE", "0"); IupSetAttribute(colordlg_data->colorhex_txt, "VALUE", "#000000"); colordlg_data->alpha = 255; IupSetAttribute(colordlg_data->alpha_val, "VALUE", "255"); IupSetAttribute(colordlg_data->alpha_txt, "VALUE", "255"); box = IupGetParent(colordlg_data->alpha_val); IupSetAttribute(box, "FLOATING", "YES"); IupSetAttribute(box, "VISIBLE", "NO"); box = IupGetParent(colordlg_data->colortable_cbar); IupSetAttribute(box, "FLOATING", "YES"); IupSetAttribute(box, "VISIBLE", "NO"); box = IupGetParent(colordlg_data->colorhex_txt); IupSetAttribute(box, "FLOATING", "YES"); IupSetAttribute(box, "VISIBLE", "NO"); for(i = 0; i < 20; i++) IupSetAttributeId(colordlg_data->colortable_cbar, "CELL", i, default_colortable_cells[i]); }
int item_delete_action_cb(Ihandle* item_delete) { Ihandle* multitext = IupGetDialogChild(item_delete, "MULTITEXT"); IupSetAttribute(multitext, "SELECTEDTEXT", ""); return IUP_DEFAULT; }
static int iColorBrowserDlgSetShowHelpAttrib(Ihandle* ih, const char* value) { IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA"); IupSetAttribute(colordlg_data->help_bt, "VISIBLE", iupStrBoolean(value)? "YES": "NO"); return 1; }
void treeimageInitializeImages(void) { Ihandle *image_leaf; Ihandle *image_collapsed; Ihandle *image_expanded; Ihandle *image_blank; Ihandle *image_paper; static unsigned char img_leaf[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 5, 6, 7, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 4, 5, 5, 6, 7, 6, 5, 1, 1, 1, 1, 1, 1, 1, 3, 4, 4, 4, 5, 5, 6, 6, 5, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 4, 4, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, 4, 4, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static unsigned char img_collapsed[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 8, 5, 5, 7, 7, 2, 3, 1, 1, 1, 1, 1, 1, 1, 2, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 4, 3, 1, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 4, 3, 1, 2, 5, 7, 7, 7, 7, 7, 7, 7, 6, 7, 6, 7, 4, 3, 1, 2, 5, 7, 7, 7, 7, 7, 7, 7, 7, 6, 7, 6, 4, 3, 1, 2, 5, 7, 7, 7, 7, 7, 6, 7, 6, 7, 6, 7, 4, 3, 1, 2, 5, 7, 7, 7, 7, 7, 7, 6, 7, 6, 7, 6, 4, 3, 1, 2, 5, 7, 7, 7, 6, 7, 6, 7, 6, 7, 6, 6, 4, 3, 1, 2, 5, 6, 7, 6, 7, 6, 7, 6, 7, 6, 6, 6, 4, 3, 1, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; static unsigned char img_expanded[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 6, 4, 1, 2, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 3, 6, 4, 2, 1, 3, 3, 3, 3, 3, 3, 5, 3, 5, 6, 4, 6, 6, 4, 2, 1, 3, 3, 3, 3, 5, 3, 3, 5, 3, 6, 4, 6, 6, 4, 1, 2, 1, 3, 3, 3, 3, 3, 5, 3, 5, 5, 2, 4, 2, 4, 1, 2, 1, 3, 3, 5, 3, 5, 3, 5, 5, 5, 6, 4, 2, 4, 1, 1, 2, 1, 5, 3, 5, 3, 5, 5, 5, 5, 6, 2, 4, 4, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static unsigned char img_blank[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 1, 1, 1, 1, 1, 1, 3, 6, 6, 6, 6, 6, 6, 6, 6, 5, 4, 1, 1, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 4, 1, 1, 1, 1, 3, 6, 6, 6, 6, 6, 6, 6, 6, 2, 2, 2, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 } ; static unsigned char img_paper[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 1, 1, 1, 1, 1, 1, 3, 6, 6, 6, 6, 6, 6, 6, 6, 5, 4, 1, 1, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 4, 1, 1, 1, 1, 3, 6, 4, 3, 4, 3, 4, 3, 4, 2, 2, 2, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 6, 3, 4, 3, 4, 3, 4, 3, 4, 6, 5, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 6, 4, 3, 4, 3, 4, 3, 4, 3, 6, 5, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 6, 3, 4, 3, 4, 3, 4, 3, 4, 6, 5, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 6, 4, 3, 4, 3, 4, 3, 4, 3, 6, 5, 2, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 2, 1, 1, 1, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 } ; image_leaf = IupImage(NODE_WIDTH, NODE_HEIGHT, img_leaf); image_collapsed = IupImage(NODE_WIDTH, NODE_HEIGHT, img_collapsed); image_expanded = IupImage(NODE_WIDTH, NODE_HEIGHT, img_expanded); image_blank = IupImage(NODE_WIDTH, NODE_HEIGHT, img_blank); image_paper = IupImage(NODE_WIDTH, NODE_HEIGHT, img_paper); IupSetAttribute(image_leaf, "1", TREE_BGCOLORSTRING) ; IupSetAttribute(image_leaf, "2", "56 56 56"); IupSetAttribute(image_leaf, "3", "99 99 99"); IupSetAttribute(image_leaf, "4", "128 128 128"); IupSetAttribute(image_leaf, "5", "161 161 161"); IupSetAttribute(image_leaf, "6", "192 192 192"); IupSetAttribute(image_leaf, "7", "222 222 222"); IupSetAttribute(image_collapsed, "1", TREE_BGCOLORSTRING) ; IupSetAttribute(image_collapsed, "2", "156 156 0"); IupSetAttribute(image_collapsed, "3", "0 0 0"); IupSetAttribute(image_collapsed, "4", "206 206 99"); IupSetAttribute(image_collapsed, "5", "255 255 206"); IupSetAttribute(image_collapsed, "6", "255 206 156"); IupSetAttribute(image_collapsed, "7", "255 255 156"); IupSetAttribute(image_collapsed, "8", "247 247 247"); IupSetAttribute(image_expanded, "1", TREE_BGCOLORSTRING) ; IupSetAttribute(image_expanded, "2", "156 156 0"); IupSetAttribute(image_expanded, "3", "255 255 156"); IupSetAttribute(image_expanded, "4", "0 0 0"); IupSetAttribute(image_expanded, "5", "255 206 156"); IupSetAttribute(image_expanded, "6", "206 206 99"); IupSetAttribute(image_blank, "1", TREE_BGCOLORSTRING) ; IupSetAttribute(image_blank, "2", "000 000 000"); IupSetAttribute(image_blank, "3", "119 119 119"); IupSetAttribute(image_blank, "4", "136 136 136"); IupSetAttribute(image_blank, "5", "187 187 187"); IupSetAttribute(image_blank, "6", "255 255 255"); IupSetAttribute(image_paper, "1", TREE_BGCOLORSTRING) ; IupSetAttribute(image_paper, "2", "000 000 000"); IupSetAttribute(image_paper, "3", "119 119 119"); IupSetAttribute(image_paper, "4", "136 136 136"); IupSetAttribute(image_paper, "5", "187 187 187"); IupSetAttribute(image_paper, "6", "255 255 255"); IupSetHandle("IMGLEAF",image_leaf); IupSetHandle("IMGCOLLAPSED",image_collapsed); IupSetHandle("IMGEXPANDED",image_expanded); IupSetHandle("IMGBLANK",image_blank); IupSetHandle("IMGPAPER",image_paper); }
static int iColorBrowserDlgCreateMethod(Ihandle* ih, void** params) { Ihandle *ok_bt, *cancel_bt; Ihandle *rgb_vb, *hsi_vb, *clr_vb; Ihandle *lin1, *lin2, *col1, *col2; IcolorDlgData* colordlg_data = (IcolorDlgData*)malloc(sizeof(IcolorDlgData)); memset(colordlg_data, 0, sizeof(IcolorDlgData)); iupAttribSet(ih, "_IUP_GC_DATA", (char*)colordlg_data); /* ======================================================================= */ /* BUTTONS ============================================================= */ /* ======================================================================= */ ok_bt = IupButton("_@IUP_OK", NULL); /* Ok Button */ IupSetAttribute(ok_bt, "PADDING", IupGetGlobal("DEFAULTBUTTONPADDING")); IupSetCallback (ok_bt, "ACTION", (Icallback)iColorBrowserDlgButtonOK_CB); IupSetAttributeHandle(ih, "DEFAULTENTER", ok_bt); cancel_bt = IupButton("_@IUP_CANCEL", NULL); /* Cancel Button */ IupSetAttribute(cancel_bt, "PADDING", IupGetGlobal("DEFAULTBUTTONPADDING")); IupSetCallback (cancel_bt, "ACTION", (Icallback)iColorBrowserDlgButtonCancel_CB); IupSetAttributeHandle(ih, "DEFAULTESC", cancel_bt); colordlg_data->help_bt = IupButton("_@IUP_HELP", NULL); /* Help Button */ IupSetAttribute(colordlg_data->help_bt, "PADDING", IupGetGlobal("DEFAULTBUTTONPADDING")); IupSetCallback (colordlg_data->help_bt, "ACTION", (Icallback)iColorBrowserDlgButtonHelp_CB); /* ======================================================================= */ /* COLOR =============================================================== */ /* ======================================================================= */ colordlg_data->color_browser = IupColorBrowser(); IupSetAttribute(colordlg_data->color_browser, "EXPAND", "YES"); IupSetCallback(colordlg_data->color_browser, "DRAG_CB", (Icallback)iColorBrowserDlgColorSelDrag_CB); IupSetCallback(colordlg_data->color_browser, "CHANGE_CB", (Icallback)iColorBrowserDlgColorSelDrag_CB); colordlg_data->color_cnv = IupCanvas(NULL); /* Canvas of the color */ IupSetAttribute(colordlg_data->color_cnv, "SIZE", "x12"); IupSetAttribute(colordlg_data->color_cnv, "CANFOCUS", "NO"); IupSetAttribute(colordlg_data->color_cnv, "EXPAND", "HORIZONTAL"); IupSetCallback (colordlg_data->color_cnv, "ACTION", (Icallback)iColorBrowserDlgColorCnvAction_CB); IupSetCallback (colordlg_data->color_cnv, "MAP_CB", (Icallback)iColorBrowserDlgColorCnvMap_CB); IupSetCallback (colordlg_data->color_cnv, "UNMAP_CB", (Icallback)iColorBrowserDlgColorCnvUnMap_CB); IupSetCallback (colordlg_data->color_cnv, "BUTTON_CB", (Icallback)iColorBrowserDlgColorCnvButton_CB); colordlg_data->colorhex_txt = IupText(NULL); /* Hex of the color */ IupSetAttribute(colordlg_data->colorhex_txt, "VISIBLECOLUMNS", "7"); IupSetCallback (colordlg_data->colorhex_txt, "ACTION", (Icallback)iColorBrowserDlgHexAction_CB); IupSetAttribute(colordlg_data->colorhex_txt, "MASK", "#[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]"); /* ======================================================================= */ /* ALPHA TRANSPARENCY ================================================== */ /* ======================================================================= */ colordlg_data->alpha_val = IupVal("HORIZONTAL"); IupSetAttribute(colordlg_data->alpha_val, "EXPAND", "HORIZONTAL"); IupSetAttribute(colordlg_data->alpha_val, "MIN", "0"); IupSetAttribute(colordlg_data->alpha_val, "MAX", "255"); IupSetAttribute(colordlg_data->alpha_val, "VALUE", "255"); IupSetAttribute(colordlg_data->alpha_val, "SIZE", "80x12"); IupSetCallback (colordlg_data->alpha_val, "MOUSEMOVE_CB", (Icallback)iColorBrowserDlgAlphaVal_CB); IupSetCallback (colordlg_data->alpha_val, "BUTTON_PRESS_CB", (Icallback)iColorBrowserDlgAlphaVal_CB); IupSetCallback (colordlg_data->alpha_val, "BUTTON_RELEASE_CB", (Icallback)iColorBrowserDlgAlphaVal_CB); colordlg_data->alpha_txt = IupText(NULL); /* Alpha value */ IupSetAttribute(colordlg_data->alpha_txt, "VISIBLECOLUMNS", "3"); IupSetAttribute(colordlg_data->alpha_txt, "SPIN", "YES"); IupSetAttribute(colordlg_data->alpha_txt, "SPINMIN", "0"); IupSetAttribute(colordlg_data->alpha_txt, "SPINMAX", "255"); IupSetAttribute(colordlg_data->alpha_txt, "SPININC", "1"); IupSetCallback (colordlg_data->alpha_txt, "ACTION", (Icallback)iColorBrowserDlgAlphaAction_CB); IupSetCallback (colordlg_data->alpha_txt, "SPIN_CB", (Icallback)iColorBrowserDlgAlphaSpin_CB); IupSetAttribute(colordlg_data->alpha_txt, "MASKINT", "0:255"); /* ======================================================================= */ /* COLOR TABLE ========================================================= */ /* ======================================================================= */ colordlg_data->colortable_cbar = IupColorbar(); IupSetAttribute(colordlg_data->colortable_cbar, "ORIENTATION", "HORIZONTAL"); IupSetAttribute(colordlg_data->colortable_cbar, "NUM_PARTS", "2"); IupSetAttribute(colordlg_data->colortable_cbar, "NUM_CELLS", "20"); IupSetAttribute(colordlg_data->colortable_cbar, "SHOW_PREVIEW", "NO"); IupSetAttribute(colordlg_data->colortable_cbar, "SIZE", "138x22"); IupSetAttribute(colordlg_data->colortable_cbar, "SQUARED", "NO"); IupSetCallback (colordlg_data->colortable_cbar, "SELECT_CB", (Icallback)iColorBrowserDlgColorTableSelect_CB); /* ======================================================================= */ /* RGB TEXT FIELDS ===================================================== */ /* ======================================================================= */ colordlg_data->red_txt = IupText(NULL); /* Red value */ IupSetAttribute(colordlg_data->red_txt, "VISIBLECOLUMNS", "3"); IupSetAttribute(colordlg_data->red_txt, "SPIN", "YES"); IupSetAttribute(colordlg_data->red_txt, "SPINMIN", "0"); IupSetAttribute(colordlg_data->red_txt, "SPINMAX", "255"); IupSetAttribute(colordlg_data->red_txt, "SPININC", "1"); IupSetCallback (colordlg_data->red_txt, "ACTION", (Icallback)iColorBrowserDlgRedAction_CB); IupSetCallback (colordlg_data->red_txt, "SPIN_CB", (Icallback)iColorBrowserDlgRedSpin_CB); IupSetAttribute(colordlg_data->red_txt, "MASKINT", "0:255"); colordlg_data->green_txt = IupText(NULL); /* Green value */ IupSetAttribute(colordlg_data->green_txt, "VISIBLECOLUMNS", "3"); IupSetAttribute(colordlg_data->green_txt, "SPIN", "YES"); IupSetAttribute(colordlg_data->green_txt, "SPINMIN", "0"); IupSetAttribute(colordlg_data->green_txt, "SPINMAX", "255"); IupSetAttribute(colordlg_data->green_txt, "SPININC", "1"); IupSetCallback (colordlg_data->green_txt, "ACTION", (Icallback)iColorBrowserDlgGreenAction_CB); IupSetCallback (colordlg_data->green_txt, "SPIN_CB", (Icallback)iColorBrowserDlgGreenSpin_CB); IupSetAttribute(colordlg_data->green_txt, "MASKINT", "0:255"); colordlg_data->blue_txt = IupText(NULL); /* Blue value */ IupSetAttribute(colordlg_data->blue_txt, "VISIBLECOLUMNS", "3"); IupSetAttribute(colordlg_data->blue_txt, "SPIN", "YES"); IupSetAttribute(colordlg_data->blue_txt, "SPINMIN", "0"); IupSetAttribute(colordlg_data->blue_txt, "SPINMAX", "255"); IupSetAttribute(colordlg_data->blue_txt, "SPININC", "1"); IupSetCallback (colordlg_data->blue_txt, "ACTION", (Icallback)iColorBrowserDlgBlueAction_CB); IupSetCallback (colordlg_data->blue_txt, "SPIN_CB", (Icallback)iColorBrowserDlgBlueSpin_CB); IupSetAttribute(colordlg_data->blue_txt, "MASKINT", "0:255"); /* ======================================================================= */ /* HSI TEXT FIELDS ===================================================== */ /* ======================================================================= */ colordlg_data->hue_txt = IupText(NULL); /* Hue value */ IupSetAttribute(colordlg_data->hue_txt, "VISIBLECOLUMNS", "3"); IupSetAttribute(colordlg_data->hue_txt, "SPIN", "YES"); IupSetAttribute(colordlg_data->hue_txt, "SPINMIN", "0"); IupSetAttribute(colordlg_data->hue_txt, "SPINMAX", "359"); IupSetAttribute(colordlg_data->hue_txt, "SPINWRAP", "YES"); IupSetAttribute(colordlg_data->hue_txt, "SPININC", "1"); IupSetCallback(colordlg_data->hue_txt, "ACTION", (Icallback)iColorBrowserDlgHueAction_CB); IupSetCallback(colordlg_data->hue_txt, "SPIN_CB", (Icallback)iColorBrowserDlgHueSpin_CB); IupSetAttribute(colordlg_data->hue_txt, "MASKINT", "0:359"); colordlg_data->saturation_txt = IupText(NULL); /* Saturation value */ IupSetAttribute(colordlg_data->saturation_txt, "VISIBLECOLUMNS", "3"); IupSetAttribute(colordlg_data->saturation_txt, "SPIN", "YES"); IupSetAttribute(colordlg_data->saturation_txt, "SPINMIN", "0"); IupSetAttribute(colordlg_data->saturation_txt, "SPINMAX", "100"); IupSetAttribute(colordlg_data->saturation_txt, "SPININC", "1"); IupSetCallback(colordlg_data->saturation_txt, "ACTION", (Icallback)iColorBrowserDlgSaturationAction_CB); IupSetCallback(colordlg_data->saturation_txt, "SPIN_CB", (Icallback)iColorBrowserDlgSaturationSpin_CB); IupSetAttribute(colordlg_data->saturation_txt, "MASKINT", "0:100"); colordlg_data->intensity_txt = IupText(NULL); /* Intensity value */ IupSetAttribute(colordlg_data->intensity_txt, "VISIBLECOLUMNS", "3"); IupSetAttribute(colordlg_data->intensity_txt, "SPIN", "YES"); IupSetAttribute(colordlg_data->intensity_txt, "SPINMIN", "0"); IupSetAttribute(colordlg_data->intensity_txt, "SPINMAX", "100"); IupSetAttribute(colordlg_data->intensity_txt, "SPININC", "1"); IupSetCallback(colordlg_data->intensity_txt, "ACTION", (Icallback)iColorBrowserDlgIntensityAction_CB); IupSetCallback(colordlg_data->intensity_txt, "SPIN_CB", (Icallback)iColorBrowserDlgIntensitySpin_CB); IupSetAttribute(colordlg_data->intensity_txt, "MASKINT", "0:100"); /* =================== */ /* 1st line = Controls */ /* =================== */ col1 = IupVbox(colordlg_data->color_browser, IupSetAttributes(IupHbox(colordlg_data->color_cnv, NULL), "MARGIN=30x0"),NULL); hsi_vb = IupVbox(IupSetAttributes(IupHbox(IupLabel("_@IUP_HUE"), colordlg_data->hue_txt, NULL), "ALIGNMENT=ACENTER"), IupSetAttributes(IupHbox(IupLabel("_@IUP_SATURATION"), colordlg_data->saturation_txt, NULL), "ALIGNMENT=ACENTER"), IupSetAttributes(IupHbox(IupLabel("_@IUP_INTENSITY"), colordlg_data->intensity_txt, NULL), "ALIGNMENT=ACENTER"), NULL); IupSetAttribute(hsi_vb, "GAP", "5"); rgb_vb = IupVbox(IupSetAttributes(IupHbox(IupLabel("_@IUP_RED"), colordlg_data->red_txt, NULL), "ALIGNMENT=ACENTER"), IupSetAttributes(IupHbox(IupLabel("_@IUP_GREEN"), colordlg_data->green_txt, NULL), "ALIGNMENT=ACENTER"), IupSetAttributes(IupHbox(IupLabel("_@IUP_BLUE"), colordlg_data->blue_txt, NULL), "ALIGNMENT=ACENTER"), NULL); IupSetAttribute(rgb_vb, "GAP", "5"); clr_vb = IupVbox(IupSetAttributes(IupHbox(IupLabel("_@IUP_OPACITY"), colordlg_data->alpha_txt, colordlg_data->alpha_val, NULL), "ALIGNMENT=ACENTER"), IupSetAttributes(IupHbox(IupLabel("He&xa:"), colordlg_data->colorhex_txt, NULL), "ALIGNMENT=ACENTER"), IupSetAttributes(IupVbox(IupLabel("_@IUP_PALETTE"), colordlg_data->colortable_cbar, NULL), "GAP=3"), NULL); IupSetAttribute(clr_vb, "GAP", "5"); IupSetAttribute(clr_vb, "EXPAND", "YES"); IupDestroy(IupSetAttributes(IupNormalizer(IupGetChild(IupGetChild(hsi_vb, 0), 0), /* Hue Label */ IupGetChild(IupGetChild(hsi_vb, 1), 0), /* Saturation Label */ IupGetChild(IupGetChild(hsi_vb, 2), 0), /* Intensity Label */ IupGetChild(IupGetChild(clr_vb, 0), 0), /* Opacity Label */ IupGetChild(IupGetChild(clr_vb, 1), 0), /* Hexa Label */ NULL), "NORMALIZE=HORIZONTAL")); IupDestroy(IupSetAttributes(IupNormalizer(IupGetChild(IupGetChild(rgb_vb, 0), 0), /* Red Label */ IupGetChild(IupGetChild(rgb_vb, 1), 0), /* Green Label */ IupGetChild(IupGetChild(rgb_vb, 2), 0), /* Blue Label */ NULL), "NORMALIZE=HORIZONTAL")); col2 = IupVbox(IupSetAttributes(IupHbox(hsi_vb, IupFill(), rgb_vb, NULL), "EXPAND=YES"), IupSetAttributes(IupLabel(NULL), "SEPARATOR=HORIZONTAL"), clr_vb, NULL); IupSetAttributes(col2, "EXPAND=NO, GAP=10"); lin1 = IupHbox(col1, col2, NULL); IupSetAttribute(lin1, "GAP", "10"); IupSetAttribute(lin1, "MARGIN", "0x0"); /* ================== */ /* 2nd line = Buttons */ /* ================== */ lin2 = IupHbox(IupFill(), ok_bt, cancel_bt, colordlg_data->help_bt, NULL); IupSetAttribute(lin2, "GAP", "5"); IupSetAttribute(lin2, "MARGIN", "0x0"); IupSetAttribute(lin2, "NORMALIZESIZE", "HORIZONTAL"); /* Do not use IupAppend because we set childtype=IUP_CHILDNONE */ iupChildTreeAppend(ih, IupSetAttributes(IupVbox(lin1, IupSetAttributes(IupLabel(NULL), "SEPARATOR=HORIZONTAL"), lin2, NULL), "MARGIN=10x10, GAP=10")); iColorBrowserDlgInit_Defaults(colordlg_data); (void)params; return IUP_NOERROR; }
int main(int argc, char* argv[]) { Ihandle *dlg, *canvas, *box, *image; IupOpen(&argc, &argv); //image = IupImage(32, 32, pixmap_cursor); //IupSetAttribute(image, "1", "255 0 0"); //IupSetAttribute(image, "2", "128 0 0"); //IupSetAttribute(image, "HOTSPOT", "21:10"); image = IupImage(15,15, matrx_img_cur_excel); IupSetAttribute (image, "0", "BGCOLOR"); IupSetAttribute (image, "1", "0 0 0"); IupSetAttribute (image, "2", "255 255 255"); IupSetAttribute (image, "HOTSPOT", "7:7"); box = IupVbox(NULL); IupSetAttribute(box, "MARGIN", "5x5"); canvas = IupCanvas(NULL); IupAppend(box, canvas); IupSetAttribute(canvas, "RASTERSIZE", "300x200"); IupSetAttribute(canvas, "TIP", "Canvas Tip"); IupSetAttribute(canvas, "SCROLLBAR", "YES"); // IupSetAttribute(canvas, "XAUTOHIDE", "NO"); IupSetAttribute(canvas, "XMAX", "600"); IupSetAttribute(canvas, "DX", "300"); /* use a 1x1 scale, this value is updated in RESIZE_CB, so when the canvas is larger than 600 it will hide the scrollbar */ IupSetAttributeHandle(canvas, "CURSOR", image); // IupSetAttribute(canvas, "BORDER", "NO"); // IupSetAttribute(canvas, "CURSOR", "CROSS"); IupSetCallback(canvas, "MAP_CB", (Icallback)map_cb); IupSetCallback(canvas, "KEYPRESS_CB", (Icallback)keypress_cb); IupSetCallback(canvas, "K_ANY", (Icallback)k_any); IupSetCallback(canvas, "HELP_CB", (Icallback)help_cb); IupSetCallback(canvas, "GETFOCUS_CB", (Icallback)getfocus_cb); IupSetCallback(canvas, "KILLFOCUS_CB", (Icallback)killfocus_cb); IupSetCallback(canvas, "FOCUS_CB", (Icallback)focus_cb); IupSetCallback(canvas, "ENTERWINDOW_CB", (Icallback)enterwindow_cb); IupSetCallback(canvas, "LEAVEWINDOW_CB", (Icallback)leavewindow_cb); IupSetCallback(canvas, "BUTTON_CB", (Icallback)button_cb); IupSetCallback(canvas, "MOTION_CB", (Icallback)motion_cb); IupSetCallback(canvas, "SCROLL_CB", (Icallback)scroll_cb); // IupSetCallback(canvas, "WHEEL_CB", (Icallback)wheel_cb); IupSetCallback(canvas, "RESIZE_CB", (Icallback)resize_cb); // IupSetAttribute(canvas, "BGCOLOR", "255 128 128"); IupSetCallback(canvas, "ACTION", (Icallback)action); // Windows and GTK Only IupSetCallback(canvas, "DROPFILES_CB", (Icallback)dropfiles_cb); //{ // Ihandle* cnv = IupCanvas(NULL); // IupAppend(box, cnv); // IupSetAttribute(cnv, "RASTERSIZE", "300x200"); // IupSetAttribute(cnv, "CURSOR", "NONE"); //} dlg = IupDialog(box); IupSetAttribute(dlg, "TITLE", "IupCanvas Test"); IupShow(dlg); IupSetAttribute(canvas, "RASTERSIZE", NULL); /* release the minimum limitation */ IupMainLoop(); IupDestroy(dlg); IupDestroy(image); IupClose(); return 0; }
static Ihandle* CreateTabs(int tab) { Ihandle *vboxA, *vboxB, *vboxG, *vboxC, *vboxD,*vboxE, *vboxF, *vboxH, *vboxI, *tabs; // if (tab) // to test Tabs inside Tabs // vboxA = IupVbox(CreateTabs(0), NULL); // else vboxA = IupFrame(IupVbox(IupFill(), IupLabel("Label AAA"), IupButton("Button AAA", "cbChildButton"), //NULL)); IupText(NULL), IupToggle("Button TTTT", "cbChildButton"), IupVal(NULL), IupSetAttributes(IupProgressBar(), "VALUE=0.5"), NULL)); vboxB = IupFrame(IupVbox(IupLabel("Label BBB"), IupButton("Button BBB", "cbChildButton"), NULL)); vboxC = IupFrame(IupVbox(IupLabel("Label CCC"), IupButton("Button CCC", "cbChildButton"), NULL)); vboxD = IupFrame(IupVbox(IupLabel("Label DDD"), IupButton("Button DDD", "cbChildButton"), NULL)); vboxE = IupVbox(IupFill(), IupLabel("Label EEE"), IupButton("Button EEE", "cbChildButton"), IupButton("Button EEE", "cbChildButton"), IupButton("Button EEE", "cbChildButton"), NULL); vboxF = IupVbox(IupLabel("Label FFF"), IupButton("Button FFF", "cbChildButton"), NULL); vboxG = IupVbox(IupLabel("Label GGG"), IupButton("Button GGG", "cbChildButton"), NULL); vboxH = IupVbox(IupLabel("Label HHH"), IupButton("Button HHH", "cbChildButton"), NULL); vboxI = IupVbox(IupLabel("Canvas"), IupCanvas(NULL), NULL); IupSetAttribute(vboxA, "TABTITLE", "A"); IupSetAttributeHandle(vboxA, "TABIMAGE", load_image_LogoTecgraf()); IupSetAttribute(vboxB, "TABTITLE", "BB"); // IupSetAttribute(vboxC, "TABTITLE", "CCC"); IupStoreAttribute(vboxC, "TABIMAGE", IupGetAttribute(vboxA, "TABIMAGE")); IupSetAttribute(vboxD, "TABTITLE", "DDDD"); IupSetAttribute(vboxE, "TABTITLE", "EEEEE"); IupSetAttribute(vboxF, "TABTITLE", "FFFFFF"); IupSetAttribute(vboxG, "TABTITLE", "GGGGGGG"); IupSetAttribute(vboxH, "TABTITLE", "HHHHHHHH"); IupSetAttribute(vboxI, "TABTITLE", "Canvas"); IupSetAttribute(vboxA, "TITLE", "TABS A"); IupSetAttribute(vboxB, "TITLE", "TABS BB"); IupSetAttribute(vboxC, "TITLE", "TABS CCC"); IupSetAttribute(vboxC, "ACTIVE", "NO"); IupSetAttribute(vboxF, "TABSIZE", "100"); IupSetAttribute(vboxI, "BGCOLOR", "32 192 32"); tabs = IupTabs(vboxA, vboxB, vboxC, vboxD, vboxE, vboxF, vboxG, vboxH, vboxI, NULL); IupSetCallback(tabs, "TABCHANGE_CB", (Icallback)cbTabChange); //IupSetAttributeHandle(tabs, "TABIMAGE1", load_image_LogoTecgraf()); IupSetAttributeHandle(tabs, "TABIMAGE1", load_image_TestImage()); // In Windows, must be set before map // IupSetAttribute(tabs, "TABTYPE", "LEFT"); // IupSetAttribute(tabs, "TABTYPE", "RIGHT"); // IupSetAttribute(tabs, "TABTYPE", "BOTTOM"); // IupSetAttribute(tabs, "TABORIENTATION", "VERTICAL"); // IupSetAttribute(tabs, "MULTILINE", "YES"); IupSetAttribute(tabs, "MARGIN", "0x0"); /* for children */ // IupSetAttribute(tabs, "EXPAND", "YES"); IupSetAttribute(tabs, "RASTERSIZE", "300x200"); /* initial size */ // IupSetAttribute(tabs, "ALIGNMENT", "NW"); // IupSetAttribute(tabs, "ALIGNMENT", "NORTH"); // IupSetAttribute(tabs, "ALIGNMENT", "WEST"); // IupSetAttribute(tabs, "ALIGNMENT", "EAST"); // IupSetAttribute(tabs, "ALIGNMENT", "SOUTH"); // IupSetAttribute(tabs, "ALIGNMENT", "SE"); // IupSetAttribute(tabs, "BACKGROUND", "10 150 200"); // IupSetAttribute(tabs, "BGCOLOR", "92 92 255"); // IupSetAttribute(tabs, "FGCOLOR", "250 0 0"); // IupSetAttribute(tabs, "FONT", "Helvetica, Italic 16"); IupSetAttribute(tabs, "TIP", "IupTabs Tip"); // IupSetAttribute(tabs, "TIPFONT", "SYSTEM"); // IupSetAttribute(tabs, "TIPBGCOLOR", "255 128 128"); // IupSetAttribute(tabs, "TIPFGCOLOR", "0 92 255"); // Windows Only //IupSetAttribute(tabs, "TIPBALLON", "YES"); //IupSetAttribute(tabs, "TIPBALLONTITLE", "Tip Title"); //IupSetAttribute(tabs, "TIPBALLONTITLEICON", "2"); //IupSetAttribute(tabs, "TIPDELAY", "5000"); //IupSetCallback(tabs, "K_ANY", (Icallback)k_any); //IupSetCallback(tabs, "HELP_CB", (Icallback)help_cb); //IupSetCallback(tabs, "GETFOCUS_CB", (Icallback)getfocus_cb); //IupSetCallback(tabs, "KILLFOCUS_CB", (Icallback)killfocus_cb); //IupSetCallback(tabs, "ENTERWINDOW_CB", (Icallback)enterwindow_cb); //IupSetCallback(tabs, "LEAVEWINDOW_CB", (Icallback)leavewindow_cb); return tabs; }
static void new_dialog(int test, char* tip) { Ihandle *dlg = IupDialog(NULL); IupSetAttribute(dlg, "TIP", tip); IupSetfAttribute(dlg, "_TEST_", "%d", test); if (test == 0) { char* msg = "Press a key for a dialog test:\n" "1 = new with SIZE=FULLxFULL\n" "2 = new with dialog decorations\n" "3 = new with NO decorations\n" "4 = new changing PLACEMENT\n" "5 = new using IupPopup\n" "6 = new with FULLSCREEN=YES\n" "p = PLACEMENT=MAXIMIZED\n" "pp = PLACEMENT=MINIMIZED\n" "ppp = PLACEMENT=NORMAL\n" "pppp = PLACEMENT=FULL\n" "s = IupShow(main)\n" "f = toggle FULLSCREEN state\n" "c = return IUP_CLOSE;\n" "h = IupHide\n" "r = RASTERSIZE+IupRefresh\n" "Esc = quit"; IupAppend(dlg, IupVbox(IupLabel(msg), NULL)); IupSetHandle("_MAIN_DIALOG_TEST_", dlg); } else { IupSetAttribute(dlg, "PARENTDIALOG", "_MAIN_DIALOG_TEST_"); IupSetAttribute(dlg, "CURSOR", "CROSS"); } if (test != 3) IupSetfAttribute(dlg, "TITLE", "dlg%d", test); IupSetfAttribute(dlg, "TESTTITLE", "dlg%d", test); if (test == 1) IupSetAttribute(dlg, "SIZE", "FULLxFULL"); else if (test != 6) IupSetAttribute(dlg, "RASTERSIZE", "500x500"); if (test == 2) { IupSetAttribute(dlg, "CURSOR", "DLG_CURSOR"); IupSetAttribute(dlg, "ICON", "DLG_ICON"); IupSetAttribute(dlg, "MINSIZE", "300x300"); IupSetAttribute(dlg, "MAXSIZE", "600x600"); // IupSetAttribute(dlg, "FONTSIZE", "20"); { static int count = 0; if (count == 1) { // IupSetAttribute(dlg, "FONT", "TIMES_ITALIC_14"); IupSetAttribute(dlg, "FONT", "Times, Italic 14"); // IupSetAttribute(dlg, "FONT", "Times, Underline Italic Strikeout -14"); IupSetAttribute(dlg, "TIPBGCOLOR", "255 128 128"); IupSetAttribute(dlg, "TIPFGCOLOR", "0 92 255"); // Windows Only IupSetAttribute(dlg, "TIPBALLON", "YES"); IupSetAttribute(dlg, "TIPBALLONTITLE", "Tip Title Test"); IupSetAttribute(dlg, "TIPBALLONTITLEICON", "2"); //IupSetAttribute(dlg, "TIPDELAY", "5000"); } if (count == 2) { // Windows Only IupSetAttribute(dlg, "TOPMOST", "YES"); IupSetAttribute(dlg, "OPACITY", "128"); IupSetAttribute(dlg, "TOOLBOX", "YES"); } count++; } } if (test == 3) { IupSetAttribute(dlg, "BGCOLOR", "255 0 255"); IupSetAttribute(dlg, "RESIZE", "NO"); // IupSetAttribute(dlg, "MENUBOX", "NO"); //IupSetAttribute(dlg, "MAXBOX", "NO"); // IupSetAttribute(dlg, "MINBOX", "NO"); // IupSetAttribute(dlg, "BORDER", "NO"); IupSetAttribute(dlg, "RASTERSIZE", "500x500"); } if (test == 5) { IupSetAttribute(dlg, "DIALOGFRAME", "YES"); // Windows Only IupSetAttribute(dlg, "HELPBUTTON", "YES"); } if (test == 1) IupSetCallback(dlg, "CLOSE_CB", (Icallback)close_cb2); else IupSetCallback(dlg, "CLOSE_CB", (Icallback)close_cb); IupSetCallback(dlg, "SHOW_CB", (Icallback)show_cb); IupSetCallback(dlg, "MAP_CB", (Icallback)map_cb); IupSetCallback(dlg, "K_ANY", (Icallback)k_any); IupSetCallback(dlg, "GETFOCUS_CB", (Icallback)getfocus_cb); IupSetCallback(dlg, "KILLFOCUS_CB", (Icallback)killfocus_cb); IupSetCallback(dlg, "HELP_CB", (Icallback)help_cb); IupSetCallback(dlg, "ENTERWINDOW_CB", (Icallback)enterwindow_cb); IupSetCallback(dlg, "LEAVEWINDOW_CB", (Icallback)leavewindow_cb); IupSetCallback(dlg, "RESIZE_CB", (Icallback)resize_cb); IupSetCallback(dlg, "MOVE_CB", (Icallback)move_cb); // Windows and GTK Only IupSetCallback(dlg, "DROPFILES_CB", (Icallback)dropfiles_cb); if (test == 0 || test == 1) IupShow(dlg); else if (test == 3) IupShowXY(dlg, IUP_RIGHT, IUP_CENTER); else if (test == 2) IupShowXY(dlg, 100, 100); else if (test == 4) { static int count = 0; if (count == 0) { IupSetAttribute(dlg, "PLACEMENT", "MINIMIZED"); IupSetfAttribute(dlg, "TIP", "%s%s", IupGetAttribute(dlg, "TIP"), "\n.PLACEMENT=MINIMIZED."); } else if (count == 1) { IupSetAttribute(dlg, "PLACEMENT", "MAXIMIZED"); IupSetfAttribute(dlg, "TIP", "%s%s", IupGetAttribute(dlg, "TIP"), "\n.PLACEMENT=MAXIMIZED."); } else { IupSetAttribute(dlg, "PLACEMENT", "FULL"); IupSetfAttribute(dlg, "TIP", "%s%s", IupGetAttribute(dlg, "TIP"), "\n.PLACEMENT=FULL."); } count++; if (count == 3) // cicle from 0 to 2 count = 0; IupShow(dlg); } else if (test == 5) { IupPopup(dlg, IUP_CURRENT, IUP_CURRENT); } else if (test == 6) { IupSetAttribute(dlg, "FULLSCREEN", "YES"); IupShow(dlg); } }
void TabsTest(void) { Ihandle *box, *frm1, *frm2, *dlg, *tabs; tabs = CreateTabs(1); box = IupHbox(tabs, frm1 = IupFrame(IupRadio(IupVbox(IupToggle("TOP", "cbType"), IupToggle("LEFT", "cbType"), IupToggle("BOTTOM", "cbType"), IupToggle("RIGHT", "cbType"), NULL))), frm2 = IupFrame(IupRadio(IupVbox(IupToggle("HORIZONTAL", "cbOrientation"), IupToggle("VERTICAL", "cbOrientation"), NULL))), IupVbox(IupSetAttributes(IupButton("Add Tab", "cbAddTab"), "TIP=\"Button Tip\""), IupButton("Insert Tab", "cbInsertTab"), IupButton("Remove Tab", "cbRemoveTab"), IupToggle("Inactive", "cbInactive"), IupButton("VALUEPOS=0", "cbValuePos"), NULL), NULL); IupSetAttribute(frm1, "MARGIN", "5x5"); IupSetAttribute(frm2, "MARGIN", "5x5"); IupSetAttribute(frm1, "GAP", "0"); IupSetAttribute(frm2, "GAP", "0"); IupSetAttribute(frm1, "TITLE", "Type"); IupSetAttribute(frm2, "TITLE", "Orientation"); IupSetAttribute(box, "MARGIN", "10x10"); IupSetAttribute(box, "GAP", "10"); dlg = IupDialog(box); IupSetAttribute(dlg, "TITLE", "IupTabs Test"); IupSetAttribute(dlg, "APP_TABS", (char*)tabs); // IupSetAttribute(box, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BACKGROUND", "200 10 80"); // IupSetAttributeHandle(dlg, "BACKGROUND", load_image_LogoTecgraf()); // IupSetAttribute(dlg, "FGCOLOR", "10 200 80"); // IupSetAttribute(dlg, "BGCOLOR", "173 177 194"); // Motif BGCOLOR for documentation // IupSetAttribute(dlg,"COMPOSITED","NO"); IupMap(dlg); IupSetAttribute(dlg, "SIZE", NULL); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); IupSetFunction("cbOrientation", (Icallback)cbOrientation); IupSetFunction("cbType", (Icallback)cbType); IupSetFunction("cbAddTab", (Icallback)cbAddTab); IupSetFunction("cbInsertTab", (Icallback)cbInsertTab); IupSetFunction("cbRemoveTab", (Icallback)cbRemoveTab); IupSetFunction("cbInactive", (Icallback)cbInactive); IupSetFunction("cbChildButton", (Icallback)cbChildButton); IupSetFunction("cbValuePos", (Icallback)cbValuePos); }
// Creates location dialog static void _location_create(void) { Ihandle *frame_method, *lbl_lat, *lbl_lon, *hbox_loc, *frame_loc, *button_cancel, *button_save, *hbox_buttons, *vbox_all; // Drop down for method selection list_method = IupSetAtt(NULL,IupList(NULL),"DROPDOWN","YES", "1",_("Lookup by IP (hostip.info)"), "2",_("Lookup by IP (Geobytes)"), "3",_("Lookup by Address/Zip"), "EXPAND","HORIZONTAL",NULL); (void)IupSetCallback(list_method,"ACTION",(Icallback)_list_method_cb); lbl_status = IupSetAtt(NULL,IupText(NULL),"EXPAND","YES", "READONLY","YES", "MULTILINE","YES", "APPENDNEWLINE","YES", "SCROLLBAR","VERTICAL", "VISIBLELINES","3", NULL); vbox_method = IupVbox(list_method,lbl_status,NULL); IupSetAttribute(vbox_method,"MARGIN","5"); frame_method = IupFrame(vbox_method); IupSetAttribute(frame_method,"TITLE",_("Method")); // Location input/display lbl_lat = IupSetAtt(NULL,IupLabel(_("Latitude:")),NULL); lbl_lon = IupSetAtt(NULL,IupLabel(_("Longitude:")),NULL); edt_lat = IupSetAtt(NULL,IupText(NULL), NULL); edt_lon = IupSetAtt(NULL,IupText(NULL), NULL); IupSetfAttribute(edt_lat,"VALUE","%.2f",opt_get_lat()); IupSetfAttribute(edt_lon,"VALUE","%.2f",opt_get_lon()); hbox_loc = IupHbox(lbl_lat,edt_lat,IupFill(), lbl_lon,edt_lon,NULL); IupSetAttribute(hbox_loc,"MARGIN","5"); IupSetAttribute(hbox_loc,"ALIGNMENT","ACENTER"); frame_loc = IupFrame(hbox_loc); IupSetAttribute(frame_loc,"TITLE",_("Location")); // Buttons button_cancel = IupButton(_("Cancel"),NULL); IupSetfAttribute(button_cancel,"MINSIZE","%dx%d",60,24); (void)IupSetCallback(button_cancel,"ACTION",(Icallback)_location_cancel); button_save = IupButton(_("Save"),NULL); IupSetfAttribute(button_save,"MINSIZE","%dx%d",60,24); (void)IupSetCallback(button_save,"ACTION",(Icallback)_location_save); hbox_buttons = IupHbox( button_cancel, button_save, NULL); vbox_all = IupVbox( frame_method, frame_loc, hbox_buttons, NULL); IupSetfAttribute(vbox_all,"NMARGIN","%dx%d",5,5); IupSetAttribute(vbox_all,"ALIGNMENT","ARIGHT"); dialog_location = IupDialog(vbox_all); IupSetAttribute(dialog_location,"TITLE",_("Location")); IupSetAttribute(dialog_location,"SIZE","200x150"); IupSetAttributeHandle(dialog_location,"ICON",himg_redshift); }
// Some processing required by current tab change: the controls at left // will be updated according to current plot props int tabs_tabchange_cb(Ihandle* self, Ihandle* new_tab) { int ii=0; char *ss = IupGetAttribute(new_tab, "TABTITLE"); ss += 5; // Skip "Plot " ii = atoi(ss); // autoscaling // X axis if (IupGetInt(plot[ii], "AXS_XAUTOMIN") && IupGetInt(plot[ii], "AXS_XAUTOMAX")) { IupSetAttribute(tgg2, "VALUE", "ON"); IupSetAttribute(dial2, "ACTIVE", "NO"); } else { IupSetAttribute(tgg2, "VALUE", "OFF"); IupSetAttribute(dial2, "ACTIVE", "YES"); } // Y axis if (IupGetInt(plot[ii], "AXS_YAUTOMIN") && IupGetInt(plot[ii], "AXS_YAUTOMAX")) { IupSetAttribute(tgg1, "VALUE", "ON"); IupSetAttribute(dial1, "ACTIVE", "NO"); } else { IupSetAttribute(tgg1, "VALUE", "OFF"); IupSetAttribute(dial1, "ACTIVE", "YES"); } // grid if (IupGetInt(plot[ii], "GRID")) { IupSetAttribute(tgg3, "VALUE", "ON"); IupSetAttribute(tgg4, "VALUE", "ON"); } else { // X axis if (*IupGetAttribute(plot[ii], "GRID") == 'V') IupSetAttribute(tgg3, "VALUE", "ON"); else IupSetAttribute(tgg3, "VALUE", "OFF"); // Y axis if (*IupGetAttribute(plot[ii], "GRID") == 'H') IupSetAttribute(tgg4, "VALUE", "ON"); else IupSetAttribute(tgg4, "VALUE", "OFF"); } // legend if (IupGetInt(plot[ii], "LEGENDSHOW")) IupSetAttribute(tgg5, "VALUE", "ON"); else IupSetAttribute(tgg5, "VALUE", "OFF"); return IUP_DEFAULT; }