3 #include FORMS_H_LOCATION
9 #include "ButtonController.h"
10 #include "support/LAssert.h"
11 #include "gettext.h" // _()
15 ButtonController::ButtonController(ButtonPolicy * bp,
16 char const * cancel, char const * close)
17 : bp_(bp), okay_(0), apply_(0), cancel_(0), undo_all_(0),
18 read_only_(), cancel_label(cancel), close_label(close)
24 void ButtonController::refresh()
27 if (bp_->buttonStatus(ButtonPolicy::OKAY)) {
28 fl_activate_object(okay_);
29 fl_set_object_lcol(okay_, FL_BLACK);
31 fl_deactivate_object(okay_);
32 fl_set_object_lcol(okay_, FL_INACTIVE);
36 if (bp_->buttonStatus(ButtonPolicy::APPLY)) {
37 fl_activate_object(apply_);
38 fl_set_object_lcol(apply_, FL_BLACK);
40 fl_deactivate_object(apply_);
41 fl_set_object_lcol(apply_, FL_INACTIVE);
45 if (bp_->buttonStatus(ButtonPolicy::UNDO_ALL)) {
46 fl_activate_object(undo_all_);
47 fl_set_object_lcol(undo_all_, FL_BLACK);
49 fl_deactivate_object(undo_all_);
50 fl_set_object_lcol(undo_all_,
55 if (bp_->buttonStatus(ButtonPolicy::CANCEL)) {
56 fl_set_object_label(cancel_,
59 fl_set_object_label(cancel_,
63 if (!read_only_.empty()) {
64 if (bp_->isReadOnly()) {
65 std::list<FL_OBJECT *>::iterator
66 end = read_only_.end();
67 for (std::list<FL_OBJECT *>::iterator
68 iter = read_only_.begin();
71 fl_deactivate_object(*iter);
72 fl_set_object_lcol(*iter,
76 std::list<FL_OBJECT *>::iterator
77 end = read_only_.end();
78 for (std::list<FL_OBJECT *>::iterator
79 iter = read_only_.begin();
82 fl_activate_object(*iter);
83 fl_set_object_lcol(*iter,
91 void ButtonController::input(ButtonPolicy::SMInput in)
93 //lyxerr << "ButtonController::input: bp_[" << bp_ << "]" << endl;
99 void ButtonController::ok()
101 input(ButtonPolicy::SMI_OKAY);
105 void ButtonController::apply()
107 input(ButtonPolicy::SMI_APPLY);
111 void ButtonController::cancel()
113 input(ButtonPolicy::SMI_CANCEL);
117 void ButtonController::undoAll()
119 input(ButtonPolicy::SMI_UNDO_ALL);
123 void ButtonController::hide()
125 input(ButtonPolicy::SMI_HIDE);
129 bool ButtonController::readOnly(bool ro)
132 input(ButtonPolicy::SMI_READ_ONLY);
134 input(ButtonPolicy::SMI_READ_WRITE);
140 void ButtonController::readWrite()
146 bool ButtonController::valid(bool v)
149 input(ButtonPolicy::SMI_VALID);
151 input(ButtonPolicy::SMI_INVALID);
157 void ButtonController::invalid()