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