static int iDetachBoxButton_CB(Ihandle* bar, int button, int pressed, int x, int y, char* status) { Ihandle* ih = bar->parent; Ihandle* mainDlg = IupGetDialog(ih); if (button != IUP_BUTTON1) return IUP_DEFAULT; if (!ih->data->is_holding && pressed) /* DRAG BEGIN */ { ih->data->is_holding = 1; /* Change cursor */ IupSetAttribute(bar, "CURSOR", "IupDetachBoxCursor"); } else if (ih->data->is_holding && !pressed) /* DRAG END */ { Ihandle *new_parent; IFnnii detachedCB = (IFnnii)IupGetCallback(ih, "DETACHED_CB"); int cur_x, cur_y; ih->data->is_holding = 0; iupStrToIntInt(IupGetGlobal("CURSORPOS"), &cur_x, &cur_y, 'x'); /* Create new dialog */ new_parent = IupDialog(NULL); /* Set new dialog as child of the current application */ IupSetAttributeHandle(new_parent, "PARENTDIALOG", mainDlg); if (detachedCB) { int ret = detachedCB(ih, new_parent, cur_x, cur_y); if (ret == IUP_IGNORE) { IupDestroy(new_parent); return IUP_DEFAULT; } } /* Save current parent and reference child */ ih->data->old_parent = ih->parent; ih->data->old_brother = ih->brother; IupMap(new_parent); /* Sets the new parent */ IupReparent(ih, new_parent, NULL); /* Restores the cursor */ IupSetAttribute(bar, "CURSOR", "MOVE"); /* Hide canvas bar */ ih->data->barsize = 0; IupHide(bar); /* Updates/redraws the layout of the dialog application */ IupRefresh(mainDlg); IupSetAttribute(new_parent, "RASTERSIZE", NULL); IupRefresh(new_parent); /* Maps and shows the new dialog */ IupShowXY(new_parent, cur_x, cur_y); } (void)x; (void)y; (void)status; return IUP_DEFAULT; }
static Ihandle* create_matrix(void) { Ihandle* mat = IupMatrix(NULL); // IupSetAttribute(mat, "NUMLIN", "3"); IupSetAttribute(mat, "NUMLIN", "4"); IupSetAttribute(mat, "NUMCOL", "8"); // IupSetAttribute(mat, "NUMCOL", "15"); // IupSetAttribute(mat, "NUMLIN", "3"); // IupSetAttribute(mat, "NUMCOL", "2"); // IupSetAttribute(mat, "NUMLIN", "8"); // IupSetAttribute(mat, "NUMCOL", "5"); // IupSetAttribute(mat, "ACTIVE", "NO"); // IupSetAttribute(mat, "EDITHIDEONFOCUS", "NO"); // IupSetAttribute(mat, "EDITALIGN", "Yes"); // IupSetAttribute(mat, "EDITFITVALUE", "Yes"); // IupSetAttribute(mat, "READONLY", "Yes"); //IupSetAttribute(mat, "0:0", "Inflation"); //IupSetAttribute(mat, "1:0", "Medicine\nPharma"); //IupSetAttribute(mat, "2:0", "Food"); //IupSetAttribute(mat, "3:0", "Energy"); //IupSetAttribute(mat, "0:1", "January 2000"); //IupSetAttribute(mat, "0:2", "February 2000"); IupSetAttribute(mat, "1:1", "5.6\n3.33"); IupSetAttribute(mat, "2:1", "2.2"); IupSetAttribute(mat, "3:2", "Very Very Very Very Very Large Text"); IupSetAttribute(mat, "1:2", "4.5"); if (IupGetInt(NULL, "UTF8MODE")) IupSetAttribute(mat, "2:2", "(çãõáóé)"); else IupSetAttribute(mat, "2:2", "(ηγυασι)"); IupSetAttribute(mat, "3:1", "3.4"); IupSetAttribute(mat, "3:3", "Font Test"); // IupSetAttribute(mat, "HEIGHT2", "30"); // IupSetAttribute(mat, "WIDTH2", "190"); // IupSetAttributeId(mat, "WIDTH", 2, "190"); IupSetAttribute(mat,"SORTSIGN2","DOWN"); // IupSetAttribute(mat, "WIDTHDEF", "34"); // IupSetAttribute(mat,"MULTILINE", "YES"); IupSetAttribute(mat,"RESIZEMATRIX", "YES"); // IupSetAttribute(mat,"HIDDENTEXTMARKS", "YES"); // IupSetAttribute(mat,"USETITLESIZE", "YES"); //IupSetAttribute(mat,"SCROLLBAR", "NO"); // IupSetAttribute(mat, "SCROLLBAR", "HORIZONTAL"); //IupSetAttribute(mat, "BGCOLOR1:2", "255 92 255"); //IupSetAttribute(mat, "BGCOLOR2:*", "92 92 255"); //IupSetAttribute(mat, "BGCOLOR*:3", "255 92 92"); //IupSetAttribute(mat, "FGCOLOR1:2", "255 0 0"); //IupSetAttribute(mat, "FGCOLOR2:*", "0 128 0"); //IupSetAttribute(mat, "FGCOLOR*:3", "0 0 255"); IupSetAttribute(mat, "FONT3:3", "Helvetica, 24"); //IupSetAttribute(mat, "FONT2:*", "Courier, 14"); //IupSetAttribute(mat, "FONT*:3", "Times, Bold 14"); // IupSetAttribute(mat, "ALIGNMENT1", "ALEFT"); // IupSetAttribute(mat, "ALIGNMENT3", "ARIGHT"); // IupSetAttribute(mat, "ALIGN2:1", ":ARIGHT"); // IupSetAttribute(mat, "LINEALIGNMENT1", "ATOP"); // IupSetAttribute(mat, "ACTIVE", "NO"); // IupSetAttribute(mat, "EXPAND", "NO"); // IupSetAttribute(mat, "ALIGNMENT", "ALEFT"); // IupSetAttribute(mat, "MASK1:3", IUP_MASK_FLOAT); // IupSetAttribute(mat, "MASK1:3", "[a-zA-Z][0-9a-zA-Z_]*"); // IupSetAttribute(mat, "MASKFLOAT1:3", "0.0:10.0"); IupSetAttribute(mat, "MASK*:3", "[a-zA-Z][0-9a-zA-Z_]*"); IupSetAttribute(mat, "TYPE4:1", "COLOR"); IupSetAttribute(mat, "4:1", "255 0 128"); IupSetAttribute(mat, "TYPE4:2", "FILL"); IupSetAttribute(mat, "4:2", "60"); IupSetAttribute(mat, "SHOWFILLVALUE", "Yes"); { Ihandle* image = IupImageRGBA(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_32); IupSetAttribute(mat, "TYPE4:3", "IMAGE"); IupSetAttributeHandle(mat, "4:3", image); } // IupSetAttribute(mat, "TOGGLEVALUE4:4", "ON"); // IupSetAttribute(mat, "VALUE4:4", "1"); IupSetAttribute(mat, "TOGGLECENTERED", "Yes"); IupSetAttribute(mat,"MARKMODE","CELL"); // IupSetAttribute(mat,"MARKMODE","LIN"); // IupSetAttribute(mat,"MARKMULTIPLE","NO"); IupSetAttribute(mat,"MARKMULTIPLE","YES"); // IupSetAttribute(mat,"MARKAREA","NOT_CONTINUOUS"); // IupSetAttribute(mat,"MARK2:2","YES"); // IupSetAttribute(mat,"MARK2:3","YES"); // IupSetAttribute(mat,"MARK3:3","YES"); IupSetAttribute(mat,"FRAMEVERTCOLOR1:2","BGCOLOR"); IupSetAttribute(mat,"FRAMEHORIZCOLOR1:2","0 0 255"); IupSetAttribute(mat,"FRAMEHORIZCOLOR1:3","0 255 0"); IupSetAttribute(mat,"FRAMEVERTCOLOR2:2","255 255 0"); IupSetAttribute(mat,"FRAMEVERTCOLOR*:4","0 255 0"); IupSetAttribute(mat,"FRAMEVERTCOLOR*:5","BGCOLOR"); // IupSetAttribute(mat,"MARKMODE","LINCOL"); //IupSetAttribute(mat, "NUMCOL_VISIBLE_LAST", "YES"); //IupSetAttribute(mat, "NUMLIN_VISIBLE_LAST", "YES"); // IupSetAttribute(mat, "WIDTHDEF", "15"); IupSetAttribute(mat, "20:8", "The End"); //IupSetAttribute(mat, "10:0", "Middle Line"); //IupSetAttribute(mat, "15:0", "Middle Line"); //IupSetAttribute(mat, "0:4", "Middle Column"); //IupSetAttribute(mat, "20:0", "Line Title Test"); //IupSetAttribute(mat, "0:8", "Column Title Test"); IupSetAttribute(mat, "NUMCOL_VISIBLE", "3"); IupSetAttribute(mat, "NUMLIN_VISIBLE", "5"); // IupSetAttribute(mat,"EDITNEXT","COLCR"); // IupSetAttribute(mat, "NUMCOL_NOSCROLL", "1"); // IupSetAttribute(mat, "LIMITEXPAND", "Yes"); // IupSetAttribute(mat, "XAUTOHIDE", "NO"); // IupSetAttribute(mat, "YAUTOHIDE", "NO"); // IupSetAttribute(mat,"RASTERSIZE","x300"); // IupSetAttribute(mat,"FITTOSIZE","LINES"); // IupSetAttribute(mat,"TYPECOLORINACTIVE","No"); // IupSetAttribute(mat, "ACTIVE", "No"); // IupSetAttribute(mat, "FRAMEBORDER", "Yes"); // IupSetAttribute(mat, "FLATSCROLLBAR", "Yes"); // IupSetAttribute(mat, "SHOWFLOATING", "Yes"); /* test for custom matrix attributes */ //{ // char* v; // IupSetAttribute(mat, "MTX_LINE_ACTIVE_FLAG3:4", "Test1"); // IupSetAttributeId2(mat, "MTX_LINE_ACTIVE_FLAG", 5, 7, "Test2"); // printf("Test1=%s\n", IupGetAttribute(mat, "MTX_LINE_ACTIVE_FLAG3:4")); // printf("Test2=%s\n", IupGetAttributeId2(mat, "MTX_LINE_ACTIVE_FLAG", 5, 7)); //} IupSetCallback(mat, "DROPCHECK_CB", (Icallback)dropcheck_cb); IupSetCallback(mat,"DROP_CB",(Icallback)drop); // IupSetCallback(mat,"MENUDROP_CB",(Icallback)drop); // IupSetCallback(mat, "MOUSEMOVE_CB", (Icallback)mousemove_cb); // IupSetCallback(mat,"CLICK_CB",(Icallback)click); // IupSetCallback(mat,"ENTERITEM_CB",(Icallback)enteritem_cb); IupSetCallback(mat,"TOGGLEVALUE_CB",(Icallback)togglevalue_cb); return mat; }
int IupAlarm(const char *title, const char *msg, const char *b1, const char *b2, const char *b3) { Ihandle *dlg, *dlg_box, *button_box, *button, *default_esc, *default_enter; int bt, len; char* padding; msg = msg? msg: ""; if (b1 == NULL) return 0; len = strlen(b1); if (b2) { int len2 = strlen(b2); if (len2 > len) len = len2; } if (b3) { int len3 = strlen(b3); if (len3 > len) len = len3; } if (len > 7) padding = "12x2"; else padding = "18x5"; button_box = IupHbox(NULL); IupSetAttribute(button_box, "NORMALIZESIZE", "HORIZONTAL"); IupSetAttribute(button_box,"MARGIN","0x0"); IupAppend(button_box, IupFill()); /* to center the buttons */ button = IupButton(b1, NULL); iupAttribSetStrf(button, "_IUP_BUTTON_NUMBER", "1"); IupSetAttribute(button, "PADDING", padding); IupAppend(button_box, button); IupSetCallback (button, "ACTION", (Icallback)iAlarmButtonAction_CB); default_enter = button; default_esc = button; if (b2 != NULL) { button = IupButton(b2, NULL); iupAttribSetStr(button, "_IUP_BUTTON_NUMBER", "2"); IupSetAttribute(button, "PADDING", padding); IupAppend(button_box, button); IupSetCallback (button, "ACTION", (Icallback)iAlarmButtonAction_CB); default_esc = button; } if (b3 != NULL) { button = IupButton(b3, NULL); iupAttribSetStr(button, "_IUP_BUTTON_NUMBER", "3"); IupSetAttribute(button, "PADDING", padding); IupAppend(button_box, button); IupSetCallback (button, "ACTION", (Icallback)iAlarmButtonAction_CB); default_esc = button; } IupAppend(button_box, IupFill()); /* to center the buttons */ dlg_box = IupVbox( IupLabel(msg), IupSetAttributes(IupLabel(NULL), "SEPARATOR=HORIZONTAL"), button_box, NULL); IupSetAttribute(dlg_box,"MARGIN","10x10"); IupSetAttribute(dlg_box,"GAP","10"); dlg = IupDialog(dlg_box); IupSetAttribute(dlg,"TITLE", title); IupSetAttribute(dlg,"DIALOGFRAME","YES"); IupSetAttribute(dlg,"DIALOGHINT","YES"); IupSetAttributeHandle(dlg,"DEFAULTENTER", default_enter); IupSetAttributeHandle(dlg,"DEFAULTESC", default_esc); IupSetAttribute(dlg,"PARENTDIALOG", IupGetGlobal("PARENTDIALOG")); IupSetAttribute(dlg,"ICON", IupGetGlobal("ICON")); IupPopup(dlg,IUP_CENTERPARENT,IUP_CENTERPARENT); bt = iupAttribGetInt(dlg, "_IUP_BUTTON_NUMBER"); IupDestroy(dlg); return bt; }
int IupGetText(const char* title, char* text) { Ihandle *ok, *cancel, *multi_text, *button_box, *dlg_box, *dlg; int bt; multi_text = IupMultiLine(NULL); IupSetAttribute(multi_text,"EXPAND", "YES"); IupSetAttribute(multi_text,"VALUE", text); IupSetAttribute(multi_text,"FONT", "Courier, 12"); IupSetAttribute(multi_text, "VISIBLELINES", "10"); IupSetAttribute(multi_text, "VISIBLECOLUMNS", "50"); ok = IupButton("OK", NULL); IupSetAttribute(ok, "PADDING", "20x5"); IupSetCallback(ok, "ACTION", (Icallback)CB_button_OK); cancel = IupButton(iupStrMessageGet("IUP_CANCEL"), NULL); IupSetAttribute(cancel, "PADDING", "20x5"); IupSetCallback(cancel, "ACTION", (Icallback)CB_button_CANCEL); button_box = IupHbox( IupFill(), ok, cancel, NULL); IupSetAttribute(button_box,"MARGIN","0x0"); IupSetAttribute(button_box, "NORMALIZESIZE", "HORIZONTAL"); dlg_box = IupVbox( multi_text, button_box, NULL); IupSetAttribute(dlg_box,"MARGIN","10x10"); IupSetAttribute(dlg_box,"GAP","10"); dlg = IupDialog (dlg_box); IupSetAttribute(dlg,"TITLE", title); IupSetAttribute(dlg,"MINBOX","NO"); IupSetAttribute(dlg,"MAXBOX","NO"); IupSetAttributeHandle(dlg,"DEFAULTENTER", ok); IupSetAttributeHandle(dlg,"DEFAULTESC", cancel); IupSetAttribute(dlg,"PARENTDIALOG", IupGetGlobal("PARENTDIALOG")); IupSetAttribute(dlg,"ICON", IupGetGlobal("ICON")); IupMap(dlg); IupSetAttribute(multi_text, "VISIBLELINES", NULL); IupSetAttribute(multi_text, "VISIBLECOLUMNS", NULL); IupPopup(dlg, IUP_CENTERPARENT, IUP_CENTERPARENT); bt = IupGetInt(dlg, "STATUS"); if (bt==1) strcpy(text, IupGetAttribute(multi_text, "VALUE")); else bt = 0; /* return 0 instead of -1 */ IupDestroy(dlg); return bt; }
void ButtonTest(void) { Ihandle *dlg, *button, *label, *image1, *image1i, *image1p, *image2, *image3, *box1, *box2; box1 = IupVbox(NULL); IupSetAttribute(box1, "MARGIN", "5x5"); IupSetAttribute(box1, "GAP", "5"); // IupSetAttribute(box1, "BGCOLOR", "75 150 170"); // IupSetAttribute(box1, "PADDING", "15x15"); button = IupButton(NULL, NULL); IupSetStrAttribute(button, "TITLE", "_@IUP_OK"); IupSetCallback(button, "ACTION", active_cb); IupAppend(box1, button); button = IupButton(NULL, NULL); if (IupGetInt(NULL, "UTF8MODE")) IupSetAttribute(button, "TITLE", "&Text && Test(çãõáóé)"); else IupSetAttribute(button, "TITLE", "&Text && Test(ηγυασι)"); IupSetAttribute(button, "TIP", "Button & Tip"); //IupSetAttribute(button, "PADDING", "15x15"); //IupSetAttribute(button, "BGCOLOR", "128 128 255"); // IupSetAttribute(button, "SIZE", "40"); // IupSetAttribute(button, "EXPAND", "Yes"); // IupSetAttribute(button, "FGCOLOR", "0 0 255"); // IupSetAttribute(button, "RASTERSIZE", "200x100"); IupSetAttribute(button, "ALIGNMENT", "ACENTER:ACENTER"); // IupSetAttribute(button, "ALIGNMENT", "ALEFT:ATOP"); IupSetAttribute(button, "NAME", "button1"); //IupSetAttribute(button, "CANFOCUS", "NO"); set_callbacks(button); IupAppend(box1, button); button = IupButton(NULL, NULL); IupSetAttribute(button, "TITLE", "Text1\nSecond Line"); // IupSetAttribute(button, "RASTERSIZE", "200x100"); IupSetAttribute(button, "ALIGNMENT", "ACENTER:ACENTER"); IupSetAttribute(button, "FONT", "Helvetica, Underline 14"); IupSetAttribute(button, "FLAT", "YES"); IupSetAttribute(button, "NAME", "button2"); set_callbacks(button); IupAppend(box1, button); button = IupButton(NULL, NULL); IupSetAttribute(button, "TITLE", "Text2\n<b>Second Line</b>"); IupSetAttribute(button, "RASTERSIZE", "200x100"); IupSetAttribute(button, "ALIGNMENT", "ARIGHT:ABOTTOM"); IupSetAttribute(button, "MARKUP", "YES"); IupSetAttribute(button, "NAME", "button3"); IupSetAttribute(button, "CANFOCUS", "NO"); set_callbacks(button); IupAppend(box1, button); button = IupButton(NULL, NULL); IupSetAttribute(button, "RASTERSIZE", "30x30"); IupSetAttribute(button, "BGCOLOR", "255 128 92"); IupSetAttribute(button, "NAME", "color"); // IupSetAttribute(button, "EXPAND", "HORIZONTAL"); // IupSetAttribute(button, "FLAT", "Yes"); set_callbacks(button); IupAppend(box1, button); box2 = IupVbox(NULL); IupSetAttribute(box2, "MARGIN", "5x5"); IupSetAttribute(box2, "GAP", "5"); // IupSetAttribute(box2, "BGCOLOR", "75 150 170"); // IupSetAttribute(box2, "PADDING", "15x15"); image1 = IupImage(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_8); IupSetAttribute(image1, "0", "BGCOLOR"); IupSetAttribute(image1, "1", "255 0 0"); IupSetAttribute(image1, "2", "0 255 0"); IupSetAttribute(image1, "3", "0 0 255"); IupSetAttribute(image1, "4", "255 255 255"); IupSetAttribute(image1, "5", "0 0 0"); image1i = IupImage(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_8_inactive); IupSetAttribute(image1i, "0", "BGCOLOR"); IupSetAttribute(image1i, "1", "255 0 0"); IupSetAttribute(image1i, "2", "0 255 0"); IupSetAttribute(image1i, "3", "0 0 255"); IupSetAttribute(image1i, "4", "255 255 255"); IupSetAttribute(image1i, "5", "0 0 0"); IupSetHandle("image1i", image1i); /* so it will be destroyed even when not used */ #if 0 image1p = IupImage(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_8_pressed); IupSetAttribute(image1p, "0", "BGCOLOR"); IupSetAttribute(image1p, "1", "255 0 0"); IupSetAttribute(image1p, "2", "0 255 0"); IupSetAttribute(image1p, "3", "0 0 255"); IupSetAttribute(image1p, "4", "255 255 255"); IupSetAttribute(image1p, "5", "0 0 0"); #endif image2 = IupImageRGB(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_24); image3 = IupImageRGBA(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_32); button = IupButton(NULL, NULL); IupSetAttribute(button, "TITLE", "Images"); IupSetAttributeHandle(button, "IMAGE", load_image_FileSave()); //IupSetAttribute(button, "IMAGE", "TECGRAF_BITMAP"); IupAppend(box2, button); button = IupButton(NULL, NULL); // IupSetAttribute(button, "ALIGNMENT", "ALEFT:ATOP"); // IupSetAttribute(button, "RASTERSIZE", "200x100"); // IupSetAttribute(button, "IMAGEPOSITION", "BOTTOM"); // IupSetAttribute(button, "PADDING", "5x5"); // IupSetAttribute(button, "TITLE", "Text1"); // IupSetAttribute(button, "FONT", "Helvetica, 14"); // IupSetAttribute(button, "IMAGE", "IUP_Tecgraf"); IupSetAttributeHandle(button, "IMAGE", image1); IupSetAttributeHandle(button, "IMINACTIVE", image1i); // IupSetAttributeHandle(button, "IMPRESS", image1p); IupSetAttribute(button, "TIP", "Image Label"); IupSetAttribute(button, "NAME", "button4"); IupSetAttribute(button, "PADDING", "5x5"); // IupSetAttribute(button, "FLAT", "Yes"); set_callbacks(button); IupAppend(box2, button); button = IupButton(NULL, NULL); IupSetAttributeHandle(button, "IMAGE", image2); // IupSetAttribute(button, "TITLE", "Text2"); // IupSetAttribute(button, "IMAGEPOSITION", "TOP"); // IupSetAttribute(button, "SPACING", "30"); // IupSetAttribute(button, "ALIGNMENT", "ALEFT"); // IupSetAttribute(button, "RASTERSIZE", "200x100"); IupSetAttribute(button, "FLAT", "YES"); // IupSetAttributeHandle(button, "IMPRESS", image2); IupSetAttribute(button, "CANFOCUS", "NO"); IupSetAttribute(button, "PADDING", "10x10"); // IupSetAttribute(button, "RASTERSIZE", "15x15"); IupSetAttribute(button, "NAME", "button5"); set_callbacks(button); IupAppend(box2, button); button = IupButton(NULL, NULL); IupSetAttributeHandle(button, "IMAGE", image3); IupSetAttribute(button, "TITLE", "Text3"); // IupSetAttribute(button, "RASTERSIZE", "200x100"); // IupSetAttribute(button, "ALIGNMENT", "ARIGHT"); IupSetAttribute(button, "NAME", "button6"); set_callbacks(button); IupAppend(box2, button); label = IupLabel(NULL); IupSetAttribute(label, "SEPARATOR", "VERTICAL"); IupSetHandle("seplabel", label); dlg = IupDialog(IupHbox(box1, label, box2, NULL)); IupSetAttribute(dlg, "TITLE", "IupButton Test"); // IupSetAttribute(box1, "BGCOLOR", "128 0 0"); // IupSetAttribute(dlg, "BGCOLOR", "0 128 0"); // IupSetAttribute(dlg, "BACKGROUND", "255 128 128"); // IupSetAttributeHandle(dlg, "BACKGROUND", image2); // IupSetAttribute(dlg, "BGCOLOR", "173 177 194"); // Motif BGCOLOR for documentation // IupSetAttribute(dlg, "SAVEUNDER", "NO"); IupSetAttributeHandle(dlg, "STARTFOCUS", button); // IupSetGlobal("CLIENTAREAANIMATION", "No"); // IupSetGlobal("HOTTRACKING", "No"); IupShow(dlg); // IupSetAttribute(dlg, "PARENTDIALOG", "BIGTEST"); // IupShowXY(dlg, IUP_CENTERPARENT, IUP_CENTERPARENT); // IupShowXY(dlg,IUP_LEFT,IUP_TOP); // IupShowXY(dlg, IUP_RIGHT, IUP_BOTTOM); // IupShowXY(dlg, IUP_RIGHT, IUP_CENTER); // IupShowXY(dlg,0,0); }
Ihandle* create_main_dialog(Ihandle *config) { Ihandle *dlg, *vbox, *canvas, *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_copy, *item_paste; Ihandle *btn_copy, *btn_paste, *btn_new, *btn_open, *btn_save; Ihandle *sub_menu_help, *help_menu, *item_help, *item_about; Ihandle *sub_menu_view, *view_menu, *item_toolbar, *item_statusbar; Ihandle *statusbar, *toolbar, *recent_menu, *item_background; canvas = IupGLCanvas(NULL); IupSetAttribute(canvas, "NAME", "CANVAS"); IupSetAttribute(canvas, "DIRTY", "NO"); IupSetAttribute(canvas, "BUFFER", "DOUBLE"); IupSetCallback(canvas, "ACTION", (Icallback)canvas_action_cb); IupSetCallback(canvas, "DROPFILES_CB", (Icallback)dropfiles_cb); statusbar = IupLabel("(0, 0) = [0 0 0]"); IupSetAttribute(statusbar, "NAME", "STATUSBAR"); IupSetAttribute(statusbar, "EXPAND", "HORIZONTAL"); IupSetAttribute(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_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); 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); IupSetAttribute(btn_copy, "TIP", "Copy (Ctrl+C)"); IupSetAttribute(btn_copy, "CANFOCUS", "No"); 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); 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); IupSetAttribute(btn_paste, "TIP", "Paste (Ctrl+V)"); IupSetAttribute(btn_paste, "CANFOCUS", "No"); item_background = IupItem("&Background...", NULL); IupSetCallback(item_background, "ACTION", (Icallback)item_background_action_cb); 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"); 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_copy, item_paste, NULL); view_menu = IupMenu( item_background, IupSeparator(), 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_view = IupSubmenu("&View", view_menu); sub_menu_help = IupSubmenu("&Help", help_menu); menu = IupMenu( sub_menu_file, sub_menu_edit, sub_menu_view, sub_menu_help, NULL); toolbar = IupHbox( btn_new, btn_open, btn_save, IupSetAttributes(IupLabel(NULL), "SEPARATOR=VERTICAL"), btn_copy, btn_paste, NULL); IupSetAttribute(toolbar, "MARGIN", "5x5"); IupSetAttribute(toolbar, "GAP", "2"); vbox = IupVbox( toolbar, canvas, 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); 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_cV", (Icallback)item_paste_action_cb); IupSetCallback(dlg, "K_cC", (Icallback)item_copy_action_cb); /* parent for pre-defined dialogs in closed functions (IupMessage and IupAlarm) */ IupSetAttributeHandle(NULL, "PARENTDIALOG", dlg); /* Initialize variables from the configuration file */ IupConfigRecentInit(config, recent_menu, config_recent_cb, 10); if (!IupConfigGetVariableIntDef(config, "MainWindow", "Toolbar", 1)) { IupSetAttribute(item_toolbar, "VALUE", "OFF"); IupSetAttribute(toolbar, "FLOATING", "YES"); IupSetAttribute(toolbar, "VISIBLE", "NO"); } if (!IupConfigGetVariableIntDef(config, "MainWindow", "Statusbar", 1)) { IupSetAttribute(item_statusbar, "VALUE", "OFF"); IupSetAttribute(statusbar, "FLOATING", "YES"); IupSetAttribute(statusbar, "VISIBLE", "NO"); } IupSetAttribute(dlg, "CONFIG", (char*)config); return dlg; }
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); }
Ihandle* create_main_dialog(Ihandle *config) { Ihandle *dlg, *vbox, *canvas, *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_copy, *item_paste, *item_print, *item_pagesetup; Ihandle *btn_copy, *btn_paste, *btn_new, *btn_open, *btn_save; Ihandle *sub_menu_help, *help_menu, *item_help, *item_about; Ihandle *sub_menu_view, *view_menu, *item_toolbar, *item_statusbar; Ihandle *item_zoomin, *item_zoomout, *item_actualsize; Ihandle *statusbar, *toolbar, *recent_menu, *item_background; canvas = IupCanvas(NULL); IupSetAttribute(canvas, "NAME", "CANVAS"); IupSetAttribute(canvas, "SCROLLBAR", "Yes"); IupSetAttribute(canvas, "DIRTY", "NO"); /* custom attribute */ IupSetAttribute(canvas, "ZOOMFACTOR", "1"); /* custom attribute */ IupSetCallback(canvas, "ACTION", (Icallback)canvas_action_cb); IupSetCallback(canvas, "DROPFILES_CB", (Icallback)dropfiles_cb); IupSetCallback(canvas, "MAP_CB", (Icallback)canvas_map_cb); IupSetCallback(canvas, "UNMAP_CB", (Icallback)canvas_unmap_cb); IupSetCallback(canvas, "WHEEL_CB", (Icallback)canvas_wheel_cb); IupSetCallback(canvas, "RESIZE_CB", (Icallback)canvas_resize_cb); statusbar = IupHbox( IupSetAttributes(IupLabel("(0, 0) = 0 0 0"), "EXPAND=HORIZONTAL, PADDING=10x5"), IupSetAttributes(IupLabel(NULL), "SEPARATOR=VERTICAL"), IupSetAttributes(IupLabel("0 x 0"), "SIZE=70x, PADDING=10x5, NAME=SIZELABEL, ALIGNMENT=ACENTER"), IupSetAttributes(IupLabel(NULL), "SEPARATOR=VERTICAL"), IupSetAttributes(IupLabel("100%"), "SIZE=30x, PADDING=10x5, NAME=ZOOMLABEL, ALIGNMENT=ARIGHT"), IupSetCallbacks(IupSetAttributes(IupButton(NULL, NULL), "IMAGE=IUP_ZoomOut, FLAT=Yes, TIP=\"Zoom Out (Ctrl+-)\""), "ACTION", zoomout_action_cb, NULL), IupSetCallbacks(IupSetAttributes(IupVal(NULL), "VALUE=0, MIN=-6, MAX=6, RASTERSIZE=150x25, NAME=ZOOMVAL"), "VALUECHANGED_CB", zoom_valuechanged_cb, NULL), IupSetCallbacks(IupSetAttributes(IupButton(NULL, NULL), "IMAGE=IUP_ZoomIn, FLAT=Yes, TIP=\"Zoom In (Ctrl++)\""), "ACTION", zoomin_action_cb, NULL), IupSetCallbacks(IupSetAttributes(IupButton(NULL, NULL), "IMAGE=IUP_ZoomActualSize, FLAT=Yes, TIP=\"Actual Size (Ctrl+0)\""), "ACTION", actualsize_action_cb, NULL), NULL); IupSetAttribute(statusbar, "NAME", "STATUSBAR"); IupSetAttribute(statusbar, "ALIGNMENT", "ACENTER"); 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_pagesetup = IupItem("Page Set&up...", NULL); IupSetCallback(item_pagesetup, "ACTION", (Icallback)item_pagesetup_action_cb); item_print = IupItem("&Print...\tCtrl+P", NULL); IupSetCallback(item_print, "ACTION", (Icallback)item_print_action_cb); item_exit = IupItem("E&xit", NULL); IupSetCallback(item_exit, "ACTION", (Icallback)item_exit_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); 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); IupSetAttribute(btn_copy, "TIP", "Copy (Ctrl+C)"); IupSetAttribute(btn_copy, "CANFOCUS", "No"); 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); 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); IupSetAttribute(btn_paste, "TIP", "Paste (Ctrl+V)"); IupSetAttribute(btn_paste, "CANFOCUS", "No"); item_zoomin = IupItem("Zoom &In\tCtrl++", NULL); IupSetAttribute(item_zoomin, "IMAGE", "IUP_ZoomIn"); IupSetCallback(item_zoomin, "ACTION", (Icallback)zoomin_action_cb); item_zoomout = IupItem("Zoom &Out\tCtrl+-", NULL); IupSetAttribute(item_zoomout, "IMAGE", "IUP_ZoomOut"); IupSetCallback(item_zoomout, "ACTION", (Icallback)zoomout_action_cb); item_actualsize = IupItem("&Actual Size\tCtrl+0", NULL); IupSetAttribute(item_actualsize, "IMAGE", "IUP_ZoomActualSize"); IupSetCallback(item_actualsize, "ACTION", (Icallback)actualsize_action_cb); item_background = IupItem("&Background...", NULL); IupSetCallback(item_background, "ACTION", (Icallback)item_background_action_cb); 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"); 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(), item_pagesetup, item_print, IupSeparator(), IupSubmenu("Recent &Files", recent_menu), IupSeparator(), item_exit, NULL); edit_menu = IupMenu( item_copy, item_paste, NULL); view_menu = IupMenu( item_zoomin, item_zoomout, item_actualsize, IupSeparator(), item_background, IupSeparator(), 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_view = IupSubmenu("&View", view_menu); sub_menu_help = IupSubmenu("&Help", help_menu); menu = IupMenu( sub_menu_file, sub_menu_edit, sub_menu_view, sub_menu_help, NULL); toolbar = IupHbox( btn_new, btn_open, btn_save, IupSetAttributes(IupLabel(NULL), "SEPARATOR=VERTICAL"), btn_copy, btn_paste, NULL); IupSetAttribute(toolbar, "MARGIN", "5x5"); IupSetAttribute(toolbar, "GAP", "2"); vbox = IupVbox( toolbar, canvas, 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); 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_cV", (Icallback)item_paste_action_cb); IupSetCallback(dlg, "K_cC", (Icallback)item_copy_action_cb); IupSetCallback(dlg, "K_cP", (Icallback)item_print_action_cb); IupSetCallback(dlg, "K_cMinus", (Icallback)zoomout_action_cb); IupSetCallback(dlg, "K_cPlus", (Icallback)zoomin_action_cb); IupSetCallback(dlg, "K_cEqual", (Icallback)zoomin_action_cb); IupSetCallback(dlg, "K_c0", (Icallback)actualsize_action_cb); /* parent for pre-defined dialogs in closed functions (IupMessage and IupAlarm) */ IupSetAttributeHandle(NULL, "PARENTDIALOG", dlg); /* Initialize variables from the configuration file */ IupConfigRecentInit(config, recent_menu, config_recent_cb, 10); if (!IupConfigGetVariableIntDef(config, "MainWindow", "Toolbar", 1)) { IupSetAttribute(item_toolbar, "VALUE", "OFF"); IupSetAttribute(toolbar, "FLOATING", "YES"); IupSetAttribute(toolbar, "VISIBLE", "NO"); } if (!IupConfigGetVariableIntDef(config, "MainWindow", "Statusbar", 1)) { IupSetAttribute(item_statusbar, "VALUE", "OFF"); IupSetAttribute(statusbar, "FLOATING", "YES"); IupSetAttribute(statusbar, "VISIBLE", "NO"); } IupSetAttribute(dlg, "CONFIG", (char*)config); return dlg; }
void ListTest(void) { Ihandle *dlg, *list1, *list2, *list3, *list4, *text, *btok, *btcancel, *box, *lists, *buttons1, *buttons2, *buttons3, *label; list1 = IupList(NULL); list2 = IupList(NULL); list3 = IupList(NULL); list4 = IupList(NULL); IupSetAttributes(list1, "1=\"US$ 1000\", 2=\"US$ 2000\", 3=\"US$ 300.000.000\", 4=\"US$ 4000\"," "EDITBOX=YES, DROPDOWN=YES, TIP=Edit+Drop, VALUE=\"Edit Here\", NAME=list1"); IupSetAttributes(list2, "1=\"R$ 1000\", 2=\"R$ 2000\", 3=\"R$ 123456789\", 4=\"R$ 4000\", 5=\"R$ 5000\"," "DROPDOWN=YES, NAME=list2, TIP=Drop, VALUE=2"); IupSetAttributes(list3, "1=\"Char A\", 2=\"Char B\", 3=\"Char CCCCC\", 4=\"Char D\", 5=\"Char E\", 6=\"Char F\"," "EDITBOX=YES, NAME=list3, TIP=Edit+List, VALUE=\"Edit Here\""); IupSetAttributes(list4, "1=\"Number 1\", 2=\"Number 2\", 3=\"Number 3\", 4=\"Number 4\", 5=\"Number 5\", 6=\"Number 6\", 7=\"Number 7\"," "MULTIPLE=YES, NAME=list4, TIP=List, VALUE=+--++--"); set_callbacks(list1); set_callbacks(list2); set_callbacks(list3); set_callbacks(list4); //IupSetAttributes(list2, "6=\"R$ 1000\", 7=\"R$ 2000\", 8=\"R$ 123456789\", 9=\"R$ 4000\", 10=\"R$ 5000\","); //IupSetAttributes(list2, "11=\"R$ 1000\", 12=\"R$ 2000\", 13=\"R$ 123456789\", 14=\"R$ 4000\", 15=\"R$ 5000\","); //IupSetAttributes(list2, "16=\"R$ 1000\", 17=\"R$ 2000\", 18=\"R$ 123456789\", 19=\"R$ 4000\", 20=\"R$ 5000\","); IupSetCallback(list4, "MULTISELECT_CB", (Icallback)multilist_cb); // IupSetAttribute(list1, "READONLY", "YES"); // IupSetAttribute(list3, "READONLY", "YES"); // IupSetAttribute(list1, "PADDING", "10x10"); // IupSetAttribute(list3, "PADDING", "10x10"); // IupSetAttribute(list3, "SPACING", "10"); // IupSetAttribute(list4, "SPACING", "10"); printf("COUNT(list1)=%s\n", IupGetAttribute(list1, "COUNT")); printf("COUNT(list2)=%s\n", IupGetAttribute(list2, "COUNT")); printf("COUNT(list3)=%s\n", IupGetAttribute(list3, "COUNT")); printf("COUNT(list4)=%s\n", IupGetAttribute(list4, "COUNT")); lists = IupHbox( IupVbox( IupSetAttributes(IupFrame(IupVbox(list1, NULL)), "TITLE=EDITBOX+DROPDOWN"), IupSetAttributes(IupFrame(IupVbox(list2, NULL)), "TITLE=DROPDOWN"), NULL), IupSetAttributes(IupFrame(IupVbox(list3, NULL)), "TITLE=EDITBOX"), IupSetAttributes(IupFrame(IupVbox(list4, NULL)), "TITLE=MULTIPLE"), IupVbox( btok = IupSetCallbacks(IupButton("Default Enter", NULL), "ACTION", btok_cb, NULL), btcancel = IupSetCallbacks(IupButton("Default Esc", NULL), "ACTION", btcancel_cb, NULL), NULL), NULL); text = IupText(NULL); IupSetAttribute(text, "EXPAND", "HORIZONTAL"); IupSetAttribute(text, "NAME", "text"); buttons1 = IupHbox( IupSetCallbacks(IupButton("Get(VALUE)", NULL), "ACTION", getvalue_cb, NULL), IupSetCallbacks(IupButton("Set(VALUE)", NULL), "ACTION", setvalue_cb, NULL), IupSetCallbacks(IupButton("Get(COUNT)", NULL), "ACTION", getcount_cb, NULL), NULL); buttons2 = IupHbox( IupSetCallbacks(IupButton("INSERTITEM3", NULL), "ACTION", insertitem_cb, NULL), IupSetCallbacks(IupButton("APPENDITEM", NULL), "ACTION", appenditem_cb, NULL), IupSetCallbacks(IupButton("REMOVEITEM", NULL), "ACTION", removeitem_cb, NULL), IupSetCallbacks(IupButton("SHOWDROPDOWN", NULL), "ACTION", showdropdown_cb, NULL), IupSetCallbacks(IupButton("TOPITEM", NULL), "ACTION", topitem_cb, NULL), NULL); buttons3 = IupHbox( IupSetCallbacks(IupButton("APPEND", NULL), "ACTION", append_cb, NULL), IupSetCallbacks(IupButton("Get(CARET)", NULL), "ACTION", getcaret_cb, NULL), IupSetCallbacks(IupButton("Set(READONLY)", NULL), "ACTION", readonly_cb, NULL), IupSetCallbacks(IupButton("Get(SELECTEDTEXT)", NULL), "ACTION", selectedtext_cb, NULL), IupSetCallbacks(IupButton("Get(SELECTION)", NULL), "ACTION", selection_cb, NULL), NULL); box = IupVbox(lists, IupHbox(IupLabel("Attrib. Value: "), text, NULL), buttons1, buttons2, buttons3, IupHbox(IupLabel("Current List: "), label = IupLabel(NULL), NULL), NULL); IupSetAttributes(buttons1,"MARGIN=5x5, GAP=5"); IupSetAttributes(buttons2,"MARGIN=5x5, GAP=5"); IupSetAttributes(buttons3,"MARGIN=5x5, GAP=5"); IupSetAttributes(lists,"MARGIN=10x10, GAP=10"); IupSetAttribute(label,"EXPAND", "HORIZONTAL"); dlg = IupDialog(box); IupSetAttribute(dlg, "TITLE", "IupList Test"); IupSetAttributeHandle(dlg, "DEFAULTENTER", btok); IupSetAttributeHandle(dlg, "DEFAULTESC", btcancel); IupSetAttribute(dlg, "_LABEL", (char*)label); // IupSetAttribute(box, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BACKGROUND", "200 10 80"); // IupSetAttribute(dlg, "BGCOLOR", "173 177 194"); // Motif BGCOLOR for documentation // IupSetAttribute(dlg, "FONT", "Helvetica, 24"); // IupSetAttribute(box, "FGCOLOR", "255 0 0"); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); }
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 LabelTest(void) { Ihandle *dlg, *label, *image1, *image2, *image3, *box1, *box2, *fill; box1 = IupVbox(NULL); IupSetAttribute(box1, "MARGIN", "5x5"); IupSetAttribute(box1, "GAP", "5"); IupSetAttribute(box1, "BGCOLOR", "75 150 170"); /* label must be transparent for BGCOLOR */ IupSetAttribute(box1, "PADDING", "5x5"); label = IupLabel(NULL); IupSetAttribute(label, "TITLE", "Text Labels (згн)"); //IupSetAttribute(label, "BGCOLOR", IupGetGlobal("DLGBGCOLOR")); IupSetAttribute(label, "PADDING", "0x0"); IupSetAttribute(label, "TIP", "Text Label"); IupAppend(box1, label); label = IupLabel(NULL); IupSetAttribute(label, "SEPARATOR", "HORIZONTAL"); IupAppend(box1, label); label = IupLabel(NULL); IupSetAttribute(label, "TITLE", "Text &Label\nSecond Line"); IupSetAttribute(label, "FGCOLOR", "0 0 255"); IupSetAttribute(label, "RASTERSIZE", "150x70"); // IupSetAttribute(label, "RASTERSIZE", "30x70"); // IupSetAttribute(label, "WORDWRAP", "YES"); // IupSetAttribute(label, "ELLIPSIS", "YES"); IupSetAttribute(label, "ALIGNMENT", "ALEFT:ATOP"); IupAppend(box1, label); label = IupLabel(NULL); IupSetAttribute(label, "TITLE", "Text\nSecond Line"); IupSetAttribute(label, "RASTERSIZE", "150x70"); IupSetAttribute(label, "ALIGNMENT", "ACENTER:ACENTER"); IupSetAttribute(label, "FONT", "Helvetica, Underline 14"); // IupSetAttribute(label, "FONTSIZE", "14"); // IupSetAttribute(label, "FONTSTYLE", "Italic"); // IupSetAttribute(label, "FONTSTYLE", "Bold"); IupAppend(box1, label); label = IupLabel(NULL); IupSetAttribute(label, "TITLE", "Text\n<b>Second Line</b>"); IupSetAttribute(label, "RASTERSIZE", "150x70"); IupSetAttribute(label, "ALIGNMENT", "ARIGHT:ABOTTOM"); IupSetAttribute(label, "MARKUP", "YES"); IupAppend(box1, label); box2 = IupVbox(NULL); IupSetAttribute(box2, "MARGIN", "5x5"); IupSetAttribute(box2, "GAP", "5"); IupSetAttribute(box2, "BGCOLOR", "75 150 170"); IupSetAttribute(box2, "PADDING", "5x5"); image1 = IupImage(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_8); IupSetAttribute(image1, "0", "BGCOLOR"); IupSetAttribute(image1, "1", "255 0 0"); IupSetAttribute(image1, "2", "0 255 0"); IupSetAttribute(image1, "3", "0 0 255"); IupSetAttribute(image1, "4", "255 255 255"); IupSetAttribute(image1, "5", "0 0 0"); label = IupLabel(NULL); IupSetAttributeHandle(label, "IMAGE", image1); //IupSetAttribute(label, "IMAGE", "TECGRAF_BITMAP"); //IupSetAttribute(label, "IMAGE", "../test/tecgraf.bmp"); //IupSetAttribute(label, "IMAGE", "../test/file_large.xbm"); //IupSetAttribute(label, "IMAGE", "gtk-open"); //IupSetAttribute(label, "BGCOLOR", IupGetGlobal("DLGBGCOLOR")); IupSetAttribute(label, "PADDING", "0x0"); IupSetAttribute(label, "TIP", "Image Label"); IupAppend(box2, label); label = IupLabel(NULL); IupSetAttribute(label, "SEPARATOR", "HORIZONTAL"); IupAppend(box2, label); fill = IupFill(); IupSetAttribute(fill, "SIZE", "20"); IupAppend(box2, fill); label = IupLabel(NULL); IupSetAttributeHandle(label, "IMAGE", image1); IupSetAttribute(label, "RASTERSIZE", "150x50"); IupAppend(box2, label); image2 = IupImageRGB(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_24); label = IupLabel(NULL); IupSetAttributeHandle(label, "IMAGE", image2); IupSetAttribute(label, "RASTERSIZE", "150x50"); IupSetAttribute(label, "ALIGNMENT", "ACENTER"); IupAppend(box2, label); image3 = IupImageRGBA(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_32); label = IupLabel(NULL); IupSetAttributeHandle(label, "IMAGE", image3); IupSetAttribute(label, "RASTERSIZE", "150x50"); IupSetAttribute(label, "ALIGNMENT", "ARIGHT"); IupAppend(box2, label); label = IupLabel(NULL); IupSetAttribute(label, "SEPARATOR", "VERTICAL"); dlg = IupDialog(IupHbox(box1, label, box2, NULL)); IupSetAttribute(dlg, "TITLE", "IupLabel Test"); // IupSetAttribute(dlg, "BACKGROUND", "0 0 128"); // IupSetAttributeHandle(dlg, "BACKGROUND", image2); IupSetCallback(dlg, "ENTERWINDOW_CB", enter_cb); IupShow(dlg); }
static Ihandle* CreateTabs(int tab) { Ihandle *vboxA, *vboxB, *vboxG, *text, *button, *vboxC, *vboxD,*vboxE, *vboxF, *vboxH, *vboxI, *tabs; text = IupText(NULL); IupSetAttribute(text, "NAME", "ATEXT"); button = IupButton("Button EEEFOCUS", "cbChildButton"); IupSetAttribute(button, "NAME", "EEEEEBUTTON"); // if (tab) // to test Tabs inside Tabs // vboxA = IupVbox(CreateTabs(0), NULL); // else vboxA = IupBackgroundBox(IupVbox(IupFill(), IupSetAttributes(IupLabel("Label AAA"), "EXPAND=HORIZONTAL"), IupButton("Button AAA", "cbChildButton"), //NULL)); text, IupToggle("Button TTTT", "cbChildButton"), IupVal(NULL), IupSetAttributes(IupProgressBar(), "VALUE=0.5"), NULL)); vboxB = IupBackgroundBox(IupVbox(IupLabel("Label BBB"), IupButton("Button BBB", "cbChildButton"), NULL)); vboxC = IupBackgroundBox(IupVbox(IupLabel("Label CCC"), IupButton("Button CCC", "cbChildButton"), NULL)); vboxD = IupBackgroundBox(IupVbox(IupLabel("Label DDD"), IupButton("Button DDD", "cbChildButton"), NULL)); vboxE = IupBackgroundBox(IupVbox(IupFill(), IupLabel("Label EEE"), IupButton("Button EEE", "cbChildButton"), button, IupButton("Button EEE", "cbChildButton"), NULL)); vboxF = IupBackgroundBox(IupVbox(IupLabel("Label FFF"), IupButton("Button FFF", "cbChildButton"), NULL)); vboxG = IupBackgroundBox(IupVbox(IupLabel("Label GGG"), IupButton("Button GGG", "cbChildButton"), NULL)); vboxH = IupBackgroundBox(IupVbox(IupLabel("Label HHH"), IupButton("Button HHH", "cbChildButton"), NULL)); vboxI = IupBackgroundBox(IupVbox(IupLabel("Canvas"), IupCanvas(NULL), NULL)); IupSetAttribute(vboxA, "TABTITLE", "Aj"); 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", "EEEjj"); IupSetAttribute(vboxF, "TABTITLE", "FFFFff"); IupSetAttribute(vboxG, "TABTITLE", "GGGG ggg"); 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 = IupFlatTabs(vboxA, vboxB, vboxC, vboxD, vboxE, vboxF, vboxG, vboxH, vboxI, NULL); IupSetAttribute(tabs, "TABTITLE1", "BB"); //IupSetCallback(tabs, "TABCHANGE_CB", (Icallback)cbTabChange); IupSetCallback(tabs, "TABCHANGEPOS_CB", (Icallback)cbTabChangePos); IupSetCallback(tabs, "RIGHTCLICK_CB", (Icallback)cbTabRightButton); //IupSetAttributeHandle(tabs, "TABIMAGE1", load_image_LogoTecgraf()); IupSetAttributeHandle(tabs, "TABIMAGE1", load_image_TestImage()); IupSetAttribute(tabs, "TABVISIBLE2", "NO"); IupSetAttribute(tabs, "TABACTIVE3", "NO"); // IupSetAttribute(tabs, "TABSHIGHCOLOR", "192 0 0"); IupSetAttribute(tabs, "TABTIP4", "Tip Tab4"); /* like Office 2016 */ if (0) { IupSetAttribute(tabs, "FORECOLOR", "192 0 0"); IupSetAttribute(tabs, "TABSBACKCOLOR", "192 0 0"); IupSetAttribute(tabs, "HIGHCOLOR", "255 128 128"); IupSetAttribute(tabs, "CLOSEHIGHCOLOR", "255 128 128"); IupSetAttribute(tabs, "TABSFORECOLOR", "255 255 255"); IupSetAttribute(tabs, "SHOWLINES", "NO"); } // IupSetAttribute(tabs, "EXTRABUTTONS", "3"); // IupSetAttribute(tabs, "EXTRATITLE1", "Button1"); // IupSetAttribute(tabs, "EXTRATITLE2", "But2"); // IupSetAttribute(tabs, "EXTRATIP2", "Tip But2"); // IupSetAttribute(tabs, "EXTRATITLE3", "3"); // IupSetStrAttribute(tabs, "EXTRAIMAGE3", IupGetAttribute(tabs, "TABIMAGE1")); // IupSetAttribute(tabs, "EXPANDBUTTON", "Yes"); // IupSetAttribute(tabs, "SHOWCLOSE", "yes"); // IupSetAttribute(tabs, "TABSPADDING", "10x50"); // IupSetAttribute(tabs, "TABSFONTSIZE", "36"); // IupSetAttribute(tabs, "TABSTEXTORIENTATION", "90"); IupSetAttribute(tabs, "TABFONTSTYLE4", "Bold"); // 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", "IupFlatTabs Tip"); // IupSetAttribute(tabs, "TIPFONT", "SYSTEM"); // IupSetAttribute(tabs, "TIPBGCOLOR", "255 128 128"); // IupSetAttribute(tabs, "TIPFGCOLOR", "0 92 255"); // IupSetAttribute(tabs, "EXPAND", "YES"); IupSetAttribute(tabs, "MARGIN", "0x0"); /* for children */ IupSetAttribute(tabs, "RASTERSIZE", "500x200"); /* initial size */ //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); IupSetCallback(tabs, "EXTRABUTTON_CB", (Icallback)extrabutton_cb); return tabs; }
static void new_file(char* dialogtype, int preview) { Ihandle *dlg = IupFileDlg(); IupSetAttribute(dlg, "PARENTDIALOG", "_MAIN_DIALOG_TEST_"); IupSetAttribute(dlg, "DIALOGTYPE", dialogtype); IupSetAttribute(dlg, "TITLE", "IupFileDlg Test"); IupSetAttribute(dlg, "DIRECTORY", "/tecgraf/iup"); if (strcmp(dialogtype, "DIR")!=0) { // IupSetAttributes(dlg, "FILTER = \"*.bmp\", FILTERINFO = \"Bitmap Files\""); // IupSetAttribute(dlg, "FILTER", "*.jpg;*.jpeg;*.bmp;*.gif;*.tif;*.tiff;*.png"); // IupSetAttribute(dlg, "EXTFILTER", "Text files|*.txt;*.doc|Image files|*.jpg;*.bmp;*.gif|"); // IupSetAttribute(dlg, "FILE", "/tecgraf/im/test.bmp"); // IupSetAttribute(dlg, "FILE", "test.bmp"); // IupSetAttribute(dlg, "FILTER", "*.txt"); // IupSetAttribute(dlg, "FILTER", "*.bmp;*.jpg"); // IupSetAttribute(dlg, "EXTFILTER", "TEXT|*.txt|"); // IupSetAttribute(dlg, "EXTFILTER", "BMP FILES|*.bmp|JPEG FILES|*.jpg|"); IupSetAttribute(dlg, "EXTFILTER", "IMAGEFILES|*.bmp;*.jpg|TEXT|*.txt|"); } IupSetCallback(dlg, "HELP_CB", (Icallback)help_cb); IupSetAttribute(dlg, "FILE", "test.bmp"); // IupSetAttributes(dlg, "FILE = \"\\tecgraf\\iup\\test.bmp\""); // OK // IupSetAttributes(dlg, "FILE = \"/tecgraf/iup/test.bmp\""); // OK // IupSetAttributes(dlg, "FILE = \"test.bmp\", DIRECTORY = \"/tecgraf/iup\""); // OK // IupSetAttributes(dlg, "FILE = \"test.bmp\", DIRECTORY = \"\\tecgraf\\iup\""); // OK // IupSetAttribute(dlg, "NOCHANGEDIR", "NO"); // IupSetAttribute(dlg, "MULTIPLEFILES", "YES"); // IupSetAttribute(dlg, "RASTERSIZE", "800x600"); IupSetCallback(dlg, "FILE_CB", (Icallback)file_cb); if (preview) { IupSetAttribute(dlg, "SHOWPREVIEW", "YES"); #ifdef USE_OPENGL if (preview==2) { Ihandle* glcanvas = IupGLCanvas(NULL); IupSetAttribute(glcanvas, "BUFFER", "DOUBLE"); IupSetAttributeHandle(dlg, "PREVIEWGLCANVAS", glcanvas); } #endif } IupPopup(dlg, IUP_CENTERPARENT, IUP_CENTERPARENT); switch(IupGetInt(dlg, "STATUS")) { case 1: printf("OK\n"); printf(" New file - VALUE(%s)\n", IupGetAttribute(dlg, "VALUE")); printf(" DIRECTORY(%s)\n", IupGetAttribute(dlg, "DIRECTORY")); break; case 0 : printf("OK\n"); printf(" File exists - VALUE(%s)\n", IupGetAttribute(dlg, "VALUE")); printf(" DIRECTORY(%s)\n", IupGetAttribute(dlg, "DIRECTORY")); break; case -1 : printf("CANCEL\n"); break; } IupDestroy(dlg); }
void TextTest(void) { int formatting = 0; Ihandle *dlg, *mltline, *text, *opt, *btn_def_enter, *btn_def_esc, *btn_active, *btn_overwrite, *btn_append, *btn_insert, *btn_caret, *btn_clip, *btn_key, *btn_readonly, *btn_tabsize, *btn_selection, *btn_selectedtext, *btn_nc, *btn_value, *lbl, *formattag, *btn_remformat; // IupSetGlobal("UTF8AUTOCONVERT", "NO"); text = IupText (NULL); IupSetAttribute(text, "EXPAND", "HORIZONTAL"); // IupSetAttribute(text, "VALUE", "Single Line Text"); IupSetAttribute(text, "CUEBANNER", "Enter Attribute Value Here"); IupSetAttribute(text, "NAME", "text"); IupSetAttribute(text, "TIP", "Attribute Value"); // IupSetAttribute(text, "FORMATTING", "YES"); opt = IupToggle("Set/Get", NULL); IupSetAttribute (opt, "VALUE", "ON"); IupSetHandle ("text2multi", opt); mltline = IupMultiLine(NULL); // mltline = IupText(NULL); // IupSetAttribute(mltline, "MULTILINE", "YES"); IupSetAttribute(mltline, "NAME", "mltline"); IupSetCallback(mltline, "DROPFILES_CB", (Icallback)dropfiles_cb); IupSetCallback(mltline, "BUTTON_CB", (Icallback)button_cb); // IupSetCallback(mltline, "MOTION_CB", (Icallback)motion_cb); IupSetCallback(mltline, "HELP_CB", (Icallback)help_cb); IupSetCallback(mltline, "GETFOCUS_CB", (Icallback)getfocus_cb); IupSetCallback(mltline, "KILLFOCUS_CB", (Icallback)killfocus_cb); IupSetCallback(mltline, "ENTERWINDOW_CB", (Icallback)enterwindow_cb); IupSetCallback(mltline, "LEAVEWINDOW_CB", (Icallback)leavewindow_cb); IupSetCallback(mltline, "ACTION", (Icallback)action); // IupSetCallback(mltline, "VALUECHANGED_CB", (Icallback)valuechanged_cb); // IupSetCallback(mltline, "K_ANY", (Icallback)k_any); IupSetCallback(mltline, "K_F2", (Icallback)k_f2); // IupSetCallback(mltline, "CARET_CB", (Icallback)caret_cb); // IupSetAttribute(mltline, "WORDWRAP", "YES"); // IupSetAttribute(mltline, "BORDER", "NO"); // IupSetAttribute(mltline, "AUTOHIDE", "YES"); // IupSetAttribute(mltline, "BGCOLOR", "255 0 128"); // IupSetAttribute(mltline, "FGCOLOR", "0 128 192"); // IupSetAttribute(mltline, "PADDING", "15x15"); if (IupGetInt(NULL, "UTF8MODE")) IupSetAttribute(mltline, "VALUE", "First Line\nSecond Line Big Big Big\nThird Line\nmore\nmore\n(çãõáóé)"); // UTF-8 else { char* txt = "First Line\nSecond Line Big Big Big\nThird Line\nmore\nmore\n(ηγυασι)"; //int len = strlen(txt); IupSetAttribute(mltline, "VALUE", txt); // Windows-1252 } IupSetAttribute(mltline, "TIP", "First Line\nSecond Line\nThird Line"); // IupSetAttribute(mltline, "FONT", "Helvetica, 14"); // IupSetAttribute(mltline, "MASK", IUP_MASK_FLOAT); // IupSetAttribute(mltline, "FILTER", "UPPERCASE"); // IupSetAttribute(mltline, "ALIGNMENT", "ACENTER"); // IupSetAttribute(mltline, "CANFOCUS", "NO"); // IupSetAttribute(mltline, "SCROLLBAR", "NO"); // IupSetAttribute(mltline, "NOHIDESEL", "Yes"); /* Turns on multiline expand and text horizontal expand */ IupSetAttribute(mltline, "SIZE", "80x40"); IupSetAttribute(mltline, "EXPAND", "YES"); // IupSetAttribute(mltline, "FONT", "Courier, 16"); // IupSetAttribute(mltline, "FONT", "Arial, 12"); // IupSetAttribute(mltline, "FORMATTING", "YES"); formatting = 1; if (formatting) /* just to make easier to comment this section */ { /* formatting before Map */ IupSetAttribute(mltline, "FORMATTING", "YES"); formattag = IupUser(); IupSetAttribute(formattag, "ALIGNMENT", "CENTER"); IupSetAttribute(formattag, "SPACEAFTER", "10"); IupSetAttribute(formattag, "FONTSIZE", "24"); IupSetAttribute(formattag, "SELECTION", "3,1:3,50"); IupSetAttribute(mltline, "ADDFORMATTAG_HANDLE", (char*)formattag); formattag = IupUser(); IupSetAttribute(formattag, "BGCOLOR", "255 128 64"); IupSetAttribute(formattag, "UNDERLINE", "SINGLE"); IupSetAttribute(formattag, "WEIGHT", "BOLD"); IupSetAttribute(formattag, "SELECTION", "3,7:3,11"); IupSetAttribute(mltline, "ADDFORMATTAG_HANDLE", (char*)formattag); } /* Creates buttons */ btn_append = IupButton ("&APPEND", NULL); btn_insert = IupButton ("INSERT", NULL); btn_caret = IupButton ("CARET", NULL); btn_readonly = IupButton ("READONLY", NULL); btn_selection = IupButton ("SELECTION", NULL); btn_selectedtext = IupButton ("SELECTEDTEXT", NULL); btn_nc = IupButton ("NC", NULL); btn_value = IupButton ("VALUE", NULL); btn_tabsize = IupButton ("TABSIZE", NULL); btn_clip = IupButton ("CLIPBOARD", NULL); btn_key = IupButton ("KEY", NULL); btn_def_enter = IupButton ("Default Enter", NULL); btn_def_esc = IupButton ("Default Esc", NULL); btn_active = IupButton("ACTIVE", NULL); btn_remformat = IupButton("REMOVEFORMATTING", NULL); btn_overwrite = IupButton("OVERWRITE", NULL); IupSetAttribute(btn_append, "TIP", "First Line\nSecond Line\nThird Line"); /* Registers callbacks */ IupSetCallback(btn_append, "ACTION", (Icallback) btn_append_cb); IupSetCallback(btn_insert, "ACTION", (Icallback) btn_insert_cb); IupSetCallback(btn_caret, "ACTION", (Icallback) btn_caret_cb); IupSetCallback(btn_readonly, "ACTION", (Icallback) btn_readonly_cb); IupSetCallback(btn_selection, "ACTION", (Icallback) btn_selection_cb); IupSetCallback(btn_selectedtext, "ACTION", (Icallback) btn_selectedtext_cb); IupSetCallback(btn_nc, "ACTION", (Icallback) btn_nc_cb); IupSetCallback(btn_value, "ACTION", (Icallback) btn_value_cb); IupSetCallback(btn_tabsize, "ACTION", (Icallback) btn_tabsize_cb); IupSetCallback(btn_clip, "ACTION", (Icallback) btn_clip_cb); IupSetCallback(btn_key, "ACTION", (Icallback) btn_key_cb); IupSetCallback(btn_def_enter, "ACTION", (Icallback) btn_def_enter_cb); IupSetCallback(btn_def_esc, "ACTION", (Icallback) btn_def_esc_cb); IupSetCallback(btn_active, "ACTION", (Icallback) btn_active_cb); IupSetCallback(btn_remformat, "ACTION", (Icallback) btn_remformat_cb); IupSetCallback(btn_overwrite, "ACTION", (Icallback) btn_overwrite_cb); lbl = IupLabel("&Multiline:"); IupSetAttribute(lbl, "PADDING", "2x2"); /* Creates dlg */ dlg = IupDialog(IupVbox(lbl, mltline, IupHbox (text, opt, NULL), IupHbox (btn_append, btn_insert, btn_caret, btn_readonly, btn_selection, NULL), IupHbox (btn_selectedtext, btn_nc, btn_value, btn_tabsize, btn_clip, btn_key, NULL), IupHbox (btn_def_enter, btn_def_esc, btn_active, btn_remformat, btn_overwrite, NULL), NULL)); IupSetCallback(dlg, "K_cO", (Icallback)file_open); IupSetAttribute(dlg, "TITLE", "IupText Test"); IupSetAttribute(dlg, "MARGIN", "10x10"); IupSetAttribute(dlg, "GAP", "5"); IupSetAttributeHandle(dlg, "DEFAULTENTER", btn_def_enter); IupSetAttributeHandle(dlg, "DEFAULTESC", btn_def_esc); IupSetAttribute(dlg, "SHRINK", "YES"); if (formatting) /* just to make easier to comment this section */ { IupMap(dlg); /* formatting after Map */ formattag = IupUser(); IupSetAttribute(formattag, "ITALIC", "YES"); IupSetAttribute(formattag, "STRIKEOUT", "YES"); IupSetAttribute(formattag, "SELECTION", "2,1:2,12"); IupSetAttribute(mltline, "ADDFORMATTAG_HANDLE", (char*)formattag); if (1) { int count = IupGetInt(mltline, "COUNT"); IupSetAttribute(mltline, "APPEND", "Append Test"); formattag = IupUser(); IupSetAttribute(formattag, "FGCOLOR", "0 128 64"); IupSetfAttribute(formattag, "SELECTIONPOS", "%d:%d", count+1, IupGetInt(mltline, "COUNT")); IupSetAttribute(mltline, "ADDFORMATTAG_HANDLE", (char*)formattag); } } /* Shows dlg in the center of the screen */ IupShowXY(dlg, IUP_CENTER, IUP_CENTER); IupSetFocus(mltline); }
// 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); }
static int motFontDlgCreateMethod(Ihandle* ih, void** params) { Ihandle *ok_bt, *cancel_bt, *help_bt; Ihandle *lin1, *lin2, *list1, *list2, *list3; ok_bt = IupButton(iupStrMessageGet("IUP_OK"), NULL); IupSetAttribute(ok_bt, "PADDING", "20x0"); IupSetCallback (ok_bt, "ACTION", (Icallback)motFontDlgButtonOK_CB); IupSetAttributeHandle(ih, "DEFAULTENTER", ok_bt); cancel_bt = IupButton(iupStrMessageGet("IUP_CANCEL"), NULL); IupSetAttribute(cancel_bt, "PADDING", "20x0"); IupSetCallback (cancel_bt, "ACTION", (Icallback)motFontDlgButtonCancel_CB); IupSetAttributeHandle(ih, "DEFAULTESC", cancel_bt); help_bt = IupButton(iupStrMessageGet("IUP_HELP"), NULL); /* Help Button */ IupSetAttribute(help_bt, "PADDING", "20x0"); IupSetAttribute(help_bt, "NAME", "HELPBUT"); IupSetCallback (help_bt, "ACTION", (Icallback)motFontDlgButtonHelp_CB); list1 = IupList(NULL); IupSetAttribute(list1, "EXPAND", "YES"); IupSetCallback(list1, "ACTION", (Icallback)motFontDlgList1_CB); IupSetAttribute(list1, "VISIBLELINES", "8"); IupSetAttribute(list1, "VISIBLECOLUMNS", "20"); IupSetAttribute(list1, "NAME", "LIST1"); IupSetAttribute(list1, "SORT", "YES"); list2 = IupList(NULL); IupSetAttribute(list2, "EXPAND", "VERTICAL"); IupSetCallback(list2, "ACTION", (Icallback)motFontDlgList2_CB); IupSetAttribute(list2, "VISIBLELINES", "8"); IupSetAttribute(list2, "VISIBLECOLUMNS", "11"); IupSetAttribute(list2, "NAME", "LIST2"); IupSetAttribute(list2, "1", "Normal"); IupSetAttribute(list2, "2", "Bold"); IupSetAttribute(list2, "3", "Italic"); IupSetAttribute(list2, "4", "Bold Italic"); IupSetAttribute(list2, "5", NULL); list3 = IupList(NULL); IupSetAttribute(list3, "EXPAND", "VERTICAL"); IupSetCallback(list3, "ACTION", (Icallback)motFontDlgList3_CB); IupSetAttribute(list3, "VISIBLELINES", "8"); IupSetAttribute(list3, "VISIBLECOLUMNS", "11"); IupSetAttribute(list3, "NAME", "LIST3"); lin1 = IupHbox( IupSetAttributes(IupVbox(IupLabel(iupStrMessageGet("IUP_FAMILY")), list1, NULL), "GAP=0"), IupSetAttributes(IupVbox(IupLabel(iupStrMessageGet("IUP_STYLE")), list2, NULL), "GAP=0"), IupSetAttributes(IupVbox(IupLabel(iupStrMessageGet("IUP_SIZE")), list3, NULL), "GAP=0"), NULL); IupSetAttribute(lin1, "GAP", "10"); IupSetAttribute(lin1, "MARGIN", "0x0"); lin2 = IupHbox(IupFill(), ok_bt, cancel_bt, 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(IupVbox( IupLabel(iupStrMessageGet("IUP_SAMPLE")), IupFrame(IupSetAttributes(IupLabel(NULL), "NAME=SAMPLE, TITLE=\"abcdefghijk ABCDEFGHIJK\", EXPAND=HORIZONTAL, RASTERSIZE=x40")), NULL), "MARGIN=0x0, GAP=0"), IupSetAttributes(IupLabel(NULL), "SEPARATOR=HORIZONTAL"), lin2, NULL), "MARGIN=10x10, GAP=10")); IupSetCallback(ih, "SHOW_CB", (Icallback)motFontDlgShow_CB); (void)params; return IUP_NOERROR; }
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_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_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_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; }
int main(int argc, char **argv) { Ihandle *dlg, *vbox, *multitext, *menu; Ihandle *sub_menu_file, *file_menu, *item_exit, *item_open, *item_saveas; Ihandle *sub_menu_edit, *edit_menu, *item_find, *item_goto; Ihandle *sub_menu_format, *format_menu, *item_font; Ihandle *sub_menu_help, *help_menu, *item_about; IupOpen(&argc, &argv); multitext = IupText(NULL); IupSetAttribute(multitext, "MULTILINE", "YES"); IupSetAttribute(multitext, "EXPAND", "YES"); IupSetAttribute(multitext, "NAME", "MULTITEXT"); item_open = IupItem("Open...", NULL); item_saveas = IupItem("Save As...", NULL); item_exit = IupItem("Exit", NULL); item_find = IupItem("Find..", NULL); item_goto = IupItem("Go To...", NULL); item_font = IupItem("Font...", NULL); item_about = IupItem("About...", NULL); IupSetCallback(item_open, "ACTION", (Icallback)item_open_action_cb); IupSetCallback(item_saveas, "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(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); 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("Format", 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( multitext, 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); IupShowXY(dlg, IUP_CENTERPARENT, IUP_CENTERPARENT); IupSetAttribute(dlg, "USERSIZE", NULL); IupMainLoop(); IupClose(); return EXIT_SUCCESS; }
static Ihandle* CreateTabs(int tab) { Ihandle *vboxA, *vboxB, *vboxG, *text, *button, *vboxC, *vboxD,*vboxE, *vboxF, *vboxH, *vboxI, *tabs; text = IupText(NULL); IupSetAttribute(text, "NAME", "ATEXT"); button = IupButton("Button EEEFOCUS", "cbChildButton"); IupSetAttribute(button, "NAME", "EEEEEBUTTON"); // 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)); text, 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"), button, 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); IupSetAttribute(tabs, "TABTITLE1", "&BB"); //IupSetCallback(tabs, "TABCHANGE_CB", (Icallback)cbTabChange); IupSetCallback(tabs, "TABCHANGEPOS_CB", (Icallback)cbTabChangePos); IupSetCallback(tabs, "RIGHTCLICK_CB", (Icallback)cbTabRightButton); //IupSetAttributeHandle(tabs, "TABIMAGE1", load_image_LogoTecgraf()); IupSetAttributeHandle(tabs, "TABIMAGE1", load_image_TestImage()); IupSetAttribute(tabs, "TABVISIBLE2", "NO"); // In Windows, must be set before map // IupSetAttribute(tabs, "MULTILINE", "YES"); // IupSetAttribute(tabs, "TABTYPE", "LEFT"); // IupSetAttribute(tabs, "TABTYPE", "RIGHT"); // IupSetAttribute(tabs, "TABTYPE", "BOTTOM"); // IupSetAttribute(tabs, "TABORIENTATION", "VERTICAL"); IupSetAttribute(tabs, "SHOWCLOSE", "YES"); // 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"); // IupSetAttribute(tabs, "EXPAND", "YES"); IupSetAttribute(tabs, "MARGIN", "0x0"); /* for children */ IupSetAttribute(tabs, "RASTERSIZE", "300x200"); /* initial size */ // Windows Only //IupSetAttribute(tabs, "TIPBALLOON", "YES"); //IupSetAttribute(tabs, "TIPBALLOONTITLE", "Tip Title"); //IupSetAttribute(tabs, "TIPBALLOONTITLEICON", "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; }
int main(int argc, char **argv) { Ihandle *dlg, *list1, *list2, *list3, *list4, *box1, *box2, *box3, *box4, *lbl, *bt1, *bt2, *bt3, *bt4, *btok, *btcancel, *txt1, *txt2; IupOpen(&argc, &argv); bt1 = IupButton("(1)Drop+Edit", NULL); IupSetCallback(bt1, "ACTION", (Icallback)bt_cb); bt2 = IupButton("(2)Drop", NULL); IupSetCallback(bt2, "ACTION", (Icallback)bt_cb); bt3 = IupButton("(3)List+Edit", NULL); IupSetCallback(bt3, "ACTION", (Icallback)bt_cb); bt4 = IupButton("(4)List", NULL); IupSetCallback(bt4, "ACTION", (Icallback)bt_cb); list1 = IupList(NULL); IupSetCallback(list1, "ACTION", (Icallback)list_cb); list2 = IupList(NULL); IupSetCallback(list2, "ACTION", (Icallback)list_cb); list3 = IupList(NULL); IupSetCallback(list3, "ACTION", (Icallback)list_cb); list4 = IupList(NULL); IupSetCallback(list4, "ACTION", (Icallback)list_cb); IupSetAttributes(list1, "1=\"US$ 1000\", 2=\"US$ 2000\", 3=\"US$ 30000000\", 4=\"US$ 4000\", 5=\"US$ 5000\", 6=\"US$ 6000\", 7=\"US$ 7000\"," "EXPAND=HORIZONTAL, EDITBOX=YES, DROPDOWN=YES, VISIBLEITEMS=5, SHOWIMAGE=YES"); IupSetAttributeHandle(list1, "IMAGE1", load_image_LogoTecgraf()); IupSetAttributeHandle(list1, "IMAGE2", load_image_LogoTecgraf()); IupSetAttributeHandle(list1, "IMAGE3", load_image_Tecgraf()); IupSetAttributeHandle(list1, "IMAGE4", load_image_LogoTecgraf()); IupSetAttributes(list2, "1=\"R$ 1000\", 2=\"R$ 2000\", 3=\"R$ 3000\", 4=\"R$ 4000\", 5=\"R$ 5000\", 6=\"R$ 6000\", 7=\"R$ 7000\"," "EXPAND=HORIZONTAL, DROPDOWN=YES, VISIBLEITEMS=5, SHOWIMAGE=YES"); IupSetAttributeHandle(list2, "IMAGE1", load_image_LogoTecgraf()); IupSetAttributeHandle(list2, "IMAGE2", load_image_LogoTecgraf()); IupSetAttributeHandle(list2, "IMAGE3", load_image_Tecgraf()); IupSetAttributeHandle(list2, "IMAGE4", load_image_LogoTecgraf()); IupSetAttributes(list3, "1=\"Char A\", 2=\"Char B\", 3=\"Char CCCCC\", 4=\"Char D\", 5=\"Char F\", 6=\"Char G\", 7=\"Char H\"," "EXPAND=YES, EDITBOX=YES, XXX_SPACING=4, SHOWIMAGE=YES"); IupSetAttributeHandle(list3, "IMAGE1", load_image_Test()); //IupSetAttributeHandle(list3, "IMAGE3", load_image_Test()); IupSetAttributeHandle(list3, "IMAGE5", load_image_Test()); IupSetAttributeHandle(list3, "IMAGE7", load_image_Test()); IupSetAttributeHandle(list1, "IMAGE3", load_image_Tecgraf()); IupSetAttributes(list4, "1=\"Number 1\", 2=\"Number 2\", 3=\"Number 3\", 4=\"Number 4\", 5=\"Number 5\", 6=\"Number 6\", 7=\"Number 7\"," "EXPAND=YES"); /* DRAG AND DROP TESTS ////////////////////////////////////*/ IupSetAttribute(list1, "DROPTARGET", "YES"); IupSetAttribute(list1, "DROPTYPES", "TEXT,STRING"); IupSetCallback (list1, "DROPDATA_CB", (Icallback)testDropData_cb); IupSetCallback (list1, "DROPMOTION_CB", (Icallback)testDropMotion_cb); IupSetAttribute(list1, "NAME", "list1"); IupSetAttribute(list2, "DROPTARGET", "YES"); IupSetAttribute(list2, "DROPTYPES", "TEXT,STRING"); IupSetCallback (list2, "DROPDATA_CB", (Icallback)testDropData_cb); IupSetCallback (list2, "DROPMOTION_CB", (Icallback)testDropMotion_cb); IupSetAttribute(list2, "NAME", "list2"); IupSetAttribute(list3, "DROPTARGET", "YES"); IupSetAttribute(list3, "DROPTYPES", "STRING"); IupSetCallback (list3, "DROPDATA_CB", (Icallback)testDropData_cb); IupSetCallback (list3, "DROPMOTION_CB", (Icallback)testDropMotion_cb); IupSetAttribute(list3, "NAME", "list3"); IupSetAttribute(list4, "DRAGSOURCE", "YES"); IupSetAttribute(list4, "DRAGTYPES", "TEXT"); IupSetCallback (list4, "DRAGBEGIN_CB", (Icallback)testDragBegin_cb); IupSetCallback (list4, "DRAGDATASIZE_CB", (Icallback)testDragDataSize_cb); IupSetCallback (list4, "DRAGDATA_CB", (Icallback)testDragData_cb); IupSetCallback (list4, "DRAGEND_CB", (Icallback)testDragEnd_cb); IupSetAttribute(list4, "DRAGCURSOR", "Tecgraf"); IupSetAttribute(list4, "NAME", "list4"); txt1 = IupText(NULL); IupSetAttribute(txt1, "MULTILINE", "YES"); IupSetAttribute(txt1, "RASTERSIZE", "150x90"); IupSetAttribute(txt1, "VALUE", "Drop Text Here"); IupSetAttribute(txt1, "DROPTARGET", "YES"); IupSetAttribute(txt1, "DROPTYPES", "TEXT"); IupSetCallback (txt1, "DROPDATA_CB", (Icallback)testDropData_cb); IupSetCallback (txt1, "DROPMOTION_CB", (Icallback)testDropMotion_cb); IupSetAttribute(txt1, "NAME", "txt1"); txt2 = IupText(NULL); IupSetAttribute(txt2, "MULTILINE", "YES"); IupSetAttribute(txt2, "RASTERSIZE", "150x90"); IupSetAttribute(txt2, "VALUE", "Drag Text From Here"); IupSetAttribute(txt2, "DRAGSOURCE", "YES"); IupSetAttribute(txt2, "DRAGTYPES", "TEXT,STRING"); IupSetAttribute(txt2, "DRAGSOURCEMOVE", "Yes"); IupSetCallback (txt2, "DRAGBEGIN_CB", (Icallback)testDragBegin_cb); IupSetCallback (txt2, "DRAGDATASIZE_CB", (Icallback)testDragDataSize_cb); IupSetCallback (txt2, "DRAGDATA_CB", (Icallback)testDragData_cb); IupSetCallback (txt2, "DRAGEND_CB", (Icallback)testDragEnd_cb); IupSetAttribute(txt2, "NAME", "txt2"); /*////////////////////////////////////////////////////////*/ IupSetAttribute(bt1, "_LIST", (char*)list1); IupSetAttribute(bt2, "_LIST", (char*)list2); IupSetAttribute(bt3, "_LIST", (char*)list3); IupSetAttribute(bt4, "_LIST", (char*)list4); IupSetAttribute(list1, "_BUTTON", (char*)bt1); IupSetAttribute(list2, "_BUTTON", (char*)bt2); IupSetAttribute(list3, "_BUTTON", (char*)bt3); IupSetAttribute(list4, "_BUTTON", (char*)bt4); IupSetAttribute(bt1, "BGCOLOR", "192 192 192"); IupSetAttribute(bt2, "BGCOLOR", "192 192 192"); IupSetAttribute(bt3, "BGCOLOR", "192 192 192"); IupSetAttribute(bt4, "BGCOLOR", "192 192 192"); IupSetCallback(list1, "GETFOCUS_CB", (Icallback)getfocus_cb); IupSetCallback(list1, "KILLFOCUS_CB", (Icallback)killfocus_cb); IupSetCallback(list2, "GETFOCUS_CB", (Icallback)getfocus_cb); IupSetCallback(list2, "KILLFOCUS_CB", (Icallback)killfocus_cb); IupSetCallback(list3, "GETFOCUS_CB", (Icallback)getfocus_cb); IupSetCallback(list3, "KILLFOCUS_CB", (Icallback)killfocus_cb); IupSetCallback(list4, "GETFOCUS_CB", (Icallback)getfocus_cb); IupSetCallback(list4, "KILLFOCUS_CB", (Icallback)killfocus_cb); IupSetCallback(list1, "EDIT_CB", (Icallback)edit_cb); IupSetCallback(list3, "EDIT_CB", (Icallback)edit_cb); /* IupSetAttribute(list3, "READONLY", "YES"); */ box1 = IupVbox(list1, bt1, txt1, txt2, NULL); box2 = IupVbox(list2, bt2, NULL); box3 = IupVbox(list3, bt3, NULL); box4 = IupVbox(list4, bt4, NULL); lbl = IupLabel(""); IupSetAttribute(lbl, "EXPAND", "HORIZONTAL"); btok = IupButton("OK", NULL); IupSetCallback(btok, "ACTION", (Icallback)btclose_cb); IupSetHandle("btok", btok); btcancel = IupButton("Cancel", "btclose_cb"); IupSetCallback(btcancel, "ACTION", (Icallback)btclose_cb); IupSetHandle("btcancel", btcancel); IupSetAttribute(btok, "_LIST1", (char*)list1); IupSetAttribute(btok, "_LIST2", (char*)list2); IupSetAttribute(btok, "_LIST3", (char*)list3); IupSetAttribute(btok, "_LIST4", (char*)list4); dlg = IupDialog(IupSetAttributes(IupVbox(IupHbox(box1, box2, box3, box4, NULL), lbl, btok, btcancel, NULL),"MARGIN=10x10, GAP=10")); IupSetAttribute(dlg, "TITLE", "IupList Example"); IupSetAttribute(dlg, "_LABEL", (char*)lbl); IupSetAttribute(dlg, "DEFAULTENTER", "btok"); IupSetAttribute(dlg, "DEFAULTESC", "btcancel"); // IupSetAttribute(IupGetChild(dlg, 0), "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BACKGROUND", "200 10 80"); // IupSetAttribute(dlg, "BGCOLOR", "92 92 255"); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); IupMainLoop(); IupClose(); return EXIT_SUCCESS; }
static void init_tree_nodes(void) { Ihandle* tree = IupGetHandle("tree"); // IupSetAttribute(tree, "AUTOREDRAW", "No"); #if 0 /* create from bottom to top */ /* the current node is the ROOT */ //IupSetAttribute(tree, "VALUE", "0"); IupSetAttribute(tree, "TITLE", "Figures"); /* title of the root, id=0 */ IupSetAttribute(tree, "ADDBRANCH", "3D"); /* 3D=1 */ IupSetAttribute(tree, "ADDLEAF", "2D"); /* add to the root, so it will be before "3D", now 2D=1, 3D=2 */ IupSetAttribute(tree, "ADDBRANCH", "parallelogram"); /* id=1 */ IupSetAttribute(tree, "ADDLEAF1", "diamond"); IupSetAttribute(tree, "ADDLEAF1", "square"); IupSetAttribute(tree, "ADDBRANCH", "triangle"); IupSetAttribute(tree, "ADDLEAF1", "scalenus"); IupSetAttribute(tree, "ADDLEAF1", "isoceles"); IupSetAttribute(tree, "ADDLEAF1", "equilateral"); IupSetAttribute(tree, "ADDLEAF", "Other"); #else /* create from top to bottom */ IupSetAttribute(tree, "TITLE0", "Figures"); IupSetAttribute(tree, "ADDLEAF0", "Other"); /* new id=1 */ IupSetAttribute(tree, "ADDBRANCH1", "triangle"); /* new id=2 */ IupSetAttribute(tree, "ADDLEAF2", "equilateral"); /* ... */ IupSetAttribute(tree, "ADDLEAF3", "isoceles"); IupSetAttribute(tree, "ADDLEAF4", "scalenus"); IupSetAttribute(tree, "STATE2", "collapsed"); IupSetAttribute(tree, "INSERTBRANCH2","parallelogram"); /* same depth as id=2, new id=6 */ IupSetAttribute(tree, "ADDLEAF6", "square"); IupSetAttribute(tree, "ADDLEAF7", "diamond"); IupSetAttribute(tree, "INSERTLEAF6","2D"); /* new id=9 */ IupSetAttribute(tree, "INSERTBRANCH9","3D"); if (IupGetInt(NULL, "UTF8MODE")) IupSetAttribute(tree, "INSERTBRANCH10","Other (çãõáóé)"); else IupSetAttribute(tree, "INSERTBRANCH10","Other (ηγυασι)"); #endif IupSetAttribute(tree, "TOGGLEVALUE2", "ON"); IupSetAttribute(tree, "TOGGLEVALUE6", "ON"); //IupSetAttribute(tree, "TOGGLEVALUE9", "NOTDEF"); //IupSetAttribute(tree, "TOGGLEVALUE2", "OFF"); // IupSetAttribute(tree, "AUTOREDRAW", "Yes"); IupSetAttribute(tree, "TOGGLEVISIBLE7", "No"); IupSetAttribute(tree, "NODEACTIVE5", "No"); IupSetAttribute(tree, "MARKED1", "Yes"); IupSetAttribute(tree, "MARKED8", "Yes"); IupSetAttribute(tree, "VALUE", "6"); IupSetAttribute(tree, "RASTERSIZE", NULL); /* remove the minimum size limitation */ IupSetAttribute(tree, "COLOR8", "92 92 255"); // IupSetAttribute(tree, "TITLEFONT8", "Courier, 14"); IupSetAttributeHandle(tree, "IMAGE8", load_image_LogoTecgraf()); IupSetAttributeHandle(tree, "IMAGE7", load_image_TestImage()); IupSetAttribute(tree, "IMAGE6", IupGetAttribute(tree, "IMAGE8")); IupSetAttribute(tree, "USERDATA0", "0"); IupSetAttribute(tree, "USERDATA1", "1"); IupSetAttribute(tree, "USERDATA2", "2"); IupSetAttribute(tree, "USERDATA3", "3"); IupSetAttribute(tree, "USERDATA4", "4"); IupSetAttribute(tree, "USERDATA5", "5"); IupSetAttribute(tree, "USERDATA6", "6"); IupSetAttribute(tree, "USERDATA7", "7"); IupSetAttribute(tree, "USERDATA8", "8"); IupSetAttribute(tree, "USERDATA9", "9"); }
void CanvasTest(void) { Ihandle *dlg, *canvas, *box, *image; //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 */ }
int main(int argc, char* argv[]) { Ihandle *dlg, *canvas, *menu, *menu_file, *menu_edit, *menu_help, *menu_create; /* Initializes IUP */ IupOpen(&argc, &argv); IupSetHandle("image_tec", load_image_LogoTecgraf()); IupSetHandle("image_test", load_image_Test()); IupSetHandle("image_test_pressed", load_image_Test_pressed()); /* Creates menu create */ menu_create = IupMenu( IupItem("Line", "item_cb"), IupItem("Circle", "item_cb"), IupSetCallbacks(IupSubmenu("Triangle", IupSetAttributes(IupMenu( IupSetCallbacks(IupSetAttributes(IupItem("Equilateral", "item_cb"), "VALUE=ON"), "HIGHLIGHT_CB", highlight_cb, NULL), IupSetCallbacks(IupItem("Isoceles", "item_cb"), "HIGHLIGHT_CB", highlight_cb, NULL), IupSetCallbacks(IupItem("Scalenus", "item_cb"), "HIGHLIGHT_CB", highlight_cb, NULL), NULL), "RADIO=YES")), "HIGHLIGHT_CB", highlight_cb, NULL), NULL); IupSetCallbacks(menu_create, "OPEN_CB", open_cb, "MENUCLOSE_CB", menuclose_cb, NULL); // IupSetAttribute(menu_create, "BGCOLOR", "92 92 255"); /* Creates three menus that will be inside submenus */ menu_file = IupMenu( IupSetAttributes(IupItem("Item with Image \tCtrl+M", "item_cb"), "IMAGE=image_tec"), IupSetCallbacks(IupSetAttributes(IupItem("Toggle using &VALUE", NULL), "VALUE=ON, KEY=KcV"), "ACTION", item_toggle_cb, NULL), IupSetAttributes(IupItem("Auto &Toggle Text", "item_cb"), "AUTOTOGGLE=YES"), IupSetAttributes(IupItem("Auto &Toggle Image", "item_cb"), "AUTOTOGGLE=YES, IMAGE=image_test, IMPRESS=image_test_pressed"), IupItem("Big Image", "item_cb"), IupSeparator(), IupSetCallbacks(IupItem("Exit (Destroy)", NULL), "ACTION", item_destroy_cb, NULL), IupSetCallbacks(IupItem("E&xit (Close)", NULL), "ACTION", item_close_cb, NULL), NULL); menu_edit = IupMenu( IupSetCallbacks(IupItem("Active Next", NULL), "ACTION", item_active_cb, NULL), IupSetCallbacks(IupItem("Rename Next", NULL), "ACTION", item_rename_cb, NULL), IupSetCallbacks(IupItem("Set Next Image", NULL), "ACTION", item_image_cb, NULL), IupSetAttributes(IupItem("Item w/ Acc\tCtrl+A", "item_cb"), "IMAGE=dummy"), IupSeparator(), IupSetAttributes(IupSubmenu("Create", menu_create), "IMAGE=image_tec"), NULL); menu_help = IupMenu( IupSetCallbacks(IupItem("Append", NULL), "ACTION", item_add_cb, "HELP_CB", item_help_cb, NULL), IupSetCallbacks(IupItem("Insert", NULL), "ACTION", item_insert_cb, "HELP_CB", item_help_cb, NULL), IupSetCallbacks(IupItem("Remove", NULL), "ACTION", item_remove_cb, "HELP_CB", item_help_cb, NULL), IupSeparator(), NULL); IupSetAttributeHandle(IupGetChild(menu_file, 4), "TITLEIMAGE", load_image_Tecgraf()); IupSetCallbacks(menu_edit, "OPEN_CB", open_cb, "MENUCLOSE_CB", menuclose_cb, NULL); /* Creates main menu with file menu */ menu = IupMenu( IupSetCallbacks(IupSetAttributes(IupSubmenu("Submenu", menu_file), "KEY=K_S, IMAGE=image_tec"), "HIGHLIGHT_CB", highlight_cb, NULL), IupSetCallbacks(IupSubmenu("&Edit", menu_edit), "HIGHLIGHT_CB", highlight_cb, NULL), IupSubmenu("Help", menu_help), IupSetCallbacks(IupSetAttributes(IupItem("Item", "item_cb"), "KEY=K_I, IMAGE=image_tec"), "HIGHLIGHT_CB", highlight_cb, NULL), NULL); /* Registers callbacks */ IupSetFunction("item_cb", item_cb); //IupSetAttribute(menu, "BGCOLOR", "92 92 255"); //IupSetAttribute(menu, "BGCOLOR", "173 177 194"); // Motif BGCOLOR for documentation canvas = IupCanvas(NULL); IupSetCallback(canvas, "BUTTON_CB", (Icallback)button); IupSetCallback(canvas, "K_m", (Icallback)k_m); // IupSetCallback(canvas, "KILLFOCUS_CB", killfocus); // IupSetCallback(canvas, "GETFOCUS_CB", getfocus); dlg = IupDialog(canvas); IupSetAttributeHandle(dlg, "MENU", menu); IupSetAttributes(dlg, "TITLE=\"IupMenu Test\", SIZE=QUARTERxQUARTER"); /* Shows dlg in the center of the screen */ IupShowXY(dlg, IUP_CENTER, IUP_CENTER); /* Initializes IUP main loop */ IupMainLoop(); /* Finishes IUP */ IupClose (); /* Program finished sucessfully */ return 0; }
int iupDataEntry(int maxlin, int* maxcol, int* maxscr, char* title, char** text, char** data) { int i, bt; Ihandle *ok, *cancel, *dlg, *vb, *hb, **txt, **lbl, *button_box, *dlg_box; txt = (Ihandle **)calloc(maxlin, sizeof(Ihandle*)); if (txt == NULL) return -2; lbl = (Ihandle **)calloc(maxlin+1, sizeof(Ihandle*)); vb = IupVbox(NULL); for (i=0; i<maxlin; i++) { txt[i] = IupText(NULL); IupSetAttribute(txt[i],"VALUE",data[i]); IupSetfAttribute(txt[i],"VISIBLECOLUMNS","%dx", maxscr[i]); IupSetfAttribute(txt[i],"NC", "%d", maxcol[i]); IupSetAttribute(txt[i],"EXPAND","HORIZONTAL"); hb = IupHbox(lbl[i] = IupLabel(text[i]), txt[i], NULL); IupSetAttribute(hb,"MARGIN","0x0"); IupSetAttribute(hb,"ALIGNMENT","ACENTER"); IupAppend(vb, hb); } lbl[i] = NULL; IupInsert(vb, NULL, IupNormalizerv(lbl)); ok = IupButton("OK", NULL); IupSetAttribute(ok, "PADDING", "20x0"); IupSetCallback(ok, "ACTION", (Icallback)CB_button_OK); cancel = IupButton(iupStrMessageGet("IUP_CANCEL"), NULL); IupSetAttribute(cancel, "PADDING", "20x0"); IupSetCallback(cancel, "ACTION", (Icallback)CB_button_CANCEL); button_box = IupHbox( IupFill(), ok, cancel, NULL); IupSetAttribute(button_box,"MARGIN","0x0"); IupSetAttribute(button_box, "NORMALIZESIZE", "HORIZONTAL"); dlg_box = IupVbox( IupFrame(vb), button_box, NULL); IupSetAttribute(dlg_box,"MARGIN","10x10"); IupSetAttribute(dlg_box,"GAP","5"); dlg = IupDialog(dlg_box); IupSetAttribute(dlg,"TITLE",title); IupSetAttribute(dlg,"MINBOX","NO"); IupSetAttribute(dlg,"MAXBOX","NO"); IupSetAttributeHandle(dlg,"DEFAULTENTER", ok); IupSetAttributeHandle(dlg,"DEFAULTESC", cancel); IupSetAttribute(dlg,"PARENTDIALOG",IupGetGlobal("PARENTDIALOG")); IupSetAttribute(dlg,"ICON", IupGetGlobal("ICON")); IupMap(dlg); IupSetfAttribute(dlg,"MAXSIZE", "65535x%d", IupGetInt2(dlg, "RASTERSIZE")); IupSetAttribute(dlg,"MINSIZE", IupGetAttribute(dlg, "RASTERSIZE")); IupPopup(dlg,IUP_CENTERPARENT,IUP_CENTERPARENT); for (i=0; i<maxlin; i++) { data[i] = (char *)iupStrDup(IupGetAttribute(txt[i], "VALUE")); } free(txt); bt = IupGetInt(dlg, "STATUS"); IupDestroy(dlg); return bt; }
static int iColorDlgCreateMethod(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 */ IupSetStrAttribute(ok_bt, "PADDING", IupGetGlobal("DEFAULTBUTTONPADDING")); IupSetCallback (ok_bt, "ACTION", (Icallback)iColorDlgButtonOK_CB); IupSetAttributeHandle(ih, "DEFAULTENTER", ok_bt); cancel_bt = IupButton("_@IUP_CANCEL", NULL); /* Cancel Button */ IupSetStrAttribute(cancel_bt, "PADDING", IupGetGlobal("DEFAULTBUTTONPADDING")); IupSetCallback (cancel_bt, "ACTION", (Icallback)iColorDlgButtonCancel_CB); IupSetAttributeHandle(ih, "DEFAULTESC", cancel_bt); colordlg_data->help_bt = IupButton("_@IUP_HELP", NULL); /* Help Button */ IupSetStrAttribute(colordlg_data->help_bt, "PADDING", IupGetGlobal("DEFAULTBUTTONPADDING")); IupSetCallback (colordlg_data->help_bt, "ACTION", (Icallback)iColorDlgButtonHelp_CB); /* ======================================================================= */ /* COLOR =============================================================== */ /* ======================================================================= */ colordlg_data->color_browser = IupColorBrowser(); IupSetAttribute(colordlg_data->color_browser, "EXPAND", "YES"); IupSetCallback(colordlg_data->color_browser, "DRAG_CB", (Icallback)iColorDlgColorSelDrag_CB); IupSetCallback(colordlg_data->color_browser, "CHANGE_CB", (Icallback)iColorDlgColorSelDrag_CB); IupSetAttribute(colordlg_data->color_browser, "MINSIZE", "200x200"); 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)iColorDlgColorCnvAction_CB); IupSetCallback (colordlg_data->color_cnv, "BUTTON_CB", (Icallback)iColorDlgColorCnvButton_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)iColorDlgHexAction_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)iColorDlgAlphaVal_CB); IupSetCallback (colordlg_data->alpha_val, "BUTTON_PRESS_CB", (Icallback)iColorDlgAlphaVal_CB); IupSetCallback (colordlg_data->alpha_val, "BUTTON_RELEASE_CB", (Icallback)iColorDlgAlphaVal_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)iColorDlgAlphaAction_CB); IupSetCallback (colordlg_data->alpha_txt, "SPIN_CB", (Icallback)iColorDlgAlphaSpin_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"); IupSetInt(colordlg_data->colortable_cbar, "NUM_CELLS", COLORTABLE_MAX); 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)iColorDlgColorTableSelect_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)iColorDlgRedAction_CB); IupSetCallback (colordlg_data->red_txt, "SPIN_CB", (Icallback)iColorDlgRedSpin_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)iColorDlgGreenAction_CB); IupSetCallback (colordlg_data->green_txt, "SPIN_CB", (Icallback)iColorDlgGreenSpin_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)iColorDlgBlueAction_CB); IupSetCallback (colordlg_data->blue_txt, "SPIN_CB", (Icallback)iColorDlgBlueSpin_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)iColorDlgHueAction_CB); IupSetCallback(colordlg_data->hue_txt, "SPIN_CB", (Icallback)iColorDlgHueSpin_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)iColorDlgSaturationAction_CB); IupSetCallback(colordlg_data->saturation_txt, "SPIN_CB", (Icallback)iColorDlgSaturationSpin_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)iColorDlgIntensityAction_CB); IupSetCallback(colordlg_data->intensity_txt, "SPIN_CB", (Icallback)iColorDlgIntensitySpin_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")); IupRefresh(ih); if (colordlg_data->color_browser->currentwidth < colordlg_data->color_browser->currentheight) { IupSetStrf(colordlg_data->color_browser, "RASTERSIZE", "%dx", colordlg_data->color_browser->currentheight); IupSetAttribute(ih, "RASTERSIZE", NULL); } IupSetAttribute(ih, "RESIZE", "NO"); iColorDlgInit_Defaults(colordlg_data); (void)params; return IUP_NOERROR; }
int IupListDialog (int type, const char *title, int size, const char** list_str, int op, int max_col, int max_lin, int* marks) { Ihandle *lst, *ok, *dlg, *cancel, *dlg_box, *button_box; int i, bt; char attrib_str[20]; char *m=NULL; if (size > 999) size = 999; lst = IupList(NULL); for (i=0;i<size;i++) { sprintf(attrib_str,"%d",i+1); IupSetAttribute(lst,attrib_str,list_str[i]); } sprintf(attrib_str,"%d",i+1); IupSetAttribute(lst,attrib_str,NULL); IupSetAttribute(lst,"EXPAND","YES"); ok = IupButton("OK", NULL); IupSetAttribute(ok,"PADDING" ,"20x5"); IupSetCallback(ok, "ACTION", (Icallback)CB_button_OK); cancel = IupButton(iupStrMessageGet("IUP_CANCEL"), NULL); IupSetAttribute(cancel,"PADDING" ,"20x5"); IupSetCallback(cancel, "ACTION", (Icallback)CB_button_CANCEL); button_box = IupHbox( IupFill(), ok, cancel, NULL); IupSetAttribute(button_box,"MARGIN","0x0"); IupSetAttribute(button_box, "NORMALIZESIZE", "HORIZONTAL"); dlg_box = IupVbox( lst, button_box, NULL); IupSetAttribute(dlg_box,"MARGIN","10x10"); IupSetAttribute(dlg_box,"GAP","10"); dlg = IupDialog(dlg_box); if (type == 1) { if (op<1 || op>size) op=1; iupAttribSetStrf(dlg, "_IUP_LIST_NUMBER", "%d", op-1); IupSetfAttribute(lst,"VALUE","%d",op); IupSetCallback(lst, "ACTION", (Icallback)CB_lista); } else if ((type == 2) && (marks != NULL)) { m=(char *)marks; for (i=0;i<size;i++) m[i] = marks[i] ? '+' : '-'; m[i]='\0'; IupSetAttribute(lst,"MULTIPLE","YES"); IupSetAttribute(lst,"VALUE",m); } if (max_lin < 4) max_lin = 4; IupSetfAttribute(lst, "VISIBLELINES", "%d", max_lin); IupSetfAttribute(lst, "VISIBLECOLUMNS", "%d", max_col); IupSetAttribute(dlg,"TITLE", title); IupSetAttribute(dlg,"MINBOX","NO"); IupSetAttribute(dlg,"MAXBOX","NO"); IupSetAttributeHandle(dlg,"DEFAULTENTER", ok); IupSetAttributeHandle(dlg,"DEFAULTESC", cancel); IupSetAttribute(dlg,"PARENTDIALOG", IupGetGlobal("PARENTDIALOG")); IupSetAttribute(dlg,"ICON", IupGetGlobal("ICON")); IupPopup(dlg,IUP_CENTERPARENT,IUP_CENTERPARENT); if ((type == 2) && (marks != NULL)) { m=IupGetAttribute(lst,"VALUE"); for (i=0;i<size;i++) marks[i] = (m[i] == '+'); } bt = IupGetInt(dlg, "STATUS"); if (type == 1) { if (bt == 1) bt = iupAttribGetInt(dlg, "_IUP_LIST_NUMBER"); else bt = -1; } else { if (bt != 1) bt = -1; } IupDestroy(dlg); return bt; }
void IupTreeSetAttributeHandle(Ihandle* ih, const char* a, int id, Ihandle* ih_named) { char* attr = iupStrGetMemory(50); sprintf(attr, "%s%d", a, id); IupSetAttributeHandle(ih, attr, ih_named); }
void ScrollBoxTest(void) { Ihandle *mnu, *_hbox_1, *_cnv_1, *_vbox_1, *dlg, *img, *_vbox_2, *_frm_1, *_frm_2, *_frm_3, *_frm_4, *_frm_5, *pbar, *val, *tabs, *_list_1, *_list_2, *_list_3, *_text_1, *_ml_1, *tree; //img = IupImage(32,32, img_bits1); //IupSetHandle ("img1", img); //IupSetAttribute (img, "0", "0 0 0"); //IupSetAttribute (img, "1", "BGCOLOR"); //IupSetAttribute (img, "2", "255 0 0"); img = load_image_Tecgraf(); IupSetHandle ("img1", img); img = IupImage(32,32, img_bits2); IupSetHandle ("img2", img); IupSetAttribute (img, "0", "0 0 0"); IupSetAttribute (img, "1", "0 255 0"); IupSetAttribute (img, "2", "BGCOLOR"); IupSetAttribute (img, "3", "255 0 0"); mnu = IupMenu( IupSubmenu("IupSubmenu 1", IupMenu( IupSetAttributes(IupItem("IupItem 1 Checked", NULL), "VALUE=ON"), IupSeparator(), IupSetAttributes(IupItem("IupItem 2 Disabled", NULL), "ACTIVE=NO"), NULL)), IupItem("IupItem 3", NULL), IupItem("IupItem 4", NULL), NULL); IupSetHandle("mnu",mnu); _frm_1 = IupFrame( IupVbox( set_callbacks(IupSetAttributes(IupButton("Button Text", NULL), "PADDING=5x5, TIP=\"Button TIP\"")), IupSetCallbacks(set_callbacks(IupSetAttributes(IupButton("Text", NULL), "IMAGE=img1, PADDING=5x5")),"ACTION", action1_cb, NULL), IupSetCallbacks(set_callbacks(IupSetAttributes(IupButton(NULL, NULL), "IMAGE=img1")),"ACTION", action2_cb, NULL), IupSetCallbacks(set_callbacks(IupSetAttributes(IupButton("", NULL), "IMAGE=img1,IMPRESS=img2")),"ACTION", action3_cb, NULL), IupSetCallbacks(set_callbacks(IupSetAttributes(IupButton(NULL, NULL), "BGCOLOR=\"255 0 128\", SIZE=20x10")),"ACTION", action3_cb, NULL), NULL)); IupSetAttribute(_frm_1,"TITLE","IupButton"); _frm_2 = IupFrame( IupVbox( IupSetAttributes(IupLabel("Label Text"), "TIP=\"Label TIP\""), IupSetAttributes(IupLabel(NULL), "SEPARATOR=HORIZONTAL, NAME=SAMP_SEP"), IupSetAttributes(IupLabel(NULL), "IMAGE=img1"), NULL)); IupSetAttribute(_frm_2,"TITLE","IupLabel"); _frm_3 = IupFrame( IupVbox( set_callbacks(IupSetAttributes(IupToggle("Toggle Text", NULL), "VALUE=ON, TIP=\"Toggle TIP\"")), set_callbacks(IupSetAttributes(IupToggle(NULL, NULL), "VALUE=ON,IMAGE=img1,IMPRESS=img2")), set_callbacks(IupSetAttributes(IupToggle(NULL, NULL), "VALUE=ON,IMAGE=img1")), IupSetAttributes(IupFrame(IupRadio(IupVbox( set_callbacks(IupToggle("Toggle Text", NULL)), set_callbacks(IupToggle("Toggle Text", NULL)), NULL))), "TITLE=IupRadio"), NULL)); IupSetAttribute(_frm_3,"TITLE","IupToggle"); _text_1 = IupText( NULL); IupSetAttribute(_text_1,"VALUE","Single Line Text"); IupSetAttribute(_text_1,"SIZE","80x"); IupSetAttribute(_text_1,"TIP","Text TIP"); _ml_1 = IupMultiLine( NULL); IupSetAttribute(_ml_1,"VALUE","Multiline Text\nSecond Line\nThird Line"); IupSetAttribute(_ml_1,"EXPAND","YES"); IupSetAttribute(_ml_1,"SIZE","80x40"); IupSetAttribute(_ml_1,"TIP","Multiline TIP"); _frm_4 = IupFrame(IupVbox( set_callbacks(_text_1), set_callbacks(_ml_1), NULL)); IupSetAttribute(_frm_4,"TITLE","IupText"); _list_1 = IupList( NULL); // IupSetAttribute(_list_1,"EXPAND","YES"); IupSetAttribute(_list_1,"VALUE","1"); IupSetAttribute(_list_1,"1","Item 1 Text"); IupSetAttribute(_list_1,"2","Item 2 Text"); IupSetAttribute(_list_1,"3","Item 3 Text"); IupSetAttribute(_list_1,"TIP","List 1"); _list_2 = IupList( NULL); IupSetAttribute(_list_2,"DROPDOWN","YES"); // IupSetAttribute(_list_2,"EXPAND","YES"); IupSetAttribute(_list_2,"VALUE","2"); IupSetAttribute(_list_2,"1","Item 1 Text"); IupSetAttribute(_list_2,"2","Item 2 Text"); IupSetAttribute(_list_2,"3","Item 3 Text"); IupSetAttribute(_list_2,"TIP","List 2"); _list_3 = IupList( NULL); IupSetAttribute(_list_3,"EDITBOX","YES"); // IupSetAttribute(_list_3,"EXPAND","YES"); IupSetAttribute(_list_3,"VALUE","3"); IupSetAttribute(_list_3,"1","Item 1 Text"); IupSetAttribute(_list_3,"2","Item 2 Text"); IupSetAttribute(_list_3,"3","Item 3 Text"); IupSetAttribute(_list_3,"TIP","List 3"); _frm_5 = IupFrame(IupVbox( set_callbacks(_list_1), set_callbacks(_list_2), set_callbacks(_list_3), NULL)); IupSetAttribute(_frm_5,"TITLE","IupList"); _hbox_1 = IupHbox( _frm_1, _frm_2, _frm_3, _frm_4, _frm_5, NULL); val = IupVal(NULL); IupSetAttribute(val,"TIP","Valuator TIP"); set_callbacks(val); pbar = IupProgressBar(); IupSetAttribute(pbar, "VALUE", "0.5"); IupSetAttribute(pbar,"TIP","ProgressBar TIP"); set_callbacks(pbar); tabs = IupTabs(IupVbox(IupLabel("Tab0"), NULL), IupVbox(IupLabel("Tab1"), NULL), IupVbox(IupLabel("Tab2"), NULL), NULL); IupSetAttribute(tabs,"TABTITLE0","Tab Title 0"); IupSetAttribute(tabs,"TABTITLE1","Tab Title 1"); IupSetAttributeHandle(tabs,"TABIMAGE1", load_image_LogoTecgraf()); IupSetAttribute(tabs,"TABTITLE2","Tab Title 2"); IupSetAttribute(tabs,"RASTERSIZE","300x50"); IupSetAttribute(tabs,"TIP","Tabs TIP"); // IupSetAttribute(tabs,"PADDING","5x5"); set_callbacks(tabs); tree = IupTree(); IupSetAttribute(tree, "SHOWRENAME", "YES"); IupSetAttribute(tree,"RASTERSIZE","300x150"); IupSetAttribute(tree,"TIP","Tree TIP"); IupSetAttribute(tree,"EXPAND","NO"); set_callbacks(tree); _cnv_1 = IupCanvas(NULL); IupSetAttribute(_cnv_1,"BGCOLOR","128 255 0"); IupSetAttribute(_cnv_1,"SCROLLBAR","YES"); // IupSetAttribute(_cnv_1,"EXPAND","HORIZONTAL"); IupSetAttribute(_cnv_1,"EXPAND","NO"); IupSetAttribute(_cnv_1,"RASTERSIZE","200x100"); IupSetAttribute(_cnv_1,"TIP","Canvas TIP"); // IupSetAttribute(_cnv_1,"CANFOCUS","NO"); set_callbacks(_cnv_1); _vbox_1 = IupVbox( _hbox_1, IupHbox(IupSetAttributes(IupFrame(IupHbox(val, NULL)), "TITLE=IupVal"), IupSetAttributes(IupFrame(IupHbox(pbar, NULL)), "TITLE=IupProgressBar"), IupSetAttributes(IupFrame(IupHbox(tabs, NULL)), "TITLE=IupTabs"), NULL), IupHbox(IupSetAttributes(IupFrame(IupHbox(_cnv_1, NULL)), "TITLE=IupCanvas"), IupSetAttributes(IupFrame(IupHbox(tree, NULL)), "TITLE=IupTree"), NULL), IupHbox(IupSetAttributes(IupFrame(IupHbox(create_matrix(), NULL)), "TITLE=IupMatrix"), NULL), NULL); IupSetAttribute(_vbox_1,"MARGIN","5x5"); IupSetAttribute(_vbox_1,"GAP","5"); // _vbox_2 = IupVbox(IupSetAttributes(IupScrollBox(_vbox_1), "RASTERSIZE=400x300"), NULL); _vbox_2 = IupVbox(IupScrollBox(_vbox_1), NULL); IupSetAttribute(_vbox_2,"MARGIN","20x20"); dlg = IupDialog(_vbox_2); IupSetHandle("dlg",dlg); IupSetAttribute(dlg,"MENU","mnu"); IupSetAttribute(dlg,"TITLE","IupDialog Title"); // IupSetAttribute(dlg,"COMPOSITED","YES"); /* Windows Only */ // IupSetAttribute(dlg, "OPACITY", "192"); // IupSetAttribute(dlg, "RESIZE", "NO"); // IupSetAttribute(dlg, "BGCOLOR", "173 177 194"); // Motif BGCOLOR for documentation // IupSetAttribute(_vbox_1, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BACKGROUND", "200 10 80"); //IupSetGlobal("DLGBGCOLOR", "92 92 255"); //IupSetGlobal("TXTFGCOLOR", "255 92 92"); //IupSetGlobal("TXTBGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "FONT", "Helvetica, 24"); // IupSetAttribute(dlg, "FONT", "-*-helvetica-*-r-*-*-18-*-*-*-*-*-*-*"); // IupSetAttribute(box, "FGCOLOR", "255 0 0"); //IupSetAttribute(dlg,"RASTERSIZE","1000x800"); IupSetAttribute(dlg,"RASTERSIZE","400x300"); IupSetCallback(dlg, "RESIZE_CB", (Icallback)resize_cb); IupMap(dlg); IupSetAttribute(tree, "TITLE0", "Figures"); IupSetAttribute(tree, "ADDLEAF0", "Other"); /* new id=1 */ IupSetAttribute(tree, "ADDBRANCH1", "triangle"); /* new id=2 */ IupSetAttribute(tree, "ADDLEAF2", "equilateral"); /* ... */ IupSetAttribute(tree, "ADDLEAF3", "isoceles"); IupSetAttribute(tree, "ADDLEAF4", "scalenus"); IupShow(dlg); IupSetAttribute(dlg,"RASTERSIZE", NULL); }
void ButtonTest(void) { Ihandle *dlg, *button, *label, *image1, *image1i, *image1p, *image2, *image3, *box1, *box2; /* IupImageLibOpen(); */ box1 = IupVbox(NULL); IupSetAttribute(box1, "MARGIN", "5x5"); IupSetAttribute(box1, "GAP", "5"); // IupSetAttribute(box1, "BGCOLOR", "75 150 170"); // IupSetAttribute(box1, "PADDING", "15x15"); button = IupButton(NULL, NULL); IupSetAttribute(button, "TITLE", "Button Text"); IupSetCallback(button, "ACTION", active_cb); IupAppend(box1, button); button = IupButton(NULL, NULL); IupSetAttribute(button, "TITLE", "&Text (згн)"); IupSetAttribute(button, "TIP", "Button Tip"); //IupSetAttribute(button, "PADDING", "15x15"); //IupSetAttribute(button, "BGCOLOR", "128 128 255"); IupSetAttribute(button, "SIZE", "40"); // IupSetAttribute(button, "FGCOLOR", "0 0 255"); // IupSetAttribute(button, "RASTERSIZE", "200x100"); IupSetAttribute(button, "ALIGNMENT", "ACENTER:ACENTER"); // IupSetAttribute(button, "ALIGNMENT", "ALEFT:ATOP"); IupSetAttribute(button, "NAME", "button1"); IupSetAttribute(button, "CANFOCUS", "NO"); set_callbacks(button); IupAppend(box1, button); button = IupButton(NULL, NULL); IupSetAttribute(button, "TITLE", "Text Button\nSecond Line"); IupSetAttribute(button, "RASTERSIZE", "200x100"); IupSetAttribute(button, "ALIGNMENT", "ACENTER:ACENTER"); IupSetAttribute(button, "FONT", "Helvetica, 14"); IupSetAttribute(button, "FLAT", "YES"); IupSetAttribute(button, "NAME", "button2"); set_callbacks(button); IupAppend(box1, button); button = IupButton(NULL, NULL); IupSetAttribute(button, "TITLE", "Text Button\n<b>Second Line</b>"); IupSetAttribute(button, "RASTERSIZE", "200x100"); IupSetAttribute(button, "ALIGNMENT", "ARIGHT:ABOTTOM"); IupSetAttribute(button, "MARKUP", "YES"); IupSetAttribute(button, "NAME", "button3"); IupSetAttribute(button, "CANFOCUS", "NO"); set_callbacks(button); IupAppend(box1, button); button = IupButton(NULL, NULL); IupSetAttribute(button, "RASTERSIZE", "30x30"); IupSetAttribute(button, "BGCOLOR", "255 128 92"); IupSetAttribute(button, "NAME", "color"); set_callbacks(button); IupAppend(box1, button); box2 = IupVbox(NULL); IupSetAttribute(box2, "MARGIN", "5x5"); IupSetAttribute(box2, "GAP", "5"); // IupSetAttribute(box2, "BGCOLOR", "75 150 170"); // IupSetAttribute(box2, "PADDING", "15x15"); image1 = IupImage(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_8); IupSetAttribute(image1, "0", "BGCOLOR"); IupSetAttribute(image1, "1", "255 0 0"); IupSetAttribute(image1, "2", "0 255 0"); IupSetAttribute(image1, "3", "0 0 255"); IupSetAttribute(image1, "4", "255 255 255"); IupSetAttribute(image1, "5", "0 0 0"); image1i = IupImage(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_8_inactive); IupSetAttribute(image1i, "0", "BGCOLOR"); IupSetAttribute(image1i, "1", "255 0 0"); IupSetAttribute(image1i, "2", "0 255 0"); IupSetAttribute(image1i, "3", "0 0 255"); IupSetAttribute(image1i, "4", "255 255 255"); IupSetAttribute(image1i, "5", "0 0 0"); IupSetHandle("image1i", image1i); /* so it will be destroyed even when not used */ image1p = IupImage(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_8_pressed); IupSetAttribute(image1p, "0", "BGCOLOR"); IupSetAttribute(image1p, "1", "255 0 0"); IupSetAttribute(image1p, "2", "0 255 0"); IupSetAttribute(image1p, "3", "0 0 255"); IupSetAttribute(image1p, "4", "255 255 255"); IupSetAttribute(image1p, "5", "0 0 0"); image2 = IupImageRGB(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_24); image3 = IupImageRGBA(TEST_IMAGE_SIZE, TEST_IMAGE_SIZE, image_data_32); button = IupButton(NULL, NULL); IupSetAttribute(button, "TITLE", "Images"); IupSetAttributeHandle(button, "IMAGE", load_image_FileSave()); IupAppend(box2, button); button = IupButton(NULL, NULL); // IupSetAttribute(button, "ALIGNMENT", "ALEFT:ATOP"); // IupSetAttribute(button, "RASTERSIZE", "200x100"); // IupSetAttribute(button, "IMAGEPOSITION", "BOTTOM"); // IupSetAttribute(button, "PADDING", "5x5"); // IupSetAttribute(button, "TITLE", "Text1"); // IupSetAttribute(button, "FONT", "Helvetica, 14"); // IupSetAttribute(button, "IMAGE", "IUP_Tecgraf"); IupSetAttributeHandle(button, "IMAGE", image1); // IupSetAttributeHandle(button, "IMINACTIVE", image1i); IupSetAttributeHandle(button, "IMPRESS", image1p); IupSetAttribute(button, "TIP", "Image Label"); IupSetAttribute(button, "NAME", "button4"); set_callbacks(button); IupAppend(box2, button); button = IupButton(NULL, NULL); IupSetAttributeHandle(button, "IMAGE", image2); // IupSetAttribute(button, "TITLE", "Text2"); // IupSetAttribute(button, "IMAGEPOSITION", "TOP"); // IupSetAttribute(button, "SPACING", "30"); // IupSetAttribute(button, "ALIGNMENT", "ALEFT"); // IupSetAttribute(button, "RASTERSIZE", "200x100"); // IupSetAttribute(button, "FLAT", "YES"); // IupSetAttributeHandle(button, "IMPRESS", image2); IupSetAttribute(button, "CANFOCUS", "NO"); // IupSetAttribute(button, "RASTERSIZE", "15x15"); IupSetAttribute(button, "NAME", "button5"); set_callbacks(button); IupAppend(box2, button); button = IupButton(NULL, NULL); IupSetAttributeHandle(button, "IMAGE", image3); IupSetAttribute(button, "TITLE", "Text3"); // IupSetAttribute(button, "RASTERSIZE", "200x100"); // IupSetAttribute(button, "ALIGNMENT", "ARIGHT"); IupSetAttribute(button, "NAME", "button6"); set_callbacks(button); IupAppend(box2, button); label = IupLabel(NULL); IupSetAttribute(label, "SEPARATOR", "VERTICAL"); IupSetHandle("seplabel", label); dlg = IupDialog(IupHbox(box1, label, box2, NULL)); IupSetAttribute(dlg, "TITLE", "IupButton Test"); // IupSetAttribute(box1, "BGCOLOR", "128 0 0"); // IupSetAttribute(dlg, "BGCOLOR", "0 128 0"); // IupSetAttribute(dlg, "BACKGROUND", "255 128 128"); // IupSetAttributeHandle(dlg, "BACKGROUND", image2); // IupSetAttribute(dlg, "BGCOLOR", "173 177 194"); // Motif BGCOLOR for documentation IupSetAttributeHandle(dlg, "STARTFOCUS", button); IupShow(dlg); }