]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ButtonControllerBase.C
Really dull and boring header shit
[lyx.git] / src / frontends / controllers / ButtonControllerBase.C
1 /**
2  * \file ButtonControllerBase.C
3  * Read the file COPYING
4  *
5  * \author Allan Rae
6  *
7  * Full author contact details are available in file CREDITS
8  */
9
10 #ifdef __GNUG__
11 #pragma implementation
12 #endif
13
14 #include <config.h>
15 #include "ButtonControllerBase.h"
16 #include "support/LAssert.h"
17 #include "debug.h"
18
19
20 ButtonControllerBase::ButtonControllerBase(string const & cancel,
21                                            string const & close)
22         : cancel_label_(cancel), close_label_(close)
23 {}
24
25
26 void ButtonControllerBase::ok()
27 {
28         input(ButtonPolicy::SMI_OKAY);
29 }
30
31
32 void ButtonControllerBase::input(ButtonPolicy::SMInput in)
33 {
34         if (ButtonPolicy::SMI_NOOP == in) return;
35         bp().input(in);
36         refresh();
37 }
38
39
40 void ButtonControllerBase::apply()
41 {
42         input(ButtonPolicy::SMI_APPLY);
43 }
44
45
46 void ButtonControllerBase::cancel()
47 {
48         input(ButtonPolicy::SMI_CANCEL);
49 }
50
51
52 void ButtonControllerBase::restore()
53 {
54         input(ButtonPolicy::SMI_RESTORE);
55 }
56
57
58 void ButtonControllerBase::hide()
59 {
60         input(ButtonPolicy::SMI_HIDE);
61 }
62
63
64 void ButtonControllerBase::valid(bool v)
65 {
66         if (v) {
67                 input(ButtonPolicy::SMI_VALID);
68         } else {
69                 input(ButtonPolicy::SMI_INVALID);
70         }
71 }
72
73
74 void ButtonControllerBase::invalid()
75 {
76         input(ButtonPolicy::SMI_INVALID);
77 }
78
79
80 bool ButtonControllerBase::readOnly(bool ro)
81 {
82         lyxerr[Debug::GUI] << "Setting controller ro: " << ro << std::endl;
83
84         if (ro) {
85                 bp().input(ButtonPolicy::SMI_READ_ONLY);
86         } else {
87                 bp().input(ButtonPolicy::SMI_READ_WRITE);
88         }
89         refreshReadOnly();
90         refresh();
91         return ro;
92 }
93
94
95 void ButtonControllerBase::readWrite()
96 {
97         readOnly(false);
98 }