Change existing ERT dialog to follow GNOME guidelines, implement About and Float Properties.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4406 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Michael Gerz 2002-06-15 09:22:03 +00:00
parent 45ac21b7f9
commit 0497a0d6fa
13 changed files with 1008 additions and 205 deletions

View File

@ -1,3 +1,19 @@
2002-06-15 Michael A. Koziarski <michael@koziarski.com>
* Dialogs.C
* Makefile.am: Necessary changes for the various new dialogs
* GERT.C
* GERT.h
* dialogs/GERT.glade: Make ERT Properties dialog follow the GNOME hig.
* GLog.C: use std::string, all the conversion is wasteful
* GFloat.C
* GFloat.h
* dialogs/GFloat.glade: Implement the Float Properties Dialog
* dialogs/GAbout.glade
* GAbout.C
* GAbout.h: Temporary Aboutlyx implementation, waiting on some
gtkmm bugs to finalise it.
2002-06-10 Lars Gullik Bjønnes <larsbj@birdstep.com>
* gnomeBC.C: do not include ButtonController.tmpl

View File

@ -22,14 +22,15 @@
#include "frontends/LyXView.h"
#include "GAbout.h"
#include "GError.h"
#include "GERT.h"
#include "GFloat.h"
#include "GLog.h"
#include "GPreamble.h"
#include "GTabularCreate.h"
#include "GUrl.h"
#include "Tooltips.h"
bool Dialogs::tooltipsEnabled()
@ -50,8 +51,11 @@ Dialogs::Dialogs(LyXView * lv)
add(new GUI<ControlTabularCreate, GTabularCreate,
OkApplyCancelReadOnlyPolicy, gnomeBC>(*lv, *this));
add(new GUI<ControlLog, GLog,
OkCancelPolicy, gnomeBC>(*lv, *this));
OkCancelPolicy, gnomeBC>(*lv, *this));
add(new GUI<ControlAboutlyx, GAbout,
OkCancelPolicy, gnomeBC>(*lv, *this));
add(new GUI<ControlFloat, GFloat,
NoRepeatedApplyReadOnlyPolicy, gnomeBC>(*lv, *this));
// reduce the number of connections needed in
// dialogs by a simple connection here.
hideAll.connect(hideBufferDependent);

View File

@ -0,0 +1,104 @@
/**
* ile GAbout.C
* Copyright 2001 The LyX Team.
* See the file COPYING.
*
* \author Michael Koziarski <michael@koziarski.org>
*/
#ifdef __GNUG__
#pragma implementation
#endif
#include <config.h>
#include "support/lstrings.h"
#include "Lsstream.h"
#include "gnomeBC.h"
#include "GAbout.h"
#include <gtkmm/button.h>
#include <gtkmm/textview.h>
GAbout::GAbout(ControlAboutlyx & c)
: FormCB<ControlAboutlyx>(c, "GAbout")
{}
GAbout::~GAbout()
{}
void GAbout::build()
{
// Connect the buttons.
close_btn()->signal_clicked().connect(SigC::slot(*this, &GAbout::CancelClicked));
// Manage the buttons state
bc().setCancel(close_btn());
bc().refresh();
}
void GAbout::apply()
{}
void GAbout::update()
{
using namespace std;
string cr;
cr += controller().getCopyright();
cr += "\n";
cr += controller().getLicense();
cr += "\n";
cr += controller().getDisclaimer();
copyright()->get_buffer()->set_text(cr);
version()->set_text(controller().getVersion());
stringstream in;
controller().getCredits(in);
istringstream ss(in.str().c_str());
string s;
string out;
Gtk::TextIter e;
while (getline(ss, s)) {
if (prefixIs(s, "@b"))
out += s.substr(2);
else if (prefixIs(s, "@i"))
out += s.substr(2);
else
out += s.substr(2);
out += "\n";
}
credits()->get_buffer()->set_text(out);
}
Gtk::Button * GAbout::close_btn() const
{
return getWidget<Gtk::Button>("r_close_btn");
}
Gtk::Label * GAbout::version() const
{
return getWidget<Gtk::Label>("r_version");
}
Gtk::TextView * GAbout::credits() const
{
return getWidget<Gtk::TextView>("r_credits");
}
Gtk::TextView * GAbout::copyright() const
{
return getWidget<Gtk::TextView>("r_copyright");
}

View File

