GtkWidget * AP_UnixDialog_MergeCells::_constructWindowContents(void) { GtkWidget *wContents; wContents = gtk_vbox_new (FALSE, 0); gtk_widget_show (wContents); GtkWidget *frame1; GtkWidget *table1; GtkWidget *wlMergeLeft; GtkWidget *wlMergeRight; GtkWidget *wlMergeAbove; GtkWidget *wlMergeBelow; GtkWidget *wMergeLeft; GtkWidget *wMergeRight; GtkWidget *wMergeAbove; GtkWidget *wMergeBelow; const XAP_StringSet * pSS = m_pApp->getStringSet(); UT_UTF8String s; pSS->getValueUTF8(AP_STRING_ID_DLG_MergeCells_Frame,s); frame1 = gtk_frame_new (s.utf8_str()); gtk_widget_show (frame1); gtk_container_add (GTK_CONTAINER (wContents), frame1); gtk_container_set_border_width (GTK_CONTAINER (frame1), 3); gtk_frame_set_shadow_type(GTK_FRAME(frame1), GTK_SHADOW_NONE); table1 = gtk_table_new (4, 2, FALSE); gtk_widget_show (table1); gtk_container_add (GTK_CONTAINER (frame1), table1); gtk_table_set_col_spacings (GTK_TABLE (table1), 2); pSS->getValueUTF8(AP_STRING_ID_DLG_MergeCells_Left,s); wlMergeLeft = gtk_label_new (s.utf8_str()); gtk_widget_show (wlMergeLeft); gtk_table_attach (GTK_TABLE (table1), wlMergeLeft, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlMergeLeft), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_MergeCells_Right,s); wlMergeRight = gtk_label_new (s.utf8_str()); gtk_widget_show (wlMergeRight); gtk_table_attach (GTK_TABLE (table1), wlMergeRight, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlMergeRight), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_MergeCells_Above,s); wlMergeAbove = gtk_label_new (s.utf8_str()); gtk_widget_show (wlMergeAbove); gtk_table_attach (GTK_TABLE (table1), wlMergeAbove, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlMergeAbove), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_MergeCells_Below,s); wlMergeBelow = gtk_label_new (s.utf8_str()); gtk_widget_show (wlMergeBelow); gtk_table_attach (GTK_TABLE (table1), wlMergeBelow, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlMergeBelow), 0, 0.5); wMergeLeft = gtk_button_new(); gtk_widget_show (wMergeLeft); label_button_with_abi_pixmap(wMergeLeft, "tb_MergeLeft_xpm"); gtk_table_attach (GTK_TABLE (table1), wMergeLeft, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); wMergeRight = gtk_button_new(); gtk_widget_show (wMergeRight); label_button_with_abi_pixmap(wMergeRight, "tb_MergeRight_xpm"); gtk_table_attach (GTK_TABLE (table1), wMergeRight, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); wMergeAbove = gtk_button_new(); gtk_widget_show (wMergeAbove); label_button_with_abi_pixmap(wMergeAbove, "tb_MergeAbove_xpm"); gtk_table_attach (GTK_TABLE (table1), wMergeAbove, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); wMergeBelow = gtk_button_new(); gtk_widget_show (wMergeBelow); label_button_with_abi_pixmap(wMergeBelow, "tb_MergeBelow_xpm"); gtk_table_attach (GTK_TABLE (table1), wMergeBelow, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); m_wMergeLeft = wMergeLeft; m_wMergeRight = wMergeRight; m_wMergeAbove = wMergeAbove; m_wMergeBelow = wMergeBelow; m_lwMergeLeft = wlMergeLeft; m_lwMergeRight = wlMergeRight; m_lwMergeAbove = wlMergeAbove; m_lwMergeBelow = wlMergeBelow; m_wContents = wContents; return m_wContents; }
GtkWidget * AP_UnixDialog_SplitCells::_constructWindowContents(void) { GtkWidget *wContents; wContents = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (wContents); GtkWidget *frame1; GtkWidget *table1; GtkWidget *wlSplitLeft; GtkWidget *wlSplitHoriMid; GtkWidget *wlSplitRight; GtkWidget *wlSplitAbove; GtkWidget *wlSplitVertMid; GtkWidget *wlSplitBelow; GtkWidget *wSplitLeft; GtkWidget *wSplitHoriMid; GtkWidget *wSplitRight; GtkWidget *wSplitAbove; GtkWidget *wSplitVertMid; GtkWidget *wSplitBelow; const XAP_StringSet * pSS = m_pApp->getStringSet(); std::string s; pSS->getValueUTF8(AP_STRING_ID_DLG_SplitCells_Frame,s); frame1 = gtk_frame_new (NULL); gtk_widget_show (frame1); gtk_container_add (GTK_CONTAINER (wContents), frame1); gtk_container_set_border_width (GTK_CONTAINER (frame1), 3); gtk_frame_set_shadow_type(GTK_FRAME(frame1), GTK_SHADOW_NONE); table1 = gtk_table_new (6, 2, FALSE); gtk_widget_show (table1); gtk_container_add (GTK_CONTAINER (frame1), table1); gtk_table_set_col_spacings (GTK_TABLE (table1), 2); pSS->getValueUTF8(AP_STRING_ID_DLG_SplitCells_Left,s); wlSplitLeft = gtk_label_new (s.c_str()); gtk_widget_show (wlSplitLeft); gtk_table_attach (GTK_TABLE (table1), wlSplitLeft, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlSplitLeft), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_SplitCells_HoriMid,s); wlSplitHoriMid = gtk_label_new (s.c_str()); gtk_widget_show (wlSplitHoriMid); gtk_table_attach (GTK_TABLE (table1), wlSplitHoriMid, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlSplitHoriMid), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_SplitCells_Right,s); wlSplitRight = gtk_label_new (s.c_str()); gtk_widget_show (wlSplitRight); gtk_table_attach (GTK_TABLE (table1), wlSplitRight, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlSplitRight), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_SplitCells_Above,s); wlSplitAbove = gtk_label_new (s.c_str()); gtk_widget_show (wlSplitAbove); gtk_table_attach (GTK_TABLE (table1), wlSplitAbove, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlSplitAbove), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_SplitCells_VertMid,s); wlSplitVertMid = gtk_label_new (s.c_str()); gtk_widget_show (wlSplitVertMid); gtk_table_attach (GTK_TABLE (table1), wlSplitVertMid, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlSplitVertMid), 0, 0.5); pSS->getValueUTF8(AP_STRING_ID_DLG_SplitCells_Below,s); wlSplitBelow = gtk_label_new (s.c_str()); gtk_widget_show (wlSplitBelow); gtk_table_attach (GTK_TABLE (table1), wlSplitBelow, 0, 1, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (wlSplitBelow), 0, 0.5); wSplitLeft = gtk_button_new(); gtk_widget_show (wSplitLeft); label_button_with_abi_pixmap(wSplitLeft, "tb_SplitLeft_xpm"); gtk_table_attach (GTK_TABLE (table1), wSplitLeft, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); wSplitHoriMid = gtk_button_new(); gtk_widget_show (wSplitHoriMid); label_button_with_abi_pixmap(wSplitHoriMid, "tb_SplitHoriMid_xpm"); gtk_table_attach (GTK_TABLE (table1), wSplitHoriMid, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); wSplitRight = gtk_button_new(); gtk_widget_show (wSplitRight); label_button_with_abi_pixmap(wSplitRight, "tb_SplitRight_xpm"); gtk_table_attach (GTK_TABLE (table1), wSplitRight, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); wSplitAbove = gtk_button_new(); gtk_widget_show (wSplitAbove); label_button_with_abi_pixmap(wSplitAbove, "tb_SplitAbove_xpm"); gtk_table_attach (GTK_TABLE (table1), wSplitAbove, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); wSplitVertMid = gtk_button_new(); gtk_widget_show (wSplitVertMid); label_button_with_abi_pixmap(wSplitVertMid, "tb_SplitVertMid_xpm"); gtk_table_attach (GTK_TABLE (table1), wSplitVertMid, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); wSplitBelow = gtk_button_new(); gtk_widget_show (wSplitBelow); label_button_with_abi_pixmap(wSplitBelow, "tb_SplitBelow_xpm"); gtk_table_attach (GTK_TABLE (table1), wSplitBelow, 1, 2, 5, 6, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 3, 0); m_wSplitLeft = wSplitLeft; m_wSplitHoriMid = wSplitHoriMid; m_wSplitRight = wSplitRight; m_wSplitAbove = wSplitAbove; m_wSplitVertMid = wSplitVertMid; m_wSplitBelow = wSplitBelow; m_lwSplitLeft = wlSplitLeft; m_lwSplitRight = wlSplitRight; m_lwSplitAbove = wlSplitAbove; m_lwSplitVertMid = wlSplitVertMid; m_lwSplitHoriMid = wlSplitHoriMid; m_lwSplitBelow = wlSplitBelow; m_wContents = wContents; return m_wContents; }
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; }