int main(int argc, char* argv[]) { int i, count = sizeof(test_list)/sizeof(TestItems); char str[50]; Ihandle *dlg, *list; IupOpen(&argc, &argv); IupControlsOpen(); // IupSetGlobal("LANGUAGE", "PORTUGUESE"); dlg = IupDialog(IupVbox(list = IupList(NULL), NULL)); IupSetAttribute(dlg, "MARGIN", "10x10"); IupSetAttribute(dlg, "TITLE", "IupTests"); IupSetCallback(dlg, "CLOSE_CB", close_cb); IupSetAttribute(list, "VISIBLELINES", "15"); IupSetAttribute(list, "EXPAND", "YES"); IupSetCallback(list, "DBLCLICK_CB", (Icallback)dblclick_cb); IupSetCallback(list, "K_CR", k_enter_cb); for (i=0; i<count; i++) { sprintf(str, "%d", i+1); IupSetAttribute(list, str, test_list[i].title); } IupShowXY(dlg, 100, IUP_CENTER); IupMainLoop(); IupClose(); return EXIT_SUCCESS; }
static int iGaugeCreateMethod(Ihandle* ih, void **params) { (void)params; /* free the data allocated by IupCanvas */ free(ih->data); ih->data = iupALLOCCTRLDATA(); /* change the IupCanvas default values */ iupAttribSetStr(ih, "BORDER", "NO"); IupSetAttribute(ih, "SIZE", IGAUGE_DEFAULTSIZE); ih->expand = IUP_EXPAND_NONE; /* default values */ iupAttribSetStr(ih, "FGCOLOR", IGAUGE_DEFAULTCOLOR); ih->data->fgcolor = cdIupConvertColor(IGAUGE_DEFAULTCOLOR); ih->data->vmax = 1; ih->data->bgcolor = CD_GRAY; ih->data->light_shadow = CD_WHITE; ih->data->mid_shadow = CD_GRAY; ih->data->dark_shadow = CD_DARK_GRAY; ih->data->show_text = 1; /* IupCanvas callbacks */ IupSetCallback(ih, "RESIZE_CB", (Icallback)iGaugeResize_CB); IupSetCallback(ih, "ACTION", (Icallback)iGaugeRedraw_CB); return IUP_NOERROR; }
static Ihandle* capSetupUI() { Ihandle *capControlsBox = IupHbox( inboundCheckbox = IupToggle("Inbound", NULL), outboundCheckbox = IupToggle("Outbound", NULL), IupLabel("Bandwidth Cap(kb/s):"), kpsInput = IupText(NULL), NULL ); IupSetCallback(inboundCheckbox, "ACTION", (Icallback)uiSyncToggle); IupSetAttribute(inboundCheckbox, SYNCED_VALUE, (char*)&capInbound); IupSetCallback(outboundCheckbox, "ACTION", (Icallback)uiSyncToggle); IupSetAttribute(outboundCheckbox, SYNCED_VALUE, (char*)&capOutbound); IupSetAttribute(kpsInput, "VISIBLECOLUMNS", "4"); IupSetAttribute(kpsInput, "VALUE", "32.0"); IupSetCallback(kpsInput, "VALUECHANGED_CB", (Icallback)uiSyncFixed); IupSetAttribute(kpsInput, SYNCED_VALUE, (char*)&kps); IupSetAttribute(kpsInput, FIXED_MAX, CAP_MAX); IupSetAttribute(kpsInput, FIXED_MIN, CAP_MIN); // enable by default to avoid confusing IupSetAttribute(inboundCheckbox, "VALUE", "ON"); IupSetAttribute(outboundCheckbox, "VALUE", "ON"); if (parameterized) { setFromParameter(inboundCheckbox, "VALUE", NAME"-inbound"); setFromParameter(outboundCheckbox, "VALUE", NAME"-outbound"); setFromParameter(kpsInput, "VALUE", NAME"-kps"); } return capControlsBox; }
void TransferFunctionsViewer::BuildInterface () { m_iup_canvas = IupGLCanvas ("tfviewer_canvas"); IupSetCallback (m_iup_canvas, "ACTION", (Icallback)TransferFunctionsViewer::Action); IupSetCallback (m_iup_canvas, "BUTTON_CB", (Icallback)TransferFunctionsViewer::Button_CB); IupSetCallback (m_iup_canvas, "MOTION_CB", (Icallback)TransferFunctionsViewer::Motion_CB); IupSetAttribute (m_iup_canvas, IUP_BUFFER, IUP_DOUBLE); IupSetAttribute (m_iup_canvas, IUP_RASTERSIZE, "258x50"); IupSetAttribute (m_iup_canvas, IUP_RESIZE, IUP_NO); IupSetHandle ("tfviewer_canvas", m_iup_canvas); m_iup_sub_menu_file = IupSubmenu ("Arquivo", IupMenu(NULL)); m_iup_menu = IupMenu (m_iup_sub_menu_file, NULL); IupSetHandle ("TransferFunctionMenu", m_iup_menu); m_iup_main_dialog = IupDialog (m_iup_canvas); //IupSetAttribute (m_iup_main_dialog, "MENU", "TransferFunctionMenu"); IupSetAttribute (m_iup_main_dialog, "TITLE", "Transfer Function Visualization"); IupSetAttribute (m_iup_main_dialog, "BORDER", "NO"); IupSetAttribute (m_iup_main_dialog, "RESIZE", "NO"); IupMap (m_iup_main_dialog); IupRefresh (m_iup_main_dialog); if (!m_pixels) m_pixels = new float[258 * 50 * 4]; Redraw (); }
static int iGLCanvasBoxCreateMethod(Ihandle* ih, void** params) { int i; char new_name[50]; for (i = 0; i < CB_NAMES_COUNT; i++) { /* save the internal callbacks */ sprintf(new_name, "GLBOX_%s", iglcanvasbox_cb_names[i]); IupSetCallback(ih, new_name, iglcanvasbox_cbs[i]); } IupSetCallback(ih, "SWAPBUFFERS_CB", iGLCanvasBoxSwapBuffers_CB); if (params) { Ihandle** iparams = (Ihandle**)params; while (*iparams) { IupAppend(ih, *iparams); iparams++; } } return IUP_NOERROR; }
static Ihandle* dropSetupUI() { Ihandle *dropControlsBox = IupHbox( inboundCheckbox = IupToggle("Inbound", NULL), outboundCheckbox = IupToggle("Outbound", NULL), IupLabel("Chance(%):"), chanceInput = IupText(NULL), NULL ); IupSetAttribute(chanceInput, "VISIBLECOLUMNS", "4"); IupSetAttribute(chanceInput, "VALUE", "10.0"); IupSetCallback(chanceInput, "VALUECHANGED_CB", uiSyncChance); IupSetAttribute(chanceInput, SYNCED_VALUE, (char*)&chance); IupSetCallback(inboundCheckbox, "ACTION", (Icallback)uiSyncToggle); IupSetAttribute(inboundCheckbox, SYNCED_VALUE, (char*)&dropInbound); IupSetCallback(outboundCheckbox, "ACTION", (Icallback)uiSyncToggle); IupSetAttribute(outboundCheckbox, SYNCED_VALUE, (char*)&dropOutbound); // enable by default to avoid confusing IupSetAttribute(inboundCheckbox, "VALUE", "ON"); IupSetAttribute(outboundCheckbox, "VALUE", "ON"); if (parameterized) { setFromParameter(inboundCheckbox, "VALUE", NAME"-inbound"); setFromParameter(outboundCheckbox, "VALUE", NAME"-outbound"); setFromParameter(chanceInput, "VALUE", NAME"-chance"); } return dropControlsBox; }
static int iExpanderCreateMethod(Ihandle* ih, void** params) { Ihandle* bar; ih->data = iupALLOCCTRLDATA(); ih->data->position = IEXPANDER_TOP; ih->data->state = IEXPANDER_OPEN; ih->data->barSize = -1; bar = IupCanvas(NULL); iupChildTreeAppend(ih, bar); /* bar will always be the firstchild */ bar->flags |= IUP_INTERNAL; IupSetAttribute(bar, "CANFOCUS", "NO"); IupSetAttribute(bar, "BORDER", "NO"); IupSetAttribute(bar, "EXPAND", "NO"); /* Setting callbacks */ IupSetCallback(bar, "BUTTON_CB", (Icallback) iExpanderButton_CB); IupSetCallback(bar, "ACTION", (Icallback) iExpanderAction_CB); IupSetCallback(bar, "ACTION", (Icallback) iExpanderAction_CB); IupSetCallback(bar, "ENTERWINDOW_CB", (Icallback)iExpanderEnterWindow_cb); IupSetCallback(bar, "LEAVEWINDOW_CB", (Icallback)iExpanderLeaveWindow_cb); if (params) { Ihandle** iparams = (Ihandle**)params; if (*iparams) IupAppend(ih, *iparams); } return IUP_NOERROR; }
void TimerTest(void) { Ihandle *dlg; dlg = IupDialog(NULL); IupSetAttribute(dlg, "TITLE", "IupTimer Test"); IupSetAttribute(dlg, "SIZE", "200x100"); IupShow(dlg); timer1 = IupTimer(); timer2 = IupTimer(); timer3 = IupTimer(); IupSetAttribute(timer1, "TIME", "100"); IupSetAttribute(timer1, "RUN", "YES"); IupSetCallback(timer1, "ACTION_CB", (Icallback)timer_cb); IupSetAttribute(timer2, "TIME", "400"); IupSetAttribute(timer2, "RUN", "YES"); IupSetCallback(timer2, "ACTION_CB", (Icallback)timer_cb); IupSetAttribute(timer3, "TIME", "5000"); IupSetAttribute(timer3, "RUN", "YES"); IupSetCallback(timer3, "ACTION_CB", (Icallback)timer_cb); }
static int iSboxCreateMethod(Ihandle* ih, void** params) { Ihandle* bar; ih->data = iupALLOCCTRLDATA(); ih->data->direction = ISBOX_EAST; ih->data->h = -1; ih->data->w = -1; bar = IupCanvas(NULL); bar->flags |= IUP_INTERNAL; iupChildTreeAppend(ih, bar); /* bar will always be the firstchild */ IupSetAttribute(bar, "BORDER", "YES"); IupSetAttribute(bar, "EXPAND", "NO"); IupSetAttribute(bar, "BGCOLOR", "192 192 192"); /* Setting callbacks */ IupSetCallback(bar, "BUTTON_CB", (Icallback) iSboxButton_CB); IupSetCallback(bar, "FOCUS_CB", (Icallback) iSboxFocus_CB); IupSetCallback(bar, "MOTION_CB", (Icallback) iSboxMotion_CB); if (params) { Ihandle** iparams = (Ihandle**)params; if (*iparams) IupAppend(ih, *iparams); } return IUP_NOERROR; }
static Ihandle* resetSetupUI() { Ihandle *dupControlsBox = IupHbox( rstButton = IupButton("RST next packet", NULL), inboundCheckbox = IupToggle("Inbound", NULL), outboundCheckbox = IupToggle("Outbound", NULL), IupLabel("Chance(%):"), chanceInput = IupText(NULL), NULL ); IupSetAttribute(chanceInput, "VISIBLECOLUMNS", "4"); IupSetAttribute(chanceInput, "VALUE", "0"); IupSetCallback(chanceInput, "VALUECHANGED_CB", uiSyncChance); IupSetAttribute(chanceInput, SYNCED_VALUE, (char*)&chance); IupSetCallback(inboundCheckbox, "ACTION", (Icallback)uiSyncToggle); IupSetAttribute(inboundCheckbox, SYNCED_VALUE, (char*)&resetInbound); IupSetCallback(outboundCheckbox, "ACTION", (Icallback)uiSyncToggle); IupSetAttribute(outboundCheckbox, SYNCED_VALUE, (char*)&resetOutbound); IupSetCallback(rstButton, "ACTION", resetSetRSTNextButtonCb); IupSetAttribute(rstButton, "PADDING", "4x"); // enable by default to avoid confusing IupSetAttribute(inboundCheckbox, "VALUE", "ON"); IupSetAttribute(outboundCheckbox, "VALUE", "ON"); if (parameterized) { setFromParameter(inboundCheckbox, "VALUE", NAME"-inbound"); setFromParameter(outboundCheckbox, "VALUE", NAME"-outbound"); setFromParameter(chanceInput, "VALUE", NAME"-chance"); } return dupControlsBox; }
static Ihandle* tamperSetupUI() { Ihandle *dupControlsBox = IupHbox( checksumCheckbox = IupToggle("Redo Checksum", NULL), inboundCheckbox = IupToggle("Inbound", NULL), outboundCheckbox = IupToggle("Outbound", NULL), IupLabel("Chance(%):"), chanceInput = IupText(NULL), NULL ); IupSetAttribute(chanceInput, "VISIBLECOLUMNS", "4"); IupSetAttribute(chanceInput, "VALUE", "10.0"); IupSetCallback(chanceInput, "VALUECHANGED_CB", uiSyncChance); IupSetAttribute(chanceInput, SYNCED_VALUE, (char*)&chance); IupSetCallback(inboundCheckbox, "ACTION", (Icallback)uiSyncToggle); IupSetAttribute(inboundCheckbox, SYNCED_VALUE, (char*)&tamperInbound); IupSetCallback(outboundCheckbox, "ACTION", (Icallback)uiSyncToggle); IupSetAttribute(outboundCheckbox, SYNCED_VALUE, (char*)&tamperOutbound); // sync doChecksum IupSetCallback(checksumCheckbox, "ACTION", (Icallback)uiSyncToggle); IupSetAttribute(checksumCheckbox, SYNCED_VALUE, (char*)&doChecksum); // enable by default to avoid confusing IupSetAttribute(inboundCheckbox, "VALUE", "ON"); IupSetAttribute(outboundCheckbox, "VALUE", "ON"); IupSetAttribute(checksumCheckbox, "VALUE", "ON"); return dupControlsBox; }
static int iDialSetOrientationAttrib(Ihandle* ih, const char* value) { /* valid only before map */ if (ih->handle) return 0; if (iupStrEqualNoCase(value, "VERTICAL")) { ih->data->Draw = iDialDrawVertical; ih->data->orientation = IDIAL_VERTICAL; IupSetCallback(ih, "MOTION_CB", (Icallback)iDialMotionVertical_CB); IupSetAttribute(ih, "SIZE", "16x80"); } else if (iupStrEqualNoCase(value, "CIRCULAR")) { ih->data->Draw = iDialDrawCircular; ih->data->orientation = IDIAL_CIRCULAR; IupSetCallback(ih, "MOTION_CB", (Icallback)iDialMotionCircular_CB); IupSetAttribute(ih, "SIZE", "40x36"); } else /* "HORIZONTAL" */ { ih->data->Draw = iDialDrawHorizontal; ih->data->orientation = IDIAL_HORIZONTAL; IupSetCallback(ih, "MOTION_CB", (Icallback)iDialMotionHorizontal_CB); IupSetAttribute(ih, "SIZE", "80x16"); } return 0; /* do not store value in hash table */ }
int main(int argc, char **argv) { int X=100, Y=200; FILE *fp; Ihandle *dlg, *mat; fp = fopen("test.dat", "r"); if (fp != NULL) { fread(&X,sizeof(int),1,fp); fread(&Y,sizeof(int),1,fp); fclose(fp); } printf("X,Y=%d,%d\n", X, Y); IupOpen(&argc, &argv); IupControlsOpen (); mat = create_mat(); dlg = IupDialog(mat); IupSetAttribute(dlg,"SHRINK","YES"); IupSetAttribute(dlg, "TITLE", "IupMatrix"); IupSetCallback(dlg, "RESIZE_CB", (Icallback) resize_cb); IupSetCallback(dlg, "CLOSE_CB", (Icallback) close_cb); IupShowXY (dlg,X,Y); IupMainLoop (); IupClose (); return EXIT_SUCCESS; }
int main(int argc, char **argv) { Ihandle *dialog, *canvas; IupOpen(&argc, &argv); canvas = IupCanvas(NULL); IupSetAttribute(canvas, "RASTERSIZE", "300x200"); /* initial size */ IupSetAttribute(canvas, "SCROLLBAR", "YES"); IupSetAttribute(canvas, "XMAX", "599"); IupSetAttribute(canvas, "YMAX", "399"); IupSetCallback(canvas, "SCROLL_CB", (Icallback)scroll_cb); IupSetCallback(canvas, "RESIZE_CB", (Icallback)resize_cb); IupSetCallback(canvas, "ACTION", (Icallback)action); dialog = IupDialog(canvas); IupSetAttribute(dialog, "TITLE", "Scrollbar Test"); IupMap(dialog); cdcanvas = cdCreateCanvas(CD_IUP, canvas); IupSetAttribute(canvas, "RASTERSIZE", NULL); /* release the minimum limitation */ IupShowXY(dialog,IUP_CENTER,IUP_CENTER); IupMainLoop(); cdKillCanvas(cdcanvas); IupDestroy(dialog); IupClose(); return EXIT_SUCCESS; }
void GLCanvasCubeTest(void) { Ihandle *dlg, *canvas, *box; IupGLCanvasOpen(); box = IupVbox(NULL); IupSetAttribute(box, "MARGIN", "5x5"); canvas = IupGLCanvas(NULL); IupSetCallback(canvas, "ACTION", action); IupSetCallback(canvas, "BUTTON_CB", (Icallback)button_cb); IupSetCallback(canvas, "MOTION_CB", (Icallback)motion_cb); // IupSetAttribute(canvas, "BUFFER", "DOUBLE"); IupSetAttribute(canvas, "RASTERSIZE", "300x300"); IupAppend(box, canvas); dlg = IupDialog(IupSetAttributes(IupFrame(box), "TITLE=Test")); IupSetAttribute(dlg, "TITLE", "IupGLCanvas Test"); // IupSetAttribute(dlg, "COMPOSITED", "YES"); IupMap(dlg); IupGLMakeCurrent(canvas); // init(); printf("Vendor: %s\n", glGetString(GL_VENDOR)); printf("Renderer: %s\n", glGetString(GL_RENDERER)); printf("Version: %s\n", glGetString(GL_VERSION)); IupSetAttribute(canvas, "RASTERSIZE", NULL); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); }
static int winFrameMapMethod(Ihandle* ih) { char *title; DWORD dwStyle = WS_CHILD|WS_CLIPSIBLINGS| BS_OWNERDRAW, /* owner draw necessary because BS_GROUPBOX does not work ok */ dwExStyle = 0; if (!ih->parent) return IUP_ERROR; title = iupAttribGet(ih, "TITLE"); if (title) iupAttribSetStr(ih, "_IUPFRAME_HAS_TITLE", "1"); if (iupAttribGetBoolean(IupGetDialog(ih), "COMPOSITED")) dwExStyle |= WS_EX_COMPOSITED; else dwStyle |= WS_CLIPCHILDREN; if (!iupwinCreateWindowEx(ih, "BUTTON", dwExStyle, dwStyle)) return IUP_ERROR; /* replace the WinProc to handle other messages */ IupSetCallback(ih, "_IUPWIN_CTRLPROC_CB", (Icallback)winFrameProc); /* Process WM_DRAWITEM */ IupSetCallback(ih, "_IUPWIN_DRAWITEM_CB", (Icallback)winFrameDrawItem); return IUP_NOERROR; }
static int iCellsCreateMethod(Ihandle* ih, void **params) { (void)params; /* free the data allocated by IupCanvas */ free(ih->data); ih->data = iupALLOCCTRLDATA(); /* change the IupCanvas default values */ iupAttribSet(ih, "SCROLLBAR", "YES"); iupAttribSet(ih, "BORDER", "NO"); /* default values */ ih->data->boxed = 1; ih->data->clipped = 1; /* IupCanvas callbacks */ IupSetCallback(ih, "RESIZE_CB", (Icallback)iCellsResize_CB); IupSetCallback(ih, "ACTION", (Icallback)iCellsRedraw_CB); IupSetCallback(ih, "BUTTON_CB", (Icallback)iCellsButton_CB); IupSetCallback(ih, "MOTION_CB", (Icallback)iCellsMotion_CB); IupSetCallback(ih, "SCROLL_CB", (Icallback)iCellsScroll_CB); return IUP_NOERROR; }
void TrayTest(void) { Ihandle *dlg, *img; img = IupImage(16, 16, pixmap); IupSetAttribute(img, "0", "BGCOLOR"); IupSetAttribute(img, "1", "255 255 0"); IupSetAttribute(img, "2", "255 0 0"); IupSetAttribute(img, "3", "255 255 0"); IupSetHandle ("img", img); dlg = IupDialog(NULL); IupSetAttribute(dlg, "TITLE", "Tray Test"); IupSetAttribute(dlg, "TRAY", "YES"); IupSetAttribute(dlg, "TRAYTIP", "Tip at Tray"); IupSetAttribute(dlg, "TRAYIMAGE", "img"); IupSetAttribute(dlg, "SIZE", "100x100"); IupSetCallback(dlg, "TRAYCLICK_CB", (Icallback)trayclick); IupSetCallback(dlg, "CLOSE_CB", (Icallback)close_cb); IupSetCallback(dlg, "K_ESC", (Icallback)k_esc); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); /* start only the task bar icon */ IupSetAttribute(dlg, "HIDETASKBAR", "YES"); }
static Ihandle* create_matrix(void) { Ihandle* mat = IupMatrix(NULL); IupSetAttribute(mat, "NUMCOL", "3"); IupSetAttribute(mat, "NUMLIN", "3"); IupSetAttribute(mat, "NUMCOL_VISIBLE", "3"); IupSetAttribute(mat, "NUMLIN_VISIBLE", "3"); // IupSetAttribute(mat, "HEIGHT0", "10"); // IupSetAttribute(mat, "WIDTH2", "90"); // IupSetAttribute(mat, "HEIGHT2", "30"); // IupSetAttribute(mat, "WIDTHDEF", "34"); // IupSetAttribute(mat,"RESIZEMATRIX", "YES"); IupSetAttribute(mat,"SCROLLBAR", "NO"); IupSetCallback(mat,"VALUE_CB",(Icallback)value_cb); IupSetCallback(mat,"VALUE_EDIT_CB",(Icallback)value_edit_cb); //IupSetAttribute(mat, "NUMCOL_VISIBLE_LAST", "YES"); //IupSetAttribute(mat, "NUMLIN_VISIBLE_LAST", "YES"); // IupSetAttribute(mat, "WIDTHDEF", "15"); return mat; }
int main(int argc, char **argv) { IupOpen(&argc, &argv); memset(password, 0, 100); text = IupText(NULL); IupSetAttribute(text, "SIZE", "200x"); IupSetCallback(text, "ACTION", (Icallback) action); IupSetCallback(text, "K_ANY", (Icallback) k_any); pwd = IupText(NULL); IupSetAttribute(pwd, "READONLY", "YES"); IupSetAttribute(pwd, "SIZE", "200x"); dlg = IupDialog(IupVbox(text, pwd, NULL)); IupSetAttribute(dlg, "TITLE", "IupText"); IupShowXY(dlg, IUP_CENTER, IUP_CENTER); IupMainLoop(); IupDestroy(dlg); IupClose(); return 0; }
int IupGetText(const char* title, char* text) { Ihandle *ok, *cancel, *multi_text, *button_box, *dlg_box, *dialog; int bt; multi_text = IupMultiLine("do_nothing"); IupSetAttribute(multi_text,IUP_EXPAND, IUP_YES); IupSetAttribute(multi_text, IUP_SIZE, "200x80"); IupSetAttribute(multi_text,IUP_VALUE, text); IupSetAttribute(multi_text,IUP_FONT, IUP_COURIER_NORMAL_12); ok = IupButton(strok, NULL); IupSetAttribute (ok ,IUP_SIZE ,"50x"); IupSetCallback(ok, "ACTION", (Icallback)CB_button_OK); IupSetHandle( "IupGetTextOkButton", ok ); cancel = IupButton(strcancel, NULL); IupSetAttribute (cancel,IUP_SIZE ,"50x"); IupSetCallback(cancel, "ACTION", (Icallback)CB_button_CANCEL); IupSetHandle( "IupGetTextCancelButton", cancel ); button_box = IupHbox( IupSetAttributes(IupFill(), "EXPAND=HORIZONTAL"), ok, IupSetAttributes(IupFill(), "SIZE=1x"), cancel, NULL); IupSetAttribute(button_box,IUP_MARGIN,"0x0"); dlg_box = IupVbox( multi_text, IupSetAttributes(IupFill(), "SIZE=1x"), button_box, NULL); IupSetAttribute(dlg_box,IUP_MARGIN,"10x10"); IupSetAttribute(dlg_box,IUP_GAP,"5"); dialog = IupDialog (dlg_box); IupSetAttribute (dialog,IUP_TITLE,title); IupSetAttribute (dialog,IUP_MINBOX,IUP_NO); IupSetAttribute (dialog,IUP_MAXBOX,IUP_NO); IupSetAttribute (dialog,IUP_DEFAULTENTER,"IupGetTextOkButton"); IupSetAttribute (dialog,IUP_DEFAULTESC,"IupGetTextCancelButton"); IupSetAttribute (dialog,IUP_PARENTDIALOG, IupGetGlobal(IUP_PARENTDIALOG)); IupSetAttribute (dialog, IUP_ICON, IupGetGlobal(IUP_ICON)); IupPopup(dialog, IUP_CENTER, IUP_CENTER); bt = IupGetInt(dialog, IUP_STATUS); if (bt==1) strcpy(text, IupGetAttribute(multi_text, IUP_VALUE)); else bt = 0; /* return 0 instead of -1 */ IupDestroy(dialog); return bt; }
void WebBrowserTest(void) { Ihandle *txt, *dlg, *web; Ihandle *btLoad, *btReload, *btBack, *btForward, *btStop; #ifndef WIN32 Ihandle *history; #endif IupWebBrowserOpen(); // Creates an instance of the WebBrowser control web = IupWebBrowser(); // Creates a dialog containing the control dlg = IupDialog(IupVbox(IupHbox(btBack = IupButton("Back", NULL), btForward = IupButton("Forward", NULL), txt = IupText(""), btLoad = IupButton("Load", NULL), btReload = IupButton("Reload", NULL), btStop = IupButton("Stop", NULL), #ifndef WIN32 history = IupButton("History", NULL), #endif NULL), web, NULL)); IupSetAttribute(dlg, "TITLE", "IupWebBrowser"); IupSetAttribute(dlg, "MY_TEXT", (char*)txt); IupSetAttribute(dlg, "MY_WEB", (char*)web); IupSetAttribute(dlg, "RASTERSIZE", "800x600"); IupSetAttribute(dlg, "MARGIN", "10x10"); IupSetAttribute(dlg, "GAP", "10"); //IupSetAttribute(web, "HTML", "<html><body><b>Hello</b>World!</body></html>"); // IupSetAttribute(txt, "VALUE", "My HTML"); IupSetAttribute(txt, "VALUE", "http://www.tecgraf.puc-rio.br/iup"); // IupSetAttribute(txt, "VALUE", "file:///D:/tecgraf/iup/html/index.html"); IupSetAttribute(web, "VALUE", IupGetAttribute(txt, "VALUE")); IupSetAttributeHandle(dlg, "DEFAULTENTER", btLoad); IupSetAttribute(txt, "EXPAND", "HORIZONTAL"); IupSetCallback(btLoad, "ACTION", (Icallback)load_cb); IupSetCallback(btReload, "ACTION", (Icallback)reload_cb); IupSetCallback(btBack, "ACTION", (Icallback)back_cb); IupSetCallback(btForward, "ACTION", (Icallback)forward_cb); IupSetCallback(btStop, "ACTION", (Icallback)stop_cb); #ifndef WIN32 IupSetCallback(history, "ACTION", (Icallback)history_cb); #endif IupSetCallback(web, "NEWWINDOW_CB", (Icallback)newwindow_cb); IupSetCallback(web, "NAVIGATE_CB", (Icallback)navigate_cb); IupSetCallback(web, "ERROR_CB", (Icallback)error_cb); IupSetCallback(web, "COMPLETED_CB", (Icallback)completed_cb); // Shows dialog IupShow(dlg); }
void iuplua_show_error_message(const char *pname, const char* msg) { Ihandle *multi_text, *lbl, *copy, *button, *box, *dlg, *abort, *buttonbox; char* value = IupGetGlobal("LUA_ERROR_LABEL"); if (!pname) pname = "_@IUP_ERROR"; lbl = IupLabel("_@IUP_LUAERROR"); IupSetAttribute(lbl, "EXPAND", "HORIZONTAL"); if (value) IupSetStrAttribute(lbl, "TITLE", value); copy = IupButton("_@IUP_COPY", NULL); IupSetStrAttribute(copy, "TIP", "_@IUP_COPYTOCLIPBOARD"); IupSetStrAttribute(copy, "PADDING", IupGetGlobal("DEFAULTBUTTONPADDING")); IupSetCallback(copy, "ACTION", show_error_copy_action); button = IupButton("_@IUP_CONTINUE", NULL); IupSetStrAttribute(button, "PADDING", IupGetGlobal("DEFAULTBUTTONPADDING")); IupSetCallback(button, "ACTION", show_error_continue_action); abort = IupButton("_@IUP_EXIT", NULL); IupSetStrAttribute(abort, "PADDING", IupGetGlobal("DEFAULTBUTTONPADDING")); IupSetCallback(abort, "ACTION", show_error_exit_action); multi_text = IupMultiLine(NULL); IupSetAttribute(multi_text, "EXPAND", "YES"); IupSetAttribute(multi_text, "READONLY", "YES"); IupSetAttribute(multi_text, "FONT", "Courier, 12"); IupSetAttribute(multi_text, "VISIBLELINES", "10"); IupSetAttribute(multi_text, "VISIBLECOLUMNS", "50"); IupSetAttribute(multi_text, "NAME", "TEXT"); IupSetStrAttribute(multi_text, "VALUE", msg); buttonbox = IupHbox(copy, button, abort, NULL); IupSetAttribute(buttonbox, "GAP", "50"); IupSetAttribute(IupNormalizer(button, abort, NULL), "NORMALIZE", "HORIZONTAL"); box = IupVbox(lbl, multi_text, buttonbox, NULL); IupSetAttribute(box, "ALIGNMENT", "ACENTER"); IupSetAttribute(box, "NMARGIN", "10x10"); IupSetAttribute(box, "GAP", "10"); dlg = IupDialog(box); IupSetStrAttribute(dlg, "TITLE", pname); IupSetAttribute(dlg, "MINBOX", "NO"); IupSetAttribute(dlg, "MAXBOX", "NO"); IupSetAttribute(dlg, "PARENTDIALOG", IupGetGlobal("PARENTDIALOG")); IupSetAttribute(dlg, "ICON", IupGetGlobal("ICON")); IupSetAttributeHandle(dlg, "DEFAULTESC", button); IupSetAttributeHandle(dlg, "DEFAULTENTER", button); IupSetAttributeHandle(dlg, "STARTFOCUS", button); IupPopup(dlg, IUP_CENTERPARENT, IUP_CENTERPARENT); IupDestroy(dlg); }
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, "EXTFILTER", "Text files|*.txt;*.doc|Image files|*.jpg;*.bmp;*.gif|"); // IupSetAttribute(dlg, "FILE", "/tecgraf/im/test.bmp"); IupSetAttribute(dlg, "FILE", "test.bmp"); } IupSetCallback(dlg, "HELP_CB", (Icallback)help_cb); // 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"); if (preview) { IupSetAttribute(dlg, "SHOWPREVIEW", "YES"); IupSetCallback(dlg, "FILE_CB", (Icallback)file_cb); #ifdef USE_OPENGL if (preview==2) { Ihandle* glcanvas = IupGLCanvas(NULL); IupSetAttribute(glcanvas, "BUFFER", "DOUBLE"); IupSetAttributeHandle(dlg, "PREVIEWGLCANVAS", glcanvas); } #endif } IupPopup(dlg, IUP_CURRENT, IUP_CURRENT); switch(IupGetInt(dlg, "STATUS")) { case 1: printf("OK\n"); printf(" New file - VALUE(%s)\n", IupGetAttribute(dlg, "VALUE")); break; case 0 : printf("OK\n"); printf(" File exists - VALUE(%s)\n", IupGetAttribute(dlg, "VALUE")); break; case -1 : printf("CANCEL\n"); break; } IupDestroy(dlg); }
//Downloads und installs the latest supported nw.js version for the specified application. int downloaderGui_download(){ downloaderGui = IupGetHandle("downloaderDlg"); pb = IupGetHandle("pb"); status = IupGetHandle("status"); IupSetCallback(IupGetHandle("cancel"), "ACTION", (Icallback)cancelCb); IupSetCallback(downloaderGui, "CLOSE_CB", (Icallback)cancelCb); IupSetFunction("IDLE_ACTION", downloadCb); IupPopup(downloaderGui, IUP_CENTERPARENT, IUP_CENTERPARENT); return globalResult; }
static int iGLButtonCreateMethod(Ihandle* ih, void** params) { IupSetCallback(ih, "GL_ACTION", iGLButtonACTION); IupSetCallback(ih, "GL_BUTTON_CB", (Icallback)iGLButtonBUTTON_CB); IupSetCallback(ih, "GL_LEAVEWINDOW_CB", iupGLSubCanvasRedraw); IupSetCallback(ih, "GL_ENTERWINDOW_CB", iupGLSubCanvasRedraw); (void)params; /* label create already parsed title */ return IUP_NOERROR; }
int item_goto_action_cb(Ihandle* item_goto) { Ihandle* multitext = IupGetDialogChild(item_goto, "MULTITEXT"); Ihandle *dlg, *box, *bt_ok, *bt_cancel, *txt, *lbl; int line_count = IupGetInt(multitext, "LINECOUNT"); lbl = IupLabel(NULL); IupSetfAttribute(lbl, "TITLE", "Line Number [1-%d]:", line_count); txt = IupText(NULL); IupSetAttribute(txt, "MASK", IUP_MASK_UINT); /* unsigned integer numbers only */ IupSetAttribute(txt, "NAME", "LINE_TEXT"); IupSetAttribute(txt, "VISIBLECOLUMNS", "20"); bt_ok = IupButton("OK", NULL); IupSetInt(bt_ok, "TEXT_LINECOUNT", line_count); IupSetAttribute(bt_ok, "PADDING", "10x2"); IupSetCallback(bt_ok, "ACTION", (Icallback)goto_ok_action_cb); bt_cancel = IupButton("Cancel", NULL); IupSetCallback(bt_cancel, "ACTION", (Icallback)goto_cancel_action_cb); IupSetAttribute(bt_cancel, "PADDING", "10x2"); box = IupVbox( lbl, txt, IupSetAttributes(IupHbox( IupFill(), bt_ok, bt_cancel, NULL), "NORMALIZESIZE=HORIZONTAL"), NULL); IupSetAttribute(box, "MARGIN", "10x10"); IupSetAttribute(box, "GAP", "5"); dlg = IupDialog(box); IupSetAttribute(dlg, "TITLE", "Go To Line"); IupSetAttribute(dlg, "DIALOGFRAME", "Yes"); IupSetAttributeHandle(dlg, "DEFAULTENTER", bt_ok); IupSetAttributeHandle(dlg, "DEFAULTESC", bt_cancel); IupSetAttributeHandle(dlg, "PARENTDIALOG", IupGetDialog(item_goto)); IupPopup(dlg, IUP_CENTERPARENT, IUP_CENTERPARENT); if (IupGetInt(dlg, "STATUS") == 1) { int line = IupGetInt(txt, "VALUE"); int pos; IupTextConvertLinColToPos(multitext, line, 0, &pos); IupSetInt(multitext, "CARETPOS", pos); IupSetInt(multitext, "SCROLLTOPOS", pos); } IupDestroy(dlg); return IUP_DEFAULT; }
static int winButtonMapMethod(Ihandle* ih) { char* value; DWORD dwStyle = WS_CHILD | WS_CLIPSIBLINGS | BS_NOTIFY; /* necessary because of the base messages */ if (!ih->parent) return IUP_ERROR; /* Buttons with the BS_PUSHBUTTON style do NOT use the returned brush in WM_CTLCOLORBTN. Buttons with these styles are always drawn with the default system colors. So FGCOLOR and BGCOLOR do NOT work. The BS_FLAT style does NOT completely remove the borders. With XP styles is ignored. So FLAT do NOT work. BCM_SETTEXTMARGIN is not working either. Buttons with images and with XP styles do NOT draw the focus feedback. Can NOT remove the borders when using IMPRESS. >>>> So IUP will draw its own button, but uses the Windows functions to draw text and images in native format. */ if (iupwin_comctl32ver6) dwStyle |= BS_PUSHBUTTON; /* it will be an ownerdraw because we use NM_CUSTOMDRAW */ else dwStyle |= BS_OWNERDRAW; value = iupAttribGet(ih, "IMAGE"); if (value) { ih->data->type = IUP_BUTTON_IMAGE; value = iupAttribGet(ih, "TITLE"); if (value && *value!=0) ih->data->type |= IUP_BUTTON_TEXT; } else ih->data->type = IUP_BUTTON_TEXT; if (iupAttribGetBoolean(ih, "CANFOCUS")) dwStyle |= WS_TABSTOP; if (!iupwinCreateWindow(ih, WC_BUTTON, 0, dwStyle, NULL)) return IUP_ERROR; /* Process WM_COMMAND */ IupSetCallback(ih, "_IUPWIN_COMMAND_CB", (Icallback)winButtonWmCommand); /* Process BUTTON_CB and others */ IupSetCallback(ih, "_IUPWIN_CTRLMSGPROC_CB", (Icallback)winButtonMsgProc); if (iupwin_comctl32ver6) IupSetCallback(ih, "_IUPWIN_NOTIFY_CB", (Icallback)winButtonWmNotify); /* Process WM_NOTIFY */ else IupSetCallback(ih, "_IUPWIN_DRAWITEM_CB", (Icallback)winButtonDrawItem); /* Process WM_DRAWITEM */ return IUP_NOERROR; }
int main(int argc, char **argv) { Ihandle *dlg; Ihandle *list, *list_multiple, *list_dropdown; Ihandle *frm_medal, *frm_sport, *frm_prize; IupOpen(&argc, &argv); list = IupList ("list_act"); IupSetAttributes (list, "1=Gold, 2=Silver, 3=Bronze, 4=Tecgraf, 5=None," "SHOWIMAGE=YES, SHOWDRAGDROP=YES, XXX_SPACING=4, VALUE=4"); load_medal_images(); IupSetAttribute(list, "IMAGE1", "IMGGOLD"); IupSetAttribute(list, "IMAGE2", "IMGSILVER"); IupSetAttribute(list, "IMAGE3", "IMGBRONZE"); IupSetAttributeHandle(list, "IMAGE4", load_image_Tecgraf()); IupSetCallback(list, "DRAGDROP_CB", (Icallback)dragdrop_cb); // IupSetAttribute(list, "FONT", "Helvetica, Bold 40"); // IupSetAttribute(list, "AUTOHIDE", "NO"); frm_medal = IupFrame (list); IupSetAttribute (frm_medal, "TITLE", "Best medal"); list_multiple = IupList(NULL); IupSetAttributes (list_multiple, "1=\"100m dash\", 2=\"Long jump\", 3=\"Javelin throw\", 4=\"110m hurdlers\", 5=\"Hammer throw\",6=\"High jump\"," "MULTIPLE=YES, VALUE=\"+--+--\", SIZE=EIGHTHxEIGHTH"); IupSetCallback(list_multiple, "ACTION", (Icallback)list_multiple_cb); frm_sport = IupFrame (list_multiple); IupSetAttribute (frm_sport, "TITLE", "Competed in"); list_dropdown = IupList (NULL); IupSetAttributes (list_dropdown, "1=\"Less than US$ 1000\", 2=\"US$ 2000\", 3=\"US$ 5000\", 4=\"US$ 10000\", 5=\"US$ 20000\", 6=\"US$ 50000\", 7=\"More than US$ 100000\"," "SHOWIMAGE=YES, DROPDOWN=YES, VISIBLE_ITEMS=3"); IupSetAttributeHandle(list_dropdown, "IMAGE1", IupImageRGB(20, 20, image_data_24)); IupSetAttributeHandle(list_dropdown, "IMAGE2", IupImageRGB(20, 20, image_data_24)); IupSetAttributeHandle(list_dropdown, "IMAGE3", load_image_Tecgraf()); frm_prize = IupFrame (list_dropdown); IupSetAttribute (frm_prize, "TITLE", "Prizes won"); dlg = IupDialog (IupHbox (frm_medal, frm_sport, frm_prize, NULL)); IupSetAttribute (dlg, "TITLE", "IupList Example"); IupShowXY (dlg, IUP_CENTER, IUP_CENTER); // IupSetAttribute(IupGetChild(dlg, 0), "BGCOLOR", "92 92 255"); // IupSetAttribute(dlg, "BACKGROUND", "200 10 80"); // IupSetAttribute(dlg, "BGCOLOR", "92 92 255"); IupMainLoop (); IupClose (); return EXIT_SUCCESS; }
static Ihandle* create(void) { Ihandle* cells = IupCells(); IupSetCallback(cells, "DRAW_CB", (Icallback)draw_cb); IupSetCallback(cells, "WIDTH_CB", (Icallback)width_cb); IupSetCallback(cells, "HEIGHT_CB", (Icallback)height_cb); IupSetCallback(cells, "NLINES_CB", (Icallback)nlines_cb); IupSetCallback(cells, "NCOLS_CB", (Icallback)ncols_cb); return cells; }