/*------------------------------------------------------------------------------------------------------------------ -- FUNCTION: InitWindow -- -- DATE: February 9th, 2016 -- -- REVISIONS: February 9th, 2016: Created InitWindow -- February 15th, 2016: Commented -- -- DESIGNER: Carson Roscoe -- -- PROGRAMMER: Carson Roscoe -- -- int InitWindow(HINSTANCE hInstance) -- -- RETURN: int regarding success or fail -- -- NOTES: -- Creates the window, assigns UI and gives them default values. ----------------------------------------------------------------------------------------------------------------------*/ int InitWindow(HINSTANCE hInstance) { WNDCLASSEX wcex; ////Setup Window//// wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION)); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1); wcex.lpszClassName = PROGRAM_TITLE; wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION)); if (!RegisterClassEx(&wcex)) { DWORD errorCode = GetLastError(); perror("RegisterClassEx Failed with error " + errorCode); return -1; } hwnd = CreateWindow(PROGRAM_TITLE, PROGRAM_TITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 700, 500, NULL, NULL, hInstance, NULL); if (!hwnd) { DWORD errorCode = GetLastError(); perror("CreateWindow Failed with error " + errorCode); return -1; } ////Assign UI//// labelIP = CreateLabel("IP ", MARGIN, MARGIN, LABELWIDTH, LABELHEIGHT); editTextIP = CreateEditText("127.0.0.1", EDITSTART + MARGIN, MARGIN, EDITWIDTH, EDITHEIGHT); labelPort = CreateLabel("Port ", MARGIN + LABELWIDTH + SPACING + EDITWIDTH, MARGIN, LABELWIDTH, LABELHEIGHT); editTextPort = CreateEditText("7000", LABELWIDTH * 2 + SPACING * 2 + EDITWIDTH, MARGIN, EDITWIDTH, EDITHEIGHT); labelPacketSize = CreateLabel("Size ", MARGIN, MARGIN + LABELHEIGHT + SPACING, LABELWIDTH, LABELHEIGHT); comboBox1 = CreateComboBox(EDITSTART + MARGIN, MARGIN + LABELHEIGHT + SPACING, EDITWIDTH, COMBOHEIGHT); labelQuantity = CreateLabel("Quantity ", MARGIN + LABELWIDTH + SPACING + EDITWIDTH, MARGIN + LABELHEIGHT + SPACING, LABELWIDTH, LABELHEIGHT); comboBox2 = CreateComboBox(LABELWIDTH * 2 + SPACING * 2 + EDITWIDTH, MARGIN + LABELHEIGHT + SPACING, EDITWIDTH, COMBOHEIGHT); labelProtocol = CreateLabel("Protocol ", MARGIN, MARGIN + LABELHEIGHT * 2 + SPACING * 2, LABELWIDTH, LABELHEIGHT); comboBox3 = CreateComboBox(EDITSTART + MARGIN, MARGIN + LABELHEIGHT*2 + SPACING*2, EDITWIDTH, COMBOHEIGHT); buttonSend = CreateButton("Send ", MARGIN + LABELWIDTH + SPACING + EDITWIDTH, MARGIN + LABELHEIGHT * 2 + SPACING * 2, LABELWIDTH + EDITWIDTH + SPACING, LABELHEIGHT); textBoxResult = CreateTextBox(MARGIN, MARGIN + LABELHEIGHT * 3 + SPACING * 3, MARGIN + LABELWIDTH + SPACING + EDITWIDTH + LABELWIDTH + EDITWIDTH, LABELHEIGHT * 5); ////Give UI default values//// ComboBox_AddString(comboBox1, "1024"); ComboBox_AddString(comboBox1, "2048"); ComboBox_AddString(comboBox1, "4096"); ComboBox_AddString(comboBox1, "8192"); ComboBox_AddString(comboBox1, "16384"); ComboBox_AddString(comboBox1, "20000"); ComboBox_AddString(comboBox1, "32768"); ComboBox_AddString(comboBox1, "60000"); ComboBox_AddString(comboBox1, "65536"); ComboBox_AddString(comboBox2, "1"); ComboBox_AddString(comboBox2, "10"); ComboBox_AddString(comboBox2, "25"); ComboBox_AddString(comboBox2, "50"); ComboBox_AddString(comboBox2, "100"); ComboBox_AddString(comboBox2, "200"); ComboBox_AddString(comboBox2, "500"); ComboBox_AddString(comboBox2, "1000"); ComboBox_AddString(comboBox3, "TCP"); ComboBox_AddString(comboBox3, "UDP"); ComboBox_SetCurSel(comboBox1, 0); ComboBox_SetCurSel(comboBox2, 0); ComboBox_SetCurSel(comboBox3, 0); return 0; }
static void AddListFItem(t_x11 *x11, t_dlgitemlist *list, t_fitem *fitem, t_id GroupID, t_id *ID, int x, int *y, int *w,bool bUseMon) { int i,iSel,slen; char buf[STRLEN]; switch(fitem->edlg) { case edlgBN: AddListItem (list,CreateButton(x11,fitem->name[0],fitem->bDef,(*ID)++,GroupID, x,(*y),0,0,0)); break; case edlgRB: strcpy(buf,fitem->def); iSel=-1; for (i=0; (i<fitem->nname); i++) { char buf2[100]; strcpy(buf2,fitem->name[i]); buf2[strlen(buf)]='\0'; /* truncate itemname */ if (strcasecmp(buf2,buf)==0) iSel=i; } for(i=0; (i<fitem->nname); i++) { AddListItem(list, CreateRadioButton(x11,fitem->name[i],(iSel==i), (*ID)++,GroupID,x,(*y),0,0,0)); (*y)+=list->list[list->nitem-1]->win.height+OFFS_Y; (*w)=max((*w),list->list[list->nitem-1]->win.width); SetDlgitemOpts(list->list[list->nitem-1],bUseMon, fitem->set,fitem->get,fitem->help); } break; case edlgCB: { bool bCheck; bCheck=strcasecmp(fitem->def,"TRUE")==0; AddListItem(list,CreateCheckBox(x11,fitem->name[0],bCheck, (*ID)++,GroupID,x,(*y),0,0,0)); break; } case edlgST: AddListItem(list, CreateStaticText(x11,fitem->nname,fitem->name,(*ID)++, GroupID,x,(*y),0,0,0)); break; case edlgET: slen=strlen(fitem->name[0])+strlen(fitem->def); AddListItem(list,CreateEditText(x11,fitem->name[0],slen,fitem->def, (*ID)++,GroupID,x,(*y),0,0,0)); break; case edlgPM: case edlgGB: default: gmx_fatal(FARGS,"Invalid list->list type: %d\n",fitem->edlg); } SetDlgitemOpts(list->list[list->nitem-1],bUseMon, fitem->set,fitem->get,fitem->help); if (fitem->edlg != edlgRB) { (*y)+=list->list[list->nitem-1]->win.height+OFFS_Y; (*w)=max((*w),list->list[list->nitem-1]->win.width); } }