]> git.lyx.org Git - lyx.git/blob - src/frontends/gnome/GERT.h
better selection and scrolling behaviour
[lyx.git] / src / frontends / gnome / GERT.h
1 // -*- C++ -*-
2 /**
3  * \file GERT.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Michael Koziarski
8  *
9  * Full author contact details are available in file CREDITS
10  */
11
12 #ifndef GERT_H
13 #define GERT_H
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include "ControlERT.h"
20 #include "GnomeBase.h"
21
22 namespace Gtk {
23         class RadioButton;
24         class Button;
25 }
26
27 /**
28  * This class implements the dialog to insert/modify urls.
29  */
30 class GERT : public GnomeCB<ControlERT> {
31 public:
32         ///
33         GERT(ControlERT & c);
34         ///
35         ~GERT();
36
37         void apply();
38         void update();
39
40 private:
41         /// Build the dialog
42         void build();
43
44         /// Returns true if the dialog input is in a valid state.
45         bool validate() const;
46
47         /// Do the connection of signals
48         void connect_signals();
49         /// Disconnect the signals.
50         void disconnect_signals();
51
52         /// generated by accessors.py
53         Gtk::Button * close_btn() const;
54         /// generated by accessors.py
55         Gtk::RadioButton * open() const;
56         /// generated by accessors.py
57         Gtk::RadioButton * collapsed() const;
58         /// generated by accessors.py
59         Gtk::RadioButton * inlined() const;
60
61
62         /// do input validation
63         SigC::Connection slot_open;
64         SigC::Connection slot_collapsed;
65         SigC::Connection slot_inlined;
66
67 };
68
69 #endif