2 # -*- coding: utf-8 -*-
4 # Project: J-Ben, Python front-end
5 # File: dialog_kanjilisteditor.py
7 # Created on: 26 Nov 2008
10 from widget_storedsize
import StoredSizeDialog
12 class DialogKanjiListEditor(StoredSizeDialog
):
13 def __init__(self
, parent
):
14 StoredSizeDialog
.__init
__(self
, "gui.kanjilisteditor.size", -1, -1,
15 _("Kanji List Editor"), parent
)
17 self
.edit_box
= gtk
.TextView()
18 self
.edit_box
.set_accepts_tab(False)
19 self
.edit_box
.set_wrap_mode(gtk
.WRAP_WORD_CHAR
)
20 self
.edit_box
.get_buffer().connect("changed", self
.on_text_changed
)
22 edit_window
= gtk
.ScrolledWindow()
23 edit_window
.set_shadow_type(gtk
.SHADOW_IN
)
24 edit_window
.set_policy(gtk
.POLICY_AUTOMATIC
, gtk
.POLICY_AUTOMATIC
)
25 edit_window
.add(self
.edit_box
)
27 add_frame
= gtk
.Frame(_("Add Kanji"))
28 add_frame
.set_shadow_type(gtk
.SHADOW_IN
)
29 sort_frame
= gtk
.Frame(_("Sort Kanji"))
30 sort_frame
.set_shadow_type(gtk
.SHADOW_IN
)
32 self
.add_from_file
= gtk
.Button(_("From File"))
33 self
.add_by_jouyou
= gtk
.Button(_("By Jouyou Grade"))
34 self
.add_by_jlpt
= gtk
.Button(_("By JLPT Level"))
35 self
.add_by_freq
= gtk
.Button(_("By Frequency"))
37 add_box
.pack_start(self
.add_from_file
, expand
= False)
38 add_box
.pack_start(self
.add_by_jouyou
, expand
= False)
39 add_box
.pack_start(self
.add_by_jlpt
, expand
= False)
40 add_box
.pack_start(self
.add_by_freq
, expand
= False)
41 add_frame
.add(add_box
)
43 self
.sort_by_jouyou
= gtk
.Button(_("By Jouyou Grade"))
44 self
.sort_by_jlpt
= gtk
.Button(_("By JLPT Level"))
45 self
.sort_by_freq
= gtk
.Button(_("By Frequency"))
47 sort_box
.pack_start(self
.sort_by_jouyou
, expand
= False)
48 sort_box
.pack_start(self
.sort_by_jlpt
, expand
= False)
49 sort_box
.pack_start(self
.sort_by_freq
, expand
= False)
50 sort_frame
.add(sort_box
)
52 side_buttons
= gtk
.VBox(spacing
= 5)
53 side_buttons
.pack_start(add_frame
, expand
= False)
54 side_buttons
.pack_start(sort_frame
, expand
= False)
56 main_box
= gtk
.HBox(spacing
= 5)
57 main_box
.pack_start(side_buttons
, expand
= False)
58 main_box
.pack_start(edit_window
)
60 self
.vbox
.set_spacing(5)
61 self
.vbox
.pack_start(main_box
)
64 self
.ok_button
= gtk
.Button(stock
= gtk
.STOCK_OK
)
65 self
.ok_button
.connect("clicked", self
.on_ok_clicked
)
66 self
.cancel_button
= gtk
.Button(stock
= gtk
.STOCK_CANCEL
)
67 self
.cancel_button
.connect("clicked", self
.on_cancel_clicked
)
68 self
.apply_button
= gtk
.Button(stock
= gtk
.STOCK_APPLY
)
69 self
.apply_button
.connect("clicked", self
.on_apply_clicked
)
71 self
.action_area
.pack_start(self
.cancel_button
)
72 self
.action_area
.pack_start(self
.apply_button
)
73 self
.action_area
.pack_start(self
.ok_button
)
74 self
.action_area
.show_all()
76 self
.set_has_separator(False)
78 def on_text_changed(self
, widget
):
79 print "DialogKanjiListEditor.on_text_changed"
81 def on_cancel_clicked(self
, widget
):
82 print "DialogKanjiListEditor.on_cancel_clicked"
83 self
.response(gtk
.RESPONSE_CANCEL
)
85 def on_apply_clicked(self
, widget
):
86 print "DialogKanjiListEditor.on_apply_clicked"
88 def on_ok_clicked(self
, widget
):
89 print "DialogKanjiListEditor.on_ok_clicked"
90 self
.response(gtk
.RESPONSE_OK
)