1 /* This file is part of
2 * =================================================
4 * LyX, The Document Processor
5 * Copyright 1995-2000 The LyX Team.
7 * =================================================
9 * \author Michael Koziarski <michael@koziarski.org>
13 #pragma implementation
21 #include <gtkmm/radiobutton.h>
22 #include <gtkmm/button.h>
24 GERT::GERT(ControlERT & c)
25 : FormCB<ControlERT>(c, "GERT")
35 // Connect the buttons.
36 close_btn()->signal_clicked().connect(SigC::slot(*this, &GERT::OKClicked));
39 // Make sure everything is in the correct state.
42 // Manage the read-only aware widgets.
43 bc().addReadOnly(open());
44 bc().addReadOnly(inlined());
45 bc().addReadOnly(collapsed());
50 void GERT::connect_signals()
52 slot_open = open()->signal_clicked().connect(
53 SigC::slot(*this, &GERT::ApplyClicked)
55 slot_collapsed = collapsed()->signal_clicked().connect(
56 SigC::slot(*this, &GERT::ApplyClicked)
58 slot_inlined = inlined()->signal_clicked().connect(
59 SigC::slot(*this, &GERT::ApplyClicked)
64 void GERT::disconnect_signals()
66 slot_open.disconnect();
67 slot_collapsed.disconnect();
68 slot_inlined.disconnect();
75 if (open()->get_active())
76 controller().params().status = InsetERT::Open;
77 else if (collapsed()->get_active())
78 controller().params().status = InsetERT::Collapsed;
80 controller().params().status = InsetERT::Inlined;
88 switch (controller().params().status) {
90 open()->set_active(true);
92 case InsetERT::Collapsed:
93 collapsed()->set_active(true);
95 case InsetERT::Inlined:
96 inlined()->set_active(true);
103 Gtk::Button * GERT::close_btn() const
105 return getWidget<Gtk::Button>("r_close_btn");
107 Gtk::RadioButton * GERT::open() const
109 return getWidget<Gtk::RadioButton>("r_open");
111 Gtk::RadioButton * GERT::collapsed() const
113 return getWidget<Gtk::RadioButton>("r_collapsed");
115 Gtk::RadioButton * GERT::inlined() const
117 return getWidget<Gtk::RadioButton>("r_inlined");