LyX 1.5.0 is released
[lyx.git] / src / FuncStatus.cpp
blob17e59e677ded3666dfb11a794b1d020f6305f2b4
1 /**
2 * \file FuncStatus.cpp
3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Jean-Marc Lasgouttes
8 * Full author contact details are available in file CREDITS.
9 */
11 #include <config.h>
13 #include "FuncStatus.h"
16 namespace lyx {
18 FuncStatus::FuncStatus()
19 : v_(OK)
24 void FuncStatus::clear()
26 v_ = OK;
27 message_.erase();
31 void FuncStatus::operator|=(FuncStatus const & f)
33 v_ |= f.v_;
34 if (!f.message_.empty())
35 message_ = f.message_;
39 void FuncStatus::unknown(bool b)
41 if (b)
42 v_ |= UNKNOWN;
43 else
44 v_ &= !UNKNOWN;
49 bool FuncStatus::unknown() const
51 return (v_ & UNKNOWN);
55 void FuncStatus::enabled(bool b)
57 if (b)
58 v_ &= !DISABLED;
59 else
60 v_ |= DISABLED;
64 bool FuncStatus::enabled() const
66 return !(v_ & DISABLED);
70 void FuncStatus::setOnOff(bool b)
72 v_ |= (b ? ON : OFF);
76 bool FuncStatus::onoff(bool b) const
78 if (b)
79 return (v_ & ON);
80 else
81 return (v_ & OFF);
85 void FuncStatus::message(docstring const & m)
87 message_ = m;
91 docstring const & FuncStatus::message() const
93 return message_;
97 } // namespace lyx