Added adding/sorting kanji by JLPT grade. A few other minor changes.
[jben.git] / src / frame_maingui.h
blob326524abf26240868753fda0ad4b4e51c825cf94
1 /*
2 Project: J-Ben
3 Author: Paul Goins
4 Website: http://www.vultaire.net/software/jben/
5 License: GNU General Public License (GPL) version 2
6 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt)
8 File: frame_maingui.h
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>
24 #ifndef frame_maingui_h
25 #define frame_maingui_h
27 #include <gtkmm/window.h>
28 #include <gtkmm/uimanager.h>
29 #include <gtkmm/actiongroup.h>
30 #include <gtkmm/menu.h>
31 #include <gtkmm/notebook.h>
32 #include <gtkmm/box.h>
34 #include "panel_worddict.h"
35 #include "panel_kanjidict.h"
36 #include "dialog_vocablisteditor.h"
37 #include "dialog_kanjilisteditor.h"
38 #include "dialog_config.h"
39 #include "dialog_kanjipretest.h"
40 #include "dialog_kanjitest.h"
41 #include "dialog_kanjiposttest.h"
42 #include "frame_hwpad.h"
43 #include "frame_ksearch.h"
45 class FrameMainGUI : public Gtk::Window {
46 public:
47 static FrameMainGUI& Get();
48 static void Destroy();
49 void Update();
50 void LockTabs();
51 void UnlockTabs();
52 private:
53 void OnMenuFileQuit();
54 void OnMenuEditVocab();
55 void OnMenuEditKanji();
56 void OnMenuEditPrefs();
57 void OnMenuPracticeKanji();
58 void OnMenuToolsHand();
59 void OnMenuToolsKanjiSearch();
60 void OnMenuHelpAbout();
61 void OnMenuHelpLicense();
63 Glib::RefPtr<Gtk::UIManager> refUIManager;
64 Glib::RefPtr<Gtk::ActionGroup> refActionGroup;
65 Gtk::Menu kanjiMenu;
66 Gtk::VBox layoutBox;
67 Gtk::Notebook tabs;
68 PanelWordDict panelWordDict;
69 PanelKanjiDict panelKanjiDict;
71 DialogKanjiListEditor* pdKanjiListEditor;
72 DialogVocabListEditor* pdVocabListEditor;
73 DialogConfig* pdConfig;
74 DialogKanjiPreTest* pdKanjiPreTest;
75 FrameHWPad* pfHWPad;
76 FrameKSearch* pfKSearch;
78 FrameMainGUI();
79 ~FrameMainGUI();
80 static FrameMainGUI* singleton;
83 #endif