00001 /* 00002 * @(#)cmd/FlagTrack.h 3.00 26 April 2002 00003 * 00004 * Copyright (c) 2002 Pete Goodliffe (pete@cthree.org) 00005 * 00006 * This file is part of TSE3 - the Trax Sequencer Engine version 3.00. 00007 * 00008 * This library is modifiable/redistributable under the terms of the GNU 00009 * General Public License. 00010 * 00011 * You should have received a copy of the GNU General Public License along 00012 * with this program; see the file COPYING. If not, write to the Free Software 00013 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00014 * 00015 */ 00016 00017 #ifndef TSE3_CMD_FLAG_H 00018 #define TSE3_CMD_FLAG_H 00019 00020 #include "tse3/cmd/Command.h" 00021 #include "tse3/FlagTrack.h" 00022 00023 #include <string> 00024 #include <cstddef> 00025 00026 namespace TSE3 00027 { 00028 namespace Cmd 00029 { 00038 class FlagTrack_Add : public Command 00039 { 00040 public: 00041 00042 FlagTrack_Add(TSE3::FlagTrack *flagTrack, 00043 const TSE3::Event<TSE3::Flag> &flag); 00044 00045 protected: 00046 00050 virtual void executeImpl(); 00051 00055 virtual void undoImpl(); 00056 00057 private: 00058 00059 TSE3::FlagTrack *flagTrack; 00060 const TSE3::Event<TSE3::Flag> flag; 00061 size_t insertIndex; 00062 }; 00063 } 00064 } 00065 00066 #endif