1/*
2 * Copyright 2007-2010, Axel D��rfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef SUDOKU_WINDOW_H
6#define SUDOKU_WINDOW_H
7
8
9#include <Window.h>
10
11
12class BFile;
13class BFilePanel;
14class BMenu;
15class BMenuItem;
16class GenerateSudoku;
17class ProgressWindow;
18class SudokuView;
19
20
21class SudokuWindow : public BWindow {
22public:
23								SudokuWindow();
24	virtual						~SudokuWindow();
25
26	virtual	void				MessageReceived(BMessage* message);
27	virtual	bool				QuitRequested();
28
29private:
30			status_t			_OpenSettings(BFile& file, uint32 mode);
31			status_t			_LoadSettings(BMessage& settings);
32			status_t			_SaveSettings();
33
34			void				_ResetStoredState();
35			void				_MessageDropped(BMessage *message);
36			void				_Generate(int32 level);
37			int32				_Level() const;
38			void				_SetLevel(int32 level);
39
40private:
41			BFilePanel*			fOpenPanel;
42			BFilePanel*			fSavePanel;
43			ProgressWindow*		fProgressWindow;
44			SudokuView*			fSudokuView;
45			GenerateSudoku*		fGenerator;
46			BMenuItem*			fRestoreStateItem;
47			BMenuItem*			fUndoItem;
48			BMenuItem*			fRedoItem;
49			BMenu*				fNewMenu;
50			BMessage*			fStoredState;
51			uint32				fExportFormat;
52};
53
54#endif	// SUDOKU_WINDOW_H
55