// This handles the WM_INITDIALOG message for the top-level dialog. BOOL AP_Win32Dialog_InsertTable::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { const XAP_StringSet * pSS = m_pApp->getStringSet(); char szValue[BUFSIZE]; m_hwndDlg = hWnd; // localize controls _DSX(BTN_OK, DLG_OK); _DSX(BTN_CANCEL, DLG_Cancel); _DS(TEXT_SIZE, DLG_InsertTable_TableSize); _DS(TEXT_COLUMN, DLG_InsertTable_NumCols); _DS(TEXT_ROW, DLG_InsertTable_NumRows); _DS(TEXT_AUTOFIT, DLG_InsertTable_AutoFit); _DS(RADIO_AUTO, DLG_InsertTable_AutoColSize); _DS(RADIO_FIXED, DLG_InsertTable_FixedColSize); // Localise caption SetWindowText(hWnd, pSS->getValue(AP_STRING_ID_DLG_InsertTable_TableTitle)); // Set Spin range (TODO: check if the max value is correct, copied from the unix version) SendMessage(GetDlgItem(hWnd,AP_RID_DIALOG_INSERTTABLE_SPIN_COLUMN),UDM_SETRANGE,(WPARAM)0,(LPARAM)MAKELONG((short)64,(short)1)); SendMessage(GetDlgItem(hWnd,AP_RID_DIALOG_INSERTTABLE_SPIN_ROW),UDM_SETRANGE,(WPARAM)0,(LPARAM)MAKELONG((short)500,(short)1)); SendMessage(GetDlgItem(hWnd,AP_RID_DIALOG_INSERTTABLE_SPIN_SIZE),UDM_SETRANGE,(WPARAM)0,(LPARAM)MAKELONG((short)9999,(short)1)); // Limit to four chars SendMessage(GetDlgItem(hWnd,AP_RID_DIALOG_INSERTTABLE_TEXT_COLUMN),EM_LIMITTEXT,(WPARAM)5,(WPARAM)0); SendMessage(GetDlgItem(hWnd,AP_RID_DIALOG_INSERTTABLE_TEXT_ROW),EM_LIMITTEXT,(WPARAM)5,(WPARAM)0); SendMessage(GetDlgItem(hWnd,AP_RID_DIALOG_INSERTTABLE_TEXT_SIZE),EM_LIMITTEXT,(WPARAM)5,(WPARAM)0); CheckRadioButton(hWnd, AP_RID_DIALOG_INSERTTABLE_RADIO_AUTO, AP_RID_DIALOG_INSERTTABLE_RADIO_FIXED, AP_RID_DIALOG_INSERTTABLE_RADIO_AUTO); SetFocus(GetDlgItem(hWnd,AP_RID_DIALOG_INSERTTABLE_VAL_COLUMN)); SendDlgItemMessage(hWnd, AP_RID_DIALOG_INSERTTABLE_VAL_COLUMN, EM_SETSEL, 0, -1); // Set default values sprintf(szValue, "%u", getNumCols()); SetDlgItemText(hWnd, AP_RID_DIALOG_INSERTTABLE_VAL_COLUMN, szValue); sprintf(szValue, "%u", getNumRows()); SetDlgItemText(hWnd, AP_RID_DIALOG_INSERTTABLE_VAL_ROW, szValue); sprintf(szValue, "%02.2f", getColumnWidth()); SetDlgItemText(hWnd, AP_RID_DIALOG_INSERTTABLE_VAL_SIZE, szValue); /* Units name*/ SetDlgItemText(hWnd, AP_RID_DIALOG_INSERTTABLE_TEXT_UNITS, UT_dimensionName(m_dim)); /* Autosize by default*/ EnableWindow(GetDlgItem(m_hwndDlg,AP_RID_DIALOG_INSERTTABLE_VAL_SIZE), FALSE); EnableWindow(GetDlgItem(m_hwndDlg,AP_RID_DIALOG_INSERTTABLE_SPIN_SIZE), FALSE); XAP_Win32DialogHelper::s_centerDialog(hWnd); return 0; // 0 because we called SetFocus }
BOOL XAP_Win32Dialog_Zoom::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { const XAP_StringSet* pSS = m_pApp->getStringSet(); // Update the caption setDialogTitle(pSS->getValue(XAP_STRING_ID_DLG_Zoom_ZoomTitle)); // localize controls _DSX(ZOOM_BTN_CLOSE, DLG_Close); _DS(ZOOM_TEXT_ZOOMTO, DLG_Zoom_RadioFrameCaption); _DS(ZOOM_RADIO_200, DLG_Zoom_200); _DS(ZOOM_RADIO_100, DLG_Zoom_100); _DS(ZOOM_RADIO_75, DLG_Zoom_75); _DS(ZOOM_RADIO_WIDTH, DLG_Zoom_PageWidth); _DS(ZOOM_RADIO_WHOLE, DLG_Zoom_WholePage); _DS(ZOOM_RADIO_PCT, DLG_Zoom_Percent); // set initial state checkButton(XAP_RID_DIALOG_ZOOM_RADIO_200 + m_zoomType); setControlInt(XAP_RID_DIALOG_ZOOM_EDIT_PCT, (UINT) m_zoomPercent); m_bEditPctEnabled = ((XAP_RID_DIALOG_ZOOM_RADIO_200 + m_zoomType) == XAP_RID_DIALOG_ZOOM_RADIO_PCT); enableControl(XAP_RID_DIALOG_ZOOM_EDIT_PCT ,m_bEditPctEnabled); SendMessageW(GetDlgItem(hWnd,XAP_RID_DIALOG_ZOOM_SPIN_PCT),UDM_SETRANGE, (WPARAM)0,(LPARAM)MAKELONG(XAP_DLG_ZOOM_MAXIMUM_ZOOM,XAP_DLG_ZOOM_MINIMUM_ZOOM)); _updatePreviewZoomPercent(getZoomPercent()); centerDialog(); return 1; // 1 == we did not call SetFocus() }
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; }
BOOL AP_Win32Dialog_InsertHyperlink::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { const XAP_StringSet* pSS = m_pApp->getStringSet(); // Update the caption setDialogTitle(pSS->getValue(AP_STRING_ID_DLG_InsertHyperlink_Title)); /* Localise controls*/ _DSX(INSERTHYPERLINK_BTN_OK, DLG_OK); _DSX(INSERTHYPERLINK_BTN_CANCEL, DLG_Cancel); _DS(INSERTHYPERLINK_LBL_MSG, DLG_InsertHyperlink_Msg); // initial data resetContent(AP_RID_DIALOG_INSERTHYPERLINK_LBX_LINK); UT_uint32 count = getExistingBookmarksCount(); for( UT_uint32 i = 0; i < count; i++) { addItemToList( AP_RID_DIALOG_INSERTHYPERLINK_LBX_LINK, getNthExistingBookmark( i ) ); } SetFocus(GetDlgItem(hWnd,AP_RID_DIALOG_INSERTHYPERLINK_EBX_LINK)); const gchar * hyperlink = getHyperlink(); if(hyperlink) { if(hyperlink[0]=='#') //ignore the anchor for internal bookmarks { setControlText(AP_RID_DIALOG_INSERTHYPERLINK_EBX_LINK, hyperlink+1); } else { setControlText(AP_RID_DIALOG_INSERTHYPERLINK_EBX_LINK, hyperlink); } selectControlText(AP_RID_DIALOG_INSERTHYPERLINK_EBX_LINK, 0, -1); } centerDialog(); return 0; // 0 because we called set focus }
BOOL AP_Win32Dialog_Annotation::_onInitDialog(HWND /*hWnd*/, WPARAM /*wParam*/, LPARAM /*lParam*/) { const XAP_StringSet * pSS = m_pApp->getStringSet(); setDialogTitle(pSS->getValue(AP_STRING_ID_DLG_Annotation_Title)); // localize controls _DSX(BTN_OK, DLG_OK); _DSX(BTN_CANCEL, DLG_Cancel); _DS(TEXT_TITLE, DLG_Annotation_Title_LBL); _DS(TEXT_AUTHOR, DLG_Annotation_Author_LBL); _DS(TEXT_DESCRIPTION, DLG_Annotation_Description_LBL); _set_text(AP_RID_DIALOG_ANNOTATION_EDIT_TITLE, getTitle ()); _set_text(AP_RID_DIALOG_ANNOTATION_EDIT_AUTHOR, getAuthor ()); _set_text(AP_RID_DIALOG_ANNOTATION_EDIT_DESCRIPTION, getDescription ()); centerDialog(); return 1; // 1 == we did not call SetFocus() }
BOOL AP_Win32Dialog_Stylist::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { const XAP_StringSet * pSS = m_pApp->getStringSet(); //localize Caption setDialogTitle(pSS->getValue(AP_STRING_ID_DLG_Stylist_Title)); // localize controls _DSX(BTN_OK, DLG_OK); _DSX(BTN_CANCEL, DLG_Close); _DS(TEXT_STYLES, DLG_Stylist_Styles); _populateWindowData(); HWND hTree = GetDlgItem(m_hDlg, AP_RID_DIALOG_STYLIST_TREE_STYLIST); hTreeProc = (WHICHPROC) GetWindowLongPtrW(hTree, GWLP_WNDPROC); // save off our prior callback SetWindowLongPtrW(hTree, GWLP_WNDPROC, (LONG_PTR)s_treeProc); // tie the treeview to the new callback SetWindowLongPtrW(hTree, GWLP_USERDATA, (LONG_PTR)this); centerDialog(); return 1; // 1 == we did not call SetFocus() }
BOOL AP_Win32Dialog_ToggleCase::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { m_hThisDlg = hWnd; const XAP_StringSet * pSS = m_pApp->getStringSet(); SetWindowText( hWnd, pSS->getValue(AP_STRING_ID_DLG_ToggleCase_Title) ); // localize controls _DSX(TOGGLECASE_BTN_OK, DLG_OK); _DSX(TOGGLECASE_BTN_CANCEL, DLG_Cancel); _DS(TOGGLECASE_RDO_SentenceCase, DLG_ToggleCase_SentenceCase); _DS(TOGGLECASE_RDO_LowerCase, DLG_ToggleCase_LowerCase); _DS(TOGGLECASE_RDO_UpperCase, DLG_ToggleCase_UpperCase); _DS(TOGGLECASE_RDO_TitleCase, DLG_ToggleCase_FirstUpperCase); _DS(TOGGLECASE_RDO_ToggleCase, DLG_ToggleCase_ToggleCase); m_helper.checkButton(AP_RID_DIALOG_TOGGLECASE_RDO_SentenceCase, true); XAP_Win32DialogHelper::s_centerDialog(hWnd); return 1; // 1 == we did not call SetFocus() }
BOOL AP_Win32Dialog_Field::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { const XAP_StringSet * pSS = m_pApp->getStringSet(); setDialogTitle (pSS->getValue(AP_STRING_ID_DLG_Field_FieldTitle)); // localize controls _DSX(FIELD_BTN_OK, DLG_OK); _DSX(FIELD_BTN_CANCEL, DLG_Cancel); _DS(FIELD_TEXT_TYPES, DLG_Field_Types); _DS(FIELD_TEXT_FORMATS, DLG_Field_Fields); _DS(FIELD_TEXT_PARAM, DLG_Field_Parameters); // set initial state m_hwndTypes = GetDlgItem(hWnd, AP_RID_DIALOG_FIELD_LIST_TYPES); m_hwndFormats = GetDlgItem(hWnd, AP_RID_DIALOG_FIELD_LIST_FORMATS); m_hwndParam = GetDlgItem(hWnd, AP_RID_DIALOG_FIELD_EDIT_PARAM); SetTypesList(); SetFieldsList(); centerDialog(); return 1; // 1 == we did not call SetFocus() }
// This handles the WM_INITDIALOG message for the top-level dialog. BOOL AP_Win32Dialog_SplitCells::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { HDC hdc; int x, y; RECT rect; DWORD dwColor = GetSysColor(COLOR_BTNFACE); UT_RGBColor Color(GetRValue(dwColor),GetGValue(dwColor),GetBValue(dwColor)); const XAP_StringSet * pSS = m_pApp->getStringSet(); m_hwndDlg = hWnd; // localise controls _DS(TEXT_LEFT, DLG_SplitCells_Left); _DS(TEXT_VERTMID, DLG_SplitCells_VertMid); _DS(TEXT_RIGHT, DLG_SplitCells_Right); _DS(TEXT_ABOVE, DLG_SplitCells_Above); _DS(TEXT_HORIMID, DLG_SplitCells_HoriMid); _DS(TEXT_BELOW, DLG_SplitCells_Below); _DS(TEXT_FRAME, DLG_SplitCells_Frame); _DSX(BTN_CANCEL, DLG_Close); // Localise caption ConstructWindowName(); SetWindowText(m_hwndDlg, m_WindowName); // The six items are the same size GetClientRect(GetDlgItem(hWnd, AP_RID_DIALOG_SPLITCELLS_BMP_LEFT), &rect); hdc = GetDC(hWnd); x = rect.right - rect.left, y = rect.bottom - rect.top, // Load the bitmaps into the dialog box m_hBitmapLeft = _loadBitmap(hWnd,AP_RID_DIALOG_SPLITCELLS_BMP_LEFT, "SPLITLEFT", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapRight = _loadBitmap(hWnd,AP_RID_DIALOG_SPLITCELLS_BMP_VERTMID, "SPLITVERTMID", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapRight = _loadBitmap(hWnd,AP_RID_DIALOG_SPLITCELLS_BMP_RIGHT, "SPLITRIGHT", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapAbove = _loadBitmap(hWnd,AP_RID_DIALOG_SPLITCELLS_BMP_ABOVE, "SPLITABOVE", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapAbove = _loadBitmap(hWnd,AP_RID_DIALOG_SPLITCELLS_BMP_HORIMID, "SPLITHORIMID", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapBelow = _loadBitmap(hWnd,AP_RID_DIALOG_SPLITCELLS_BMP_BELOW, "SPLITBELOW", BITMAP_WITDH, BITMAP_HEIGHT, Color); setAllSensitivities(); XAP_Win32DialogHelper::s_centerDialog(hWnd); SetFocus(GetDlgItem(hWnd,AP_RID_DIALOG_SPLITCELLS_BTN_CANCEL)); return 0; // 0 because we called SetFocus }
// This handles the WM_INITDIALOG message for the top-level dialog. BOOL AP_Win32Dialog_MailMerge::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { const XAP_StringSet * pSS = m_pApp->getStringSet(); // Localise Controls _DS(STATIC_AVAIL, DLG_MailMerge_AvailableFields); _DS(STATIC_FIELD, DLG_MailMerge_Insert_No_Colon); _DS(BTN_OPEN, DLG_MailMerge_OpenFile); _DS(BTN_INSERT, DLG_InsertButton); _DSX(BTN_CLOSE, DLG_Close); setDialogTitle (pSS->getValue(AP_STRING_ID_DLG_MailMerge_MailMergeTitle)); centerDialog(); SetFocus(GetDlgItem(hWnd,AP_RID_DIALOG_MAILMERGE_BTN_CLOSE)); return 0; // 0 because we called SetFocus }
// This handles the WM_INITDIALOG message for the top-level dialog. BOOL AP_Win32Dialog_MergeCells::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { HDC hdc; int x, y; RECT rect; DWORD dwColor = GetSysColor(COLOR_BTNFACE); UT_RGBColor Color(GetRValue(dwColor),GetGValue(dwColor),GetBValue(dwColor)); const XAP_StringSet * pSS = m_pApp->getStringSet(); // Localise caption setDialogTitle (pSS->getValue(AP_STRING_ID_DLG_MergeCellsTitle)); // localise controls _DS(TEXT_LEFT, DLG_MergeCells_Left); _DS(TEXT_RIGHT, DLG_MergeCells_Right); _DS(TEXT_ABOVE, DLG_MergeCells_Above); _DS(TEXT_BELOW, DLG_MergeCells_Below); _DS(TEXT_FRAME, DLG_MergeCells_Frame); _DSX(BTN_CANCEL, DLG_Close); // The four items are the same size GetClientRect(GetDlgItem(hWnd, AP_RID_DIALOG_MERGECELLS_BMP_LEFT), &rect); hdc = GetDC(hWnd); x = rect.right - rect.left, y = rect.bottom - rect.top, // Load the bitmaps into the dialog box m_hBitmapLeft = _loadBitmap(hWnd,AP_RID_DIALOG_MERGECELLS_BMP_LEFT, "MERGELEFT", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapRight = _loadBitmap(hWnd,AP_RID_DIALOG_MERGECELLS_BMP_RIGHT, "MERGERIGHT", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapAbove = _loadBitmap(hWnd,AP_RID_DIALOG_MERGECELLS_BMP_ABOVE, "MERGEABOVE", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapBelow = _loadBitmap(hWnd,AP_RID_DIALOG_MERGECELLS_BMP_BELOW, "MERGEBELOW", BITMAP_WITDH, BITMAP_HEIGHT, Color); setAllSensitivities(); centerDialog(); SetFocus(GetDlgItem(hWnd,AP_RID_DIALOG_MERGECELLS_BTN_CANCEL)); return 0; // 0 because we called SetFocus }
BOOL AP_Win32Dialog_Styles::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { XAP_Win32App * app = static_cast<XAP_Win32App *> (m_pApp); UT_return_val_if_fail (app,0); const XAP_StringSet * pSS = m_pApp->getStringSet(); WCHAR szTemp[20]; GetWindowTextW(hWnd, szTemp, 20 ); m_hDlg=hWnd; // Regular dialog box if( lstrcmpW(szTemp, L"Styles") == 0 ) { setDialogTitle (pSS->getValue(AP_STRING_ID_DLG_Styles_StylesTitle)); // localize controls _DS(STYLES_TOP_TEXT_LIST, DLG_Styles_List); _DS(STYLES_TOP_TEXT_PARAGRAPH_PREVIEW, DLG_Styles_ParaPrev); _DS(STYLES_TOP_TEXT_CHARACTER_PREVIEW, DLG_Styles_CharPrev); _DS(STYLES_TOP_TEXT_DESCRIPTION, DLG_Styles_Description); _DS(STYLES_TOP_BUTTON_DELETE, DLG_Styles_Delete); _DS(STYLES_TOP_BUTTON_MODIFY, DLG_Styles_Modify); _DS(STYLES_TOP_BUTTON_NEW, DLG_Styles_New); _DS(STYLES_TOP_TEXT_AVAILABLE, DLG_Styles_Available); // "Available Styles" GROUPBOX _DSX(STYLES_TOP_BUTTON_APPLY, DLG_Apply); _DSX(STYLES_TOP_BUTTON_CLOSE, DLG_Close); // Set the list combo. _win32Dialog.addItemToCombo(AP_RID_DIALOG_STYLES_TOP_COMBO_LIST, pSS->getValue (AP_STRING_ID_DLG_Styles_LBL_InUse)); _win32Dialog.addItemToCombo(AP_RID_DIALOG_STYLES_TOP_COMBO_LIST, pSS->getValue(AP_STRING_ID_DLG_Styles_LBL_All)); _win32Dialog.addItemToCombo(AP_RID_DIALOG_STYLES_TOP_COMBO_LIST, pSS->getValue(AP_STRING_ID_DLG_Styles_LBL_UserDefined)); _win32Dialog.selectComboItem(AP_RID_DIALOG_STYLES_TOP_COMBO_LIST, (int)m_whichType); // Create a preview windows. HWND hwndChild = GetDlgItem(hWnd, AP_RID_DIALOG_STYLES_TOP_TEXT_PARAGRAPH_PREVIEW); m_pParaPreviewWidget = new XAP_Win32PreviewWidget(static_cast<XAP_Win32App *>(m_pApp), hwndChild, 0); UT_uint32 w,h; m_pParaPreviewWidget->getWindowSize(&w,&h); _createParaPreviewFromGC(m_pParaPreviewWidget->getGraphics(), w, h); m_pParaPreviewWidget->setPreview(m_pParaPreview); hwndChild = GetDlgItem(hWnd, AP_RID_DIALOG_STYLES_TOP_TEXT_CHARACTER_PREVIEW); m_pCharPreviewWidget = new XAP_Win32PreviewWidget(static_cast<XAP_Win32App *>(m_pApp), hwndChild, 0); m_pCharPreviewWidget->getWindowSize(&w,&h); _createCharPreviewFromGC(m_pCharPreviewWidget->getGraphics(), w, h); m_pCharPreviewWidget->setPreview(m_pCharPreview); _populateWindowData(); } // This is either the new or Modify sub dialog of styles else { _win32DialogNewModify.setHandle(hWnd); // Localize the controls Labels etc... setWindowText(hWnd, pSS->getValue( (m_bisNewStyle) ? AP_STRING_ID_DLG_Styles_NewTitle : AP_STRING_ID_DLG_Styles_ModifyTitle )); #define _DS(c,s) setDlgItemText(hWnd, AP_RID_DIALOG_##c,pSS->getValue(AP_STRING_ID_##s)) #define _DSX(c,s) setDlgItemText(hWnd, AP_RID_DIALOG_##c,pSS->getValue(XAP_STRING_ID_##s)) _DS(STYLES_NEWMODIFY_LBL_NAME, DLG_Styles_ModifyName); _DS(STYLES_NEWMODIFY_LBL_BASEDON, DLG_Styles_ModifyBasedOn); _DS(STYLES_NEWMODIFY_LBL_TYPE, DLG_Styles_ModifyType); _DS(STYLES_NEWMODIFY_LBL_FOLLOWPARA, DLG_Styles_ModifyFollowing); _DS(STYLES_NEWMODIFY_LBL_REMOVE, DLG_Styles_RemoveLab); _DS(STYLES_NEWMODIFY_GBX_PREVIEW, DLG_Styles_ModifyPreview); _DS(STYLES_NEWMODIFY_GBX_DESC, DLG_Styles_ModifyDescription); _DS(STYLES_NEWMODIFY_BTN_REMOVE, DLG_Styles_RemoveButton); _DS(STYLES_NEWMODIFY_BTN_SHORTCUT, DLG_Styles_ModifyShortCut); _DSX(STYLES_NEWMODIFY_BTN_OK, DLG_OK); _DSX(STYLES_NEWMODIFY_BTN_CANCEL, DLG_Cancel); #undef _DSX #undef _DS // Changes basic controls based upon either New or Modify Dialog _win32DialogNewModify.showControl( AP_RID_DIALOG_STYLES_NEWMODIFY_EBX_TYPE , (m_bisNewStyle) ? SW_HIDE : SW_SHOW ); _win32DialogNewModify.showControl( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_TYPE , (m_bisNewStyle) ? SW_SHOW : SW_HIDE ); // Initialize the controls with appropriate data size_t nStyles = getDoc()->getStyleCount(); const char * name = NULL; const char * pLocalised = NULL; const PD_Style * pcStyle = NULL; int nIndex; UT_Win32LocaleString str; UT_UTF8String utf8; UT_GenericVector<PD_Style*> * pStyles = NULL; getDoc()->enumStyles(pStyles); UT_return_val_if_fail( pStyles, FALSE ); for (UT_uint32 i = 0; i < nStyles; i++) { pcStyle = pStyles->getNthItem(i); UT_return_val_if_fail( pcStyle, FALSE ); name = pcStyle->getName(); pt_PieceTable::s_getLocalisedStyleName(name, utf8); pLocalised = utf8.utf8_str(); nIndex = _win32DialogNewModify.addItemToCombo(AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, pLocalised); _win32DialogNewModify.setComboDataItem(AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, nIndex, i); nIndex = _win32DialogNewModify.addItemToCombo(AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, pLocalised); _win32DialogNewModify.setComboDataItem(AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, nIndex, i); } delete pStyles; // Strings (not styles names) const char* pDefCurrent = pSS->getValue(AP_STRING_ID_DLG_Styles_DefCurrent); const char* pDefNone = pSS->getValue(AP_STRING_ID_DLG_Styles_DefNone); nIndex = _win32DialogNewModify.addItemToCombo( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, pDefCurrent ); _win32DialogNewModify.setComboDataItem(AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, nIndex, (DWORD)-1); nIndex = _win32DialogNewModify.addItemToCombo( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, pDefNone); _win32DialogNewModify.setComboDataItem(AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, nIndex, (DWORD)-1); if( m_bisNewStyle ) { const char* p = pSS->getValue(AP_STRING_ID_DLG_Styles_ModifyParagraph); _win32DialogNewModify.addItemToCombo( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_TYPE, p ); p = pSS->getValue(AP_STRING_ID_DLG_Styles_ModifyCharacter); _win32DialogNewModify.addItemToCombo( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_TYPE, p); // Set the Default syltes: none, default current UT_sint32 result; str.fromUTF8(pSS->getValue(AP_STRING_ID_DLG_Styles_DefNone)); result = SendDlgItemMessageW(hWnd, AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, CB_FINDSTRING, -1, (LPARAM) str.c_str()); _win32DialogNewModify.selectComboItem( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, result ); str.fromUTF8(pSS->getValue(AP_STRING_ID_DLG_Styles_DefCurrent)); result = SendDlgItemMessageW(hWnd, AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, CB_FINDSTRING, -1, (LPARAM) str.c_str()); _win32DialogNewModify.selectComboItem( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, result ); str.fromUTF8(pSS->getValue(AP_STRING_ID_DLG_Styles_ModifyParagraph)); result = SendDlgItemMessageW(hWnd, AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_TYPE, CB_FINDSTRING, -1, (LPARAM) str.c_str()); _win32DialogNewModify.selectComboItem( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_TYPE, result ); eventBasedOn(); eventFollowedBy(); eventStyleType(); fillVecFromCurrentPoint(); } else { const char * szCurrentStyle = NULL; const char * szBasedOn = NULL; const char * szFollowedBy = NULL; const char * pLocalised = NULL; PD_Style * pStyle = NULL; PD_Style * pBasedOnStyle = NULL; PD_Style * pFollowedByStyle = NULL; szCurrentStyle = m_selectedStyle.c_str(); pt_PieceTable::s_getLocalisedStyleName(szCurrentStyle, utf8); pLocalised = utf8.utf8_str(); _win32DialogNewModify.setControlText( AP_RID_DIALOG_STYLES_NEWMODIFY_EBX_NAME, pLocalised); if(szCurrentStyle) getDoc()->getStyle(szCurrentStyle,&pStyle); if(!pStyle) { XAP_Frame * pFrame = getFrame(); pFrame->showMessageBox( pSS->getValue(AP_STRING_ID_DLG_Styles_ErrNoStyle), XAP_Dialog_MessageBox::b_O, XAP_Dialog_MessageBox::a_OK); m_answer = AP_Dialog_Styles::a_CANCEL; return false; } // // Valid style get the Based On and followed by values // pBasedOnStyle = pStyle->getBasedOn(); pFollowedByStyle = pStyle->getFollowedBy(); size_t nStyles = getDoc()->getStyleCount(); const char * name = NULL; const PD_Style * pcStyle = NULL; UT_GenericVector<PD_Style*> * pStyles = NULL; getDoc()->enumStyles(pStyles); UT_return_val_if_fail( pStyles, FALSE ); for (UT_uint32 i = 0; i < nStyles; i++) { pcStyle = pStyles->getNthItem(i); UT_return_val_if_fail( pcStyle, FALSE ); name = pcStyle->getName(); if(pBasedOnStyle && pcStyle == pBasedOnStyle) { szBasedOn = name; } if(pFollowedByStyle && pcStyle == pFollowedByStyle) { szFollowedBy = name; } } delete pStyles; if(pBasedOnStyle != NULL) { pt_PieceTable::s_getLocalisedStyleName(szBasedOn, utf8); pLocalised = utf8.utf8_str(); str = AP_Win32App::s_fromUTF8ToWinLocale(pLocalised); UT_uint32 result = SendDlgItemMessageW(hWnd, AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, CB_FINDSTRING, -1, (LPARAM)str.c_str()); _win32DialogNewModify.selectComboItem( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, result ); } else { // Not a style name str.fromUTF8(pSS->getValue(AP_STRING_ID_DLG_Styles_DefNone)); UT_uint32 result = SendDlgItemMessageW(hWnd, AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, CB_FINDSTRING, -1, (LPARAM) str.c_str()); _win32DialogNewModify.selectComboItem( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_BASEDON, result ); } if(pFollowedByStyle != NULL) { pt_PieceTable::s_getLocalisedStyleName(szFollowedBy, utf8); pLocalised = utf8.utf8_str(); str = AP_Win32App::s_fromUTF8ToWinLocale(pLocalised); UT_uint32 result = SendDlgItemMessageW(hWnd, AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, CB_FINDSTRING, -1, (LPARAM)str.c_str()); _win32DialogNewModify.selectComboItem( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, result ); } else { pt_PieceTable::s_getLocalisedStyleName(pSS->getValue(AP_STRING_ID_DLG_Styles_DefCurrent), utf8); pLocalised = utf8.utf8_str(); str = AP_Win32App::s_fromUTF8ToWinLocale(pLocalised); UT_uint32 result = SendDlgItemMessageW(hWnd, AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, CB_FINDSTRING, -1, (LPARAM) str.c_str()); _win32DialogNewModify.selectComboItem( AP_RID_DIALOG_STYLES_NEWMODIFY_CBX_FOLLOWPARA, result ); } if(strstr(getAttsVal("type"),"P") != 0) { _win32DialogNewModify.setControlText( AP_RID_DIALOG_STYLES_NEWMODIFY_EBX_TYPE, pSS->getValue(AP_STRING_ID_DLG_Styles_ModifyParagraph) ); } else { _win32DialogNewModify.setControlText( AP_RID_DIALOG_STYLES_NEWMODIFY_EBX_TYPE, pSS->getValue(AP_STRING_ID_DLG_Styles_ModifyCharacter) ); } // Disable for editing top controls in Modify Dialog _win32DialogNewModify.enableControl( AP_RID_DIALOG_STYLES_NEWMODIFY_EBX_NAME, false ); _win32DialogNewModify.enableControl( AP_RID_DIALOG_STYLES_NEWMODIFY_EBX_TYPE, false ); fillVecWithProps(szCurrentStyle,true); } // Generate the Preview class HWND hwndChild = GetDlgItem( hWnd, AP_RID_DIALOG_STYLES_NEWMODIFY_CTL_PREVIEW ); m_pAbiPreviewWidget = new XAP_Win32PreviewWidget(static_cast<XAP_Win32App *>(m_pApp), hwndChild, 0); UT_uint32 w,h; m_pAbiPreviewWidget->getWindowSize(&w,&h); _createAbiPreviewFromGC(m_pAbiPreviewWidget->getGraphics(), w, h); _populateAbiPreview(m_bisNewStyle); m_pAbiPreviewWidget->setPreview(m_pAbiPreview); rebuildDeleteProps(); _populatePreviews(true); } XAP_Win32DialogHelper::s_centerDialog(hWnd); return 1; // 1 == we did not call SetFocus() }
BOOL AP_Win32Dialog_New::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { m_hThisDlg = hWnd; XAP_Win32App * app = static_cast<XAP_Win32App *> (m_pApp); UT_return_val_if_fail (app,1); const XAP_StringSet * pSS = m_pApp->getStringSet(); _win32Dialog.setDialogTitle(pSS->getValue(AP_STRING_ID_DLG_NEW_Title)); // localize controls _DSX(NEW_BTN_OK, DLG_OK); _DSX(NEW_BTN_CANCEL, DLG_Cancel); _DS(NEW_RDO_TEMPLATE, DLG_NEW_Create); _DS(NEW_RDO_EXISTING, DLG_NEW_Open); _DS(NEW_BTN_EXISTING, DLG_NEW_Choose); // set initial state _win32Dialog.setControlText(AP_RID_DIALOG_NEW_EBX_EXISTING, pSS->getValue(AP_STRING_ID_DLG_NEW_NoFile)); HWND hControl = GetDlgItem(hWnd, AP_RID_DIALOG_NEW_LBX_TEMPLATE); long findtag; struct _finddata_t cfile; UT_String templateName, searchDir; templateName = XAP_App::getApp()->getUserPrivateDirectory(); searchDir = XAP_App::getApp()->getUserPrivateDirectory(); searchDir += "\\templates\\*.awt"; findtag = _findfirst( searchDir.c_str(), &cfile ); if( findtag != -1 ) { do { templateName = XAP_App::getApp()->getUserPrivateDirectory(); templateName += "\\templates\\"; templateName += cfile.name; if(!strstr(templateName.c_str(), "normal.awt-")) // don't truncate localized template names templateName = templateName.substr ( 0, templateName.size () - 4 ) ; UT_Win32LocaleString str; str.fromASCII (templateName.c_str()); char *uri = UT_go_filename_to_uri(str.utf8_str().utf8_str()); UT_continue_if_fail(uri); UT_sint32 nIndex = SendMessageW( hControl, LB_ADDSTRING, 0, (LPARAM) UT_basename( uri ) ); SendMessageW( hControl, LB_SETITEMDATA, (WPARAM) nIndex, (LPARAM) 0 ); g_free(uri); } while( _findnext( findtag, &cfile ) == 0 ); } _findclose( findtag ); templateName = XAP_App::getApp()->getAbiSuiteLibDir(); searchDir = XAP_App::getApp()->getAbiSuiteLibDir(); searchDir += "\\templates\\*.awt"; findtag = _findfirst( searchDir.c_str(), &cfile ); if( findtag != -1 ) { do { templateName = XAP_App::getApp()->getAbiSuiteLibDir(); templateName += "\\templates\\"; templateName += cfile.name; if(!strstr(templateName.c_str(), "normal.awt-")) // don't truncate localized template names templateName = templateName.substr ( 0, templateName.size () - 4 ) ; UT_Win32LocaleString str; str.fromASCII (templateName.c_str()); char *uri = UT_go_filename_to_uri(str.utf8_str().utf8_str()); UT_continue_if_fail(uri); UT_sint32 nIndex = SendMessageW( hControl, LB_ADDSTRING, 0, (LPARAM) UT_basename( uri ) ); SendMessageW( hControl, LB_SETITEMDATA, (WPARAM) nIndex, (LPARAM) 1 ); g_free(uri); } while( _findnext( findtag, &cfile ) == 0 ); } _findclose( findtag ); XAP_Win32DialogHelper::s_centerDialog(hWnd); _updateControls(); return 1; // 1 == we did not call SetFocus() }
BOOL AP_Win32Dialog_Paragraph::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { const XAP_StringSet * pSS = m_pApp->getStringSet(); setDialogTitle (pSS->getValue(AP_STRING_ID_DLG_Para_ParaTitle)); // localize controls _DSX(PARA_BTN_OK, DLG_OK); _DSX(PARA_BTN_CANCEL, DLG_Cancel); _DS(PARA_BTN_TABS, DLG_Para_ButtonTabs); // setup the tabs { TabParam tp; TCITEMW tie; XAP_Win32App * pWin32App = static_cast<XAP_Win32App *>(m_pApp); HINSTANCE hinst = pWin32App->getInstance(); DLGTEMPLATE * pTemplate = NULL; HWND w = NULL; tp.pThis = this; // remember the windows we're using m_hwndDlg = hWnd; m_hwndTab = GetDlgItem(hWnd, AP_RID_DIALOG_PARA_TAB); // add a tab for each of the child dialog boxes UT_Win32LocaleString str; tie.mask = TCIF_TEXT | TCIF_IMAGE | TCIF_PARAM; tie.iImage = -1; str.fromUTF8(_GV(DLG_Para_TabLabelIndentsAndSpacing)); tie.pszText = (LPWSTR)str.c_str(); tie.lParam = AP_RID_DIALOG_PARA_TAB1; SendMessageW(m_hwndTab, TCM_INSERTITEMW, 0, (LPARAM)&tie); str.fromUTF8(_GV(DLG_Para_TabLabelLineAndPageBreaks)); tie.pszText = (LPWSTR)str.c_str(); tie.lParam = AP_RID_DIALOG_PARA_TAB2; SendMessageW(m_hwndTab, TCM_INSERTITEMW, 1, (LPARAM)&tie); // finally, create the (modeless) child dialogs tp.which = AP_RID_DIALOG_PARA_TAB1; pTemplate = UT_LockDlgRes(hinst, MAKEINTRESOURCEW(tp.which)); w = CreateDialogIndirectParamW(hinst, pTemplate, m_hwndTab, (DLGPROC)s_tabProc, (LPARAM)&tp); UT_ASSERT_HARMLESS((w && (w == m_hwndSpacing))); tp.which = AP_RID_DIALOG_PARA_TAB2; pTemplate = UT_LockDlgRes(hinst, MAKEINTRESOURCEW(tp.which)); w = CreateDialogIndirectParamW(hinst, pTemplate, m_hwndTab, (DLGPROC)s_tabProc, (LPARAM)&tp); UT_ASSERT_HARMLESS((w && (w == m_hwndBreaks))); } // HACK: make sure the first tab is visible // TODO: trigger selchange logic instead ShowWindow(m_hwndSpacing, SW_SHOW); // sync all controls once to get started // HACK: the first arg gets ignored _syncControls(id_MENU_ALIGNMENT, true); centerDialog(); return 1; // 1 == we did not call SetFocus() }
// This handles the WM_INITDIALOG message for the top-level dialog. BOOL AP_Win32Dialog_FormatTable::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM lParam) { UT_uint32 w,h, i; RECT rect; int nItem; const XAP_StringSet * pSS = m_pApp->getStringSet(); DWORD dwColor = GetSysColor(COLOR_BTNFACE); UT_RGBColor Color(GetRValue(dwColor),GetGValue(dwColor),GetBValue(dwColor)); /* Localise controls*/ _DSX(FORMATTABLE_BTN_CANCEL, DLG_Close); _DSX(FORMATTABLE_BTN_APPLY, DLG_Apply); _DS(FORMATTABLE_TEXT_BACKGROUND, DLG_FormatTable_Color); _DS(FORMATTABLE_TEXT_PREVIEW, DLG_FormatTable_Preview); _DS(FORMATTABLE_TEXT_BORDERS, DLG_FormatTable_Borders); _DS(FORMATTABLE_TEXT_BORDER, DLG_FormatTable_Color); _DS(FORMATTABLE_TEXT_BACKGROUNDS, DLG_FormatTable_Background); _DS(FORMATTABLE_TEXT_APPLYTO, DLG_FormatTable_Apply_To); _DS(FORMATTABLE_BUTTON_SELIMAGE, DLG_FormatTable_SelectImage); _DS(FORMATTABLE_BUTTON_NOIMAGE, DLG_FormatTable_NoImageBackground); _DS(FORMATTABLE_TEXT_THICKNESS, DLG_FormatTable_Thickness); _DS(FORMATTABLE_TEXT_IMGBACK, DLG_FormatTable_SetImageBackground); SetWindowText(hWnd, pSS->getValue(AP_STRING_ID_DLG_FormatTableTitle)); /* Load the bitmaps into the dialog box */ m_hBitmapBottom = _loadBitmap(hWnd,AP_RID_DIALOG_FORMATTABLE_BMP_BOTTOM, "FT_LINEBOTTOM", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapTop = _loadBitmap(hWnd,AP_RID_DIALOG_FORMATTABLE_BMP_TOP, "FT_LINETOP", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapRight = _loadBitmap(hWnd,AP_RID_DIALOG_FORMATTABLE_BMP_RIGHT, "FT_LINERIGHT", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapLeft = _loadBitmap(hWnd,AP_RID_DIALOG_FORMATTABLE_BMP_LEFT, "FT_LINELEFT", BITMAP_WITDH, BITMAP_HEIGHT, Color); /* Preview*/ HWND hwndChild = GetDlgItem(hWnd, AP_RID_DIALOG_FORMATTABLE_STATIC_PREVIEW); UT_return_val_if_fail (hwndChild,0); delete m_pPreviewWidget; m_pPreviewWidget = new XAP_Win32PreviewWidget(static_cast<XAP_Win32App *>(m_pApp), hwndChild, 0); m_pPreviewWidget->getGraphics()->init3dColors(); m_pPreviewWidget->getWindowSize(&w,&h); _createPreviewFromGC(m_pPreviewWidget->getGraphics(), w, h); m_pPreviewWidget->setPreview(m_pFormatTablePreview); startUpdater(); setAllSensitivities(); /* Default status for the push bottons*/ CheckDlgButton(m_hwndDlg, AP_RID_DIALOG_FORMATTABLE_BMP_TOP, getTopToggled() ? BST_CHECKED: BST_UNCHECKED); CheckDlgButton(m_hwndDlg, AP_RID_DIALOG_FORMATTABLE_BMP_BOTTOM, getBottomToggled() ? BST_CHECKED: BST_UNCHECKED); CheckDlgButton(m_hwndDlg, AP_RID_DIALOG_FORMATTABLE_BMP_RIGHT, getRightToggled() ? BST_CHECKED: BST_UNCHECKED); CheckDlgButton(m_hwndDlg, AP_RID_DIALOG_FORMATTABLE_BMP_LEFT, getLeftToggled() ? BST_CHECKED: BST_UNCHECKED); /* Combo Values for Applyto*/ HWND hCombo = GetDlgItem(hWnd, AP_RID_DIALOG_FORMATTABLE_COMBO_APPLYTO); nItem = SendMessage(hCombo, CB_ADDSTRING, 0, (WPARAM) pSS->getValue(AP_STRING_ID_DLG_FormatTable_Apply_To_Selection)); SendMessage(hCombo, CB_SETITEMDATA, nItem, FORMAT_TABLE_SELECTION); nItem = SendMessage(hCombo, CB_ADDSTRING, 0, (WPARAM) pSS->getValue(AP_STRING_ID_DLG_FormatTable_Apply_To_Row)); SendMessage(hCombo, CB_SETITEMDATA, nItem, FORMAT_TABLE_ROW); nItem = SendMessage(hCombo, CB_ADDSTRING, 0, (WPARAM) pSS->getValue(AP_STRING_ID_DLG_FormatTable_Apply_To_Column)); SendMessage(hCombo, CB_SETITEMDATA, nItem, FORMAT_TABLE_COLUMN); nItem = SendMessage(hCombo, CB_ADDSTRING, 0, (WPARAM) pSS->getValue(AP_STRING_ID_DLG_FormatTable_Apply_To_Table)); SendMessage(hCombo, CB_SETITEMDATA, nItem, FORMAT_TABLE_TABLE); SendMessage(hCombo, CB_SETCURSEL, 0, 0); /* Combo Values for Thickness */ hCombo = GetDlgItem(hWnd, AP_RID_DIALOG_FORMATTABLE_COMBO_THICKNESS); for(i=0; i < FORMAT_TABLE_NUMTHICKNESS ; i++) SendMessage(hCombo, CB_ADDSTRING, 0, (WPARAM) sThicknessTable[i]); SendMessage(hCombo, CB_SETCURSEL, 0, 0); XAP_Win32DialogHelper::s_centerDialog(hWnd); return 1; }
BOOL AP_Win32Dialog_ListRevisions::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { const XAP_StringSet * pSS = m_pApp->getStringSet(); setDialogTitle (getTitle()); // localize controls _DSX(BTN_OK, DLG_OK); _DSX(BTN_CANCEL, DLG_Cancel); setDlgItemText(AP_RID_DIALOG_LIST_REVISIONS_FRAME,getLabel1()); // set the column headings HWND h = GetDlgItem(hWnd, AP_RID_DIALOG_LIST_REVISIONS_LIST); LVCOLUMNW col; UT_Win32LocaleString str; col.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH; int col_hdr[3]={AP_STRING_ID_DLG_ListRevisions_Column1Label, AP_STRING_ID_DLG_ListRevisions_Column2Label, AP_STRING_ID_DLG_ListRevisions_Column3Label}; int col_wid[3]={80,160,230}; for (int i=0; i<3; i++) { col.iSubItem = i; col.cx = col_wid[i]; str.fromUTF8(pSS->getValue(col_hdr[i])); col.pszText = (LPWSTR) str.c_str(); SendMessageW(h, LVM_INSERTCOLUMNW, i, (LPARAM)&col); } ListView_SetItemCount(h, getItemCount()); LVITEMW item; item.state = 0; item.stateMask = 0; item.iImage = 0; WCHAR buf[60]; const char *tmp; item.pszText = buf; for(UT_uint32 i = 0; i < getItemCount(); i++) { wsprintfW(buf,L"%d",getNthItemId(i)); item.pszText = buf; item.iItem = i; item.iSubItem = 0; item.lParam = getNthItemId(i); item.mask = LVIF_TEXT | LVIF_PARAM; SendMessageW(h, LVM_INSERTITEMW, 0, (LPARAM)&item); item.iSubItem = 1; tmp=getNthItemTime(i); if (tmp) { str.fromASCII(tmp,-1); item.pszText = (LPWSTR) str.c_str(); } else { item.pszText = L""; } item.mask = LVIF_TEXT; SendMessageW(h, LVM_SETITEMW, 0, (LPARAM)&item); item.iSubItem = 2; str.fromUTF8(getNthItemText(i)); item.pszText = (LPWSTR) str.c_str(); item.mask = LVIF_TEXT; SendMessageW(h, LVM_SETITEMW, 0, (LPARAM)&item); } SendMessageW(h, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT); centerDialog(); return 1; // 1 == we did not call SetFocus() }
// This handles the WM_INITDIALOG message for the top-level dialog. BOOL AP_Win32Dialog_FormatFrame::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { HDC hdc; int x, y; UT_uint32 w,h; UT_sint32 i = 0; RECT rect; const XAP_StringSet * pSS = m_pApp->getStringSet(); DWORD dwColor = GetSysColor(COLOR_BTNFACE); UT_RGBColor Color(GetRValue(dwColor),GetGValue(dwColor),GetBValue(dwColor)); /* The four items are the same size */ GetClientRect(GetDlgItem(hWnd, AP_RID_DIALOG_FORMATFRAME_BMP_BOTTOM), &rect); hdc = GetDC(hWnd); x = rect.right - rect.left; y = rect.bottom - rect.top; /* Localise controls*/ _DSX(FORMATFRAME_BTN_CANCEL, DLG_Close); _DSX(FORMATFRAME_BTN_APPLY, DLG_Apply); _DS(FORMATFRAME_TEXT_BACKGROUND, DLG_FormatFrame_Color); _DS(FORMATFRAME_TEXT_PREVIEW, DLG_FormatFrame_Preview); _DS(FORMATFRAME_TEXT_BORDERS, DLG_FormatFrame_Border_Color); _DS(FORMATFRAME_TEXT_BORDER, DLG_FormatFrame_Color); _DS(FORMATFRAME_TEXT_BACKGROUNDS, DLG_FormatFrame_Background); _DS(FORMATFRAME_TEXT_TEXTWRAPS, DLG_FormatFrame_TextWrapping); _DS(FORMATFRAME_CHK_TEXTWRAP, DLG_FormatFrame_SetTextWrapping); _DS(FORMATFRAME_TEXT_POSTEXTPOS, DLG_FormatFrame_PositionTo); _DS(FORMATFRAME_RADIO_PARA, DLG_FormatFrame_SetToParagraph); _DS(FORMATFRAME_RADIO_COLUMN, DLG_FormatFrame_SetToColumn); _DS(FORMATFRAME_RADIO_PAGE, DLG_FormatFrame_SetToPage); _DS(FORMATFRAME_BUTTON_SELIMAGE, DLG_FormatFrame_SelectImage); _DS(FORMATFRAME_BUTTON_NOIMAGE, DLG_FormatFrame_NoImageBackground); _DS(FORMATFRAME_TEXT_THICKNESS, DLG_FormatTable_Thickness); _DS(FORMATFRAME_TEXT_IMGBACK, DLG_FormatFrame_SetImageBackground); setDialogTitle (pSS->getValue(AP_STRING_ID_DLG_FormatFrameTitle)); /* Load the bitmaps into the dialog box */ m_hBitmapBottom = _loadBitmap(hWnd,AP_RID_DIALOG_FORMATFRAME_BMP_BOTTOM, "FT_LINEBOTTOM", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapTop = _loadBitmap(hWnd,AP_RID_DIALOG_FORMATFRAME_BMP_TOP, "FT_LINETOP", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapRight = _loadBitmap(hWnd,AP_RID_DIALOG_FORMATFRAME_BMP_RIGHT, "FT_LINERIGHT", BITMAP_WITDH, BITMAP_HEIGHT, Color); m_hBitmapLeft = _loadBitmap(hWnd,AP_RID_DIALOG_FORMATFRAME_BMP_LEFT, "FT_LINELEFT", BITMAP_WITDH, BITMAP_HEIGHT, Color); /* Preview*/ HWND hwndChild = GetDlgItem(hWnd, AP_RID_DIALOG_FORMATFRAME_STATIC_PREVIEW); UT_return_val_if_fail (hwndChild,1); m_pPreviewWidget = new XAP_Win32PreviewWidget(static_cast<XAP_Win32App *>(m_pApp), hwndChild, 0); m_pPreviewWidget->getGraphics()->init3dColors(); m_pPreviewWidget->getWindowSize(&w,&h); _createPreviewFromGC(m_pPreviewWidget->getGraphics(), w, h); m_pPreviewWidget->setPreview(m_pFormatFramePreview); startUpdater(); setAllSensitivities(); /* Default status for the dialog controls */ CheckDlgButton(hWnd, AP_RID_DIALOG_FORMATFRAME_BMP_TOP, getTopToggled() ? BST_CHECKED: BST_UNCHECKED); CheckDlgButton(hWnd, AP_RID_DIALOG_FORMATFRAME_BMP_BOTTOM, getBottomToggled() ? BST_CHECKED: BST_UNCHECKED); CheckDlgButton(hWnd, AP_RID_DIALOG_FORMATFRAME_BMP_RIGHT, getRightToggled() ? BST_CHECKED: BST_UNCHECKED); CheckDlgButton(hWnd, AP_RID_DIALOG_FORMATFRAME_BMP_LEFT, getLeftToggled() ? BST_CHECKED: BST_UNCHECKED); /* Position to radio buttons */ if(positionMode() == FL_FRAME_POSITIONED_TO_BLOCK) { CheckRadioButton(hWnd, AP_RID_DIALOG_FORMATFRAME_RADIO_PARA, AP_RID_DIALOG_FORMATFRAME_RADIO_PAGE, AP_RID_DIALOG_FORMATFRAME_RADIO_PARA); } else if(positionMode() == FL_FRAME_POSITIONED_TO_COLUMN) { CheckRadioButton(hWnd, AP_RID_DIALOG_FORMATFRAME_RADIO_PARA, AP_RID_DIALOG_FORMATFRAME_RADIO_PAGE, AP_RID_DIALOG_FORMATFRAME_RADIO_COLUMN); } else if(positionMode() == FL_FRAME_POSITIONED_TO_PAGE) { CheckRadioButton(hWnd, AP_RID_DIALOG_FORMATFRAME_RADIO_PARA, AP_RID_DIALOG_FORMATFRAME_RADIO_PAGE, AP_RID_DIALOG_FORMATFRAME_RADIO_PAGE); } /* Wrapping checkbox */ CheckDlgButton(hWnd, AP_RID_DIALOG_FORMATFRAME_CHK_TEXTWRAP, getWrapping() ? BST_CHECKED: BST_UNCHECKED); /* Combo Values for Thickness */ for(i=0; i < FORMAT_FRAME_NUMTHICKNESS ;i++) addItemToCombo (AP_RID_DIALOG_FORMATFRAME_COMBO_THICKNESS, sThickness[i]); selectComboItem (AP_RID_DIALOG_FORMATFRAME_COMBO_THICKNESS, 0); centerDialog(); return 1; }
BOOL AP_Win32Dialog_Columns::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { const XAP_StringSet* pSS = m_pApp->getStringSet(); // Update the caption setDialogTitle(pSS->getValue(AP_STRING_ID_DLG_Column_ColumnTitle)); /* Localise controls*/ _DSX(COLUMN_BTN_OK, DLG_OK); _DSX(COLUMN_BTN_CANCEL, DLG_Cancel); _DS(COLUMN_GROUP1, DLG_Column_Number); _DS(COLUMN_GROUP2, DLG_Column_Preview); _DS(COLUMN_TEXT_ONE, DLG_Column_One); _DS(COLUMN_TEXT_TWO, DLG_Column_Two); _DS(COLUMN_TEXT_THREE, DLG_Column_Three); _DS(COLUMN_CHECK_LINE_BETWEEN, DLG_Column_Line_Between); _DS(COLUMN_TEXT_NUMCOLUMNS, DLG_Column_Number_Cols); _DS(COLUMN_TEXT_SPACEAFTER, DLG_Column_Space_After); _DS(COLUMN_TEXT_MAXSIZE, DLG_Column_Size); _DS(COLUMN_CHECK_RTL_ORDER, DLG_Column_RtlOrder); // Do Bitmaps RECT rect; GetClientRect(GetDlgItem(hWnd, AP_RID_DIALOG_COLUMN_RADIO_ONE), &rect); int iWidth = rect.right - rect.left; int iHeight = rect.bottom - rect.top; HBITMAP hBitmap; AP_Win32Toolbar_Icons Icons; COLORREF ColorRef = GetSysColor(COLOR_BTNFACE); UT_RGBColor Color(GetRValue(ColorRef), GetGValue(ColorRef), GetBValue(ColorRef)); bool bFoundIcon = Icons.getBitmapForIcon(hWnd, iWidth, iHeight, &Color, "1COLUMN", &hBitmap); UT_return_val_if_fail (bFoundIcon, false); SendDlgItemMessageW(hWnd, AP_RID_DIALOG_COLUMN_RADIO_ONE, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap); bFoundIcon = Icons.getBitmapForIcon(hWnd, iWidth, iHeight, &Color, "2COLUMN", &hBitmap); UT_return_val_if_fail (bFoundIcon, false); SendDlgItemMessageW(hWnd, AP_RID_DIALOG_COLUMN_RADIO_TWO, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap); bFoundIcon = Icons.getBitmapForIcon(hWnd, iWidth, iHeight, &Color, "3COLUMN", &hBitmap); UT_return_val_if_fail (bFoundIcon, false); SendDlgItemMessageW(hWnd, AP_RID_DIALOG_COLUMN_RADIO_THREE, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap); // set initial state wchar_t buf[BUFSIZE]; checkButton(AP_RID_DIALOG_COLUMN_RADIO_ONE + getColumns() - 1, true); enableLineBetweenControl(getColumns() != 1); checkButton(AP_RID_DIALOG_COLUMN_CHECK_LINE_BETWEEN, getLineBetween()); SetDlgItemTextW(m_hDlg, AP_RID_DIALOG_COLUMN_EDIT_NUMCOLUMNS, _itow( getColumns(),buf,10) ); setControlText(AP_RID_DIALOG_COLUMN_EDIT_SPACEAFTER, getSpaceAfterString()); setControlText(AP_RID_DIALOG_COLUMN_EDIT_MAXSIZE, getHeightString()); showControl( AP_RID_DIALOG_COLUMN_CHECK_RTL_ORDER, SW_NORMAL ); checkButton(AP_RID_DIALOG_COLUMN_CHECK_RTL_ORDER, getColumnOrder()!=false); // Create a preview window. HWND hwndChild = GetDlgItem(hWnd, AP_RID_DIALOG_COLUMN_PREVIEW); m_pPreviewWidget = new XAP_Win32PreviewWidget(static_cast<XAP_Win32App *>(m_pApp), hwndChild, 0); UT_uint32 w,h; m_pPreviewWidget->getWindowSize(&w,&h); //m_pPreviewWidget->init3dColors(m_wpreviewArea->style); m_pPreviewWidget->getGraphics()->init3dColors(); _createPreviewFromGC(m_pPreviewWidget->getGraphics(), w, h); m_pPreviewWidget->setPreview(m_pColumnsPreview); centerDialog(); return 1; // 1 == we did not call SetFocus() }