]> git.lyx.org Git - features.git/commitdiff
* GGraphics, GVSpace, GBox: update to use new ghelpers functions
authorJohn Spray <spray@lyx.org>
Fri, 11 Mar 2005 00:25:56 +0000 (00:25 +0000)
committerJohn Spray <spray@lyx.org>
Fri, 11 Mar 2005 00:25:56 +0000 (00:25 +0000)
* ghelpers: add getLengthFromWidgets, setWidgetsFromLength,
  comboBoxTextSet, populateUnitCombo.  Remove buildLengthNoRelUnitList.
* GDocument.[Ch], Makefile.am, Dialogs.C: start work on document
  dialog.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9709 a592a061-630c-0410-9148-cb99ea01b6c8

16 files changed:
src/frontends/gtk/ChangeLog
src/frontends/gtk/Dialogs.C
src/frontends/gtk/GBox.C
src/frontends/gtk/GDocument.C [new file with mode: 0644]
src/frontends/gtk/GDocument.h [new file with mode: 0644]
src/frontends/gtk/GGraphics.C
src/frontends/gtk/GGraphics.h
src/frontends/gtk/GVSpace.C
src/frontends/gtk/GVSpace.h
src/frontends/gtk/Makefile.am
src/frontends/gtk/ghelpers.C
src/frontends/gtk/ghelpers.h
src/frontends/gtk/glade/Makefile.am
src/frontends/gtk/glade/document.glade [new file with mode: 0644]
src/frontends/gtk/glade/graphics.glade
src/frontends/gtk/glade/vspace.glade

index 9316c350d1536420eb029f6f38b934c7337f9ca8..914b2c1cf0ec911b6e0feece6c47fa9b34b4de1d 100644 (file)
@@ -1,3 +1,11 @@
+2005-03-10  John Spray  <spray_john@users.sf.net>
+
+       * GGraphics, GVSpace, GBox: update to use new ghelpers functions
+       * ghelpers: add getLengthFromWidgets, setWidgetsFromLength,
+       comboBoxTextSet, populateUnitCombo.  Remove buildLengthNoRelUnitList.
+       * GDocument.[Ch], Makefile.am, Dialogs.C: start work on document
+       dialog.
+
 2005-03-04  John Spray  <spray_john@users.sf.net>
 
        * GToolbar.C: remember existing selection when update()ing 
index c36edbcb9000e9c6c0f9d677a30a14a67edd3e8e..34e09dc27d08fad45d3aaf571fd25ea193266b58 100644 (file)
@@ -67,7 +67,7 @@
 #include "GChanges.h"
 #include "GCharacter.h"
 #include "FormCitation.h"
-#include "FormDocument.h"
+#include "GDocument.h"
 #include "GErrorList.h"
 #include "GERT.h"
 #include "FormExternal.h"
