SudokuPlugin::Menu Class Reference

Main menu of the plugin. More...

#include <menu.h>

Collaboration diagram for SudokuPlugin::Menu:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Menu (cPlugin *plugin, const SetupData &setup, Sudoku::PuzzleGame *&puzzle)
 Constructor.
virtual ~Menu ()
 Destructor.
virtual void Show ()
 Display the menu on the OSD.
virtual eOSState ProcessKey (eKeys key)
 Process user events.
eOSState generate ()
 Generate a new puzzle.
eOSState load ()
 Load a puzzle.
eOSState save ()
 Save the puzzle.
eOSState undo ()
 Undo last action.
eOSState redo ()
 Redo last action.
eOSState toggle_mark ()
 Mark/unmark the current cell.
eOSState next_cell ()
 Move the cursor to the next free cell with minimal possible numbers.
eOSState next_number ()
 Set the next possible number for the current cell.
eOSState reset ()
 Reset the puzzle.
eOSState open_setup ()
 Open setup menu.
eOSState exit ()
 Exit plugin menu.

Private Member Functions

void paint ()
 Paint all pieces of the menu.

Private Attributes

cPlugin * plugin
const SetupDatasetup
Sudoku::PuzzleGame *& puzzle
int xPos
int yPos
cOsd * osd
Bitmapinfo
const char * infoText
bool new_puzzle_request
const cFont * maxi_font
const cFont * mini_font
CommandMenucommand_menu
ListMenulist_menu
cMenuSetupPage * setup_menu
cString listfile

Detailed Description

Main menu of the plugin.

Definition at line 44 of file menu.h.


Constructor & Destructor Documentation

Menu::Menu ( cPlugin *  plugin,
const SetupData setup,
Sudoku::PuzzleGame *&  puzzle 
)
Menu::~Menu (  )  [virtual]

Destructor.

Definition at line 88 of file menu.cpp.

References command_menu, info, list_menu, maxi_font, mini_font, osd, and setup_menu.


Member Function Documentation

eOSState Menu::exit (  ) 

Exit plugin menu.

Definition at line 332 of file menu.cpp.

Referenced by ProcessKey().

eOSState Menu::generate (  ) 

Generate a new puzzle.

Definition at line 247 of file menu.cpp.

References Sudoku::Puzzle::generate(), SudokuPlugin::SetupData::givens_count, puzzle, setup, and SudokuPlugin::SetupData::symmetric.

Referenced by ProcessKey().

eOSState Menu::load (  ) 

Load a puzzle.

Definition at line 254 of file menu.cpp.

References list_menu, listfile, and osd.

eOSState Menu::next_cell (  ) 

Move the cursor to the next free cell with minimal possible numbers.

Definition at line 297 of file menu.cpp.

References Sudoku::PuzzleGame::get_pos(), Sudoku::Puzzle::next_cell(), puzzle, and Sudoku::PuzzleGame::set_pos().

eOSState Menu::next_number (  ) 

Set the next possible number for the current cell.

Definition at line 306 of file menu.cpp.

References Sudoku::PuzzleGame::get_pos(), Sudoku::Puzzle::next_number(), puzzle, and Sudoku::PuzzleGame::set_with_history().

eOSState Menu::open_setup (  ) 

Open setup menu.

Definition at line 320 of file menu.cpp.

References osd, plugin, and setup_menu.

void Menu::paint (  )  [private]
eOSState Menu::ProcessKey ( eKeys  key  )  [virtual]
eOSState Menu::redo (  ) 

Redo last action.

Definition at line 283 of file menu.cpp.

References Sudoku::PuzzleGame::forward(), and puzzle.

eOSState Menu::reset (  ) 

Reset the puzzle.

Definition at line 313 of file menu.cpp.

References SudokuPlugin::SetupData::clear_marks, puzzle, Sudoku::PuzzleGame::reset(), and setup.

eOSState Menu::save (  ) 

Save the puzzle.

Definition at line 265 of file menu.cpp.

References Sudoku::Puzzle::get_dump(), list_menu, listfile, osd, and puzzle.

void Menu::Show (  )  [virtual]

Display the menu on the OSD.

Definition at line 100 of file menu.cpp.

References GRID_SIZE, osd, paint(), xPos, and yPos.

Referenced by ProcessKey().

eOSState Menu::toggle_mark (  ) 

Mark/unmark the current cell.

Definition at line 290 of file menu.cpp.

References Sudoku::PuzzleGame::get_pos(), puzzle, and Sudoku::Puzzle::toggle_mark().

eOSState Menu::undo (  ) 

Undo last action.

Definition at line 276 of file menu.cpp.

References Sudoku::PuzzleGame::backward(), and puzzle.


Member Data Documentation

Definition at line 56 of file menu.h.

Referenced by Menu(), ProcessKey(), and ~Menu().

Definition at line 51 of file menu.h.

Referenced by Menu(), paint(), and ~Menu().

const char* SudokuPlugin::Menu::infoText [private]

Definition at line 52 of file menu.h.

Referenced by Menu(), paint(), and ProcessKey().

Definition at line 57 of file menu.h.

Referenced by load(), Menu(), ProcessKey(), save(), and ~Menu().

cString SudokuPlugin::Menu::listfile [private]

Definition at line 59 of file menu.h.

Referenced by load(), Menu(), and save().

const cFont* SudokuPlugin::Menu::maxi_font [private]

Definition at line 54 of file menu.h.

Referenced by Menu(), paint(), ProcessKey(), and ~Menu().

const cFont* SudokuPlugin::Menu::mini_font [private]

Definition at line 55 of file menu.h.

Referenced by Menu(), paint(), ProcessKey(), and ~Menu().

Definition at line 53 of file menu.h.

Referenced by Menu(), and ProcessKey().

cOsd* SudokuPlugin::Menu::osd [private]

Definition at line 50 of file menu.h.

Referenced by load(), Menu(), open_setup(), paint(), ProcessKey(), save(), Show(), and ~Menu().

cPlugin* SudokuPlugin::Menu::plugin [private]

Definition at line 46 of file menu.h.

Referenced by open_setup().

Definition at line 48 of file menu.h.

Referenced by generate(), next_cell(), next_number(), paint(), ProcessKey(), redo(), reset(), save(), toggle_mark(), and undo().

Definition at line 47 of file menu.h.

Referenced by generate(), paint(), ProcessKey(), and reset().

cMenuSetupPage* SudokuPlugin::Menu::setup_menu [private]

Definition at line 58 of file menu.h.

Referenced by Menu(), open_setup(), ProcessKey(), and ~Menu().

int SudokuPlugin::Menu::xPos [private]

Definition at line 49 of file menu.h.

Referenced by Menu(), paint(), and Show().

int SudokuPlugin::Menu::yPos [private]

Definition at line 49 of file menu.h.

Referenced by Menu(), paint(), and Show().


The documentation for this class was generated from the following files:
Generated on Mon Apr 5 17:01:14 2010 for VDR plugin 'Sudoku' by  doxygen 1.6.3