Add GParagraph dialog, make GViewBase update() when it show()s

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9032 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
John Spray 2004-10-01 18:59:36 +00:00
parent 8e778e7499
commit 4e0607242f
7 changed files with 859 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2004-09-29 John Spray <spray_john@users.sourceforge.net>
* The Paragraph dialog
* Dialogs.C, GParagraph.C, GParagraph.h, Makefile.am
2004-09-28 John Spray <spray_john@users.sourceforge.net>
* GToolbar.[Ch]: Use ComboBox instead of deprecated Combo for

View File

@ -73,7 +73,7 @@
#include "FormMathsSpace.h"
#include "FormMathsStyle.h"
#include "FormNote.h"
#include "FormParagraph.h"
#include "GParagraph.h"
#include "FormPreamble.h"
#include "FormPreferences.h"
#include "GPrint.h"
@ -452,8 +452,9 @@ Dialogs::DialogPtr Dialogs::build(string const & name)
dialog->setView(new FormBranch(*dialog));
dialog->bc().bp(new OkApplyCancelReadOnlyPolicy);
} else if (name == "paragraph") {
dialog->bc().view(new GBC(dialog->bc()));
dialog->setController(new ControlParagraph(*dialog));
dialog->setView(new FormParagraph(*dialog));
dialog->setView(new GParagraph(*dialog));
dialog->bc().bp(new OkApplyCancelReadOnlyPolicy);
} else if (name == "preamble") {
dialog->setController(new ControlPreamble(*dialog));

View File

@ -0,0 +1,192 @@
/**
* \file GParagraph.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>
#include "GParagraph.h"
#include "ghelpers.h"
#include "ControlParagraph.h"
#include "controllers/helper_funcs.h"
#include "ParagraphParameters.h"
#include "Spacing.h"
#include "support/lstrings.h"
#include "support/tostr.h"
using std::string;
namespace lyx {
namespace frontend {
namespace {
} // namespace anon
GParagraph::GParagraph(Dialog & parent)
: GViewCB<ControlParagraph, GViewGladeB>(parent, _("Paragraph Settings"), false)
{}
void GParagraph::doBuild()
{
string const gladeName = findGladeFile("paragraph");
xml_ = Gnome::Glade::Xml::create(gladeName);
xml_->get_widget("LineSpacing", spacingspin_);
xml_->get_widget("DefaultLineSpacing", defaultspacingcheck_);
xml_->get_widget("MaxLabelWidth", maxlabelwidthentry_);
xml_->get_widget("Indent", indentcheck_);
xml_->get_widget("AlignBlock", blockradio_);
xml_->get_widget("AlignLeft", leftradio_);
xml_->get_widget("AlignRight", rightradio_);
xml_->get_widget("AlignCenter", centerradio_);
// Manage the Close button
Gtk::Button * button;
xml_->get_widget("Close", button);
setCancel(button);
// Make the main hbox sensitive to readonly
Gtk::HBox * controlbox;
xml_->get_widget("ControlBox", controlbox);
bcview().addReadOnly(controlbox);
spacingadj_ = spacingspin_->get_adjustment();
defaultspacingcheck_->signal_toggled().connect(
sigc::mem_fun(*this, &GParagraph::onDefaultSpacingToggled));
indentcheck_->signal_toggled().connect(
sigc::mem_fun(*this, &GParagraph::onIndentToggled));
spacingadj_->signal_value_changed().connect(
sigc::mem_fun(*this, &GParagraph::onSpacingChanged));
maxlabelwidthentry_->signal_changed().connect(
sigc::mem_fun(*this, &GParagraph::onMaxLabelWidthChanged));
blockradio_->signal_toggled().connect(
sigc::mem_fun(*this, &GParagraph::onAlignToggled));
leftradio_->signal_toggled().connect(
sigc::mem_fun(*this, &GParagraph::onAlignToggled));
rightradio_->signal_toggled().connect(
sigc::mem_fun(*this, &GParagraph::onAlignToggled));
centerradio_->signal_toggled().connect(
sigc::mem_fun(*this, &GParagraph::onAlignToggled));
}
void GParagraph::update()
{
// label width
string const labelwidth = controller().params().labelWidthString();
maxlabelwidthentry_->set_text(labelwidth);
maxlabelwidthentry_->set_sensitive(
labelwidth != _("Senseless with this layout!"));
// alignment
LyXAlignment const current_alignment = controller().params().align();
switch (current_alignment) {
case LYX_ALIGN_BLOCK:
blockradio_->set_active(true);
break;
case LYX_ALIGN_LEFT:
leftradio_->set_active(true);
break;
case LYX_ALIGN_RIGHT:
rightradio_->set_active(true);
break;
case LYX_ALIGN_CENTER:
centerradio_->set_active(true);
break;
default:
// LYX_ALIGN_SPECIAL or so? Don't ask, don't tell.
centerradio_->set_active(false);
blockradio_->set_active(false);
rightradio_->set_active(false);
leftradio_->set_active(false);
}
//Find out which alignments options are available
LyXAlignment alignpos = controller().alignPossible();
blockradio_->set_sensitive(bool(alignpos & LYX_ALIGN_BLOCK));
centerradio_->set_sensitive(bool(alignpos & LYX_ALIGN_CENTER));
leftradio_->set_sensitive(bool(alignpos & LYX_ALIGN_LEFT));
rightradio_->set_sensitive(bool(alignpos & LYX_ALIGN_RIGHT));
// We give the user a checkbox with an affirmative description, so
// invert the setting
indentcheck_->set_active(!controller().params().noindent());
// linespacing
Spacing const space = controller().params().spacing();
// This emits the toggled signal, setting up sensitivities
defaultspacingcheck_->set_active(
space.getSpace() == Spacing::Default);
spacingadj_->set_value(space.getValue());
}
void GParagraph::onDefaultSpacingToggled()
{
if (defaultspacingcheck_->get_active()) {
spacingspin_->set_sensitive(false);
Spacing const spacing(Spacing::Default, spacingadj_->get_value());
controller().params().spacing(spacing);
} else {
spacingspin_->set_sensitive(true);
Spacing const spacing(Spacing::Other, spacingadj_->get_value());
controller().params().spacing(spacing);
}
controller().dispatchParams();
}
void GParagraph::onIndentToggled()
{
controller().params().noindent(!indentcheck_->get_active());
controller().dispatchParams();
}
void GParagraph::onSpacingChanged()
{
Spacing const spacing(Spacing::Other, spacingadj_->get_value());
controller().params().spacing(spacing);
controller().dispatchParams();
}
void GParagraph::onMaxLabelWidthChanged()
{
controller().params().labelWidthString(
maxlabelwidthentry_->get_text());
controller().dispatchParams();
}
void GParagraph::onAlignToggled()
{
if (blockradio_->get_active())
controller().params().align(LYX_ALIGN_BLOCK);
else if (leftradio_->get_active())
controller().params().align(LYX_ALIGN_LEFT);
else if (rightradio_->get_active())
controller().params().align(LYX_ALIGN_RIGHT);
else if (centerradio_->get_active())
controller().params().align(LYX_ALIGN_CENTER);
controller().dispatchParams();
}
} // namespace frontend
} // namespace lyx

View File

@ -0,0 +1,59 @@
// -*- C++ -*-
/**
* \file GParagraph.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 GPARAGRAPH_H
#define GPARAGRAPH_H
#include "GViewBase.h"
#include <gtkmm.h>
namespace lyx {
namespace frontend {
class ControlParagraph;
/** This class provides a gtk implementation of the paragraph dialog.
*/
class GParagraph
: public GViewCB<ControlParagraph, GViewGladeB> {
public:
GParagraph(Dialog &);
private:
/// Build the dialog
virtual void doBuild();
/// Apply from dialog
virtual void apply() {}
/// Update the dialog
virtual void update();
Gtk::SpinButton * spacingspin_;
Gtk::Entry * maxlabelwidthentry_;
Gtk::CheckButton * indentcheck_;
Gtk::CheckButton * defaultspacingcheck_;
Gtk::RadioButton * blockradio_;
Gtk::RadioButton * leftradio_;
Gtk::RadioButton * rightradio_;
Gtk::RadioButton * centerradio_;
Gtk::Adjustment * spacingadj_;
void onDefaultSpacingToggled();
void onMaxLabelWidthChanged();
void onSpacingChanged();
void onIndentToggled();
void onAlignToggled();
};
} // namespace frontend
} // namespace lyx
#endif

