summaryrefslogtreecommitdiff
path: root/src/FbTk/MacroCommand.cc
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2006-06-10 20:04:34 (GMT)
committerfluxgen <fluxgen>2006-06-10 20:04:34 (GMT)
commitd218f02f80395bdfa34fcac3b8147d0be5e6b420 (patch)
tree1162c44c7f5eab4ff3dfe97860d33c6319e23035 /src/FbTk/MacroCommand.cc
parent928aa33dfe88df7c071109a9ad5adfa8bc972811 (diff)
downloadfluxbox_lack-d218f02f80395bdfa34fcac3b8147d0be5e6b420.zip
fluxbox_lack-d218f02f80395bdfa34fcac3b8147d0be5e6b420.tar.bz2
added new command: ToggleCmd, works like a macro but executes the commands one at the time. Thanks Mark Tiefenbruck
Diffstat (limited to 'src/FbTk/MacroCommand.cc')
-rw-r--r--src/FbTk/MacroCommand.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/FbTk/MacroCommand.cc b/src/FbTk/MacroCommand.cc
index adee9cb..491b01e 100644
--- a/src/FbTk/MacroCommand.cc
+++ b/src/FbTk/MacroCommand.cc
@@ -38,6 +38,24 @@ void MacroCommand::execute() {
38 m_commandlist[i]->execute(); 38 m_commandlist[i]->execute();
39} 39}
40 40
41ToggleCommand::ToggleCommand() {
42 m_state = 0;
43}
44
45void ToggleCommand::add(RefCount<Command> &com) {
46 m_commandlist.push_back(com);
47}
48
49size_t ToggleCommand::size() const {
50 return m_commandlist.size();
51}
52
53void ToggleCommand::execute() {
54 m_commandlist[m_state]->execute();
55 if (++m_state >= m_commandlist.size())
56 m_state = 0;
57}
58
41}; // end namespace FbTk 59}; // end namespace FbTk
42 60
43 61