2 * \file ButtonController.C
3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS
13 #include "ButtonController.h"
15 #include "support/LAssert.h"
19 ButtonController::~ButtonController()
23 BCView & ButtonController::view() const
25 lyx::Assert(view_.get());
29 void ButtonController::view(BCView * view)
35 ButtonPolicy & ButtonController::bp() const
37 lyx::Assert(bp_.get());
41 void ButtonController::bp(ButtonPolicy * bp)
47 void ButtonController::refresh()
53 void ButtonController::refreshReadOnly()
55 view().refreshReadOnly();
59 void ButtonController::ok()
61 input(ButtonPolicy::SMI_OKAY);
65 void ButtonController::input(ButtonPolicy::SMInput in)
67 if (ButtonPolicy::SMI_NOOP == in)
74 void ButtonController::apply()
76 input(ButtonPolicy::SMI_APPLY);
80 void ButtonController::cancel()
82 input(ButtonPolicy::SMI_CANCEL);
86 void ButtonController::restore()
88 input(ButtonPolicy::SMI_RESTORE);
92 void ButtonController::hide()
94 input(ButtonPolicy::SMI_HIDE);
98 void ButtonController::valid(bool v)
101 input(ButtonPolicy::SMI_VALID);
103 input(ButtonPolicy::SMI_INVALID);
108 void ButtonController::invalid()
110 input(ButtonPolicy::SMI_INVALID);
114 bool ButtonController::readOnly(bool ro)
116 lyxerr[Debug::GUI] << "Setting controller ro: " << ro << std::endl;
119 bp().input(ButtonPolicy::SMI_READ_ONLY);
121 bp().input(ButtonPolicy::SMI_READ_WRITE);
123 view().refreshReadOnly();
129 void ButtonController::readWrite()