]> git.sesse.net Git - vlc/blob - modules/gui/skins2/commands/cmd_playtree.hpp
implement some minimum size of wx interface at all times. closes ticket #360.
[vlc] / modules / gui / skins2 / commands / cmd_playtree.hpp
1 /*****************************************************************************
2  * cmd_playtree.hpp
3  *****************************************************************************
4  * Copyright (C) 2005 VideoLAN
5  * $Id$
6  *
7  * Authors: Antoine Cellerier <dionoea@videolan.org>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
22  *****************************************************************************/
23
24 #ifndef CMD_PLAYTREE_HPP
25 #define CMD_PLAYTREE_HPP
26
27 #include "cmd_generic.hpp"
28 #include "../utils/var_tree.hpp"
29
30 // TODO : implement branch specific stuff
31
32 /// Command to delete the selected items from a tree
33 class CmdPlaytreeDel: public CmdGeneric
34 {
35     public:
36         CmdPlaytreeDel( intf_thread_t *pIntf, VarTree &rTree ):
37             CmdGeneric( pIntf ), m_rTree( rTree ) {}
38         virtual ~CmdPlaytreeDel() {}
39
40         /// This method does the real job of the command
41         virtual void execute();
42
43         /// Return the type of the command
44         virtual string getType() const { return "playtree del"; }
45
46     private:
47         /// Tree
48         VarTree &m_rTree;
49 };
50
51 /// Command to sort the playtree
52 DEFINE_COMMAND( PlaytreeSort, "playtree sort" )
53
54 /// Command to jump to the next item
55 DEFINE_COMMAND( PlaytreeNext, "playtree next" )
56
57 /// Command to jump to the previous item
58 DEFINE_COMMAND( PlaytreePrevious, "playtree previous" )
59
60 /// Command to set the random state
61 class CmdPlaytreeRandom: public CmdGeneric
62 {
63     public:
64         CmdPlaytreeRandom( intf_thread_t *pIntf, bool value ):
65             CmdGeneric( pIntf ), m_value( value ) {}
66         virtual ~CmdPlaytreeRandom() {}
67
68         /// This method does the real job of the command
69         virtual void execute();
70
71         /// Return the type of the command
72         virtual string getType() const { return "playtree random"; }
73
74     private:
75         /// Random state
76         bool m_value;
77 };
78
79 /// Command to set the loop state
80 class CmdPlaytreeLoop: public CmdGeneric
81 {
82     public:
83         CmdPlaytreeLoop( intf_thread_t *pIntf, bool value ):
84             CmdGeneric( pIntf ), m_value( value ) {}
85         virtual ~CmdPlaytreeLoop() {}
86
87         /// This method does the real job of the command
88         virtual void execute();
89
90         /// Return the type of the command
91         virtual string getType() const { return "playtree loop"; }
92
93     private:
94         /// Loop state
95         bool m_value;
96 };
97
98 /// Command to set the repeat state
99 class CmdPlaytreeRepeat: public CmdGeneric
100 {
101     public:
102         CmdPlaytreeRepeat( intf_thread_t *pIntf, bool value ):
103             CmdGeneric( pIntf ), m_value( value ) {}
104         virtual ~CmdPlaytreeRepeat() {}
105
106         /// This method does the real job of the command
107         virtual void execute();
108
109         /// Return the type of the command
110         virtual string getType() const { return "playtree repeat"; }
111
112     private:
113         /// Loop state
114         bool m_value;
115 };
116
117 /// Command to load a playlist
118 class CmdPlaytreeLoad: public CmdGeneric
119 {
120     public:
121         CmdPlaytreeLoad( intf_thread_t *pIntf, bool value ):
122             CmdGeneric( pIntf ), m_value( value ) {}
123         virtual ~CmdPlaytreeLoad() {}
124
125         /// This method does the real job of the command
126         virtual void execute();
127
128         /// Return the type of the command
129         virtual string getType() const { return "playtree load"; }
130
131     private:
132         /// Loop state
133         bool m_value;
134 };
135
136 /// Command to save a playlist
137 class CmdPlaytreeSave: public CmdGeneric
138 {
139     public:
140         CmdPlaytreeSave( intf_thread_t *pIntf, bool value ):
141             CmdGeneric( pIntf ), m_value( value ) {}
142         virtual ~CmdPlaytreeSave() {}
143
144         /// This method does the real job of the command
145         virtual void execute();
146
147         /// Return the type of the command
148         virtual string getType() const { return "playtree save"; }
149
150     private:
151         /// Loop state
152         bool m_value;
153 };
154
155 #endif