View File

@ -53,6 +53,7 @@ void GViewBase::show()
if (!window()) {
build();
}
update();
window()->show();
}

View File

@ -38,6 +38,8 @@ libgtk_la_SOURCES = \
GMiniBuffer.h \
GPainter.C \
GPainter.h \
GParagraph.C \
GParagraph.h \
GPrint.C \
GPrint.h \
GScreen.C \
@ -109,7 +111,6 @@ xforms_objects = \
../xforms/FormMathsSpace.lo \
../xforms/FormMathsStyle.lo \
../xforms/FormNote.lo \
../xforms/FormParagraph.lo \
../xforms/FormPreamble.lo \
../xforms/FormPreferences.lo \
../xforms/FormRef.lo \

View File

@ -0,0 +1,597 @@
<?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">Paragraph</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">True</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="Close">
<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-close</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>
<accelerator key="Escape" modifiers="0" signal="clicked"/>
</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="GtkHBox" id="ControlBox">
<property name="border_width">8</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkTable" id="table1">
<property name="visible">True</property>
<property name="n_rows">4</property>
<property name="n_columns">2</property>
<property name="homogeneous">False</property>
<property name="row_spacing">5</property>
<property name="column_spacing">4</property>
<child>
<widget class="GtkLabel" id="MaxLabelWidthLabel">
<property name="visible">True</property>
<property name="label" translatable="yes">_Max. label width: </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">MaxLabelWidth</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="GtkEntry" id="MaxLabelWidth">
<property name="visible">True</property>
<property name="sensitive">False</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">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="LineSpacing">
<property name="visible">True</property>
<property name="sensitive">False</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 20 0.1 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="GtkCheckButton" id="DefaultLineSpacing">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Use _Default Line Spacing</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">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="label2">
<property name="visible">True</property>
<property name="label" translatable="yes">Line _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">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="GtkCheckButton" id="Indent">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Indent Paragraph</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">1</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
<property name="y_padding">4</property>
<property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkVSeparator" id="vseparator1">
<property name="visible">True</property>
</widget>
<packing>
<property name="padding">8</property>
<property name="expand">True</property>
<property name="fill">True</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">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">4</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkVBox" id="vbox2">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label10">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Align&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.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">2</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="AlignBlock">
<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>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">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="hbox5">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<child>
<widget class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="stock">gtk-justify-fill</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="label9">
<property name="visible">True</property>
<property name="label" translatable="yes">_Justify</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>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="AlignLeft">
<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>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="group">AlignBlock</property>
<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">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-justify-left</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" translatable="yes">_Left</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>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="AlignRight">
<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>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="group">AlignBlock</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">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="image2">
<property name="visible">True</property>
<property name="stock">gtk-justify-right</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="label7">
<property name="visible">True</property>
<property name="label" translatable="yes">_Right</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>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="AlignCenter">
<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>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="group">AlignBlock</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="hbox4">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<child>
<widget class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="stock">gtk-justify-center</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="label8">
<property name="visible">True</property>
<property name="label" translatable="yes">C_enter</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>
</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="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
</child>
</widget>
</glade-interface>