]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ButtonPolicies.C
John's character.C patch (bug fix).
[lyx.git] / src / frontends / controllers / ButtonPolicies.C
index 52dfa837f150cb78826c0b213acb7e2737e7faca..67c970e5d4b5c6dbcf2e94d0d76d08f89d090eb0 100644 (file)
@@ -1,4 +1,3 @@
-// -*- C++ -*-
 /* ButtonPolicies.C
  * Provides a state machine implementation of the various button policies
  * used by the dialogs.
@@ -9,7 +8,7 @@
  *           LyX, The Document Processor
  *
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team.
+ *           Copyright 1995-2001 The LyX Team.
  *
  *           This file Copyright 2000
  *           Allan Rae
 
 using std::endl;
 
+namespace {
+
 /// Helper function
-static inline
+inline
 void nextState(ButtonPolicy::State & state,
               ButtonPolicy::SMInput in,
               ButtonPolicy::StateMachine const & s_m,
@@ -45,6 +46,8 @@ void nextState(ButtonPolicy::State & state,
        }
 }
 
+} // namespace anon
+
 
 /*-----------------------------PreferencesPolicy-----------------------------*/
 
@@ -57,8 +60,8 @@ PreferencesPolicy::PreferencesPolicy()
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
-       outputs_[VALID] = UNDO_ALL | OKAY | APPLY | CANCEL;
-       outputs_[INVALID] = UNDO_ALL | CANCEL;
+       outputs_[VALID] = RESTORE | OKAY | APPLY | CANCEL;
+       outputs_[INVALID] = RESTORE | CANCEL;
        outputs_[APPLIED] = OKAY | CLOSE;
 
        // Build the state machine one state at a time
@@ -83,13 +86,13 @@ PreferencesPolicy::PreferencesPolicy()
        state_machine_[VALID][SMI_INVALID] = INVALID;
        state_machine_[VALID][SMI_APPLY] = APPLIED;
        state_machine_[VALID][SMI_OKAY] = INITIAL;
