Merge branch 'master' of git+ssh://repo.or.cz/srv/git/jben
[jben.git] / src / dialog_kanjilisteditor.h
blob1868136ac8342feaa247ce258b8bc1b6971874fb
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: dialog_kanjilisteditor.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 dialog_kanjilisteditor_h
25 #define dialog_kanjilisteditor_h
27 #include "widget_storeddialog.h"
28 #include <gtkmm/button.h>
29 #include <gtkmm/textview.h>
30 #include "dialog_addkanjibygrade.h"
31 #include "dialog_addkanjibyjlpt.h"
32 #include "dialog_addkanjibyfreq.h"
34 class DialogKanjiListEditor : public StoredDialog {
35 public:
36 DialogKanjiListEditor(Gtk::Window& parent);
37 ~DialogKanjiListEditor();
38 void Update();
39 private:
40 bool OnDeleteEvent(GdkEventAny* event);
41 void OnTextChanged();
42 bool ApplyIfNeeded();
43 void OnAddFile();
44 void OnAddGrade();
45 void OnAddJLPT();
46 void OnAddFreq();
47 void OnSortGrade();
48 void OnSortJLPT();
49 void OnSortFreq();
50 /*void OnSortBoth();*/
51 void OnCancel();
52 void OnApply();
53 void OnOK();
55 Gtk::TextView tvList;
56 Gtk::Button btnAddFile, btnAddGrade, btnAddJLPT, btnAddFreq;
57 Gtk::Button btnSortGrade, btnSortJLPT, btnSortFreq/*, btnSortBoth*/;
58 Gtk::Button btnCancel, btnApply, btnOK;
59 /* bChanged tracks for whether Apply is needed,
60 bChangesMade determines whether Cancel/Close return RESPONSE_OK. */
61 bool bChanged, bChangesMade;
62 DialogAddKanjiByGrade* pdAddByGrade;
63 DialogAddKanjiByJLPT* pdAddByJLPT;
64 DialogAddKanjiByFreq* pdAddByFreq;
67 #endif