@ -0,0 +1,59 @@
// -*- C++ -*-
/**
* \file GAbout.h
* Copyright 2001 The LyX Team.
* See the file COPYING.
*
* \author Michael Koziarski <michael@koziarski.org>
*/
#ifndef GABOUT_H
#define GABOUT_H
#ifdef __GNUG__
#pragma interface
#endif
#include "ControlAboutlyx.h"
#include "GnomeBase.h"
namespace Gtk {
class Button;
class Label;
class TextView;
}
/**
* This class implements the dialog to display the information About LyX
*/
class GAbout : public FormCB<ControlAboutlyx> {
public:
///
GAbout(ControlAboutlyx & c);
///
~GAbout();
void apply();
void update();
private:
/// Build the dialog
void build();
/// Returns true if the dialog input is in a valid state.
bool validate() const;
/// generated by accessors.py
Gtk::Button * close_btn() const;
/// generated by accessors.py
Gtk::Label * version() const;
/// generated by accessors.py
Gtk::TextView * credits() const;
/// generated by accessors.py
Gtk::TextView * copyright() const;
};
#endif

View File

@ -33,14 +33,8 @@ GERT::~GERT()
void GERT::build()
{
// Connect the buttons.
ok_btn()->signal_clicked().connect(SigC::slot(*this, &GERT::OKClicked));
cancel_btn()->signal_clicked().connect(SigC::slot(*this, &GERT::CancelClicked));
apply_btn()->signal_clicked().connect(SigC::slot(*this, &GERT::ApplyClicked));
close_btn()->signal_clicked().connect(SigC::slot(*this, &GERT::OKClicked));
// Manage the buttons state
bc().setOK(ok_btn());
bc().setCancel(cancel_btn());
bc().setApply(apply_btn());
// Make sure everything is in the correct state.
bc().refresh();
@ -55,9 +49,15 @@ void GERT::build()
void GERT::connect_signals()
{
slot_open = open()->signal_clicked().connect(SigC::slot(*this, &GERT::InputChanged));
slot_collapsed = collapsed()->signal_clicked().connect(SigC::slot(*this, &GERT::InputChanged));
slot_inlined = inlined()->signal_clicked().connect(SigC::slot(*this, &GERT::InputChanged));
slot_open = open()->signal_clicked().connect(
SigC::slot(*this, &GERT::ApplyClicked)
);
slot_collapsed = collapsed()->signal_clicked().connect(
SigC::slot(*this, &GERT::ApplyClicked)
);
slot_inlined = inlined()->signal_clicked().connect(
SigC::slot(*this, &GERT::ApplyClicked)
);
}
@ -100,23 +100,9 @@ void GERT::update()
}
bool GERT::validate() const
Gtk::Button * GERT::close_btn() const
{
return true;
}
Gtk::Button * GERT::ok_btn() const
{
return getWidget<Gtk::Button>("r_ok_btn");
}
Gtk::Button * GERT::apply_btn() const
{
return getWidget<Gtk::Button>("r_apply_btn");
}
Gtk::Button * GERT::cancel_btn() const
{
return getWidget<Gtk::Button>("r_cancel_btn");
return getWidget<Gtk::Button>("r_close_btn");
}
Gtk::RadioButton * GERT::open() const
{

View File

@ -52,11 +52,7 @@ private:
void disconnect_signals();
/// generated by accessors.py
Gtk::Button * ok_btn() const;
/// generated by accessors.py
Gtk::Button * apply_btn() const;
/// genearated by accessors.py
Gtk::Button * cancel_btn() const;
Gtk::Button * close_btn() const;
/// generated by accessors.py
Gtk::RadioButton * open() const;
/// generated by accessors.py

View File

@ -0,0 +1,171 @@
/**
* \file GFloat.C
* Copyright 2001 The LyX Team.
* See the file COPYING.
*
* \author Michael Koziarski <michael@koziarski.org>
*/
#ifdef __GNUG__
#pragma implementation
#endif
#include <config.h>
#include "gnomeBC.h"
#include "GFloat.h"
#include "support/lstrings.h"
#include <gtkmm/button.h>
#include <gtkmm/checkbutton.h>
#include <gtkmm/radiobutton.h>
#include <gtkmm/box.h>
GFloat::GFloat(ControlFloat & c)
: FormCB<ControlFloat>(c, "GFloat")
{}
GFloat::~GFloat()
{}
void GFloat::build()
{
// Connect the buttons.
close_btn()->signal_clicked().connect(SigC::slot(*this, &GFloat::OKClicked));
// Manage the buttons state
bc().setCancel(close_btn());
bc().refresh();
connect_signals();
}
void GFloat::apply()
{
string placement;
if (here_definitely()->get_active()) {
placement += "H";
} else {
if (top_of_page()->get_active()) {
placement += "t";
}
if (bottom_of_page()->get_active()) {
placement += "b";
}
if (page_of_floats()->get_active()) {
placement += "p";
}
if (here_if_possible()->get_active()) {
placement += "h";
}
}
controller().params().placement = placement;
}
void GFloat::update()
{
disconnect_signals();
bool top = false;
bool bottom = false;
bool page = false;
bool here = false;
bool forcehere = false;
string placement(controller().params().placement);
if (contains(placement, "H")) {
forcehere = true;
} else {
if (contains(placement, "t")) {
top = true;
}
if (contains(placement, "b")) {
bottom = true;
}
if (contains(placement, "p")) {
page = true;
}
if (contains(placement, "h")) {
here = true;
}
}
top_of_page()->set_active(top);
page_of_floats()->set_active(page);
bottom_of_page()->set_active(bottom);
here_if_possible()->set_active(here);
here_definitely()->set_active(forcehere);
connect_signals();
}
void GFloat::connect_signals()
{
conn_top_ = top_of_page()->signal_toggled().connect(
SigC::slot(*this, &GFloat::ApplyClicked)
);
conn_bottom_ = bottom_of_page()->signal_toggled().connect(
SigC::slot(*this, &GFloat::ApplyClicked)
);
conn_page_ = page_of_floats()->signal_toggled().connect(
SigC::slot(*this, &GFloat::ApplyClicked)
);
conn_ifposs_ = here_if_possible()->signal_toggled().connect(
SigC::slot(*this, &GFloat::ApplyClicked)
);
conn_definitely_ = here_definitely()->signal_toggled().connect(
SigC::slot(*this, &GFloat::ApplyClicked)
);
conn_disable_ = here_definitely()->signal_toggled().connect(
SigC::slot(*this, &GFloat::update_sensitive)
);
}
void GFloat::disconnect_signals()
{
conn_top_.disconnect();
conn_bottom_.disconnect();
conn_page_.disconnect();
conn_ifposs_.disconnect();
conn_definitely_.disconnect();
conn_disable_.disconnect();
}
void GFloat::update_sensitive()
{
if (here_definitely()->get_active())
other_options()->set_sensitive(false);
else
other_options()->set_sensitive(true);
}
Gtk::HBox * GFloat::other_options() const
{
return getWidget<Gtk::HBox>("r_other_options");
}
Gtk::CheckButton * GFloat::page_of_floats() const
{
return getWidget<Gtk::CheckButton>("r_page_of_floats");
}
Gtk::CheckButton * GFloat::top_of_page() const
{
return getWidget<Gtk::CheckButton>("r_top_of_page");
}
Gtk::CheckButton * GFloat::bottom_of_page() const
{
return getWidget<Gtk::CheckButton>("r_bottom_of_page");
}
Gtk::CheckButton * GFloat::here_if_possible() const
{
return getWidget<Gtk::CheckButton>("r_here_if_possible");
}
Gtk::RadioButton * GFloat::here_definitely() const
{
return getWidget<Gtk::RadioButton>("r_here_definitely");
}
Gtk::Button * GFloat::close_btn() const
{
return getWidget<Gtk::Button>("r_close_btn");
}

View File

@ -0,0 +1,78 @@
// -*- C++ -*-
/**
* \file GFloat.h
* Copyright 2001 The LyX Team.
* See the file COPYING.
*
* \author Michael Koziarski <michael@koziarski.org>
*/
#ifndef GFLOAT_H
#define GFLOAT_H
#ifdef __GNUG__
#pragma interface
#endif
#include "ControlFloat.h"
#include "GnomeBase.h"
namespace Gtk {
class Buttton;
class CheckButton;
class RadioButton;
class HBox;
}
/**
* This class implements the dialog to modify the LaTeX preamble
*/
class GFloat : public FormCB<ControlFloat> {
public:
///
GFloat(ControlFloat & c);
///
~GFloat();
void apply();
void update();
private:
/// Build the dialog
void build();
/// Returns true if the dialog input is in a valid state.
bool validate() const;
///
void connect_signals();
///
void disconnect_signals();
/// generated by accessors.py
Gtk::HBox * other_options() const;
/// generated by accessors.py
Gtk::CheckButton * page_of_floats() const;
/// generated by accessors.py
Gtk::CheckButton * top_of_page() const;
/// generated by accessors.py
Gtk::CheckButton * bottom_of_page() const;
/// generated by accessors.py
Gtk::CheckButton * here_if_possible() const;
/// generated by accessors.py
Gtk::RadioButton * here_definitely() const;
/// generated by accessors.py
Gtk::Button * close_btn() const;
/// Disable all the uncheckable buttons
void update_sensitive();
SigC::Connection conn_top_;
SigC::Connection conn_bottom_;
SigC::Connection conn_page_;
SigC::Connection conn_ifposs_;
SigC::Connection conn_definitely_;
SigC::Connection conn_disable_;
};
#endif

View File

@ -71,7 +71,7 @@ void GLog::update()
while (getline(ifstr, line))
text += line + "\n";
log_text()->get_buffer()->set_text(text.c_str());
log_text()->get_buffer()->set_text(text);
}