-       state_machine_[VALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[VALID][SMI_RESTORE] = INITIAL;
        // State::INVALID
        state_machine_[INVALID][SMI_VALID] = VALID;
        state_machine_[INVALID][SMI_INVALID] = INVALID;
        state_machine_[INVALID][SMI_READ_ONLY] = INVALID;
        state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
-       state_machine_[INVALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[INVALID][SMI_RESTORE] = INITIAL;
        // State::APPLIED
        state_machine_[APPLIED][SMI_VALID] = VALID;
        state_machine_[APPLIED][SMI_INVALID] = INVALID;
@@ -131,8 +134,8 @@ OkCancelPolicy::OkCancelPolicy()
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
-       outputs_[VALID] = UNDO_ALL | OKAY | CANCEL;
-       outputs_[INVALID] = UNDO_ALL | CANCEL;
+       outputs_[VALID] = RESTORE | OKAY | CANCEL;
+       outputs_[INVALID] = RESTORE | CANCEL;
 
        // Build the state machine one state at a time
        // NOTE:  Since CANCEL and HIDE always go to INITIAL they are
@@ -150,13 +153,13 @@ OkCancelPolicy::OkCancelPolicy()
        state_machine_[VALID][SMI_READ_WRITE] = VALID;
        state_machine_[VALID][SMI_INVALID] = INVALID;
        state_machine_[VALID][SMI_OKAY] = INITIAL;
-       state_machine_[VALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[VALID][SMI_RESTORE] = INITIAL;
        // State::INVALID
        state_machine_[INVALID][SMI_VALID] = VALID;
        state_machine_[INVALID][SMI_INVALID] = INVALID;
        state_machine_[INVALID][SMI_READ_ONLY] = INVALID;
        state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
-       state_machine_[INVALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[INVALID][SMI_RESTORE] = INITIAL;
 }
 
 
@@ -186,11 +189,11 @@ OkCancelReadOnlyPolicy::OkCancelReadOnlyPolicy()
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
-       outputs_[VALID] = UNDO_ALL | OKAY | CANCEL;
-       outputs_[INVALID] = UNDO_ALL | CANCEL;
+       outputs_[VALID] = RESTORE | OKAY | CANCEL;
+       outputs_[INVALID] = RESTORE | CANCEL;
        outputs_[RO_INITIAL] = CLOSE;
-       outputs_[RO_VALID] = UNDO_ALL | CANCEL;
-       outputs_[RO_INVALID] = UNDO_ALL | CANCEL;
+       outputs_[RO_VALID] = RESTORE | CANCEL;
+       outputs_[RO_INVALID] = RESTORE | CANCEL;
 
        // Build the state machine one state at a time
        // NOTE:  Since CANCEL and HIDE always go to INITIAL they are
@@ -207,13 +210,13 @@ OkCancelReadOnlyPolicy::OkCancelReadOnlyPolicy()
        state_machine_[VALID][SMI_READ_WRITE] = VALID;
        state_machine_[VALID][SMI_INVALID] = INVALID;
        state_machine_[VALID][SMI_OKAY] = INITIAL;
-       state_machine_[VALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[VALID][SMI_RESTORE] = INITIAL;
        state_machine_[VALID][SMI_READ_ONLY] = RO_VALID;
        // State::INVALID
        state_machine_[INVALID][SMI_INVALID] = INVALID;
        state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
        state_machine_[INVALID][SMI_VALID] = VALID;
-       state_machine_[INVALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[INVALID][SMI_RESTORE] = INITIAL;
        state_machine_[INVALID][SMI_READ_ONLY] = RO_INVALID;
        // State::RO_INITIAL
        state_machine_[RO_INITIAL][SMI_READ_ONLY] = RO_INITIAL;
@@ -225,13 +228,13 @@ OkCancelReadOnlyPolicy::OkCancelReadOnlyPolicy()
        state_machine_[RO_VALID][SMI_READ_ONLY] = RO_VALID;
        state_machine_[RO_VALID][SMI_INVALID] = RO_INVALID;
        state_machine_[RO_VALID][SMI_READ_WRITE] = VALID;
-       state_machine_[RO_VALID][SMI_UNDO_ALL] = RO_INITIAL;
+       state_machine_[RO_VALID][SMI_RESTORE] = RO_INITIAL;
        // State::RO_INVALID
        state_machine_[RO_INVALID][SMI_READ_ONLY] = RO_INVALID;
        state_machine_[RO_INVALID][SMI_INVALID] = RO_INVALID;
        state_machine_[RO_INVALID][SMI_VALID] = RO_VALID;
        state_machine_[RO_INVALID][SMI_READ_WRITE] = INVALID;
-       state_machine_[RO_INVALID][SMI_UNDO_ALL] = RO_INITIAL;
+       state_machine_[RO_INVALID][SMI_RESTORE] = RO_INITIAL;
 }
 
 
@@ -263,11 +266,11 @@ NoRepeatedApplyReadOnlyPolicy::NoRepeatedApplyReadOnlyPolicy()
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
-       outputs_[VALID] = UNDO_ALL | OKAY | APPLY | CANCEL;
-       outputs_[INVALID] = UNDO_ALL | CANCEL;
+       outputs_[VALID] = RESTORE | OKAY | APPLY | CANCEL;
+       outputs_[INVALID] = RESTORE | CANCEL;
        outputs_[RO_INITIAL] = CLOSE;
-       outputs_[RO_VALID] = UNDO_ALL | CANCEL;
-       outputs_[RO_INVALID] = UNDO_ALL | CANCEL;
+       outputs_[RO_VALID] = RESTORE | CANCEL;
+       outputs_[RO_INVALID] = RESTORE | CANCEL;
 
        // Build the state machine one state at a time
        // NOTE:  Since CANCEL and HIDE always go to INITIAL they are
@@ -285,13 +288,13 @@ NoRepeatedApplyReadOnlyPolicy::NoRepeatedApplyReadOnlyPolicy()
        state_machine_[VALID][SMI_INVALID] = INVALID;
        state_machine_[VALID][SMI_OKAY] = INITIAL;
        state_machine_[VALID][SMI_APPLY] = INITIAL;
-       state_machine_[VALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[VALID][SMI_RESTORE] = INITIAL;
        state_machine_[VALID][SMI_READ_ONLY] = RO_VALID;
        // State::INVALID
        state_machine_[INVALID][SMI_INVALID] = INVALID;
        state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
        state_machine_[INVALID][SMI_VALID] = VALID;
-       state_machine_[INVALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[INVALID][SMI_RESTORE] = INITIAL;
        state_machine_[INVALID][SMI_READ_ONLY] = RO_INVALID;
        // State::RO_INITIAL
        state_machine_[RO_INITIAL][SMI_READ_ONLY] = RO_INITIAL;
@@ -303,13 +306,13 @@ NoRepeatedApplyReadOnlyPolicy::NoRepeatedApplyReadOnlyPolicy()
        state_machine_[RO_VALID][SMI_READ_ONLY] = RO_VALID;
        state_machine_[RO_VALID][SMI_INVALID] = RO_INVALID;
        state_machine_[RO_VALID][SMI_READ_WRITE] = VALID;
-       state_machine_[RO_VALID][SMI_UNDO_ALL] = RO_INITIAL;
+       state_machine_[RO_VALID][SMI_RESTORE] = RO_INITIAL;
        // State::RO_INVALID
        state_machine_[RO_INVALID][SMI_INVALID] = RO_INVALID;
        state_machine_[RO_INVALID][SMI_READ_ONLY] = RO_INVALID;
        state_machine_[RO_INVALID][SMI_VALID] = RO_VALID;
        state_machine_[RO_INVALID][SMI_READ_WRITE] = INVALID;
-       state_machine_[RO_INVALID][SMI_UNDO_ALL] = RO_INITIAL;
+       state_machine_[RO_INVALID][SMI_RESTORE] = RO_INITIAL;
 }
 
 
@@ -341,12 +344,12 @@ OkApplyCancelReadOnlyPolicy::OkApplyCancelReadOnlyPolicy()
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
-       outputs_[VALID] = UNDO_ALL | OKAY | APPLY | CANCEL;
-       outputs_[INVALID] = UNDO_ALL | CANCEL;
+       outputs_[VALID] = RESTORE | OKAY | APPLY | CANCEL;
+       outputs_[INVALID] = RESTORE | CANCEL;
        outputs_[APPLIED] = OKAY | APPLY | CLOSE;
        outputs_[RO_INITIAL] = CLOSE;
-       outputs_[RO_VALID] = UNDO_ALL | CANCEL;
-       outputs_[RO_INVALID] = UNDO_ALL | CANCEL;
+       outputs_[RO_VALID] = RESTORE | CANCEL;
+       outputs_[RO_INVALID] = RESTORE | CANCEL;
        outputs_[RO_APPLIED] = CLOSE;
 
        // Build the state machine one state at a time
@@ -364,14 +367,14 @@ OkApplyCancelReadOnlyPolicy::OkApplyCancelReadOnlyPolicy()
        state_machine_[VALID][SMI_READ_WRITE] = VALID;
        state_machine_[VALID][SMI_INVALID] = INVALID;
        state_machine_[VALID][SMI_OKAY] = INITIAL;
-       state_machine_[VALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[VALID][SMI_RESTORE] = INITIAL;
        state_machine_[VALID][SMI_APPLY] = APPLIED;
        state_machine_[VALID][SMI_READ_ONLY] = RO_VALID;
        // State::INVALID
        state_machine_[INVALID][SMI_INVALID] = INVALID;
        state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
        state_machine_[INVALID][SMI_VALID] = VALID;
-       state_machine_[INVALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[INVALID][SMI_RESTORE] = INITIAL;
        state_machine_[INVALID][SMI_READ_ONLY] = RO_INVALID;
        // State::APPLIED
        state_machine_[APPLIED][SMI_APPLY] = APPLIED;
@@ -390,13 +393,13 @@ OkApplyCancelReadOnlyPolicy::OkApplyCancelReadOnlyPolicy()
        state_machine_[RO_VALID][SMI_READ_ONLY] = RO_VALID;
        state_machine_[RO_VALID][SMI_INVALID] = RO_INVALID;
        state_machine_[RO_VALID][SMI_READ_WRITE] = VALID;
-       state_machine_[RO_VALID][SMI_UNDO_ALL] = RO_INITIAL;
+       state_machine_[RO_VALID][SMI_RESTORE] = RO_INITIAL;
        // State::RO_INVALID
        state_machine_[RO_INVALID][SMI_INVALID] = RO_INVALID;
        state_machine_[RO_INVALID][SMI_READ_ONLY] = RO_INVALID;
        state_machine_[RO_INVALID][SMI_VALID] = RO_VALID;
        state_machine_[RO_INVALID][SMI_READ_WRITE] = INVALID;
-       state_machine_[RO_INVALID][SMI_UNDO_ALL] = RO_INITIAL;
+       state_machine_[RO_INVALID][SMI_RESTORE] = RO_INITIAL;
        // State::RO_APPLIED
        state_machine_[RO_APPLIED][SMI_READ_ONLY] = RO_APPLIED;
        state_machine_[RO_APPLIED][SMI_INVALID] = RO_INVALID;
@@ -433,8 +436,8 @@ OkApplyCancelPolicy::OkApplyCancelPolicy()
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
-       outputs_[VALID] = UNDO_ALL | OKAY | APPLY | CANCEL;
-       outputs_[INVALID] = UNDO_ALL | CANCEL;
+       outputs_[VALID] = RESTORE | OKAY | APPLY | CANCEL;
+       outputs_[INVALID] = RESTORE | CANCEL;
        outputs_[APPLIED] = OKAY | APPLY | CLOSE;
 
        // Build the state machine one state at a time
@@ -453,14 +456,14 @@ OkApplyCancelPolicy::OkApplyCancelPolicy()
        state_machine_[VALID][SMI_READ_WRITE] = VALID;
        state_machine_[VALID][SMI_INVALID] = INVALID;
        state_machine_[VALID][SMI_OKAY] = INITIAL;
-       state_machine_[VALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[VALID][SMI_RESTORE] = INITIAL;
        state_machine_[VALID][SMI_APPLY] = APPLIED;
        // State::INVALID
        state_machine_[INVALID][SMI_INVALID] = INVALID;
        state_machine_[INVALID][SMI_READ_ONLY] = INVALID;
        state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
        state_machine_[INVALID][SMI_VALID] = VALID;
-       state_machine_[INVALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[INVALID][SMI_RESTORE] = INITIAL;
        // State::APPLIED
        state_machine_[APPLIED][SMI_APPLY] = APPLIED;
        state_machine_[APPLIED][SMI_READ_ONLY] = APPLIED;
@@ -499,8 +502,8 @@ NoRepeatedApplyPolicy::NoRepeatedApplyPolicy()
 {
        // Build the state output map
        outputs_[INITIAL] = CLOSE;
-       outputs_[VALID] = UNDO_ALL | OKAY | APPLY | CANCEL;
-       outputs_[INVALID] = UNDO_ALL | CANCEL;
+       outputs_[VALID] = RESTORE | OKAY | APPLY | CANCEL;
+       outputs_[INVALID] = RESTORE | CANCEL;
 
        // Build the state machine one state at a time
        // NOTE:  Since CANCEL and HIDE always go to INITIAL they are
@@ -519,13 +522,13 @@ NoRepeatedApplyPolicy::NoRepeatedApplyPolicy()
        state_machine_[VALID][SMI_INVALID] = INVALID;
        state_machine_[VALID][SMI_OKAY] = INITIAL;
        state_machine_[VALID][SMI_APPLY] = INITIAL;
-       state_machine_[VALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[VALID][SMI_RESTORE] = INITIAL;
        // State::INVALID
        state_machine_[INVALID][SMI_INVALID] = INVALID;
        state_machine_[INVALID][SMI_READ_ONLY] = INVALID;
        state_machine_[INVALID][SMI_READ_WRITE] = INVALID;
        state_machine_[INVALID][SMI_VALID] = VALID;
-       state_machine_[INVALID][SMI_UNDO_ALL] = INITIAL;
+       state_machine_[INVALID][SMI_RESTORE] = INITIAL;
 }