]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/ButtonPolicies.C
use anon namespace, somewhat better comp. handling of minipages, not quite there yet
[lyx.git] / src / frontends / ButtonPolicies.C
index 46952e3e1180bf6c1f8acfc28e4cc8d97317dd33..89c09018b3bc87d684c7793e619d864cbbf59572 100644 (file)
  */
 
 #include <config.h>
+
 #include "ButtonPolicies.h"
 #include "debug.h"
 
-// These shenanigans needed or DEC c++ complains that expression must
-// be an lvalue
-static const int sum_ = ( PreferencesPolicy::OKAY |
-                         PreferencesPolicy::APPLY |
-                         PreferencesPolicy::CANCEL |
-                         PreferencesPolicy::UNDO_ALL );
-static const PreferencesPolicy::State bogus_ = PreferencesPolicy::BOGUS;
+using std::endl;
+
+/// Helper function
+namespace {
 
-// Helper function
-inline void nextState(ButtonPolicy::State & state,
+inline
+void nextState(ButtonPolicy::State & state,
               ButtonPolicy::SMInput in,
-              ButtonPolicy::StateMachine s_m,
+              ButtonPolicy::StateMachine const & s_m,
               char const * function_name = "nextState")
 {
        ButtonPolicy::State tmp = s_m[state][in];
@@ -43,21 +41,21 @@ inline void nextState(ButtonPolicy::State & state,
                       << in
                       << " from state "
                       << state
-                      << std::endl;
+                      << endl;
        }
 }
 
+} // namespace anon
+
 
 /*-----------------------------PreferencesPolicy-----------------------------*/
 
 
 PreferencesPolicy::PreferencesPolicy()
        : state_(INITIAL),
-         outputs_(APPLIED+1,
-                  static_cast<int const &>( sum_ )),
-         state_machine_(APPLIED+1,
-                        StateArray(SMI_TOTAL,
-                                   static_cast<State const &>( bogus_ )))
+         outputs_(APPLIED + 1, ButtonPolicy::ALL_BUTTONS),
+         state_machine_(APPLIED + 1,
+                        StateArray(int(SMI_TOTAL), ButtonPolicy::BOGUS))
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
@@ -105,6 +103,7 @@ PreferencesPolicy::PreferencesPolicy()
 
 void PreferencesPolicy::input(SMInput input)
 {
+       //lyxerr << "PreferencesPolicy::input" << endl;
        // CANCEL and HIDE always take us to INITIAL for all cases.
        // Note that I didn't put that special case in the helper function
        // because it doesn't belong there.  Some other 
@@ -128,11 +127,9 @@ void PreferencesPolicy::input(SMInput input)
 
 OkCancelPolicy::OkCancelPolicy()
        : state_(INITIAL),
-         outputs_(INVALID+1,
-                  static_cast<int const &>( sum_ )),
-         state_machine_(INVALID+1, 
-                        StateArray(SMI_TOTAL,
-                                   static_cast<State const &>( bogus_ )))
+         outputs_(INVALID + 1, ButtonPolicy::ALL_BUTTONS),
+         state_machine_(INVALID + 1,
+                        StateArray(int(SMI_TOTAL), ButtonPolicy::BOGUS))
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
@@ -168,6 +165,8 @@ OkCancelPolicy::OkCancelPolicy()
 
 void OkCancelPolicy::input(SMInput input)
 {
+       //lyxerr << "OkCancelPolicy::input" << endl;
+       
        // CANCEL and HIDE always take us to INITIAL for all cases
        if (SMI_CANCEL == input
            || SMI_HIDE == input) {
@@ -183,11 +182,9 @@ void OkCancelPolicy::input(SMInput input)
 
 OkCancelReadOnlyPolicy::OkCancelReadOnlyPolicy()
        : state_(INITIAL),
-         outputs_(RO_INVALID+1,
-                  static_cast<int const &>( sum_ )),
-         state_machine_(RO_INVALID+1,
-                        StateArray(SMI_TOTAL,
-                                   static_cast<State const &>( bogus_ )))
+         outputs_(RO_INVALID + 1, ButtonPolicy::ALL_BUTTONS),
+         state_machine_(RO_INVALID + 1,
+                        StateArray(int(SMI_TOTAL), ButtonPolicy::BOGUS))
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
@@ -242,6 +239,8 @@ OkCancelReadOnlyPolicy::OkCancelReadOnlyPolicy()
 
 void OkCancelReadOnlyPolicy::input(SMInput input)
 {
+       //lyxerr << "OkCancelReadOnlyPolicy::input" << endl;
+       
        // CANCEL and HIDE always take us to INITIAL for all cases
        if (SMI_CANCEL == input
            || SMI_HIDE == input) {
@@ -260,11 +259,9 @@ void OkCancelReadOnlyPolicy::input(SMInput input)
 
 NoRepeatedApplyReadOnlyPolicy::NoRepeatedApplyReadOnlyPolicy()
        : state_(INITIAL),
-         outputs_(RO_INVALID+1,
-                  static_cast<int const &>( sum_ )),
-         state_machine_(RO_INVALID+1,
-                        StateArray(SMI_TOTAL,
-                                   static_cast<State const &>( bogus_ )))
+         outputs_(RO_INVALID + 1, ButtonPolicy::ALL_BUTTONS),
+         state_machine_(RO_INVALID + 1,
+                        StateArray(int(SMI_TOTAL), ButtonPolicy::BOGUS))
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
@@ -320,6 +317,8 @@ NoRepeatedApplyReadOnlyPolicy::NoRepeatedApplyReadOnlyPolicy()
 
 void NoRepeatedApplyReadOnlyPolicy::input(SMInput input)
 {
+       //lyxerr << "NoReapeatedApplyReadOnlyPolicy::input" << endl;
+       
        // CANCEL and HIDE always take us to INITIAL for all cases
        if (SMI_CANCEL == input
            || SMI_HIDE == input) {
@@ -338,11 +337,9 @@ void NoRepeatedApplyReadOnlyPolicy::input(SMInput input)
 
 OkApplyCancelReadOnlyPolicy::OkApplyCancelReadOnlyPolicy()
        : state_(INITIAL),
-         outputs_(RO_APPLIED+1,
-                  static_cast<int const &>( sum_ )),
-         state_machine_(RO_APPLIED+1,
-                        StateArray(SMI_TOTAL,
-                                   static_cast<State const &>( bogus_ )))
+         outputs_(RO_APPLIED + 1, ButtonPolicy::ALL_BUTTONS),
+         state_machine_(RO_APPLIED + 1,
+                        StateArray(int(SMI_TOTAL), ButtonPolicy::BOGUS))
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
@@ -412,6 +409,8 @@ OkApplyCancelReadOnlyPolicy::OkApplyCancelReadOnlyPolicy()
 
 void OkApplyCancelReadOnlyPolicy::input(SMInput input)
 {
+       //lyxerr << "OkApplyCancelReadOnlyPolicy::input" << endl;
+       
        // CANCEL and HIDE always take us to INITIAL for all cases
        if (SMI_CANCEL == input
            || SMI_HIDE == input) {
@@ -430,11 +429,9 @@ void OkApplyCancelReadOnlyPolicy::input(SMInput input)
 
 OkApplyCancelPolicy::OkApplyCancelPolicy()
        : state_(INITIAL),
-         outputs_(APPLIED+1,
-                  static_cast<int const &>( sum_ )),
-         state_machine_(APPLIED+1,
-                        StateArray(SMI_TOTAL,
-                                   static_cast<State const &>( bogus_ )))
+         outputs_(APPLIED + 1, ButtonPolicy::ALL_BUTTONS),
+         state_machine_(APPLIED + 1,
+                        StateArray(int(SMI_TOTAL), ButtonPolicy::BOGUS))
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
@@ -478,6 +475,8 @@ OkApplyCancelPolicy::OkApplyCancelPolicy()
 
 void OkApplyCancelPolicy::input(SMInput input)
 {
+       //lyxerr << "OkApplyCancelPolicy::input" << endl;
+       
        // CANCEL and HIDE always take us to INITIAL for all cases
        if (SMI_CANCEL == input
            || SMI_HIDE == input) {
@@ -496,11 +495,9 @@ void OkApplyCancelPolicy::input(SMInput input)
 
 NoRepeatedApplyPolicy::NoRepeatedApplyPolicy()
        : state_(INITIAL),
-         outputs_(INVALID+1,
-                  static_cast<int const &>( sum_ )),
-         state_machine_(INVALID+1,
-                        StateArray(SMI_TOTAL,
-                                   static_cast<State const &>( bogus_ )))
+         outputs_(INVALID + 1, ButtonPolicy::ALL_BUTTONS),
+         state_machine_(INVALID + 1,
+                        StateArray(int(SMI_TOTAL), ButtonPolicy::BOGUS))
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
@@ -536,6 +533,8 @@ NoRepeatedApplyPolicy::NoRepeatedApplyPolicy()
 
 void NoRepeatedApplyPolicy::input(SMInput input)
 {
+       //lyxerr << "NoRepeatedApplyPolicy::input" << endl;
+       
        // CANCEL and HIDE always take us to INITIAL for all cases
        if (SMI_CANCEL == input
            || SMI_HIDE == input) {