diff options
Diffstat (limited to 'commands.h')
-rw-r--r-- | commands.h | 41 |
1 files changed, 40 insertions, 1 deletions
@@ -17,7 +17,7 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * $Id: commands.h 113 2008-03-16 20:12:52Z tom $ + * $Id: commands.h 142 2008-07-06 15:50:02Z tom $ */ #ifndef VDR_SUDOKU_COMMANDS_H @@ -35,6 +35,45 @@ namespace SudokuPlugin typedef eOSState (Menu::*CommandType)(); + //--- class SudokuPlugin::CommandList ---------------------------------------- + + class CommandList + { + /** List of commands - sorted for the commands menu */ + struct List { int id; const char* text; CommandType cmd; }; + static const struct List list[]; + + public: + + /** Command id of a command */ + static int id(int index); + + /** Translated text of a command */ + static const char* text(int index); + + /** Command type of a command */ + static CommandType command(int index); + + /** Count of commands */ + static int count(); + + /** List with translated texts of all commands */ + static const char* const* texts(); + + /** Search a command id. Return default index if not found. */ + static int id_to_index(int id, int default_index = -1); + + /** Default index for the red key */ + static int key_red_default_index(); + + /** Default index for the green key */ + static int key_green_default_index(); + + /** Default index for the yellow key */ + static int key_yellow_default_index(); + }; + + //--- class SudokuPlugin::CommandMenu ---------------------------------------- /** Commands menu of the plugin */ |