View File

@ -63,15 +63,16 @@ xforms.lo: $(xforms_objects)
# KOZ 20020315 Large commented out removed.
###
#LDFLAGS= $(libgnome_la_OBJADD)
#LYXDATADIRS =
libgnome_la_SOURCES = \
Dialogs.C \
GAbout.C \
GAbout.h \
GError.C \
GError.h \
GERT.C \
GERT.h \
GFloat.C \
GFloat.h \
GLog.C \
GLog.h \
GPreamble.C \
@ -89,36 +90,4 @@ libgnome_la_SOURCES = \
GUIRunTime.C \
pixbutton.h \
Timeout_pimpl.C \
Timeout_pimpl.h
# Trying to make things a litte more tidy. -- Koz-2002-01-11
# mainapp.C \
# mainapp.h \
# Menubar_pimpl.C \
# Menubar_pimpl.h \
#
# FormCopyright.C \
# FormCopyright.h \
# FormCredits.C \
# FormCredits.h \
# These still have to be added. Sooner or later. ARRae-20000411
# GUI_defaults.C \
# GUI_initialize.C \
# GUI_postlyxrc.C \
# GUI_applymenu.C
# just copied from old lyx repository
#dist-hook:
# for subdir in $(LYXDATADIRS) ; do \
# test -d $(distdir)/$$subdir \
# || mkdir $(distdir)/$$subdir \
# || exit 1; \
# chmod 777 $(distdir)/$$subdir; \
# list=`(cd $(srcdir)/$$subdir && ls -1 | grep -v CVS)`; \
# echo $$list ; \
# for fil in $$list ; do \
# cp -p $(srcdir)/$$subdir/$$fil $(distdir)/$$subdir ; \
# done ; \
# done
Timeout_pimpl.h