@@ -217,9 +217,10 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
                dialog->setView(new FormCitation(*dialog));
                dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
        } else if (name == "document") {
+               dialog->bc().view(new GBC(dialog->bc()));
                dialog->setController(new ControlDocument(*dialog));
-               dialog->setView(new FormDocument(*dialog));
-               dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
+               dialog->setView(new GDocument(*dialog));
+               dialog->bc().bp(new OkApplyCancelReadOnlyPolicy);
        } else if (name == "errorlist") {
                dialog->bc().view(new GBC(dialog->bc()));
                dialog->setController(new ControlErrorList(*dialog));
index adb17fd1cd6fa2d0b8ccf6c2a1028af70bcbaa7a..4bc5e162d11050eddd3abb2a7cc1436965c657fe 100644 (file)
@@ -115,7 +115,7 @@ void GBox::doBuild()
        //widthunitscombo_ is populated in setSpecial
 
        box_gui_tokens_special_length(ids_spec_, gui_names_spec_);
-       vector<string> heightunits = buildLengthUnitList();
+       vector<string> heightunits = buildLengthUnitList(true);
        // Append special entries, skipping the first item "None"
        heightunits.insert(heightunits.end(),
                ++gui_names_spec_.begin(), gui_names_spec_.end());
@@ -220,7 +220,7 @@ void GBox::setSpecial(bool ibox)
 
        unsigned int const initselection = widthunitscombo_->get_active_row_number();
        widthunitsstore_->clear();
-       vector<string> normalunits = buildLengthUnitList();
+       vector<string> normalunits = buildLengthUnitList(true);
        if (ibox) {
                vector<string>::const_iterator it = normalunits.begin();
                vector<string>::const_iterator end = normalunits.end();
diff --git a/src/frontends/gtk/GDocument.C b/src/frontends/gtk/GDocument.C
new file mode 100644 (file)
index 0000000..82f0548
--- /dev/null
@@ -0,0 +1,289 @@
+/**
+ * \file GDocument.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author John Spray
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#include <config.h>
+
+// Too hard to make concept checks work with this file
+#ifdef _GLIBCXX_CONCEPT_CHECKS
+#undef _GLIBCXX_CONCEPT_CHECKS
+#endif
+#ifdef _GLIBCPP_CONCEPT_CHECKS
+#undef _GLIBCPP_CONCEPT_CHECKS
+#endif
+
+#include "GDocument.h"
+#include "ghelpers.h"
+
+#include "ControlDocument.h"
+#include "controllers/helper_funcs.h"
+
+#include "support/lstrings.h"
+
+#include "lyxtextclasslist.h"
+#include "bufferparams.h"
+#include "tex-strings.h"
+
+using std::string;
+
+namespace lyx {
+
+using support::bformat;
+
+namespace frontend {
+
+GDocument::GDocument(Dialog & parent)
+       : GViewCB<ControlDocument, GViewGladeB>(parent, _("Document Settings"), false)
+{}
+
+void GDocument::doBuild()
+{
+       string const gladeName = findGladeFile("document");
+       xml_ = Gnome::Glade::Xml::create(gladeName);
+
+       // Manage the action area buttons
+       Gtk::Button * button;
+       xml_->get_widget("Cancel", button);
+       setCancel(button);
+       xml_->get_widget("OK", button);
+       setOK(button);
+       xml_->get_widget("Apply", button);
+       setApply(button);
+       xml_->get_widget("Revert", button);
+       setRestore(button);
+
+       xml_->get_widget("UseClassDefaults", button);
+       button->signal_clicked().connect(
+               sigc::mem_fun(*this, &GDocument::resetToDefaults));
+       xml_->get_widget("SaveAsDocumentDefaults", button);
+       button->signal_clicked().connect(
+               sigc::mem_fun(*this, &GDocument::saveAsDefaults));
+
+
+       // *** Start "Document" Page ***
+       Gtk::Box * box = NULL;
+       xml_->get_widget("DocumentClass", box);
+       // Prevent combo making dialog super-wide due to long class names
+       classcombo_.set_size_request(1, -1);
+       box->pack_start(classcombo_, true, true, 0);
+       box->show_all();
+
+       // Populate Document Class combo
+       for (LyXTextClassList::const_iterator cit = textclasslist.begin();
+            cit != textclasslist.end(); ++cit) {
+               if (cit->isTeXClassAvailable()) {
+                       classcombo_.append_text(cit->description());
+               } else {
+                       string item =
+                               bformat(_("Unavailable: %1$s"), cit->description());
+                       classcombo_.append_text(item);
+               }
+       }
+
+       xml_->get_widget("ExtraOptions", extraoptionsentry_);
+
+       xml_->get_widget("PostscriptDriver", box);
+       box->pack_start(psdrivercombo_, true, true, 0);
+       box->show_all();
+
+       // Populate Postscript driver combo
+       for (int i = 0; tex_graphics[i][0]; ++i) {
+               psdrivercombo_.append_text(tex_graphics[i]);
+       }
+
+       xml_->get_widget("Font", box);
+       box->pack_start(fontcombo_, true, true, 0);
+       box->show_all();
+
+       // Populate font combo
+       for (int i = 0; tex_fonts[i][0]; ++i) {
+               fontcombo_.append_text(tex_fonts[i]);
+       }
+
+       xml_->get_widget("FontSize", box);
+       box->pack_start(fontsizecombo_, true, true, 0);
+       box->show_all();
+       fontsizecombo_.append_text(_("Default"));
+       fontsizecombo_.append_text(_("10"));
+       fontsizecombo_.append_text(_("11"));
+       fontsizecombo_.append_text(_("12"));
+       // These are the corresponding strings to be passed to the backend
+       fontsizemap_[0] = "default";
+       fontsizemap_[1] = "10";
+       fontsizemap_[2] = "11";
+       fontsizemap_[3] = "12";
+
+       Gtk::SpinButton * spin;
+       xml_->get_widget("LineSpacing", spin);
+       linespacingadj_ = spin->get_adjustment();
+
+       xml_->get_widget("Indentation", indentradio_);
+       xml_->get_widget("VerticalSpace", vspaceradio_);
+       vspaceradio_->signal_toggled().connect(
+               sigc::mem_fun(*this, &GDocument::updateParagraphSeparationSensitivity));
+
+       xml_->get_widget("VerticalSpaceSize", box);
+       box->pack_start(vspacesizecombo_, true, true, 0);
+       box->show_all();
+       // The order of these items is magic
+       vspacesizecombo_.append_text(_("Small Skip"));
+       vspacesizecombo_.append_text(_("Medium Skip"));
+       vspacesizecombo_.append_text(_("Big Skip"));
+       vspacesizecombo_.append_text(_("Custom"));
+       vspacesizemap_[0] = VSpace::SMALLSKIP;
+       vspacesizemap_[1] = VSpace::MEDSKIP;
+       vspacesizemap_[2] = VSpace::BIGSKIP;
+       vspacesizemap_[3] = VSpace::LENGTH;
+
+       vspacesizecombo_.signal_changed().connect(
+               sigc::mem_fun(*this,
+               &GDocument::updateParagraphSeparationSensitivity));
+
+       xml_->get_widget("VerticalSpaceLength", vspacelengthspin_);
+       vspacelengthadj_ = vspacelengthspin_->get_adjustment();
+
+       xml_->get_widget("VerticalSpaceUnit", box);
+       box->pack_start(vspaceunitcombo_, true, true, 0);
+       box->show_all();
+
+       populateUnitCombo(vspaceunitcombo_, false);
+
+       updateParagraphSeparationSensitivity();
+
+       // *** End "Document" Page ***
+}
+
+
+void GDocument::update()
+{
+       BufferParams & params = controller().params();
+
+       // *** Start "Document" Page ***
+
+       // Document Class
+       classcombo_.set_active(params.textclass);
+
+       // Extra Options
+       extraoptionsentry_->set_text(params.options);
+
+       // Postscript driver
+       comboBoxTextSet(psdrivercombo_, params.graphicsDriver);
+
+       // Font & Size
+       comboBoxTextSet(fontcombo_, params.fonts);
+       for (int i = 0; i <= 3; ++i) {
+               if (fontsizemap_[i] == params.fontsize)
+                       fontsizecombo_.set_active(i);
+       }
+
+       // Line Spacing
+       linespacingadj_->set_value(params.spacing().getValue());
+
+       // Paragraph Separation
+       if (params.paragraph_separation == BufferParams::PARSEP_INDENT) {
+               indentradio_->set_active(true);
+       } else {
+               vspaceradio_->set_active(true);
+       }
+
+       // Paragraph Separation Vertical Space Size
+       VSpace::vspace_kind const skipkind = params.getDefSkip().kind();
+       for (int i = 0; i <= 3; ++i) {
+               if (vspacesizemap_[i] == skipkind)
+                       vspacesizecombo_.set_active(i);
+       }
+
+       LyXLength vspacelen = params.getDefSkip().length().len();
+       setWidgetsFromLength(*vspacelengthadj_, vspaceunitcombo_, vspacelen);
+
+       // *** End "Document" Page ***
+
+       // Be a cheesy bastard, for the moment
+       bc().valid();
+}
+
+
+void GDocument::apply()
+{
+       BufferParams & params = controller().params();
+
+       // *** Start "Document" Page ***
+
+       // Document Class
+       params.textclass = classcombo_.get_active_row_number();
+
+       // Extra Options
+       params.options = extraoptionsentry_->get_text();
+
+       // Postscript Driver
+       params.graphicsDriver = psdrivercombo_.get_active_text();
+
+       // Font & Size
+       params.fonts = fontcombo_.get_active_text();
+       params.fontsize =
+               fontsizemap_[fontsizecombo_.get_active_row_number()];
+
+       // Line Spacing
+       params.spacing().set(Spacing::Other, linespacingadj_->get_value());
+
+       // Paragraph Separation
+       if (indentradio_->get_active()) {
+               params.paragraph_separation = BufferParams::PARSEP_INDENT;
+       } else {
+               params.paragraph_separation = BufferParams::PARSEP_SKIP;
+       }
+
+       // Paragraph Separation Vertical Space Size
+       VSpace::vspace_kind const selection =
+               vspacesizemap_[vspacesizecombo_.get_active_row_number()];
+       params.setDefSkip(VSpace(selection));
+       if (selection == VSpace::LENGTH) {
+               string const length =
+               getLengthFromWidgets(*vspacelengthadj_,
+                                    vspaceunitcombo_);
+
+               params.setDefSkip(VSpace(LyXGlueLength(length)));
+       }
+
+       // *** End "Document" Page ***
+}
+
+
+void GDocument::saveAsDefaults()
+{
+       apply();
+       controller().saveAsDefault();
+}
+
+
+void GDocument::resetToDefaults()
+{
+       BufferParams & params = controller().params();
+       params.textclass = classcombo_.get_active_row_number();
+       params.useClassDefaults();
+       update();
+}
+
+
+void GDocument::updateParagraphSeparationSensitivity()
+{
+       bool const vspacesensitive = vspaceradio_->get_active();
+
+       vspacesizecombo_.set_sensitive(vspacesensitive);
+
+       bool const lengthsensitive = vspacesensitive &&
+               (vspacesizecombo_.get_active_row_number() == 3);
+
+       vspacelengthspin_->set_sensitive(lengthsensitive);
+       vspaceunitcombo_.set_sensitive(lengthsensitive);
+}
+
+
+} // namespace frontend
+} // namespace lyx
diff --git a/src/frontends/gtk/GDocument.h b/src/frontends/gtk/GDocument.h
new file mode 100644 (file)
index 0000000..b536ac2
--- /dev/null
@@ -0,0 +1,67 @@
+// -*- C++ -*-
+/**
+ * \file GDocument.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \auther John Spray
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#ifndef GDOCUMENT_H
+#define GDOCUMENT_H
+
+#include "GViewBase.h"
+#include "vspace.h"
+
+#include <gtkmm.h>
+
+#include <map>
+
+namespace lyx {
+namespace frontend {
+
+class ControlDocument;
+
+/** This class provides a gtk implementation of the document dialog.
+ */
+class GDocument
+       : public GViewCB<ControlDocument, GViewGladeB> {
+public:
+       GDocument(Dialog &);
+private:
+       /// Build the dialog
+       virtual void doBuild();
+       /// Apply from dialog
+       virtual void apply();
+       /// Update the dialog
+       virtual void update();
+
+       void saveAsDefaults();
+       void resetToDefaults();
+
+       // *** Start "Document" Page ***
+       Gtk::ComboBoxText classcombo_;
+       Gtk::Entry * extraoptionsentry_;
+       Gtk::ComboBoxText psdrivercombo_;
+       Gtk::ComboBoxText fontcombo_;
+       Gtk::ComboBoxText fontsizecombo_;
+       Gtk::Adjustment * linespacingadj_;
+       Gtk::RadioButton * indentradio_;
+       Gtk::RadioButton * vspaceradio_;
+       Gtk::ComboBoxText vspacesizecombo_;
+       std::map<int, std::string> fontsizemap_;
+       std::map<int, VSpace::vspace_kind> vspacesizemap_;
+       Gtk::ComboBoxText vspaceunitcombo_;
+       Gtk::SpinButton * vspacelengthspin_;
+       Gtk::Adjustment * vspacelengthadj_;
+       void updateParagraphSeparationSensitivity();
+       // *** End "Document" Page ***
+
+};
+
+} // namespace frontend
+} // namespace lyx
+
+#endif
index 7679478488886177255acbd549c527225932facd..41db3968373acc0cd27804577600e137822ba6b7 100644 (file)
@@ -81,8 +81,15 @@ void GGraphics::doBuild()
        xml_->get_widget("Width", widthspin_);
        xml_->get_widget("Height", heightspin_);
        xml_->get_widget("MaintainAspectRatio", aspectcheck_);
-       xml_->get_widget("WidthUnits", widthunitscombo_);
-       xml_->get_widget("HeightUnits", heightunitscombo_);
+       
+       Gtk::VBox * box;
+       xml_->get_widget("WidthUnits", box);
+       box->pack_start(widthunitscombo_, true, true, 0);
+       box->show_all();
+       xml_->get_widget("HeightUnits", box);
+       box->pack_start(heightunitscombo_, true, true, 0);
+       box->show_all();
+
        xml_->get_widget("SetScaling", setscalingradio_);
        xml_->get_widget("SetSize", setsizeradio_);
 
