BOOL AP_Win32Dialog_HdrFtr::_onCommand(HWND hWnd, WPARAM wParam, LPARAM /*lParam*/) { WORD wNotifyCode = HIWORD(wParam); WORD wId = LOWORD(wParam); switch (wId) { case AP_RID_DIALOG_HDRFTR_BTN_CANCEL: setAnswer( a_CANCEL ); EndDialog(hWnd,0); return 1; case AP_RID_DIALOG_HDRFTR_BTN_OK: { bool bHdrEven = _win32Dialog.isChecked(AP_RID_DIALOG_HDRFTR_CHK_HDRFACING) != 0; bool bHdrFirst = _win32Dialog.isChecked(AP_RID_DIALOG_HDRFTR_CHK_HDRFIRST) != 0; bool bHdrLast = _win32Dialog.isChecked(AP_RID_DIALOG_HDRFTR_CHK_HDRLAST) != 0; bool bFtrEven = _win32Dialog.isChecked(AP_RID_DIALOG_HDRFTR_CHK_FTRFACING) != 0; bool bFtrFirst = _win32Dialog.isChecked(AP_RID_DIALOG_HDRFTR_CHK_FTRFIRST) != 0; bool bFtrLast = _win32Dialog.isChecked(AP_RID_DIALOG_HDRFTR_CHK_FTRLAST) != 0; bool bRestart = _win32Dialog.isChecked(AP_RID_DIALOG_HDRFTR_CHK_SECTION) != 0; UT_sint32 val = _win32Dialog.getControlInt(AP_RID_DIALOG_HDRFTR_EBX_SECTION); setValue( HdrEven, bHdrEven, bHdrEven != getValue(HdrEven) ); setValue( HdrFirst, bHdrFirst, bHdrFirst != getValue(HdrFirst) ); setValue( HdrLast, bHdrLast, bHdrLast != getValue(HdrLast) ); setValue( FtrEven, bFtrEven, bFtrEven != getValue(FtrEven) ); setValue( FtrFirst, bFtrFirst, bFtrFirst != getValue(FtrFirst) ); setValue( FtrLast, bFtrLast, bFtrLast != getValue(FtrLast) ); setRestart( bRestart, val, (bRestart != isRestart() || val != getRestartValue()) ); } setAnswer( a_OK ); EndDialog(hWnd,0); return 1; case AP_RID_DIALOG_HDRFTR_CHK_SECTION: _win32Dialog.enableControl(AP_RID_DIALOG_HDRFTR_LBL_SECTION, _win32Dialog.isChecked(wId)!=0); _win32Dialog.enableControl(AP_RID_DIALOG_HDRFTR_EBX_SECTION, _win32Dialog.isChecked(wId)!=0); _win32Dialog.enableControl(AP_RID_DIALOG_HDRFTR_SPN_SECTION, _win32Dialog.isChecked(wId)!=0); return 1; case AP_RID_DIALOG_HDRFTR_EBX_SECTION: if( wNotifyCode == EN_KILLFOCUS ) { UT_sint32 value = _win32Dialog.getControlInt(AP_RID_DIALOG_HDRFTR_EBX_SECTION); _win32Dialog.setControlInt(AP_RID_DIALOG_HDRFTR_EBX_SECTION, value ); } return 1; default: // we did not handle this notification UT_DEBUGMSG(("WM_Command for id %ld\n",wId)); return 0; // return zero to let windows take care of it. } }
BOOL AP_Win32Dialog_HdrFtr::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { XAP_Win32App * app = static_cast<XAP_Win32App *> (m_pApp); UT_return_val_if_fail (app,0); m_hThisDlg = hWnd; const XAP_StringSet * pSS = m_pApp->getStringSet(); // localize dialog title _win32Dialog.setDialogTitle( pSS->getValue(AP_STRING_ID_DLG_HdrFtr_Title) ); // localize controls _DSX(HDRFTR_BTN_OK, DLG_OK); _DSX(HDRFTR_BTN_CANCEL, DLG_Cancel); _DS(HDRFTR_GBX_HDR, DLG_HdrFtr_HeaderFrame); _DS(HDRFTR_CHK_HDRFACING, DLG_HdrFtr_HeaderEven); _DS(HDRFTR_CHK_HDRFIRST, DLG_HdrFtr_HeaderFirst); _DS(HDRFTR_CHK_HDRLAST, DLG_HdrFtr_HeaderLast); _DS(HDRFTR_GBX_FTR, DLG_HdrFtr_FooterFrame); _DS(HDRFTR_CHK_FTRFACING, DLG_HdrFtr_FooterEven); _DS(HDRFTR_CHK_FTRFIRST, DLG_HdrFtr_FooterFirst); _DS(HDRFTR_CHK_FTRLAST, DLG_HdrFtr_FooterLast); _DS(HDRFTR_CHK_SECTION, DLG_HdrFtr_RestartCheck); _DS(HDRFTR_LBL_SECTION, DLG_HdrFtr_RestartNumbers); // set initial state _win32Dialog.checkButton(AP_RID_DIALOG_HDRFTR_CHK_HDRFACING, getValue(HdrEven)); _win32Dialog.checkButton(AP_RID_DIALOG_HDRFTR_CHK_HDRFIRST, getValue(HdrFirst)); _win32Dialog.checkButton(AP_RID_DIALOG_HDRFTR_CHK_HDRLAST, getValue(HdrLast)); _win32Dialog.checkButton(AP_RID_DIALOG_HDRFTR_CHK_FTRFACING, getValue(FtrEven)); _win32Dialog.checkButton(AP_RID_DIALOG_HDRFTR_CHK_FTRFIRST, getValue(FtrFirst)); _win32Dialog.checkButton(AP_RID_DIALOG_HDRFTR_CHK_FTRLAST, getValue(FtrLast)); _win32Dialog.setControlInt(AP_RID_DIALOG_HDRFTR_EBX_SECTION, getRestartValue()); bool bRestart = isRestart(); _win32Dialog.checkButton(AP_RID_DIALOG_HDRFTR_CHK_SECTION, bRestart); _win32Dialog.enableControl(AP_RID_DIALOG_HDRFTR_LBL_SECTION, bRestart); _win32Dialog.enableControl(AP_RID_DIALOG_HDRFTR_EBX_SECTION, bRestart); _win32Dialog.enableControl(AP_RID_DIALOG_HDRFTR_SPN_SECTION, bRestart); XAP_Win32DialogHelper::s_centerDialog(hWnd); return 1; }
/*! * construct the dialog window. */ GtkWidget * AP_UnixDialog_HdrFtr::_constructWindow (void) { GtkWidget * window; const XAP_StringSet * pSS = m_pApp->getStringSet(); const char * uiFileName; #if defined(EMBEDDED_TARGET) && EMBEDDED_TARGET == EMBEDDED_TARGET_HILDON uiFileName = "ap_UnixHildonDialog_HdrFtr.ui"; #else #if GTK_CHECK_VERSION(3,0,0) uiFileName = "ap_UnixDialog_HdrFtr.ui"; #else uiFileName = "ap_UnixDialog_HdrFtr-2.ui"; #endif #endif GtkBuilder * builder = newDialogBuilder(uiFileName); // Update our member variables with the important widgets that // might need to be queried or altered later window = GTK_WIDGET(gtk_builder_get_object(builder, "ap_UnixDialog_HdrFtr")); m_wHdrFtrCheck[HdrEven] = GTK_WIDGET(gtk_builder_get_object(builder, "cbHeaderFacingPages")); m_wHdrFtrCheck[HdrFirst] = GTK_WIDGET(gtk_builder_get_object(builder, "cbHeaderFirstPage")); m_wHdrFtrCheck[HdrLast] = GTK_WIDGET(gtk_builder_get_object(builder, "cbHeaderLastPage")); m_wHdrFtrCheck[FtrEven] = GTK_WIDGET(gtk_builder_get_object(builder, "cbFooterFacingPages")); m_wHdrFtrCheck[FtrFirst] = GTK_WIDGET(gtk_builder_get_object(builder, "cbFooterFirstPage")); m_wHdrFtrCheck[FtrLast] = GTK_WIDGET(gtk_builder_get_object(builder, "cbFooterLastPage")); m_wRestartLabel = GTK_WIDGET(gtk_builder_get_object(builder, "lbRestartNumbering")); m_wRestartButton = GTK_WIDGET(gtk_builder_get_object(builder, "lbRestartPageNumbers")); m_wSpin = GTK_WIDGET(gtk_builder_get_object(builder, "sbRestartNumberingAt")); m_spinAdj = gtk_spin_button_get_adjustment( GTK_SPIN_BUTTON(m_wSpin) ); // set the dialog title std::string s; pSS->getValueUTF8(AP_STRING_ID_DLG_HdrFtr_Title,s); abiDialogSetTitle(window, "%s", s.c_str()); // localize the strings in our dialog localizeLabelMarkup(GTK_WIDGET(gtk_builder_get_object(builder, "lbHeaderProperties")), pSS, AP_STRING_ID_DLG_HdrFtr_HeaderFrame); localizeButton(m_wHdrFtrCheck[HdrEven], pSS, AP_STRING_ID_DLG_HdrFtr_HeaderEven); localizeButton(m_wHdrFtrCheck[HdrFirst], pSS, AP_STRING_ID_DLG_HdrFtr_HeaderFirst); localizeButton(m_wHdrFtrCheck[HdrLast], pSS, AP_STRING_ID_DLG_HdrFtr_HeaderLast); localizeLabelMarkup(GTK_WIDGET(gtk_builder_get_object(builder, "lbFooterProperties")), pSS, AP_STRING_ID_DLG_HdrFtr_FooterFrame); localizeButton(m_wHdrFtrCheck[FtrEven], pSS, AP_STRING_ID_DLG_HdrFtr_FooterEven); localizeButton(m_wHdrFtrCheck[FtrFirst], pSS, AP_STRING_ID_DLG_HdrFtr_FooterFirst); localizeButton(m_wHdrFtrCheck[FtrLast], pSS, AP_STRING_ID_DLG_HdrFtr_FooterLast); localizeLabelMarkup(GTK_WIDGET(gtk_builder_get_object(builder, "lbPageNumberProperties")), pSS, AP_STRING_ID_DLG_HdrFtr_PageNumberProperties); localizeButton(m_wRestartButton, pSS, AP_STRING_ID_DLG_HdrFtr_RestartCheck); localizeLabel(GTK_WIDGET(gtk_builder_get_object(builder, "lbRestartNumbering")), pSS, AP_STRING_ID_DLG_HdrFtr_RestartNumbers); // Now set initial state of the dialog gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_wSpin),static_cast<gfloat>(getRestartValue())); if(isRestart()) { gtk_widget_set_sensitive(m_wSpin,TRUE); gtk_widget_set_sensitive(m_wRestartLabel,TRUE); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(m_wRestartButton),TRUE); } else { gtk_widget_set_sensitive(m_wSpin,FALSE); gtk_widget_set_sensitive(m_wRestartLabel,FALSE); } UT_sint32 j = static_cast<UT_sint32>(HdrEven); for(j = static_cast<UT_sint32>(HdrEven) ; j<= static_cast<UT_sint32>(FtrLast); j++) { bool value = getValue( static_cast<HdrFtr_Control>(j)); if(value) { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(m_wHdrFtrCheck[j]),TRUE); } else { gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(m_wHdrFtrCheck[j]),FALSE); } } _connectSignals(); g_object_unref(G_OBJECT(builder)); return window; }