void AP_UnixDialog_SplitCells::notifyActiveFrame(XAP_Frame * /*pFrame*/) { UT_ASSERT(m_windowMain); ConstructWindowName(); gtk_window_set_title (GTK_WINDOW (m_windowMain), m_WindowName); setAllSensitivities(); }
void AP_Win32Dialog_MergeCells::activate(void) { ConstructWindowName(); setDialogTitle (m_WindowName); setAllSensitivities(); }
void AP_Win32Dialog_SplitCells::activate(void) { ConstructWindowName(); SetWindowText(m_hwndDlg, m_WindowName); setAllSensitivities(); }
GtkWidget * AP_UnixDialog_Lists::_constructWindow(void) { GtkWidget *contents; GtkWidget *vbox1; ConstructWindowName(); m_wMainWindow = abiDialogNew ( "list dialog", TRUE, getWindowName() ); vbox1 = gtk_dialog_get_content_area(GTK_DIALOG(m_wMainWindow)); contents = _constructWindowContents(); gtk_widget_show (contents); gtk_box_pack_start (GTK_BOX (vbox1), contents, FALSE, TRUE, 0); if(!isModal()) { m_wClose = abiAddStockButton ( GTK_DIALOG(m_wMainWindow), GTK_STOCK_CLOSE, BUTTON_CLOSE ) ; m_wApply = abiAddStockButton ( GTK_DIALOG(m_wMainWindow), GTK_STOCK_APPLY, BUTTON_APPLY ) ; } else { m_wApply = abiAddStockButton ( GTK_DIALOG(m_wMainWindow), GTK_STOCK_OK, BUTTON_OK ) ; m_wClose = abiAddStockButton ( GTK_DIALOG(m_wMainWindow), GTK_STOCK_CANCEL, BUTTON_CANCEL ) ; } gtk_widget_grab_default (m_wClose); _connectSignals (); return (m_wMainWindow); }
void AP_UnixDialog_FormatFrame::activate(void) { UT_ASSERT (m_windowMain); ConstructWindowName(); gtk_window_set_title (GTK_WINDOW (m_windowMain), m_WindowName); setAllSensitivities(); gdk_window_raise (m_windowMain->window); }
void AP_UnixDialog_Lists::activate (void) { UT_ASSERT (m_wMainWindow); ConstructWindowName(); gtk_window_set_title (GTK_WINDOW (m_wMainWindow), getWindowName()); m_bDontUpdate = false; updateDialog(); gdk_window_raise (gtk_widget_get_window(m_wMainWindow)); }
void AP_Win32Dialog_FormatTable::activate(void) { ConstructWindowName(); setAllSensitivities(); ShowWindow( m_hwndDlg, SW_SHOW ); BringWindowToTop( m_hwndDlg ); }
void AP_UnixDialog_Lists::notifyActiveFrame(XAP_Frame * /*pFrame*/) { UT_ASSERT(m_wMainWindow); ConstructWindowName(); gtk_window_set_title (GTK_WINDOW (m_wMainWindow), getWindowName()); m_bDontUpdate = false; updateDialog(); previewExposed(); }
void AP_UnixDialog_SplitCells::activate(void) { UT_ASSERT (m_windowMain); ConstructWindowName(); gtk_window_set_title (GTK_WINDOW (m_windowMain), m_WindowName); setAllSensitivities(); gdk_window_raise (gtk_widget_get_window(m_windowMain)); }
void AP_Win32Dialog_Latex::activate(void) { int iResult; ConstructWindowName(); setDialogTitle((LPCSTR)(AP_Win32App::s_fromUTF8ToWinLocale(m_sWindowName.utf8_str())).c_str()); iResult = ShowWindow( m_hDlg, SW_SHOW ); iResult = BringWindowToTop( m_hDlg ); UT_ASSERT_HARMLESS((iResult != 0)); }
void AP_Win32Dialog_SplitCells::notifyActiveFrame(XAP_Frame *pFrame) { if((HWND)GetWindowLong(m_hwndDlg, GWL_HWNDPARENT) != static_cast<XAP_Win32FrameImpl*>(pFrame->getFrameImpl())->getTopLevelWindow()) { ConstructWindowName(); SetWindowText(m_hwndDlg, m_WindowName); SetWindowLong(m_hwndDlg, GWL_HWNDPARENT, (long)static_cast<XAP_Win32FrameImpl*>(pFrame->getFrameImpl())->getTopLevelWindow()); SetWindowPos(m_hwndDlg, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED); } setAllSensitivities(); }
void AP_Win32Dialog_MergeCells::notifyActiveFrame(XAP_Frame *pFrame) { if((HWND)GetWindowLongPtrW(m_hDlg, GWLP_HWNDPARENT) != static_cast<XAP_Win32FrameImpl*>(pFrame->getFrameImpl())->getTopLevelWindow()) { ConstructWindowName(); setDialogTitle (m_WindowName); SetWindowLongPtrW(m_hDlg, GWLP_HWNDPARENT, (LONG_PTR)static_cast<XAP_Win32FrameImpl*>(pFrame->getFrameImpl())->getTopLevelWindow()); SetWindowPos(m_hDlg, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED); } setAllSensitivities(); }
void XAP_Win32Dialog_Insert_Symbol::activate(void) { int iResult; // Update the caption ConstructWindowName(); SetWindowText(m_hDlg, (AP_Win32App::s_fromUTF8ToWinLocale(m_WindowName)).c_str()); iResult = ShowWindow( m_hDlg, SW_SHOW ); iResult = BringWindowToTop( m_hDlg ); UT_ASSERT((iResult != 0)); }
void AP_Win32Dialog_Latex::notifyActiveFrame(XAP_Frame *pFrame) { UT_return_if_fail(pFrame); HWND frameHWND = static_cast<XAP_Win32FrameImpl*>(pFrame->getFrameImpl())->getTopLevelWindow(); if((HWND)GetWindowLongPtrW(m_hDlg, GWLP_HWNDPARENT) != frameHWND) { // Update the caption ConstructWindowName(); setDialogTitle((LPCSTR)(AP_Win32App::s_fromUTF8ToWinLocale(m_sWindowName.utf8_str())).c_str()); SetWindowLongPtrW(m_hDlg, GWLP_HWNDPARENT, (LONG_PTR)frameHWND); SetWindowPos(m_hDlg, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED); } }
void XAP_Win32Dialog_Insert_Symbol::notifyActiveFrame(XAP_Frame *pFrame) { UT_return_if_fail(pFrame); HWND frameHWND = static_cast<XAP_Win32FrameImpl*>(pFrame->getFrameImpl())->getTopLevelWindow(); if((HWND)GetWindowLong(m_hDlg, GWL_HWNDPARENT) != frameHWND) { // Update the caption ConstructWindowName(); SetWindowText(m_hDlg, (AP_Win32App::s_fromUTF8ToWinLocale(m_WindowName)).c_str()); SetWindowLong(m_hDlg, GWL_HWNDPARENT, (long)frameHWND); SetWindowPos(m_hDlg, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED); } }
// 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 }
GtkWidget * AP_UnixDialog_MergeCells::_constructWindow(void) { GtkWidget * vboxMain; GtkWidget * windowMergeCells; ConstructWindowName(); windowMergeCells = abiDialogNew ( "merge cell dialog", TRUE, static_cast<char *>(m_WindowName)); vboxMain = GTK_DIALOG(windowMergeCells)->vbox ; gtk_container_set_border_width (GTK_CONTAINER (vboxMain), 10); _constructWindowContents(); gtk_box_pack_start (GTK_BOX (vboxMain), m_wContents, FALSE, FALSE, 0); abiAddStockButton ( GTK_DIALOG(windowMergeCells), GTK_STOCK_CLOSE, BUTTON_CLOSE ) ; // Update member variables with the important widgets that // might need to be queried or altered later. m_windowMain = windowMergeCells; return windowMergeCells; }
/*! * Update dialog's data. */ void AP_UnixDialog_Goto::updateWindow () { UT_DEBUGMSG (("ROB: updateWindow () #bookmarks='%d', mapped='%d'\n", getExistingBookmarksCount(), GTK_WIDGET_MAPPED(m_wDialog))); ConstructWindowName (); gtk_window_set_title (GTK_WINDOW (m_wDialog), m_WindowName); // pages, page increment of 10 is pretty arbitrary (set in the GtkBuilder UI file) UT_uint32 currentPage = getView()->getCurrentPageNumForStatusBar (); gtk_spin_button_set_value (GTK_SPIN_BUTTON (m_sbPage), currentPage); // lines, line increment of 10 is pretty arbitrary (set in the GtkBuilder UI file) UT_uint32 currentLine = 1; /* FIXME get current line */ gtk_spin_button_set_value (GTK_SPIN_BUTTON (m_sbLine), currentLine); // bookmarks, detaching model for faster updates GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (m_lvBookmarks)); g_object_ref (G_OBJECT (model)); gtk_tree_view_set_model (GTK_TREE_VIEW (m_lvBookmarks), NULL); gtk_list_store_clear (GTK_LIST_STORE (model)); GtkTreeIter iter; UT_uint32 numBookmarks = getExistingBookmarksCount(); for (UT_uint32 i = 0; i < numBookmarks; i++) { gtk_list_store_append (GTK_LIST_STORE (model), &iter); const gchar *name = getNthExistingBookmark(i); UT_DEBUGMSG ((" ROB: '%s'\n", name)); gtk_list_store_set (GTK_LIST_STORE (model), &iter, COLUMN_NAME, name, /* COLUMN_PAGE, "0", COLUMN_NUMBER, 0, */ -1); } gtk_tree_view_set_model (GTK_TREE_VIEW (m_lvBookmarks), model); g_object_unref (G_OBJECT (model)); updateDocCount (); }
void AP_UnixDialog_FormatFrame::notifyActiveFrame(XAP_Frame *_pFrame) { UT_ASSERT(m_windowMain); ConstructWindowName(); gtk_window_set_title (GTK_WINDOW (m_windowMain), m_WindowName); setAllSensitivities(); FV_View * pView = static_cast<FV_View *>(_pFrame->getCurrentView()); if(pView && pView->isInFrame(pView->getPoint())) { fl_BlockLayout * pBL = pView->getCurrentBlock(); fl_FrameLayout * pFrame = static_cast<fl_FrameLayout *>(pBL->myContainingLayout()); if(pFrame->getContainerType() != FL_CONTAINER_FRAME) { UT_ASSERT_HARMLESS(UT_SHOULD_NOT_HAPPEN); return; } if(pFrame->getFrameWrapMode() >= FL_FRAME_WRAPPED_TO_RIGHT) { setWrapping(true); } else { setWrapping(false); } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_wWrapButton),getWrapping()); if(positionMode() == FL_FRAME_POSITIONED_TO_BLOCK) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON( m_wPosParagraph),TRUE); } else if(positionMode() == FL_FRAME_POSITIONED_TO_COLUMN) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_wPosColumn),TRUE); } else if(positionMode() == FL_FRAME_POSITIONED_TO_PAGE) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_wPosPage),TRUE); } } }
GtkWidget * AP_UnixDialog_SplitCells::_constructWindow(void) { GtkWidget * vboxMain; GtkWidget * windowSplitCells; ConstructWindowName(); windowSplitCells = abiDialogNew ( "split cell dialog", TRUE, static_cast<char *>(m_WindowName)); gtk_window_set_position(GTK_WINDOW(windowSplitCells), GTK_WIN_POS_MOUSE); #if !GTK_CHECK_VERSION(3,0,0) gtk_dialog_set_has_separator(GTK_DIALOG(windowSplitCells), FALSE); #endif vboxMain = gtk_dialog_get_content_area(GTK_DIALOG(windowSplitCells)); gtk_container_set_border_width (GTK_CONTAINER (vboxMain), 10); _constructWindowContents(); gtk_box_pack_start (GTK_BOX (vboxMain), m_wContents, FALSE, FALSE, 0); abiAddStockButton ( GTK_DIALOG(windowSplitCells), GTK_STOCK_CLOSE, BUTTON_CLOSE ) ; // Update member variables with the important widgets that // might need to be queried or altered later. m_windowMain = windowSplitCells; return windowSplitCells; }
BOOL AP_Win32Dialog_Latex::_onInitDialog(HWND hWnd, WPARAM wParam, LPARAM /*lParam*/) { m_hDlg = hWnd; // Update the caption ConstructWindowName(); setDialogTitle((LPCSTR)(AP_Win32App::s_fromUTF8ToWinLocale(m_sWindowName.utf8_str())).c_str()); // localize controls localizeControlText(AP_RID_DIALOG_LATEX_TEXT_EXAMPLE,AP_STRING_ID_DLG_Latex_Example); localizeControlText(AP_RID_DIALOG_LATEX_TEXT_LATEXEQUATION,AP_STRING_ID_DLG_Latex_LatexEquation); localizeControlText(AP_RID_DIALOG_LATEX_BTN_CLOSE,XAP_STRING_ID_DLG_Close); localizeControlText(AP_RID_DIALOG_LATEX_BTN_INSERT,XAP_STRING_ID_DLG_Insert); setLatexInGUI(); centerDialog(); if (GetDlgCtrlID((HWND) wParam) != AP_RID_DIALOG_LATEX_EDIT_LATEX) { SetFocus(GetDlgItem(hWnd, AP_RID_DIALOG_LATEX_EDIT_LATEX)); return 0; } return 1; // 1 == we did not call SetFocus() }
GtkWidget * AP_UnixDialog_FormatFrame::_constructWindow(void) { GtkWidget * window; const XAP_StringSet * pSS = XAP_App::getApp()->getStringSet(); // get the path where our UI file is located std::string ui_path = static_cast<XAP_UnixApp*>(XAP_App::getApp())->getAbiSuiteAppUIDir() + "/ap_UnixDialog_FormatFrame.xml"; // load the dialog from the UI file GtkBuilder* builder = gtk_builder_new(); gtk_builder_add_from_file(builder, ui_path.c_str(), NULL); // 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_FormatFrame")); m_wLineTop = GTK_WIDGET(gtk_builder_get_object(builder, "tbBorderTop")); m_wLineLeft = GTK_WIDGET(gtk_builder_get_object(builder, "tbBorderLeft")); m_wLineRight = GTK_WIDGET(gtk_builder_get_object(builder, "tbBorderRight")); m_wLineBottom = GTK_WIDGET(gtk_builder_get_object(builder, "tbBorderBottom")); // place some nice pixmaps on our border toggle buttons label_button_with_abi_pixmap(m_wLineTop, "tb_LineTop_xpm"); label_button_with_abi_pixmap(m_wLineLeft, "tb_LineLeft_xpm"); label_button_with_abi_pixmap(m_wLineRight, "tb_LineRight_xpm"); label_button_with_abi_pixmap(m_wLineBottom, "tb_LineBottom_xpm"); m_wPreviewArea = GTK_WIDGET(gtk_builder_get_object(builder, "daPreview")); // set the dialog title ConstructWindowName(); abiDialogSetTitle(window, m_WindowName); // disable double buffering on our preview gtk_widget_set_double_buffered(m_wPreviewArea, FALSE); // localize the strings in our dialog, and set tags for some widgets localizeLabelMarkup(GTK_WIDGET(gtk_builder_get_object(builder, "lbBorder")), pSS, AP_STRING_ID_DLG_FormatFrame_Borders); localizeLabel(GTK_WIDGET(gtk_builder_get_object(builder, "lbBorderColor")), pSS, AP_STRING_ID_DLG_FormatFrame_Color); localizeLabel(GTK_WIDGET(gtk_builder_get_object(builder, "lbBorderThickness")), pSS, AP_STRING_ID_DLG_FormatTable_Thickness); localizeLabelMarkup(GTK_WIDGET(gtk_builder_get_object(builder, "lbBackground")), pSS, AP_STRING_ID_DLG_FormatFrame_Background); localizeLabel(GTK_WIDGET(gtk_builder_get_object(builder, "lbBackgroundColor")), pSS, AP_STRING_ID_DLG_FormatFrame_Color); localizeLabelMarkup(GTK_WIDGET(gtk_builder_get_object(builder, "lbSetImageBackground")), pSS, AP_STRING_ID_DLG_FormatFrame_SetImageBackground); // Radio buttons to position type of the Frame localizeLabelMarkup(GTK_WIDGET(gtk_builder_get_object(builder, "lbPositionTo")), pSS, AP_STRING_ID_DLG_FormatFrame_PositionTo); localizeButton(GTK_WIDGET(gtk_builder_get_object(builder, "rbSetToParagraph")), pSS, AP_STRING_ID_DLG_FormatFrame_SetToParagraph); localizeButton(GTK_WIDGET(gtk_builder_get_object(builder, "rbSetToColumn")), pSS, AP_STRING_ID_DLG_FormatFrame_SetToColumn); localizeButton(GTK_WIDGET(gtk_builder_get_object(builder, "rbSetToPage")), pSS, AP_STRING_ID_DLG_FormatFrame_SetToPage); m_wPosParagraph = GTK_WIDGET(gtk_builder_get_object(builder, "rbSetToParagraph")); m_wPosColumn = GTK_WIDGET(gtk_builder_get_object(builder, "rbSetToColumn")); m_wPosPage = GTK_WIDGET(gtk_builder_get_object(builder, "rbSetToPage")); // Button and label for text wrapping m_wWrapButton = GTK_WIDGET(gtk_builder_get_object(builder, "btTextWrapState")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_wWrapButton),TRUE); localizeLabelMarkup(GTK_WIDGET(gtk_builder_get_object(builder, "lbTextWrapState")), pSS, AP_STRING_ID_DLG_FormatFrame_TextWrapping); // add the buttons for background image to the dialog. m_wSelectImageButton = GTK_WIDGET(gtk_builder_get_object(builder, "btSelectImage")); m_wNoImageButton = GTK_WIDGET(gtk_builder_get_object(builder, "btSetNoImage")); localizeLabel(GTK_WIDGET(gtk_builder_get_object(builder, "lbSelectImage")), pSS, AP_STRING_ID_DLG_FormatFrame_SelectImage); localizeLabel(GTK_WIDGET(gtk_builder_get_object(builder, "lbSetNoImage")), pSS, AP_STRING_ID_DLG_FormatFrame_NoImageBackground); localizeLabelMarkup(GTK_WIDGET(gtk_builder_get_object(builder, "lbPreview")), pSS, AP_STRING_ID_DLG_FormatFrame_Preview); m_wBorderColorButton = GTK_WIDGET(gtk_builder_get_object(builder, "cbtBorderColorButton")); m_wBackgroundColorButton = GTK_WIDGET(gtk_builder_get_object(builder, "cbtBackgroundColorButton")); // // Now the Border Thickness Option menu // m_wBorderThickness = GTK_WIDGET(gtk_builder_get_object(builder, "omBorderThickness")); GtkComboBox *combo = GTK_COMBO_BOX(m_wBorderThickness); XAP_makeGtkComboBoxText(combo, G_TYPE_NONE); // TODO WTF is this hardcoded. gtk_combo_box_append_text(combo, "1/2 pt"); gtk_combo_box_append_text(combo, "3/4 pt"); gtk_combo_box_append_text(combo, "1 pt"); gtk_combo_box_append_text(combo, "1 1/2 pt"); gtk_combo_box_append_text(combo, "2 1/4 pt"); gtk_combo_box_append_text(combo, "3 pt"); gtk_combo_box_append_text(combo, "4 1/2 pt"); gtk_combo_box_append_text(combo, "6 pt"); gtk_combo_box_set_active(combo, 0); // add the apply and ok buttons to the dialog m_wCloseButton = GTK_WIDGET(gtk_builder_get_object(builder, "btClose")); m_wApplyButton = GTK_WIDGET(gtk_builder_get_object(builder, "btApply")); g_object_unref(G_OBJECT(builder)); return window; }
BOOL XAP_Win32Dialog_Insert_Symbol::_onInitDialog(HWND hWnd, WPARAM /*wParam*/, LPARAM /*lParam*/) { m_hDlg = hWnd; // localize controls localizeControlText(XAP_RID_DIALOG_INSERTSYMBOL_INSERT_BUTTON,XAP_STRING_ID_DLG_Insert); localizeControlText(XAP_RID_DIALOG_INSERTSYMBOL_CLOSE_BUTTON,XAP_STRING_ID_DLG_Close); // *** this is how we add the gc for symbol table *** // attach a new graphics context to the drawing area XAP_Win32App * app = static_cast<XAP_Win32App *> (m_pApp); UT_ASSERT(app); HWND hwndChild = GetDlgItem(hWnd, XAP_RID_DIALOG_INSERTSYMBOL_SYMBOLS); m_pSymbolPreviewWidget = new XAP_Win32PreviewWidget(static_cast<XAP_Win32App *>(m_pApp), hwndChild, 0); UT_uint32 w,h; m_pSymbolPreviewWidget->getWindowSize(&w,&h); _createSymbolFromGC(m_pSymbolPreviewWidget->getGraphics(), w, h); m_pSymbolPreviewWidget->setPreview(m_DrawSymbol); m_pSymbolPreviewWidget->setInsertSymbolParent(this); hwndChild = GetDlgItem(hWnd, XAP_RID_DIALOG_INSERTSYMBOL_SYMBOL_PREVIEW); m_pSamplePreviewWidget = new XAP_Win32PreviewWidget(static_cast<XAP_Win32App *>(m_pApp), hwndChild, 0); m_pSamplePreviewWidget->getWindowSize(&w,&h); _createSymbolareaFromGC(m_pSamplePreviewWidget->getGraphics(), w, h); m_DrawSymbolSample = new XAP_Draw_Symbol_sample(m_DrawSymbol, m_pSamplePreviewWidget->getGraphics()); // TODO: Colour GR_Win32Graphics* gr = (GR_Win32Graphics*) m_DrawSymbolSample->m_pSymbolDraw->getGraphics(); gr->setBrush((HBRUSH)GetSysColorBrush(COLOR_3DFACE)); m_pSamplePreviewWidget->setPreview(m_DrawSymbolSample); XAP_Draw_Symbol * iDrawSymbol = _getCurrentSymbolMap(); UT_ASSERT(iDrawSymbol); // Fill the list box with symbol fonts. HDC hDCScreen = CreateDC("DISPLAY", NULL, NULL, NULL); #if 1 EnumFontFamilies(hDCScreen, (const char *)NULL, (FONTENUMPROC)fontEnumProcedure, (LPARAM)this); #else LOGFONT LogFont; // LogFont.lfCharSet = SYMBOL_CHARSET; - all fonts enum is more inline with XP nature LogFont.lfCharSet = DEFAULT_CHARSET; LogFont.lfFaceName[0] = '\0'; EnumFontFamiliesEx(hDCScreen, &LogFont, (FONTENUMPROC)fontEnumProcedure, (LPARAM)this, 0); #endif DeleteDC(hDCScreen); // Select the current font. UT_sint32 Index = SendDlgItemMessage(m_hDlg, XAP_RID_DIALOG_INSERTSYMBOL_FONT_LIST, CB_FINDSTRING, -1, (LPARAM)Symbol_font_selected); if(Index != -1) { _setFontFromCombo(Index); } else { _setFontFromCombo(0); } // Update the caption ConstructWindowName(); setDialogTitle((LPCSTR)(AP_Win32App::s_fromUTF8ToWinLocale(m_WindowName)).c_str()); centerDialog(); return 1; // 1 == we did not call SetFocus() }