Ignore:
Timestamp:
Mar 26, 2010, 3:13:31 PM (16 years ago)
Author:
Tillmann Crueger <crueger@…>
Children:
0f7883, 71910a, abd4a1
Parents:
cbc639
Message:

Added mechanism that deactivates undo and redo menupoint if not applicable

Location:
molecuilder/src/Actions
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/Actions/Action.cpp

    rcbc639 r770138  
    5353  return performRedo(_state);
    5454}
     55
     56
     57bool Action::isActive(){
     58  return true;
     59}
  • molecuilder/src/Actions/Action.hpp

    rcbc639 r770138  
    4444  virtual bool shouldUndo()=0;
    4545
     46  virtual bool isActive();
     47
    4648  virtual const std::string getName();
    4749
  • molecuilder/src/Actions/ActionHistory.cpp

    rcbc639 r770138  
    3434  Action::state_ptr oldState = elem.action->redo(elem.state);
    3535  history.push_back(HistoryElement(elem.action,oldState));
     36}
     37
     38bool ActionHistory::hasUndo(){
     39  return history.size()>0;
     40}
     41
     42bool ActionHistory::hasRedo(){
     43  return yrotsih.size()>0;
    3644}
    3745
     
    7381}
    7482
     83bool ActionHistory::UndoAction::isActive(){
     84  return hist->hasUndo();
     85}
     86
    7587Action::state_ptr ActionHistory::UndoAction::performCall(){
    7688  hist->undoLast();
     
    103115}
    104116
     117bool ActionHistory::RedoAction::isActive(){
     118  return hist->hasRedo();
     119}
     120
    105121Action::state_ptr ActionHistory::RedoAction::performCall(){
    106122  hist->redoLast();
  • molecuilder/src/Actions/ActionHistory.hpp

    rcbc639 r770138  
    3737    virtual bool shouldUndo();
    3838
     39    virtual bool isActive();
     40
    3941  private:
    4042    virtual Action::state_ptr performCall();
     
    5355    virtual bool shouldUndo();
    5456
     57    virtual bool isActive();
     58
    5559  private:
    5660    virtual Action::state_ptr performCall();
     
    6569  void undoLast();
    6670  void redoLast();
     71
     72  bool hasUndo();
     73  bool hasRedo();
    6774
    6875  void addElement(Action*,Action::state_ptr);
Note: See TracChangeset for help on using the changeset viewer.