3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Michael Koziarski
8 * Full author contact details are available in file CREDITS
12 #pragma implementation
20 #include <gtkmm/radiobutton.h>
21 #include <gtkmm/button.h>
23 GERT::GERT(ControlERT & c)
24 : GnomeCB<ControlERT>(c, "GERT")
34 // Connect the buttons.
35 close_btn()->signal_clicked().connect(SigC::slot(*this, &GERT::OKClicked));
38 // Make sure everything is in the correct state.
41 // Manage the read-only aware widgets.
42 bc().addReadOnly(open());
43 bc().addReadOnly(inlined());
44 bc().addReadOnly(collapsed());
49 void GERT::connect_signals()
51 slot_open = open()->signal_clicked().connect(
52 SigC::slot(*this, &GERT::ApplyClicked)
54 slot_collapsed = collapsed()->signal_clicked().connect(
55 SigC::slot(*this, &GERT::ApplyClicked)
57 slot_inlined = inlined()->signal_clicked().connect(
58 SigC::slot(*this, &GERT::ApplyClicked)
63 void GERT::disconnect_signals()
65 slot_open.disconnect();
66 slot_collapsed.disconnect();
67 slot_inlined.disconnect();
74 if (open()->get_active())
75 controller().params().status = InsetERT::Open;
76 else if (collapsed()->get_active())
77 controller().params().status = InsetERT::Collapsed;
79 controller().params().status = InsetERT::Inlined;
87 switch (controller().params().status) {
89 open()->set_active(true);
91 case InsetERT::Collapsed:
92 collapsed()->set_active(true);
94 case InsetERT::Inlined:
95 inlined()->set_active(true);
102 Gtk::Button * GERT::close_btn() const
104 return getWidget<Gtk::Button>("r_close_btn");
106 Gtk::RadioButton * GERT::open() const
108 return getWidget<Gtk::RadioButton>("r_open");
110 Gtk::RadioButton * GERT::collapsed() const
112 return getWidget<Gtk::RadioButton>("r_collapsed");
114 Gtk::RadioButton * GERT::inlined() const
116 return getWidget<Gtk::RadioButton>("r_inlined");