View File

@ -0,0 +1,215 @@
<?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="GAbout">
<property name="title" translatable="yes">About LyX</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="has_separator">True</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox1">
<property name="border_width">2</property>
<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="border_width">5</property>
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<property name="spacing">10</property>
<child>
<widget class="GtkButton" id="r_close_btn">
<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="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">-7</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="GtkNotebook" id="notebook1">
<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">False</property>
<property name="tab_hborder">2</property>
<property name="tab_vborder">2</property>
<property name="enable_popup">False</property>
<child>
<widget class="GtkLabel" id="r_version">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">r_version</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
<property name="wrap">False</property>
<property name="selectable">True</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="tab_expand">False</property>
<property name="tab_fill">True</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes">Version</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>
<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_NONE</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
<widget class="GtkTextView" id="r_credits">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="justification">GTK_JUSTIFY_LEFT</property>
<property name="wrap_mode">GTK_WRAP_NONE</property>
<property name="cursor_visible">True</property>
<property name="pixels_above_lines">0</property>
<property name="pixels_below_lines">0</property>
<property name="pixels_inside_wrap">0</property>
<property name="left_margin">0</property>
<property name="right_margin">0</property>
<property name="indent">0</property>
<property name="text" translatable="yes"></property>
</widget>
</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">Credits</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>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow2">
<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_NONE</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
<widget class="GtkTextView" id="r_copyright">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
<property name="justification">GTK_JUSTIFY_LEFT</property>
<property name="wrap_mode">GTK_WRAP_NONE</property>
<property name="cursor_visible">True</property>
<property name="pixels_above_lines">0</property>
<property name="pixels_below_lines">0</property>
<property name="pixels_inside_wrap">0</property>
<property name="left_margin">0</property>
<property name="right_margin">0</property>
<property name="indent">0</property>
<property name="text" translatable="yes"></property>
</widget>
</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">Copyright</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>

View File

