Attached. This does not resolve my earlier mail to the list - this dialog is just broken in exactly the same way at the qt frontend.
John
Index: ChangeLog =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/gtk/ChangeLog,v retrieving revision 1.155 diff -u -p -r1.155 ChangeLog --- ChangeLog 6 Feb 2006 21:54:10 -0000 1.155 +++ ChangeLog 6 Feb 2006 21:57:01 -0000 @@ -2,6 +2,7 @@ * GGraphics.[Ch], glade/graphics.glade: Use GtkLengthEntry, touch up glade * GDocument.[Ch], glade/document.glade: Only Bullet options left to do + * GBibtex.[Ch], glade/bibtex.glade: Implement bibtex dialog 2006-02-05 John Spray <[EMAIL PROTECTED]> Index: Dialogs.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/gtk/Dialogs.C,v retrieving revision 1.50 diff -u -p -r1.50 Dialogs.C --- Dialogs.C 5 Feb 2006 21:57:17 -0000 1.50 +++ Dialogs.C 6 Feb 2006 21:57:01 -0000 @@ -58,7 +58,7 @@ #include "GText.h" #include "GMathDelim.h" #include "GBibItem.h" -//#include "FormBibtex.h" +#include "GBibtex.h" #include "GBox.h" #include "GBranch.h" #include "GChanges.h" @@ -189,9 +189,9 @@ Dialogs::DialogPtr Dialogs::build(string dialog->setView(new GBibItem(*dialog)); dialog->bc().bp(new OkCancelReadOnlyPolicy); } else if (name == "bibtex") { -// dialog->bc().view(new xformsBC(dialog->bc())); + dialog->bc().view(new GBC(dialog->bc())); dialog->setController(new ControlBibtex(*dialog)); -// dialog->setView(new FormBibtex(*dialog)); + dialog->setView(new GBibtex(*dialog)); dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy); } else if (name == "box") { dialog->bc().view(new GBC(dialog->bc())); Index: GBibtex.C =================================================================== RCS file: GBibtex.C diff -N GBibtex.C --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ GBibtex.C 6 Feb 2006 21:57:01 -0000 @@ -0,0 +1,288 @@ +/** + * \file GBibtex.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 "GBibtex.h" +#include "ControlBibtex.h" +#include "ghelpers.h" + +#include "support/filetools.h" +#include "support/lstrings.h" + +#include <libglademm.h> + +using lyx::support::ChangeExtension; +using lyx::support::contains; +using lyx::support::prefixIs; +using lyx::support::split; +using lyx::support::trim; + +using std::vector; +using std::string; + +namespace lyx { +namespace frontend { + +GBibtex::GBibtex(Dialog & parent) + : GViewCB<ControlBibtex, GViewGladeB>(parent, _("BibTeX Bibliography"), false) +{} + + +void GBibtex::doBuild() +{ + string const gladeName = findGladeFile("bibtex"); + xml_ = Gnome::Glade::Xml::create(gladeName); + + Gtk::Button * button; + xml_->get_widget("Cancel", button); + setCancel(button); + xml_->get_widget("OK", button); + setOK(button); + + xml_->get_widget("Databases", databasesview_); + databasessel_ = databasesview_->get_selection(); + // signal_changed gets connected at the end of this fn. + + Gtk::TreeModel::ColumnRecord listcols; + listcols.add (stringcol_); + databasesstore_ = Gtk::ListStore::create(listcols); + databasesview_->set_model(databasesstore_); + databasesview_->append_column("Database", stringcol_); + + xml_->get_widget("Add", button); + button->signal_clicked().connect( + sigc::mem_fun(*this, &GBibtex::add)); + bcview().addReadOnly(button); + xml_->get_widget("Remove", removebutton_); + removebutton_->signal_clicked().connect( + sigc::mem_fun(*this, &GBibtex::remove)); + bcview().addReadOnly(removebutton_); + xml_->get_widget("Browse", button); + button->signal_clicked().connect( + sigc::mem_fun(*this, &GBibtex::browse)); + bcview().addReadOnly(button); + + Gtk::HBox *box; + xml_->get_widget("Style", box); + box->pack_start(stylecombo_); + stylecombo_.show(); + bcview().addReadOnly(&stylecombo_); + + xml_->get_widget("Content", contentcombo_); + bcview().addReadOnly(contentcombo_); + xml_->get_widget("TOC", toccheck_); + bcview().addReadOnly(toccheck_); + + databasessel_->signal_changed().connect( + sigc::mem_fun(*this, &GBibtex::validate)); +} + + +void GBibtex::update() +{ + string bibs(controller().params().getContents()); + string bib; + + databasesstore_->clear(); + while (!bibs.empty()) { + bibs = split(bibs, bib, ','); + bib = trim(bib); + if (!bib.empty()) { + Gtk::TreeModel::iterator const row = databasesstore_->append(); + (*row)[stringcol_] = bib; + } + } + + string bibtotoc = "bibtotoc"; + string bibstyle(controller().params().getOptions()); + + // bibtotoc exists? + if (prefixIs(bibstyle, bibtotoc)){ + // bibstyle exists? + if (contains(bibstyle,',')) + bibstyle = split(bibstyle, bibtotoc, ','); + else + bibstyle.erase(); + } + + bool const bibtopic = controller().usingBibtopic(); + if (prefixIs(bibstyle, bibtotoc) && !bibtopic) + toccheck_->set_active(true); + else + toccheck_->set_active(false); + + string btprint(controller().params().getSecOptions()); + int btp = 0; + if (btprint == "btPrintNotCited") + btp = 1; + else if (btprint == "btPrintAll") + btp = 2; + + contentcombo_->set_active(btp); + contentcombo_->set_sensitive(bibtopic); + + stylecombo_.clear(); + vector<string> str; + controller().getBibStyles(str); + + int item_nr(-1); + vector<string>::const_iterator it = str.begin(); + vector<string>::const_iterator const end = str.end(); + for (; it != end; ++it) { + string item(ChangeExtension(*it, "")); + if (item == bibstyle) + item_nr = int(it - str.begin()); + stylecombo_.append_text (item); + } + + if (item_nr == -1 && !bibstyle.empty()) { + stylecombo_.append_text (bibstyle); + item_nr = stylecombo_.get_model()->children().size() - 1; + } + + if (item_nr != -1) + stylecombo_.set_active(item_nr); + else + stylecombo_.get_entry()->set_text(""); + + validate(); +} + + +void GBibtex::apply() +{ + Gtk::TreeModel::iterator it = databasesstore_->children().begin(); + Gtk::TreeModel::iterator const end = databasesstore_->children().end(); + + string dblist; + for (; it != end; ++it) { + Glib::ustring db = (*it)[stringcol_]; + dblist += string(db); + if (it + 1 != end) + dblist += ","; + } + + controller().params().setContents(dblist); + + string const bibstyle = stylecombo_.get_active_text(); + bool const bibtotoc = toccheck_->get_active(); + + if (bibtotoc && (!bibstyle.empty())) { + // both bibtotoc and style + controller().params().setOptions("bibtotoc," + bibstyle); + } else if (bibtotoc) { + // bibtotoc and no style + controller().params().setOptions("bibtotoc"); + } else { + // only style. An empty one is valid, because some + // documentclasses have an own \bibliographystyle{} + // command! + controller().params().setOptions(bibstyle); + } + + // bibtopic allows three kinds of sections: + // 1. sections that include all cited references of the database(s) + // 2. sections that include all uncited references of the database(s) + // 3. sections that include all references of the database(s), cited or not + int const btp = contentcombo_->get_active_row_number(); + + switch (btp) { + case 0: + controller().params().setSecOptions("btPrintCited"); + break; + case 1: + controller().params().setSecOptions("btPrintNotCited"); + break; + case 2: + controller().params().setSecOptions("btPrintAll"); + break; + } + + if (!controller().usingBibtopic()) + controller().params().setSecOptions(""); +} + + +void GBibtex::add() +{ + string new_bib = controller().browseBib(""); + if (new_bib.empty()) + return; + + new_bib = ChangeExtension(new_bib, string()); + + Gtk::TreeModel::iterator const row = databasesstore_->append(); + (*row)[stringcol_] = new_bib; + + validate(); +} + + +void GBibtex::remove() +{ + Gtk::TreeModel::iterator const selected = databasessel_->get_selected(); + if (!databasesstore_->iter_is_valid(selected)) + return; + + databasesstore_->erase(selected); + + validate(); +} + + +void GBibtex::browse() +{ + string const file = controller().browseBst(""); + + if (!file.empty()) { + string const filen = ChangeExtension(file, ""); + bool present = false; + + for (int i = 0; i < stylecombo_.get_model()->children().size(); ++i) { + stylecombo_.set_active(i); + Glib::ustring const item = stylecombo_.get_active_text (); + if (item == filen) { + present = true; + break; + } + } + + if (!present) { + stylecombo_.append_text (filen); + stylecombo_.set_active_text(filen); + } + } +} + + +void GBibtex::validate() +{ + if (databasesstore_->children().size()) + bc().valid(true); + else + bc().valid(false); + + Gtk::TreeModel::iterator selected = databasessel_->get_selected(); + bool const enableremove = databasesstore_->iter_is_valid(selected) && !readOnly(); + removebutton_->set_sensitive(enableremove); +} + + +} // namespace frontend +} // namespace lyx Index: GBibtex.h =================================================================== RCS file: GBibtex.h diff -N GBibtex.h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ GBibtex.h 6 Feb 2006 21:57:01 -0000 @@ -0,0 +1,50 @@ +// -*- C++ -*- +/** + * \file GBibtex.h + * 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. + */ + +#ifndef GBIBTEX_H +#define GBIBTEX_H + +#include "GViewBase.h" + +namespace lyx { +namespace frontend { + +class ControlBibtex; + +/** This class provides a GTK+ implementation of the Bibtex Dialog. + */ +class GBibtex : public GViewCB<ControlBibtex, GViewGladeB> { +public: + GBibtex(Dialog & parent); +private: + virtual void apply(); + virtual void doBuild(); + virtual void update(); + + void add(); + void remove(); + void browse(); + void validate(); + + Gtk::TreeView *databasesview_; + Glib::RefPtr<Gtk::TreeView::Selection> databasessel_; + Glib::RefPtr<Gtk::ListStore> databasesstore_; + Gtk::TreeModelColumn<Glib::ustring> stringcol_; + Gtk::Button *removebutton_; + Gtk::ComboBoxEntryText stylecombo_; + Gtk::ComboBox *contentcombo_; + Gtk::CheckButton *toccheck_; +}; + +} // namespace frontend +} // namespace lyx + +#endif // GBIBTEX_H Index: Makefile.am =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/gtk/Makefile.am,v retrieving revision 1.50 diff -u -p -r1.50 Makefile.am --- Makefile.am 5 Feb 2006 21:57:17 -0000 1.50 +++ Makefile.am 6 Feb 2006 21:57:01 -0000 @@ -31,6 +31,8 @@ libgtk_la_SOURCES = \ GBC.h \ GBibItem.C \ GBibItem.h \ + GBibtex.C \ + GBibtex.h \ GBox.C \ GBox.h \ GBranch.C \ Index: glade/Makefile.am =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/gtk/glade/Makefile.am,v retrieving revision 1.16 diff -u -p -r1.16 Makefile.am --- glade/Makefile.am 5 Feb 2006 21:57:17 -0000 1.16 +++ glade/Makefile.am 6 Feb 2006 21:57:01 -0000 @@ -6,6 +6,7 @@ gladedir = $(pkgdatadir)/glade dist_glade_DATA = \ aboutlyx.glade \ bibitem.glade \ + bibtex.glade \ box.glade \ branch.glade \ changes.glade \ Index: glade/bibtex.glade =================================================================== RCS file: glade/bibtex.glade diff -N glade/bibtex.glade --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ glade/bibtex.glade 6 Feb 2006 21:57:02 -0000 @@ -0,0 +1,545 @@ +<?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="visible">True</property> + <property name="title" translatable="yes">dialog1</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">True</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="focus_on_map">True</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="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> + <accelerator key="Escape" modifiers="0" signal="clicked"/> + </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="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="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Databases</b></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> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">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="alignment1"> + <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">6</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">6</property> + + <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">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + + <child> + <widget class="GtkTreeView" id="Databases"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="headers_visible">False</property> + <property name="rules_hint">False</property> + <property name="reorderable">False</property> + <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> + </widget> + </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="GtkVBox" id="vbox2"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkButton" id="Add"> + <property name="visible">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="alignment5"> + <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="hbox4"> + <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-add</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="label6"> + <property name="visible">True</property> + <property name="label">_Add...</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="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">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> + </packing> + </child> + + <child> + <widget class="GtkButton" id="Remove"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-remove</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <placeholder/> + </child> + </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="label2"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Appearance</b></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> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">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="alignment6"> + <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">6</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkTable" id="table1"> + <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">6</property> + + <child> + <widget class="GtkLabel" id="label3"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Style:</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="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">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="label4"> + <property name="visible">True</property> + <property name="label" translatable="yes">Co_ntent:</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="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">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="GtkButton" id="Browse"> + <property name="visible">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="alignment4"> + <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="hbox3"> + <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-open</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="label5"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Browse...</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="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">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="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="GtkCheckButton" id="TOC"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Add bibliography to _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">True</property> + </widget> + <packing> + <property name="left_attach">0</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"></property> + </packing> + </child> + + <child> + <widget class="GtkComboBox" id="Content"> + <property name="visible">True</property> + <property name="items" translatable="yes">Cited references +Uncited references +All references</property> + <property name="add_tearoffs">False</property> + <property name="focus_on_click">True</property> + </widget> + <packing> + <property name="left_attach">1</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="GtkHBox" id="Style"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child> + <placeholder/> + </child> + </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">fill</property> + </packing> + </child> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</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> + +</glade-interface>