CXFA_Node* CXFA_FFWidgetHandler::CreateWidgetFormItem( XFA_WIDGETTYPE eType, CXFA_Node* pParent, CXFA_Node* pBefore) const { switch (eType) { case XFA_WIDGETTYPE_Barcode: return NULL; case XFA_WIDGETTYPE_PushButton: return CreatePushButton(pParent, pBefore); case XFA_WIDGETTYPE_CheckButton: return CreateCheckButton(pParent, pBefore); case XFA_WIDGETTYPE_ExcludeGroup: return CreateExclGroup(pParent, pBefore); case XFA_WIDGETTYPE_RadioButton: return CreateRadioButton(pParent, pBefore); case XFA_WIDGETTYPE_Arc: return CreateArc(pParent, pBefore); case XFA_WIDGETTYPE_Rectangle: return CreateRectangle(pParent, pBefore); case XFA_WIDGETTYPE_Image: return CreateImage(pParent, pBefore); case XFA_WIDGETTYPE_Line: return CreateLine(pParent, pBefore); case XFA_WIDGETTYPE_Text: return CreateText(pParent, pBefore); case XFA_WIDGETTYPE_DatetimeEdit: return CreateDatetimeEdit(pParent, pBefore); case XFA_WIDGETTYPE_DecimalField: return CreateDecimalField(pParent, pBefore); case XFA_WIDGETTYPE_NumericField: return CreateNumericField(pParent, pBefore); case XFA_WIDGETTYPE_Signature: return CreateSignature(pParent, pBefore); case XFA_WIDGETTYPE_TextEdit: return CreateTextEdit(pParent, pBefore); case XFA_WIDGETTYPE_DropdownList: return CreateDropdownList(pParent, pBefore); case XFA_WIDGETTYPE_ListBox: return CreateListBox(pParent, pBefore); case XFA_WIDGETTYPE_ImageField: return CreateImageField(pParent, pBefore); case XFA_WIDGETTYPE_PasswordEdit: return CreatePasswordEdit(pParent, pBefore); case XFA_WIDGETTYPE_Subform: return CreateSubform(pParent, pBefore); default: break; } return NULL; }
void ActCB(Widget w, XtPointer closure, XtPointer call_data) { register int n; Arg args[MAX_ARGS]; if (PullDown7 == NULL) { printf("Activate Callback, add a menu\n"); n = 0; PullDown7 = XmCreatePulldownMenu (MenuBar1, "pulldown7", args, n); Label7 = CreateLabel("Menu7", PullDown7); Separator7 = CreateSeparator(PullDown7, "Separator7"); PushBtn7 = CreatePushButton("pushbutton7", 'p', PullDown7); n = 0; XtSetArg(args[n], XmNsubMenuId, PullDown7); n++; XtSetValues(w, args, n); XtManageChild(PullDown7); } }
void CascadeCB(Widget w, XtPointer closure, XtPointer call_data) { register int n; Arg args[MAX_ARGS]; if (PullDown6 == NULL) { printf("Cascading Callback, add a menu\n"); n = 0; PullDown6 = XmCreatePulldownMenu (MenuBar1, "pulldown6", args, n); Label6 = CreateLabel("Menu6", PullDown6); Separator6 = CreateSeparator(PullDown6, "Separator6"); PushBtn6 = CreatePushButton("pushbutton6", 'p', PullDown6); n = 0; XtSetArg(args[n], XmNsubMenuId, PullDown6); n++; XtSetValues(w, args, n); XtManageChild(PullDown6); } }
LRESULT CALLBACK WndProc ( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { int i; switch ( msg ) { case WM_CREATE: g_hwnd = hwnd; /* ---- Initial page ---- */ for (i = 0 ; i < 14 ; i++) Buttons[i] = CreateCheckButton(StyleNames[i],150,500+i); xButPos += 160; yButPos = 10; for (; i < 19 ; i++) Buttons[i] = CreateCheckButton(StyleNames[i],140,500+i); Buttons[i++] = CreatePushButton("Width +",70,100,WS_VISIBLE); Buttons[i++] = CreatePushButton("Width -",70,101,WS_VISIBLE); Buttons[i++] = CreatePushButton("Heigth +",70,102,WS_VISIBLE); Buttons[i++] = CreatePushButton("Heigth -",70,103,WS_VISIBLE); Buttons[i++] = CreatePushButton("CreateWindowA",140,CREATEWINDOW,WS_VISIBLE); Buttons[i++] = CreatePushButton("CreateWindowExA",140,CREATEWINDOWEX,WS_VISIBLE); Buttons[i++] = CreatePushButton("CreateWindowExW",140,CREATEWINDOWW,WS_VISIBLE); /* ---- The 1st page of buttons ---- */ xButPos = 0; yButPos = 10; for (i = 0 ; i < 14 ; i++) MessageButtons[i] = CreatePushButton(Msg[i].Text,170,600+i,0); xButPos += 180; yButPos = 10; for (; i < 26 ; i++) MessageButtons[i] = CreatePushButton(Msg[i].Text,170,600+i,0); Back1But = CreatePushButton("Back - destroys edit",170,400,0); NextBut = CreatePushButton("Next",170,401,0); /* ---- The 2nd page of buttons ------*/ xButPos = 0; yButPos = 10; for (; i<40; i++) MessageButtons[i] = CreatePushButton(Msg[i].Text,170,600+i,0); xButPos += 180; yButPos = 10; for (; i < MAXMESSAGEBUTTONS ; i++) MessageButtons[i] = CreatePushButton(Msg[i].Text,170,600+i,0); Back2But = CreatePushButton("Back",170,402,0); break; case WM_COMMAND: if (LOWORD(wParam) >= 600) { Msg[LOWORD(wParam)-600].Handler(hwndEdit, Msg[LOWORD(wParam)-600].MsgCode, Msg[LOWORD(wParam)-600].wParam, Msg[LOWORD(wParam)-600].lParam); break; } switch(LOWORD(wParam)){ case 100: EditWidth += 10; break; case 101: EditWidth -= 10; break; case 102: EditHeight += 10; break; case 103: EditHeight -= 10; break; case 400: BackToInitialPage(); break; case 401: ForwardToSecondPage(); break; case 402: BackToFirstPage(); break; case CREATEWINDOW: UnicodeUsed = FALSE; ReadNHide(); hwndEdit = CreateWindow("EDIT", TestStr, EditStyle | WS_CHILD | WS_VISIBLE, 350, 10, EditWidth, EditHeight, g_hwnd, NULL, g_hInst, NULL); break; case CREATEWINDOWEX: UnicodeUsed = FALSE; ReadNHide(); hwndEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", TestStr, EditStyle | WS_CHILD | WS_VISIBLE , 350, 10, EditWidth, EditHeight, g_hwnd, NULL, g_hInst, NULL); break; case CREATEWINDOWW: UnicodeUsed = TRUE; ReadNHide(); hwndEdit = CreateWindowExW(WS_EX_CLIENTEDGE, L"EDIT", TestStrW, EditStyle | WS_CHILD | WS_VISIBLE , 350, 10, EditWidth, EditHeight, g_hwnd, NULL, g_hInst, NULL); break; } if (lParam == (LPARAM)hwndEdit) switch(HIWORD(wParam)) { case EN_CHANGE: PrintTextXY("EN_CHANGE notification",NOTIFYX,NOTIFYY,22); break; case EN_ERRSPACE: PrintTextXY("EN_ERRSPACE notification",NOTIFYX,NOTIFYY,24); break; /* --- FIXME not defined in w32api-2.3 headers case H_SCROLL: PrintTextXY("H_SCROLL notification",NOTIFYX,NOTIFYY,21); break; */ /* --- FIXME not defined in w32api-2.3 headers case KILL_FOCUS: PrintTextXY("KILL_FOCUS notification",NOTIFYX,NOTIFYY,23); break; */ /* --- FIXME not defined in w32api-2.3 headers case EN_MAXTEST: PrintTextXY("EN_MAXTEXT notification",NOTIFYX,NOTIFYY,23); break; */ case EN_SETFOCUS: PrintTextXY("EN_SETFOCUS notification",NOTIFYX,NOTIFYY,24); break; case EN_UPDATE: PrintTextXY("EN_UPDATE notification",NOTIFYX,NOTIFYY + 20,22); break; case EN_VSCROLL: PrintTextXY("EN_VSCROLL notification",NOTIFYX,NOTIFYY,23); break; } break; case WM_SIZE : return 0; case WM_CLOSE: DestroyWindow (g_hwnd); return 0; case WM_QUERYENDSESSION: return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc ( hwnd, msg, wParam, lParam ); }
LRESULT CALLBACK WndProc ( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { int i; switch ( msg ) { case WM_CREATE: g_hwnd = hwnd; /* ---- Initial page ---- */ for (i = 0 ; i < 14 ; i++) Buttons[i] = CreateCheckButton(Styles[i].Name,CHECKBUTWIDTH,500+i); xButPos += CHECKBUTWIDTH + 10; yButPos = 10; for (; i < NUMBERCHECKS ; i++) Buttons[i] = CreateCheckButton(Styles[i].Name,CHECKBUTWIDTH,500+i); Buttons[i++] = CreatePushButton("Width +",70,100,WS_VISIBLE); Buttons[i++] = CreatePushButton("Width -",70,101,WS_VISIBLE); Buttons[i++] = CreatePushButton("Heigth +",70,102,WS_VISIBLE); Buttons[i++] = CreatePushButton("Heigth -",70,103,WS_VISIBLE); Buttons[i++] = CreatePushButton("CreateWindowA",CHECKBUTWIDTH,CREATEWINDOW_ID,WS_VISIBLE); Buttons[i++] = CreatePushButton("CreateWindowExA",CHECKBUTWIDTH,CREATEWINDOWEX_ID,WS_VISIBLE); Buttons[i++] = CreatePushButton("CreateWindowExW",CHECKBUTWIDTH,CREATEWINDOWW_ID,WS_VISIBLE); /* ---- The 1st page of buttons ---- */ xButPos = 0; yButPos = 10; for (i = 0 ; i < 14 ; i++) MessageButtons[i] = CreatePushButton(Msg[i].Text,CHECKBUTWIDTH,600+i,0); xButPos += CHECKBUTWIDTH + 10; yButPos = 10; for (; i < 26 ; i++) MessageButtons[i] = CreatePushButton(Msg[i].Text,CHECKBUTWIDTH,600+i,0); Back1But = CreatePushButton("Back - destroys ComboBox",CHECKBUTWIDTH,INITPAGE_ID,0); NextBut = CreatePushButton("Next",CHECKBUTWIDTH,SECONDPAGE_ID,0); /* ---- The 2nd page of buttons ------*/ xButPos = 0; yButPos = 10; for (; i<40; i++) MessageButtons[i] = CreatePushButton(Msg[i].Text,CHECKBUTWIDTH,600+i,0); xButPos += CHECKBUTWIDTH + 10; yButPos = 10; for (; i < MAXMESSAGEBUTTONS ; i++) MessageButtons[i] = CreatePushButton(Msg[i].Text,CHECKBUTWIDTH,600+i,0); Back2But = CreatePushButton("Back",CHECKBUTWIDTH,BACKFIRSTPAGE_ID,0); break; case WM_COMMAND: if (LOWORD(wParam) >= 600) { Msg[LOWORD(wParam)-600].Handler(hwndEdit, Msg[LOWORD(wParam)-600].MsgCode, Msg[LOWORD(wParam)-600].wParam, Msg[LOWORD(wParam)-600].lParam); break; } switch(LOWORD(wParam)){ case 100: ControlWidth += 10; break; case 101: ControlWidth -= 10; break; case 102: ControlHeight += 10; break; case 103: ControlHeight -= 10; break; case INITPAGE_ID: BackToInitialPage(); break; case SECONDPAGE_ID: ForwardToSecondPage(); break; case BACKFIRSTPAGE_ID: BackToFirstPage(); break; case CREATEWINDOW_ID: ReadNHide(); srect.top = CONTROLPOSY + ControlHeight; hwndEdit = CreateWindow(CONTROLCLASS, NULL, ComboStyle | WS_CHILD | WS_VISIBLE, CONTROLPOSX, CONTROLPOSY, ControlWidth, ControlHeight, g_hwnd, NULL, g_hInst, NULL); break; case CREATEWINDOWEX_ID: ReadNHide(); srect.top = CONTROLPOSY + ControlHeight; hwndEdit = CreateWindowEx(WS_EX_CLIENTEDGE, CONTROLCLASS, NULL, ComboStyle | WS_CHILD | WS_VISIBLE , CONTROLPOSX, CONTROLPOSY, ControlWidth, ControlHeight, g_hwnd, NULL, g_hInst, NULL); break; case CREATEWINDOWW_ID: ReadNHide(); srect.top = CONTROLPOSY + ControlHeight; hwndEdit = CreateWindowExW(WS_EX_CLIENTEDGE, CONTROLCLASSW, NULL, ComboStyle | WS_CHILD | WS_VISIBLE , CONTROLPOSX, CONTROLPOSY, ControlWidth, ControlHeight, g_hwnd, NULL, g_hInst, NULL); break; } if (lParam == (LPARAM)hwndEdit) switch(HIWORD(wParam)) { case CBN_DROPDOWN: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_DROPDOWN notification",NOTIFYX,NOTIFYY,25,srect); break; case CBN_CLOSEUP: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_CLOSEUP notification",NOTIFYX,NOTIFYY,24,srect); break; case CBN_DBLCLK: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_DBLCLK notification",NOTIFYX,NOTIFYY,23,srect); break; case CBN_EDITCHANGE: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_EDITCHANGE notification",NOTIFYX,NOTIFYY,27,srect); break; case (WORD)CBN_ERRSPACE: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_ERRSPACE notification",NOTIFYX,NOTIFYY,25,srect); break; case CBN_KILLFOCUS: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_KILLFOCUS notification",NOTIFYX,NOTIFYY,26,srect); break; case CBN_EDITUPDATE: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_EDITUPDATE notification",NOTIFYX,NOTIFYY,27,srect); break; case CBN_SELCHANGE: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_SELCHANGE notification",NOTIFYX,NOTIFYY,26,srect); break; case CBN_SELENDCANCEL: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_SELENDCANCEL notification",NOTIFYX,NOTIFYY,29,srect); break; case CBN_SETFOCUS: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_SETFOCUS notification",NOTIFYX,NOTIFYY,25,srect); break; case CBN_SELENDOK: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("CBN_SELENDOK notification",NOTIFYX,NOTIFYY,25,srect); break; } return DefWindowProc ( hwnd, msg, wParam, lParam ); case WM_MEASUREITEM: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("WM_MEASUREITEM called",NOTIFYX,NOTIFYY,21,srect); break; case WM_COMPAREITEM: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("WM_COMPAREITEM called",NOTIFYX,NOTIFYY,21,srect); break; case WM_DRAWITEM: ScrollWindow (hwnd, 0, SCROLLAMOUNT, &srect, &srect); PrintTextXY("WM_DRAWITEM called",NOTIFYX,NOTIFYY,18,srect); break; case WM_SIZE : return 0; case WM_CLOSE: DestroyWindow (g_hwnd); return 0; case WM_QUERYENDSESSION: return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc ( hwnd, msg, wParam, lParam ); }
int main(int argc, char **argv) { register int n; Arg args[MAX_ARGS]; XmString tcs; void PostPopup(); void ButtonCB(); CommonTestInit(argc, argv); n = 0; XtSetArg(args[n], XmNwidth, 200); n++; XtSetArg(args[n], XmNheight, 40); n++; XtSetValues(Shell1, args, n); XtRealizeWidget(Shell1); Label = CreateLabel("Press MB3 to dismiss PopupMenu", Shell1); /* ** PopupMenu1 */ n = 0; XtSetArg(args[n], XmNx, 100); n++; XtSetArg(args[n], XmNy, 100); n++; XtSetArg(args[n], XmNmenuAccelerator, NULL); n++; PopupMenu1 = XmCreatePopupMenu(Label, "popupMenu", args, n); /* ** Menu1 */ Label1 = CreateLabel("Menu1", PopupMenu1); Separator1 = CreateSeparator(PopupMenu1, "Separator1"); PushBtn1 = CreatePushButton("PushButton1", PopupMenu1); ToggleBtn1 = CreateToggle("Toggle1", PopupMenu1); XtManageChild(PopupMenu1); CommonPause(); XtDestroyWidget(PopupMenu1); n =0; XtSetArg(args[n], XmNrowColumnType, XmMENU_POPUP); n++; PopupMenu2 = XmCreateRowColumn(Shell1, "popupMenu2", args, n); /* ** Menu2 */ Label2 = CreateLabel("Menu2", PopupMenu2); Separator2 = CreateSeparator(PopupMenu2, "Separator2"); PushBtn2 = CreatePushButton("PushButton2", PopupMenu2); ToggleBtn2 = CreateToggle("Toggle2", PopupMenu2); XtManageChild(PopupMenu2); CommonPause(); XtDestroyWidget(Label); XtDestroyWidget(PopupMenu2); /* * Test 3 for PIR 2669 */ n = 0; testingArea = XmCreateBulletinBoard(Shell1, "PushButtonHere", args, n); n = 0; XtSetArg(args[n], XmNx, 10); n++; XtSetArg(args[n], XmNy, 30); n++; MainButton = XmCreatePushButton(testingArea, "button0", args, n); XtAddCallback(MainButton, XmNactivateCallback, ButtonCB, (XtPointer) 0); XtManageChild(MainButton); popup = XmCreatePopupMenu(testingArea, "Popups", NULL, 0); XtAddEventHandler(testingArea, ButtonPressMask, FALSE, PostPopup, popup); XmAddToPostFromList(popup, MainButton); push = XmCreatePushButton(popup, "button1", NULL, 0); XtAddCallback(push, XmNactivateCallback, ButtonCB, (XtPointer) 1); XtManageChild(push); push = XmCreatePushButton(popup, "button2", NULL, 0); XtAddCallback(push, XmNactivateCallback, ButtonCB, (XtPointer) 2); XtManageChild(push); push = XmCreatePushButton(popup, "button3", NULL, 0); XtAddCallback(push, XmNactivateCallback, ButtonCB, (XtPointer) 3); XtManageChild(push); XtManageChild(testingArea); CommonPause(); XtDestroyWidget(testingArea); CommonPause(); XtAppMainLoop(app_context); }