@ -1,148 +1,150 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd" >
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
<glade-interface>
<widget class="GtkDialog" id="GERT">
<property name="border_width">2</property>
<property name="visible">no</property>
<property name="title" translatable="yes">ERT Options</property>
<property name="type">GTK_WINDOW_DIALOG</property>
<property name="modal">no</property>
<property name="allow_shrink">yes</property>
<property name="allow_grow">yes</property>
<property name="window-position">GTK_WIN_POS_NONE</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox1">
<property name="homogeneous">no</property>
<property name="spacing">8</property>
<property name="visible">yes</property>
<widget class="GtkDialog" id="GERT">
<property name="border_width">2</property>
<property name="title" translatable="yes">ERT Properties</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="has_separator">True</property>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area1">
<property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
<property name="spacing">8</property>
<property name="visible">yes</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox1">
<property name="border_width">2</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">8</property>
<child>
<widget class="GtkButton" id="r_ok_btn">
<property name="can_default">yes</property>
<property name="can_focus">yes</property>
<property name="visible">yes</property>
<property name="label">gtk-ok</property>
<property name="use_stock">yes</property>
<property name="use_underline">yes</property>
</widget>
</child>
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area1">
<property name="border_width">5</property>
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<property name="spacing">10</property>
<child>
<widget class="GtkButton" id="r_apply_btn">
<property name="can_default">yes</property>
<property name="can_focus">yes</property>
<property name="visible">yes</property>
<property name="label">gtk-apply</property>
<property name="use_stock">yes</property>
<property name="use_underline">yes</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="r_close_btn">
<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="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">-7</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="GtkButton" id="r_cancel_btn">
<property name="can_default">yes</property>
<property name="has_default">yes</property>
<property name="can_focus">yes</property>
<property name="visible">yes</property>
<property name="label">gtk-cancel</property>
<property name="use_stock">yes</property>
<property name="use_underline">yes</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">yes</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
<child>
<widget class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
<child>
<widget class="GtkFrame" id="frame1">
<property name="label" translatable="yes">Status</property>
<property name="label_xalign">0</property>
<property name="shadow">GTK_SHADOW_ETCHED_IN</property>
<property name="visible">yes</property>
<child>
<widget class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkVBox" id="vbox1">
<property name="homogeneous">no</property>
<property name="spacing">0</property>
<property name="visible">yes</property>
<child>
<widget class="GtkRadioButton" id="r_open">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Open</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">True</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="r_open">
<property name="can_focus">yes</property>
<property name="label" translatable="yes">_Open</property>
<property name="active">yes</property>
<property name="draw_indicator">yes</property>
<property name="visible">yes</property>
<property name="use_underline">yes</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="r_collapsed">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Collapsed</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="group">r_open</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="r_collapsed">
<property name="can_focus">yes</property>
<property name="label" translatable="yes">_Collapsed</property>
<property name="active">no</property>
<property name="draw_indicator">yes</property>
<property name="visible">yes</property>
<property name="group">r_open</property>
<property name="use_underline">yes</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="r_inlined">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">_Inlined View</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="group">r_open</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes">Status</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">label_item</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>
<child>
<widget class="GtkRadioButton" id="r_inlined">
<property name="can_focus">yes</property>
<property name="label" translatable="yes">_Inlined View</property>
<property name="active">no</property>
<property name="draw_indicator">yes</property>
<property name="visible">yes</property>
<property name="group">r_open</property>
<property name="use_underline">yes</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">no</property>
<property name="fill">no</property>
</packing>
</child>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">4</property>
<property name="expand">yes</property>
<property name="fill">yes</property>
</packing>
</child>
</widget>
</glade-interface>

View File

@ -0,0 +1,203 @@
<?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="GFloat">
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="title" translatable="yes">Float Properties</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_CENTER</property>
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
<widget class="GtkVBox" id="dialog-vbox2">
<property name="border_width">2</property>
<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_area2">
<property name="border_width">5</property>
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<property name="spacing">10</property>
<child>
<widget class="GtkButton" id="r_close_btn">
<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="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="response_id">-7</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="vbox4">
<property name="border_width">5</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">3</property>
<child>
<widget class="GtkRadioButton" id="b_placement">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Placement</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</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="GtkHBox" id="r_other_options">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkVBox" id="vbox5">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkCheckButton" id="r_page_of_floats">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Page of floats</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</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="r_top_of_page">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Top of the page</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</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="r_bottom_of_page">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Bottom of the page</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</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="r_here_if_possible">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Here, if possible</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</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>
<packing>
<property name="padding">20</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="GtkRadioButton" id="r_here_definitely">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Here, definitely</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
<property name="group">b_placement</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</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>