@@ -123,11 +130,11 @@ void GGraphics::doBuild()
                sigc::mem_fun(*this, &GGraphics::onInput));
        heightspin_->signal_changed().connect(
                sigc::mem_fun(*this, &GGraphics::onInput));
-       heightunitscombo_->signal_changed().connect(
+       heightunitscombo_.signal_changed().connect(
                sigc::mem_fun(*this, &GGraphics::onInput));
        widthspin_->signal_changed().connect(
                sigc::mem_fun(*this, &GGraphics::onInput));
-       widthunitscombo_->signal_changed().connect(
+       widthunitscombo_.signal_changed().connect(
                sigc::mem_fun(*this, &GGraphics::onInput));
        aspectcheck_->signal_toggled().connect(
                sigc::mem_fun(*this, &GGraphics::onInput));
@@ -143,9 +150,8 @@ void GGraphics::doBuild()
        editbutton_->signal_clicked().connect(
                sigc::mem_fun(*this, &GGraphics::onEditClicked));
 
-       vector<string> const unit_list = buildLengthUnitList();
-       PopulateComboBox(heightunitscombo_, unit_list);
-       PopulateComboBox(widthunitscombo_, unit_list);
+       populateUnitCombo(widthunitscombo_, true);
+       populateUnitCombo(heightunitscombo_, true);
 
        // the bounding box page
        leftbottomxspin_->signal_changed().connect(
@@ -211,8 +217,8 @@ void GGraphics::onSizingModeChange()
        outputscalespin_->set_sensitive(scalingmode);
        widthspin_->set_sensitive(!scalingmode);
        heightspin_->set_sensitive(!scalingmode);
-       widthunitscombo_->set_sensitive(!scalingmode);
-       heightunitscombo_->set_sensitive(!scalingmode);
+       widthunitscombo_.set_sensitive(!scalingmode);
+       heightunitscombo_.set_sensitive(!scalingmode);
        aspectcheck_->set_sensitive(!scalingmode);
        bc().input(ButtonPolicy::SMI_VALID);
 }
@@ -276,15 +282,10 @@ void GGraphics::apply()
                igp.width = LyXLength();
        } else {
                igp.scale = string();
-               Glib::ustring const widthunit =
-                       (*widthunitscombo_->get_active())[stringcol_];
-               igp.width = LyXLength(widthspin_->get_text() + widthunit);
+               igp.width = LyXLength(getLengthFromWidgets(*widthspin_->get_adjustment(), widthunitscombo_));
        }
 
-
-       Glib::ustring const heightunit =
-               (*heightunitscombo_->get_active())[stringcol_];
-       igp.height = LyXLength(heightspin_->get_text() + heightunit);
+       igp.height = LyXLength(getLengthFromWidgets(*heightspin_->get_adjustment(), heightunitscombo_));
 
        igp.keepAspectRatio = aspectcheck_->get_active();
        igp.draft = draftcheck_->get_active();
@@ -375,12 +376,9 @@ void GGraphics::update() {
        }
 
        outputscalespin_->get_adjustment()->set_value(convert<double>(igp.scale));
-       widthspin_->get_adjustment()->set_value(igp.width.value());
-       unitsComboFromLength(widthunitscombo_, stringcol_,
-                            igp.width, defaultUnit);
-       heightspin_->get_adjustment()->set_value(igp.height.value());
-       unitsComboFromLength(heightunitscombo_, stringcol_,
-                            igp.height, defaultUnit);
+
+       setWidgetsFromLength(*widthspin_->get_adjustment(), widthunitscombo_, igp.width);
+       setWidgetsFromLength(*heightspin_->get_adjustment(), heightunitscombo_, igp.height);
 
        if (!igp.scale.empty()
                && !float_equal(convert<double>(igp.scale), 0.0, 0.05)) {
index 3a943d5a4ff144704c1c05c9bea9d4e9264c538b..1907d81b9da14073a34773e282c81ca4b1ee523a 100644 (file)
@@ -65,8 +65,8 @@ private:
        Gtk::SpinButton * widthspin_;
        Gtk::SpinButton * heightspin_;
        Gtk::CheckButton * aspectcheck_;
-       Gtk::ComboBox * widthunitscombo_;
-       Gtk::ComboBox * heightunitscombo_;
+       Gtk::ComboBoxText widthunitscombo_;
+       Gtk::ComboBoxText heightunitscombo_;
        Gtk::RadioButton * setscalingradio_;
        Gtk::RadioButton * setsizeradio_;
 
index 9f2862a0e76d80b641cddef8707dd8a8a0bd6c30..e31a063b1d1577bf2a8cdaf55ef2f2b155031839 100644 (file)
@@ -30,10 +30,6 @@ using std::vector;
 namespace lyx {
 namespace frontend {
 
-namespace {
-string defaultUnit("cm");
-} // namespace anon
-
 GVSpace::GVSpace(Dialog & parent)
        : GViewCB<ControlVSpace, GViewGladeB>(parent, _("VSpace Settings"), false)
 {}
@@ -47,46 +43,27 @@ void GVSpace::doBuild()
        Gtk::Button * button;
        xml_->get_widget("Cancel", button);
        setCancel(button);
-       xml_->get_widget("Insert", button);
+       xml_->get_widget("OK", button);
        setOK(button);
 
        xml_->get_widget("Spacing", spacingcombo_);
        xml_->get_widget("Value", valuespin_);
-       xml_->get_widget("ValueUnits", valueunitscombo_);
+       Gtk::VBox * box;
+       xml_->get_widget("ValueUnits", box);
+       box->pack_start(valueunitscombo_, true, true, 0);
+       box->show_all();
+       
        xml_->get_widget("Protect", protectcheck_);
 
-       cols_.add(stringcol_);
-
-       PopulateComboBox(valueunitscombo_, buildLengthNoRelUnitList());
+       populateUnitCombo(valueunitscombo_, false);
 
        spacingcombo_->signal_changed().connect(
                sigc::mem_fun(*this, &GVSpace::onSpacingComboChanged));
 }
 
 
-void GVSpace::PopulateComboBox(Gtk::ComboBox * combo,
-                                 vector<string> const & strings)
-{
-       Glib::RefPtr<Gtk::ListStore> model = Gtk::ListStore::create(cols_);
-       vector<string>::const_iterator it = strings.begin();
-       vector<string>::const_iterator end = strings.end();
-       for (int rowindex = 0; it != end; ++it, ++rowindex) {
-               Gtk::TreeModel::iterator row = model->append();
-               (*row)[stringcol_] = *it;
-       }
-
-       combo->set_model(model);
-       Gtk::CellRendererText * cell = Gtk::manage(new Gtk::CellRendererText);
-       combo->pack_start(*cell, true);
-       combo->add_attribute(*cell, "text", 0);
-}
-
-
 void GVSpace::update()
 {
-       // set the right default unit
-       defaultUnit = getDefaultUnit();
-
        VSpace const space = controller().params();
 
        int pos = 0;
@@ -117,14 +94,10 @@ void GVSpace::update()
 
        bool const custom_vspace = space.kind() == VSpace::LENGTH;
        if (custom_vspace) {
-               LyXLength length(space.length().asString());
-               valuespin_->get_adjustment()->set_value(length.value());
-               unitsComboFromLength(valueunitscombo_, stringcol_,
-                                    length, defaultUnit);
+               setWidgetsFromLength(*valuespin_->get_adjustment(), valueunitscombo_, space.length().len());
        } else {
-               valuespin_->get_adjustment()->set_value(0.0f);
-               unitsComboFromLength(valueunitscombo_, stringcol_,
-                                    LyXLength(defaultUnit), defaultUnit);
+               setWidgetsFromLength(*valuespin_->get_adjustment(), valueunitscombo_, LyXLength());
+               
        }
 }
 
@@ -149,9 +122,7 @@ void GVSpace::apply()
                space = VSpace(VSpace::VFILL);
                break;
        case 5:
-               Glib::ustring const valueunit =
-                       (*valueunitscombo_->get_active())[stringcol_];
-               space = VSpace(LyXGlueLength(valuespin_->get_text() + valueunit));
+               space = VSpace(LyXGlueLength(getLengthFromWidgets(*valuespin_->get_adjustment(), valueunitscombo_)));
                break;
        }
 
@@ -164,7 +135,7 @@ void GVSpace::apply()
 void GVSpace::onSpacingComboChanged()
 {
        bool const custom = spacingcombo_->get_active_row_number() == 5;
-       valueunitscombo_->set_sensitive(custom);
+       valueunitscombo_.set_sensitive(custom);
        valuespin_->set_sensitive(custom);
 }
 
index 3619245d516163332b1a12301a163ed0b4f5f7d9..a24c3585264c967b5e25d3061c5f3a488172e5a8 100644 (file)
@@ -29,17 +29,11 @@ private:
        virtual void doBuild();
        virtual void update();
 
-       void PopulateComboBox(Gtk::ComboBox * combo,
-                                 std::vector<std::string> const & strings);
-
        void onSpacingComboChanged();
 
-       Gtk::TreeModelColumn<Glib::ustring> stringcol_;
-       Gtk::TreeModel::ColumnRecord cols_;
-
        Gtk::ComboBox * spacingcombo_;
        Gtk::SpinButton * valuespin_;
-       Gtk::ComboBox * valueunitscombo_;
+       Gtk::ComboBoxText valueunitscombo_;
        Gtk::CheckButton * protectcheck_;
 };
 
index 8a088141f85501385f659ff6e1bd6d95b1305f6f..ba192dacbc3a7842f396fcab4ad105106072861c 100644 (file)
@@ -33,6 +33,8 @@ libgtk_la_SOURCES = \
        GChanges.h \
        GCharacter.C \
        GCharacter.h \
+       GDocument.C \
+       GDocument.h \
        GErrorList.C \
        GErrorList.h \
        GERT.C \
@@ -130,7 +132,6 @@ xforms_objects = \
        ../xforms/FormCitation.lo \
        ../xforms/FormColorpicker.lo \
        ../xforms/FormDialogView.lo \
-       ../xforms/FormDocument.lo \
        ../xforms/FormExternal.lo \
        ../xforms/FormMathsBitmap.lo \
        ../xforms/FormMathsDelim.lo \
index 72e5bac497e3a799780805e02260430e51c6de04..d86f38a011b6479b001c276f9ce4a77aa8e34cc1 100644 (file)
 #include "support/filetools.h"
 #include "support/package.h"
 
+#include <sstream>
+
 using std::string;
 using std::vector;
 
 namespace lyx {
 namespace frontend {
 
+string const getLengthFromWidgets(Gtk::Adjustment const & adj, Gtk::ComboBoxText const & combo)
+{
+       std::ostringstream os;
+       os << adj.get_value();
+       os << combo.get_active_text();
+       return os.str();
+}
+
+
+void setWidgetsFromLength(Gtk::Adjustment & adj, Gtk::ComboBoxText & combo, LyXLength const & length)
+{
+       adj.set_value(length.value());
+
+       string unit = stringFromUnit(length.unit());
+       if (unit.empty())
+               unit = getDefaultUnit();
+
+       comboBoxTextSet(combo,unit);
+}
+
+
+void populateUnitCombo(Gtk::ComboBoxText & combo, bool const userelative)
+{
+       vector<string> units = buildLengthUnitList(userelative);
+
+       vector<string>::const_iterator it = units.begin();
+       vector<string>::const_iterator end = units.end();
+       for(; it != end; ++it)
+               combo.append_text(*it);
+}
+
+
+int comboBoxTextSet(Gtk::ComboBoxText & combo, Glib::ustring target)
+{
+       int const children = combo.get_model()->children().size();
+       for (int i = 0; i < children; i++) {
+               combo.set_active(i);
+               if (combo.get_active_text() == target)
+                       return 0;
+       }
+       return -1;
+}
+
+
 Gtk::BuiltinStockID getGTKStockIcon(FuncRequest const & func)
 {
        switch (func.action) {
-
                case LFUN_MENUWRITE: return Gtk::Stock::SAVE;
                case LFUN_MENUNEW: return Gtk::Stock::NEW;
                case LFUN_WRITEAS: return Gtk::Stock::SAVE_AS;
-
                case LFUN_CENTER: return Gtk::Stock::JUSTIFY_CENTER;
                case LFUN_TOCVIEW: return Gtk::Stock::INDEX;
                case LFUN_CLOSEBUFFER: return Gtk::Stock::CLOSE;
@@ -93,7 +137,7 @@ string const getDefaultUnit()
 void unitsComboFromLength(Gtk::ComboBox * combo,
                            Gtk::TreeModelColumn<Glib::ustring> const & stringcol,
                            LyXLength const & len,
-                           std::string defunit)
+                           std::string const & defunit)
 {
        string unit = stringFromUnit(len.unit());
        if (unit.empty())
@@ -115,23 +159,19 @@ void unitsComboFromLength(Gtk::ComboBox * combo,
 }
 
 
-vector<string> const buildLengthUnitList()
-{
-       vector<string> data(unit_name_gui, unit_name_gui + num_units);
-
-       return data;
-}
-
-
-vector<string> const buildLengthNoRelUnitList()
+vector<string> const buildLengthUnitList(bool const userelative)
 {
+       //vector<string> data(unit_name_gui, unit_name_gui + num_units);
        vector<string> data;
-       for (int i = 0; i < num_units; ++i) {
-               string str(unit_name_gui[i]);
-               if (str.find("%") == string::npos)
-                       data.push_back(unit_name_gui[i]);
+       if (userelative) {
+               data = vector<string>(unit_name_gui, unit_name_gui + num_units);
+       } else {
+               for (int i = 0; i < num_units; ++i) {
+                       string str(unit_name_gui[i]);
+                       if (str.find("%") == string::npos)
+                               data.push_back(unit_name_gui[i]);
+               }
        }
-
        return data;
 }
 
index 3700e1320921bbaac2c3e97cddb8c4c63ee7c78e..5372232d80f5b77648be5a4369a84bd6226fedec 100644 (file)
@@ -24,20 +24,32 @@ class FuncRequest;
 namespace lyx {
 namespace frontend {
 
+std::string const getLengthFromWidgets(
+       Gtk::Adjustment const & adj,
+       Gtk::ComboBoxText const & combo);
+
+void setWidgetsFromLength(
+       Gtk::Adjustment & adj,
+       Gtk::ComboBoxText & combo,
+       LyXLength const & length);
+
+int comboBoxTextSet(Gtk::ComboBoxText & combo, Glib::ustring target);
+
+void populateUnitCombo(Gtk::ComboBoxText & combo, bool userelative);
+
 // Get a GTK stockID from a lyx function id.
 // Return Gtk::Stock::MISSING_IMAGE if no suitable stock found
 Gtk::BuiltinStockID getGTKStockIcon(FuncRequest const & func);
 
 std::string const getDefaultUnit();
 
-void unitsComboFromLength(Gtk::ComboBox * combo,
-                           Gtk::TreeModelColumn<Glib::ustring> const & stringcol,
-                           LyXLength const & len,
-                           std::string defunit);
-
-std::vector<std::string> const buildLengthUnitList();
+void unitsComboFromLength(
+       Gtk::ComboBox * combo,
+       Gtk::TreeModelColumn<Glib::ustring> const & stringcol,
+       LyXLength const & len,
+       std::string const & defunit);
 
-std::vector<std::string> const buildLengthNoRelUnitList();
+std::vector<std::string> const buildLengthUnitList(bool userelative);
 
 /** name is the name of the glade file, without path or extension.
  *  Eg, "aboutlyx", "tableCreate".
index 02c60fd79fca43f3ed13d98e2b6bdc8d4ee0c507..e9cb7262ef370eb7837bc1613fe8012e02b24966 100644 (file)
@@ -8,6 +8,7 @@ dist_glade_DATA = \
        box.glade \
        changes.glade \
        character.glade \
+       document.glade
        errors.glade \
        ERT.glade \
        float.glade \
diff --git a/src/frontends/gtk/glade/document.glade b/src/frontends/gtk/glade/document.glade
new file mode 100644 (file)
index 0000000..341fa58
--- /dev/null
@@ -0,0 +1,2225 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+
+<widget class="GtkDialog" id="dialog">
+  <property name="title" translatable="yes">Document Settings</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">False</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="has_separator">False</property>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="dialog-vbox1">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child internal-child="action_area">
+       <widget class="GtkHButtonBox" id="dialog-action_area1">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+         <child>
+           <widget class="GtkButton" id="Revert">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-revert-to-saved</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <property name="response_id">0</property>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="Apply">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-apply</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <property name="response_id">-10</property>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="Cancel">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-cancel</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <property name="response_id">-6</property>
+           </widget>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="OK">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="has_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="label">gtk-ok</property>
+             <property name="use_stock">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+             <property name="response_id">-5</property>
+           </widget>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+         <property name="pack_type">GTK_PACK_END</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHButtonBox" id="hbuttonbox1">
+         <property name="visible">True</property>
+         <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
+         <property name="spacing">9</property>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">False</property>
+         <property name="fill">True</property>
+         <property name="pack_type">GTK_PACK_END</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkHBox" id="hbox2">
+         <property name="visible">True</property>
+         <property name="homogeneous">False</property>
+         <property name="spacing">0</property>
+
+         <child>
+           <widget class="GtkButton" id="SaveAsDocumentDefaults">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment1">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox1">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image1">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-save</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label1">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">_Save as Document Defaults</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+           <packing>
+             <property name="padding">4</property>
+             <property name="expand">False</property>
+             <property name="fill">False</property>
+             <property name="pack_type">GTK_PACK_END</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkButton" id="UseClassDefaults">
+             <property name="visible">True</property>
+             <property name="can_default">True</property>
+             <property name="can_focus">True</property>
+             <property name="relief">GTK_RELIEF_NORMAL</property>
+             <property name="focus_on_click">True</property>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment15">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">0</property>
+                 <property name="yscale">0</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">0</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkHBox" id="hbox6">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">2</property>
+
+                     <child>
+                       <widget class="GtkImage" id="image2">
+                         <property name="visible">True</property>
+                         <property name="stock">gtk-clear</property>
+                         <property name="icon_size">4</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label46">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">Use C_lass Defaults</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+             </child>
+           </widget>
+           <packing>
+             <property name="padding">0</property>
+             <property name="expand">False</property>
+             <property name="fill">False</property>
+             <property name="pack_type">GTK_PACK_END</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+         <property name="pack_type">GTK_PACK_END</property>
+       </packing>
+      </child>
+
+      <child>
+       <widget class="GtkNotebook" id="notebook1">
+         <property name="border_width">6</property>
+         <property name="visible">True</property>
+         <property name="can_focus">True</property>
+         <property name="show_tabs">True</property>
+         <property name="show_border">True</property>
+         <property name="tab_pos">GTK_POS_TOP</property>
+         <property name="scrollable">True</property>
+         <property name="enable_popup">False</property>
+
+         <child>
+           <widget class="GtkHBox" id="hbox7">
+             <property name="visible">True</property>
+             <property name="homogeneous">False</property>
+             <property name="spacing">0</property>
+
+             <child>
+               <widget class="GtkTable" id="table7">
+                 <property name="border_width">12</property>
+                 <property name="visible">True</property>
+                 <property name="n_rows">12</property>
+                 <property name="n_columns">3</property>
+                 <property name="homogeneous">False</property>
+                 <property name="row_spacing">4</property>
+                 <property name="column_spacing">12</property>
+
+                 <child>
+                   <widget class="GtkLabel" id="label26">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">_Postscript driver:</property>
+                     <property name="use_underline">True</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                     <property name="mnemonic_widget">PostscriptDriver</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">3</property>
+                     <property name="bottom_attach">4</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkVBox" id="DocumentClass">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <placeholder/>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">2</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">1</property>
+                     <property name="bottom_attach">2</property>
+                     <property name="y_options">fill</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkEntry" id="ExtraOptions">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="editable">True</property>
+                     <property name="visibility">True</property>
+                     <property name="max_length">0</property>
+                     <property name="text" translatable="yes"></property>
+                     <property name="has_frame">True</property>
+                     <property name="invisible_char" translatable="yes">*</property>
+                     <property name="activates_default">False</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">2</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">2</property>
+                     <property name="bottom_attach">3</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label30">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">_Font:</property>
+                     <property name="use_underline">True</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                     <property name="mnemonic_widget">Font</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">6</property>
+                     <property name="bottom_attach">7</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkVBox" id="Font">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <placeholder/>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">2</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">6</property>
+                     <property name="bottom_attach">7</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options">fill</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkVBox" id="FontSize">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <placeholder/>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">2</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">7</property>
+                     <property name="bottom_attach">8</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options">fill</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label34">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">Li_ne spacing:</property>
+                     <property name="use_underline">True</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                     <property name="mnemonic_widget">LineSpacing</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">10</property>
+                     <property name="bottom_attach">11</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkSpinButton" id="LineSpacing">
+                     <property name="visible">True</property>
+                     <property name="can_focus">True</property>
+                     <property name="climb_rate">1</property>
+                     <property name="digits">2</property>
+                     <property name="numeric">False</property>
+                     <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                     <property name="snap_to_ticks">False</property>
+                     <property name="wrap">False</property>
+                     <property name="adjustment">1.5 0.01 100 0.5 10 10</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">2</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">10</property>
+                     <property name="bottom_attach">11</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkVBox" id="vbox8">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <widget class="GtkRadioButton" id="Indentation">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">Indentation</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkRadioButton" id="VerticalSpace">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">Vertical space</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                         <property name="group">Indentation</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkAlignment" id="alignment14">
+                         <property name="visible">True</property>
+                         <property name="xalign">0.5</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xscale">1</property>
+                         <property name="yscale">1</property>
+                         <property name="top_padding">6</property>
+                         <property name="bottom_padding">0</property>
+                         <property name="left_padding">12</property>
+                         <property name="right_padding">0</property>
+
+                         <child>
+                           <widget class="GtkVBox" id="vbox9">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">6</property>
+
+                             <child>
+                               <widget class="GtkHBox" id="hbox5">
+                                 <property name="visible">True</property>
+                                 <property name="homogeneous">False</property>
+                                 <property name="spacing">12</property>
+
+                                 <child>
+                                   <widget class="GtkVBox" id="VerticalSpaceSize">
+                                     <property name="visible">True</property>
+                                     <property name="homogeneous">False</property>
+                                     <property name="spacing">0</property>
+
+                                     <child>
+                                       <placeholder/>
+                                     </child>
+                                   </widget>
+                                   <packing>
+                                     <property name="padding">0</property>
+                                     <property name="expand">True</property>
+                                     <property name="fill">True</property>
+                                   </packing>
+                                 </child>
+
+                                 <child>
+                                   <widget class="GtkSpinButton" id="VerticalSpaceLength">
+                                     <property name="visible">True</property>
+                                     <property name="can_focus">True</property>
+                                     <property name="climb_rate">1</property>
+                                     <property name="digits">2</property>
+                                     <property name="numeric">False</property>
+                                     <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                                     <property name="snap_to_ticks">False</property>
+                                     <property name="wrap">False</property>
+                                     <property name="adjustment">1 0 65536 0.01 10 10</property>
+                                   </widget>
+                                   <packing>
+                                     <property name="padding">0</property>
+                                     <property name="expand">True</property>
+                                     <property name="fill">True</property>
+                                   </packing>
+                                 </child>
+
+                                 <child>
+                                   <widget class="GtkVBox" id="VerticalSpaceUnit">
+                                     <property name="visible">True</property>
+                                     <property name="homogeneous">False</property>
+                                     <property name="spacing">0</property>
+
+                                     <child>
+                                       <placeholder/>
+                                     </child>
+                                   </widget>
+                                   <packing>
+                                     <property name="padding">0</property>
+                                     <property name="expand">True</property>
+                                     <property name="fill">True</property>
+                                   </packing>
+                                 </child>
+                               </widget>
+                               <packing>
+                                 <property name="padding">0</property>
+                                 <property name="expand">True</property>
+                                 <property name="fill">True</property>
+                               </packing>
+                             </child>
+                           </widget>
+                         </child>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">True</property>
+                         <property name="fill">True</property>
+                       </packing>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">2</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">11</property>
+                     <property name="bottom_attach">12</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options">fill</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label35">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">Separation:</property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">11</property>
+                     <property name="bottom_attach">12</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options">fill</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkAlignment" id="alignment18">
+                     <property name="visible">True</property>
+                     <property name="xalign">0.5</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xscale">1</property>
+                     <property name="yscale">1</property>
+                     <property name="top_padding">0</property>
+                     <property name="bottom_padding">0</property>
+                     <property name="left_padding">0</property>
+                     <property name="right_padding">0</property>
+
+                     <child>
+                       <widget class="GtkLabel" id="label25">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">E_xtra options:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">ExtraOptions</property>
+                       </widget>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">2</property>
+                     <property name="bottom_attach">3</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options">fill</property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label33">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">&lt;b&gt;Paragraphs&lt;/b&gt;</property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">True</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">0</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">9</property>
+                     <property name="bottom_attach">10</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label29">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">&lt;b&gt;Text&lt;/b&gt;</property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">True</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">0</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">5</property>
+                     <property name="bottom_attach">6</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label28">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">&lt;b&gt;Document&lt;/b&gt;</property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">True</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">0</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">0</property>
+                     <property name="bottom_attach">1</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label24">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">Doc_ument class:</property>
+                     <property name="use_underline">True</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                     <property name="mnemonic_widget">DocumentClass</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">1</property>
+                     <property name="bottom_attach">2</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label31">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">Font s_ize:</property>
+                     <property name="use_underline">True</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                     <property name="mnemonic_widget">FontSize</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">7</property>
+                     <property name="bottom_attach">8</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label47">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes"></property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">8</property>
+                     <property name="bottom_attach">9</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label48">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes"></property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">1</property>
+                     <property name="right_attach">2</property>
+                     <property name="top_attach">4</property>
+                     <property name="bottom_attach">5</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkLabel" id="label49">
+                     <property name="visible">True</property>
+                     <property name="label" translatable="yes">  </property>
+                     <property name="use_underline">False</property>
+                     <property name="use_markup">False</property>
+                     <property name="justify">GTK_JUSTIFY_LEFT</property>
+                     <property name="wrap">False</property>
+                     <property name="selectable">False</property>
+                     <property name="xalign">0</property>
+                     <property name="yalign">0.5</property>
+                     <property name="xpad">0</property>
+                     <property name="ypad">0</property>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">0</property>
+                     <property name="right_attach">1</property>
+                     <property name="top_attach">1</property>
+                     <property name="bottom_attach">2</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options"></property>
+                   </packing>
+                 </child>
+
+                 <child>
+                   <widget class="GtkVBox" id="PostscriptDriver">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <placeholder/>
+                     </child>
+                   </widget>
+                   <packing>
+                     <property name="left_attach">2</property>
+                     <property name="right_attach">3</property>
+                     <property name="top_attach">3</property>
+                     <property name="bottom_attach">4</property>
+                     <property name="x_options">fill</property>
+                     <property name="y_options">fill</property>
+                   </packing>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+           </widget>
+           <packing>
+             <property name="tab_expand">False</property>
+             <property name="tab_fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label2">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">_Document</property>
+             <property name="use_underline">True</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="type">tab</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkVBox" id="vbox1">
+             <property name="border_width">12</property>
+             <property name="visible">True</property>
+             <property name="homogeneous">False</property>
+             <property name="spacing">0</property>
+
+             <child>
+               <widget class="GtkLabel" id="label5">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">&lt;b&gt;Dimensions&lt;/b&gt;</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">True</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">False</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment3">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">1</property>
+                 <property name="yscale">1</property>
+                 <property name="top_padding">6</property>
+                 <property name="bottom_padding">12</property>
+                 <property name="left_padding">12</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkTable" id="table2">
+                     <property name="visible">True</property>
+                     <property name="n_rows">3</property>
+                     <property name="n_columns">3</property>
+                     <property name="homogeneous">False</property>
+                     <property name="row_spacing">6</property>
+                     <property name="column_spacing">12</property>
+
+                     <child>
+                       <widget class="GtkLabel" id="label11">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">S_ize:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">0</property>
+                         <property name="bottom_attach">1</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label12">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">Wid_th:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">spinbutton1</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">1</property>
+                         <property name="bottom_attach">2</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label13">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">_Height:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">spinbutton2</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">2</property>
+                         <property name="bottom_attach">3</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="combobox1">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">0</property>
+                         <property name="bottom_attach">1</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkSpinButton" id="spinbutton1">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="climb_rate">1</property>
+                         <property name="digits">2</property>
+                         <property name="numeric">True</property>
+                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                         <property name="snap_to_ticks">False</property>
+                         <property name="wrap">False</property>
+                         <property name="adjustment">1 0 65536 1 10 10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">2</property>
+                         <property name="top_attach">1</property>
+                         <property name="bottom_attach">2</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkSpinButton" id="spinbutton2">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="climb_rate">1</property>
+                         <property name="digits">2</property>
+                         <property name="numeric">True</property>
+                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                         <property name="snap_to_ticks">False</property>
+                         <property name="wrap">False</property>
+                         <property name="adjustment">1 0 65536 1 10 10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">2</property>
+                         <property name="top_attach">2</property>
+                         <property name="bottom_attach">3</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="combobox3">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">2</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">2</property>
+                         <property name="bottom_attach">3</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="combobox2">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">2</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">1</property>
+                         <property name="bottom_attach">2</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label6">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">&lt;b&gt;Orientation&lt;/b&gt;</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">True</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">False</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment2">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">1</property>
+                 <property name="yscale">1</property>
+                 <property name="top_padding">6</property>
+                 <property name="bottom_padding">12</property>
+                 <property name="left_padding">12</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkVBox" id="vbox3">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">0</property>
+
+                     <child>
+                       <widget class="GtkRadioButton" id="radiobutton1">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">Po_rtrait</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkRadioButton" id="radiobutton2">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">_Landscape</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                         <property name="group">radiobutton1</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label22">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">&lt;b&gt;Layout&lt;/b&gt;</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">True</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">False</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment9">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">1</property>
+                 <property name="yscale">1</property>
+                 <property name="top_padding">6</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">12</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkVBox" id="vbox5">
+                     <property name="visible">True</property>
+                     <property name="homogeneous">False</property>
+                     <property name="spacing">6</property>
+
+                     <child>
+                       <widget class="GtkHBox" id="hbox3">
+                         <property name="visible">True</property>
+                         <property name="homogeneous">False</property>
+                         <property name="spacing">12</property>
+
+                         <child>
+                           <widget class="GtkLabel" id="label23">
+                             <property name="visible">True</property>
+                             <property name="label" translatable="yes">Page st_yle:</property>
+                             <property name="use_underline">True</property>
+                             <property name="use_markup">False</property>
+                             <property name="justify">GTK_JUSTIFY_LEFT</property>
+                             <property name="wrap">False</property>
+                             <property name="selectable">False</property>
+                             <property name="xalign">0.5</property>
+                             <property name="yalign">0.5</property>
+                             <property name="xpad">0</property>
+                             <property name="ypad">0</property>
+                             <property name="mnemonic_widget">PageStyle</property>
+                           </widget>
+                           <packing>
+                             <property name="padding">0</property>
+                             <property name="expand">False</property>
+                             <property name="fill">False</property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkComboBox" id="PageStyle">
+                             <property name="visible">True</property>
+                             <property name="items" translatable="yes">Default
+Empty
+Plain
+Headings
+Fancy</property>
+                           </widget>
+                           <packing>
+                             <property name="padding">0</property>
+                             <property name="expand">True</property>
+                             <property name="fill">True</property>
+                           </packing>
+                         </child>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkCheckButton" id="DoubleSided">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">Do_uble-sided</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkCheckButton" id="TwoColumns">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="label" translatable="yes">T_wo columns</property>
+                         <property name="use_underline">True</property>
+                         <property name="relief">GTK_RELIEF_NORMAL</property>
+                         <property name="focus_on_click">True</property>
+                         <property name="active">False</property>
+                         <property name="inconsistent">False</property>
+                         <property name="draw_indicator">True</property>
+                       </widget>
+                       <packing>
+                         <property name="padding">0</property>
+                         <property name="expand">False</property>
+                         <property name="fill">False</property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+           </widget>
+           <packing>
+             <property name="tab_expand">False</property>
+             <property name="tab_fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label3">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">_Page</property>
+             <property name="use_underline">True</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="type">tab</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkVBox" id="vbox4">
+             <property name="border_width">12</property>
+             <property name="visible">True</property>
+             <property name="homogeneous">False</property>
+             <property name="spacing">12</property>
+
+             <child>
+               <widget class="GtkCheckButton" id="UseDefaultMargins">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="label" translatable="yes">Us_e Default Margins</property>
+                 <property name="use_underline">True</property>
+                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                 <property name="focus_on_click">True</property>
+                 <property name="active">False</property>
+                 <property name="inconsistent">False</property>
+                 <property name="draw_indicator">True</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">False</property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkAlignment" id="alignment8">
+                 <property name="visible">True</property>
+                 <property name="xalign">0.5</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xscale">1</property>
+                 <property name="yscale">1</property>
+                 <property name="top_padding">0</property>
+                 <property name="bottom_padding">0</property>
+                 <property name="left_padding">12</property>
+                 <property name="right_padding">0</property>
+
+                 <child>
+                   <widget class="GtkTable" id="MarginsTable">
+                     <property name="visible">True</property>
+                     <property name="n_rows">7</property>
+                     <property name="n_columns">3</property>
+                     <property name="homogeneous">False</property>
+                     <property name="row_spacing">6</property>
+                     <property name="column_spacing">12</property>
+
+                     <child>
+                       <widget class="GtkLabel" id="label15">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">_Top:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">MarginTop</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">0</property>
+                         <property name="bottom_attach">1</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label16">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">_Bottom:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">spinbutton10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">1</property>
+                         <property name="bottom_attach">2</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label17">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">_Inner:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">spinbutton11</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">2</property>
+                         <property name="bottom_attach">3</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label18">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">O_uter:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">spinbutton12</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">3</property>
+                         <property name="bottom_attach">4</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label19">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">Head _sep</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">spinbutton13</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">4</property>
+                         <property name="bottom_attach">5</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label20">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">Head _height:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">spinbutton14</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">5</property>
+                         <property name="bottom_attach">6</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkLabel" id="label21">
+                         <property name="visible">True</property>
+                         <property name="label" translatable="yes">_Foot skip:</property>
+                         <property name="use_underline">True</property>
+                         <property name="use_markup">False</property>
+                         <property name="justify">GTK_JUSTIFY_LEFT</property>
+                         <property name="wrap">False</property>
+                         <property name="selectable">False</property>
+                         <property name="xalign">0</property>
+                         <property name="yalign">0.5</property>
+                         <property name="xpad">0</property>
+                         <property name="ypad">0</property>
+                         <property name="mnemonic_widget">spinbutton15</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">0</property>
+                         <property name="right_attach">1</property>
+                         <property name="top_attach">6</property>
+                         <property name="bottom_attach">7</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkSpinButton" id="MarginTop">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="climb_rate">1</property>
+                         <property name="digits">2</property>
+                         <property name="numeric">True</property>
+                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                         <property name="snap_to_ticks">False</property>
+                         <property name="wrap">False</property>
+                         <property name="adjustment">666 0 65536 0.01 10 10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">2</property>
+                         <property name="top_attach">0</property>
+                         <property name="bottom_attach">1</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="MarginTopUnits">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">2</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">0</property>
+                         <property name="bottom_attach">1</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="MarginBottomUnits">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">2</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">1</property>
+                         <property name="bottom_attach">2</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="MarginInnerUnits">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">2</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">2</property>
+                         <property name="bottom_attach">3</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="MarginOuterUnits">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">2</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">3</property>
+                         <property name="bottom_attach">4</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="MarginHeadSepUnits">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">2</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">4</property>
+                         <property name="bottom_attach">5</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="MarginHeadHeightUnits">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">2</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">5</property>
+                         <property name="bottom_attach">6</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkComboBox" id="MarginFootSkipUnits">
+                         <property name="visible">True</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">2</property>
+                         <property name="right_attach">3</property>
+                         <property name="top_attach">6</property>
+                         <property name="bottom_attach">7</property>
+                         <property name="x_options">fill</property>
+                         <property name="y_options">fill</property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkSpinButton" id="spinbutton10">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="climb_rate">1</property>
+                         <property name="digits">2</property>
+                         <property name="numeric">True</property>
+                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                         <property name="snap_to_ticks">False</property>
+                         <property name="wrap">False</property>
+                         <property name="adjustment">666 0 65536 0.01 10 10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">2</property>
+                         <property name="top_attach">1</property>
+                         <property name="bottom_attach">2</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkSpinButton" id="spinbutton11">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="climb_rate">1</property>
+                         <property name="digits">2</property>
+                         <property name="numeric">True</property>
+                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                         <property name="snap_to_ticks">False</property>
+                         <property name="wrap">False</property>
+                         <property name="adjustment">666 0 65536 0.01 10 10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">2</property>
+                         <property name="top_attach">2</property>
+                         <property name="bottom_attach">3</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkSpinButton" id="spinbutton12">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="climb_rate">1</property>
+                         <property name="digits">2</property>
+                         <property name="numeric">True</property>
+                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                         <property name="snap_to_ticks">False</property>
+                         <property name="wrap">False</property>
+                         <property name="adjustment">666 0 65536 0.01 10 10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">2</property>
+                         <property name="top_attach">3</property>
+                         <property name="bottom_attach">4</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkSpinButton" id="spinbutton13">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="climb_rate">1</property>
+                         <property name="digits">2</property>
+                         <property name="numeric">True</property>
+                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                         <property name="snap_to_ticks">False</property>
+                         <property name="wrap">False</property>
+                         <property name="adjustment">666 0 65536 0.01 10 10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">2</property>
+                         <property name="top_attach">4</property>
+                         <property name="bottom_attach">5</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkSpinButton" id="spinbutton14">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="climb_rate">1</property>
+                         <property name="digits">2</property>
+                         <property name="numeric">True</property>
+                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                         <property name="snap_to_ticks">False</property>
+                         <property name="wrap">False</property>
+                         <property name="adjustment">666 0 65536 0.01 10 10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">2</property>
+                         <property name="top_attach">5</property>
+                         <property name="bottom_attach">6</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+
+                     <child>
+                       <widget class="GtkSpinButton" id="spinbutton15">
+                         <property name="visible">True</property>
+                         <property name="can_focus">True</property>
+                         <property name="climb_rate">1</property>
+                         <property name="digits">2</property>
+                         <property name="numeric">True</property>
+                         <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                         <property name="snap_to_ticks">False</property>
+                         <property name="wrap">False</property>
+                         <property name="adjustment">666 0 65536 0.01 10 10</property>
+                       </widget>
+                       <packing>
+                         <property name="left_attach">1</property>
+                         <property name="right_attach">2</property>
+                         <property name="top_attach">6</property>
+                         <property name="bottom_attach">7</property>
+                         <property name="y_options"></property>
+                       </packing>
+                     </child>
+                   </widget>
+                 </child>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">True</property>
+                 <property name="fill">True</property>
+               </packing>
+             </child>
+           </widget>
+           <packing>
+             <property name="tab_expand">False</property>
+             <property name="tab_fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label14">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">_Margins</property>
+             <property name="use_underline">True</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="type">tab</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkTable" id="table6">
+             <property name="visible">True</property>
+             <property name="n_rows">8</property>
+             <property name="n_columns">3</property>
+             <property name="homogeneous">False</property>
+             <property name="row_spacing">6</property>
+             <property name="column_spacing">12</property>
+
+             <child>
+               <widget class="GtkLabel" id="label36">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">&lt;b&gt;Item&lt;/b&gt;</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">True</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label37">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">&lt;b&gt;Numbered&lt;/b&gt;</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">True</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">2</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label38">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">&lt;b&gt;Show in TOC&lt;/b&gt;</property>
+                 <property name="use_underline">False</property>
+                 <property name="use_markup">True</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">2</property>
+                 <property name="right_attach">3</property>
+                 <property name="top_attach">0</property>
+                 <property name="bottom_attach">1</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label39">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">C_hapter</property>
+                 <property name="use_underline">True</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+                 <property name="mnemonic_widget">checkbutton1</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">1</property>
+                 <property name="bottom_attach">2</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label40">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">C_hapter</property>
+                 <property name="use_underline">True</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">2</property>
+                 <property name="bottom_attach">3</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label41">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">C_hapter</property>
+                 <property name="use_underline">True</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">3</property>
+                 <property name="bottom_attach">4</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label42">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">C_hapter</property>
+                 <property name="use_underline">True</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">4</property>
+                 <property name="bottom_attach">5</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label43">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">C_hapter</property>
+                 <property name="use_underline">True</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">5</property>
+                 <property name="bottom_attach">6</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label44">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">C_hapter</property>
+                 <property name="use_underline">True</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">6</property>
+                 <property name="bottom_attach">7</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkLabel" id="label45">
+                 <property name="visible">True</property>
+                 <property name="label" translatable="yes">C_hapter</property>
+                 <property name="use_underline">True</property>
+                 <property name="use_markup">False</property>
+                 <property name="justify">GTK_JUSTIFY_LEFT</property>
+                 <property name="wrap">False</property>
+                 <property name="selectable">False</property>
+                 <property name="xalign">0</property>
+                 <property name="yalign">0.5</property>
+                 <property name="xpad">0</property>
+                 <property name="ypad">0</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">0</property>
+                 <property name="right_attach">1</property>
+                 <property name="top_attach">7</property>
+                 <property name="bottom_attach">8</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkCheckButton" id="checkbutton1">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="label" translatable="yes">Numbered</property>
+                 <property name="use_underline">True</property>
+                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                 <property name="focus_on_click">True</property>
+                 <property name="active">False</property>
+                 <property name="inconsistent">False</property>
+                 <property name="draw_indicator">False</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">1</property>
+                 <property name="right_attach">2</property>
+                 <property name="top_attach">1</property>
+                 <property name="bottom_attach">2</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+
+             <child>
+               <widget class="GtkCheckButton" id="checkbutton2">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="label" translatable="yes">Show in TOC</property>
+                 <property name="use_underline">True</property>
+                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                 <property name="focus_on_click">True</property>
+                 <property name="active">False</property>
+                 <property name="inconsistent">False</property>
+                 <property name="draw_indicator">False</property>
+               </widget>
+               <packing>
+                 <property name="left_attach">2</property>
+                 <property name="right_attach">3</property>
+                 <property name="top_attach">1</property>
+                 <property name="bottom_attach">2</property>
+                 <property name="x_options">fill</property>
+                 <property name="y_options"></property>
+               </packing>
+             </child>
+           </widget>
+           <packing>
+             <property name="tab_expand">False</property>
+             <property name="tab_fill">True</property>
+           </packing>
+         </child>
+
+         <child>
+           <widget class="GtkLabel" id="label32">
+             <property name="visible">True</property>
+             <property name="label" translatable="yes">Language</property>
+             <property name="use_underline">False</property>
+             <property name="use_markup">False</property>
+             <property name="justify">GTK_JUSTIFY_LEFT</property>
+             <property name="wrap">False</property>
+             <property name="selectable">False</property>
+             <property name="xalign">0.5</property>
+             <property name="yalign">0.5</property>
+             <property name="xpad">0</property>
+             <property name="ypad">0</property>
+           </widget>
+           <packing>
+             <property name="type">tab</property>
+           </packing>
+         </child>
+       </widget>
+       <packing>
+         <property name="padding">0</property>
+         <property name="expand">True</property>
+         <property name="fill">True</property>
+       </packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+</glade-interface>
index 679cea91a460b274bb5b309f6f32f2659a0b5320..2ef1b3f616d668cc5b5746632a57017160746392 100644 (file)
          </child>
 
          <child>
-           <widget class="GtkButton" id="Ok">
+           <widget class="GtkButton" id="Close">
              <property name="visible">True</property>
              <property name="can_default">True</property>
              <property name="can_focus">True</property>
-             <property name="label">gtk-ok</property>
+             <property name="label">gtk-cancel</property>
              <property name="use_stock">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="focus_on_click">True</property>
-             <property name="response_id">-5</property>
+             <property name="response_id">-6</property>
            </widget>
          </child>
 
          <child>
-           <widget class="GtkButton" id="Close">
+           <widget class="GtkButton" id="Ok">
              <property name="visible">True</property>
              <property name="can_default">True</property>
              <property name="can_focus">True</property>
-             <property name="label">gtk-close</property>
+             <property name="label">gtk-ok</property>
              <property name="use_stock">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="focus_on_click">True</property>
-             <property name="response_id">-7</property>
+             <property name="response_id">-5</property>
            </widget>
          </child>
        </widget>
@@ -773,36 +773,6 @@ Do not display</property>
                            </packing>
                          </child>
 
-                         <child>
-                           <widget class="GtkComboBox" id="WidthUnits">
-                             <property name="visible">True</property>
-                             <property name="sensitive">False</property>
-                           </widget>
-                           <packing>
-                             <property name="left_attach">3</property>
-                             <property name="right_attach">4</property>
-                             <property name="top_attach">2</property>
-                             <property name="bottom_attach">3</property>
-                             <property name="x_options">fill</property>
-                             <property name="y_options">fill</property>
-                           </packing>
-                         </child>
-
-                         <child>
-                           <widget class="GtkComboBox" id="HeightUnits">
-                             <property name="visible">True</property>
-                             <property name="sensitive">False</property>
-                           </widget>
-                           <packing>
-                             <property name="left_attach">3</property>
-                             <property name="right_attach">4</property>
-                             <property name="top_attach">3</property>
-                             <property name="bottom_attach">4</property>
-                             <property name="x_options">fill</property>
-                             <property name="y_options">fill</property>
-                           </packing>
-                         </child>
-
                          <child>
                            <widget class="GtkHSeparator" id="hseparator1">
                              <property name="visible">True</property>
@@ -884,6 +854,46 @@ Do not display</property>
                              <property name="y_options"></property>
                            </packing>
                          </child>
+
+                         <child>
+                           <widget class="GtkVBox" id="WidthUnits">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">0</property>
+
+                             <child>
+                               <placeholder/>
+                             </child>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">3</property>
+                             <property name="right_attach">4</property>
+                             <property name="top_attach">2</property>
+                             <property name="bottom_attach">3</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options">fill</property>
+                           </packing>
+                         </child>
+
+                         <child>
+                           <widget class="GtkVBox" id="HeightUnits">
+                             <property name="visible">True</property>
+                             <property name="homogeneous">False</property>
+                             <property name="spacing">0</property>
+
+                             <child>
+                               <placeholder/>
+                             </child>
+                           </widget>
+                           <packing>
+                             <property name="left_attach">3</property>
+                             <property name="right_attach">4</property>
+                             <property name="top_attach">3</property>
+                             <property name="bottom_attach">4</property>
+                             <property name="x_options">fill</property>
+                             <property name="y_options">fill</property>
+                           </packing>
+                         </child>
                        </widget>
                      </child>
                    </widget>
index e2bb818b0398851be468a33f9ade9f5c2a648388..b40bea2fe6c89d9b78d790f2dcac52ce64c56a6f 100644 (file)
          </child>
 
          <child>
-           <widget class="GtkButton" id="Insert">
+           <widget class="GtkButton" id="OK">
              <property name="visible">True</property>
              <property name="can_default">True</property>
              <property name="can_focus">True</property>
+             <property name="label">gtk-ok</property>
+             <property name="use_stock">True</property>
              <property name="relief">GTK_RELIEF_NORMAL</property>
              <property name="focus_on_click">True</property>
              <property name="response_id">-5</property>
-
-             <child>
-               <widget class="GtkAlignment" id="alignment1">
-                 <property name="visible">True</property>
-                 <property name="xalign">0.5</property>
-                 <property name="yalign">0.5</property>
-                 <property name="xscale">0</property>
-                 <property name="yscale">0</property>
-                 <property name="top_padding">0</property>
-                 <property name="bottom_padding">0</property>
-                 <property name="left_padding">0</property>
-                 <property name="right_padding">0</property>
-
-                 <child>
-                   <widget class="GtkHBox" id="hbox2">
-                     <property name="visible">True</property>
-                     <property name="homogeneous">False</property>
-                     <property name="spacing">2</property>
-
-                     <child>
-                       <widget class="GtkImage" id="image1">
-                         <property name="visible">True</property>
-                         <property name="stock">gtk-ok</property>
-                         <property name="icon_size">4</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">False</property>
-                         <property name="fill">False</property>
-                       </packing>
-                     </child>
-
-                     <child>
-                       <widget class="GtkLabel" id="label3">
-                         <property name="visible">True</property>
-                         <property name="label" translatable="yes">_Insert</property>
-                         <property name="use_underline">True</property>
-                         <property name="use_markup">False</property>
-                         <property name="justify">GTK_JUSTIFY_LEFT</property>
-                         <property name="wrap">False</property>
-                         <property name="selectable">False</property>
-                         <property name="xalign">0.5</property>
-                         <property name="yalign">0.5</property>
-                         <property name="xpad">0</property>
-                         <property name="ypad">0</property>
-                       </widget>
-                       <packing>
-                         <property name="padding">0</property>
-                         <property name="expand">False</property>
-                         <property name="fill">False</property>
-                       </packing>
-                     </child>
-                   </widget>
-                 </child>
-               </widget>
-             </child>
            </widget>
          </child>
        </widget>
@@ -224,8 +166,14 @@ Custom</property>
              </child>
 
              <child>
-               <widget class="GtkComboBox" id="ValueUnits">
+               <widget class="GtkVBox" id="ValueUnits">
                  <property name="visible">True</property>
+                 <property name="homogeneous">False</property>
+                 <property name="spacing">0</property>
+
+                 <child>
+                   <placeholder/>
+                 </child>
                </widget>
                <packing>
                  <property name="padding">4</property>