Passed
Push — master ( 63399a...705b0f )
by Yoshihiro
02:57
created

NovelEditor.EP   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 207
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 123
dl 0
loc 207
ccs 82
cts 82
cp 1
rs 10
c 0
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A EventProcessingClass.create_event_text() 0 59 1
A EventProcessingClass.__init__() 0 2 1
B EventProcessingClass.create_event_character() 0 110 1
A EventProcessingClass.create_event_image() 0 9 1
A EventProcessingClass.create_event() 0 11 1
1
#!/usr/bin/env python3
2 1
class EventProcessingClass():
3
    """ウインドウイベントのクラス.
4
5
    ・ウインドウイベントにあるプログラム群
6
7
    Args:
8
        app (instance): MainProcessingClass のインスタンス
9
    """
10 1
    def __init__(self, app):
11 1
        self.APP = app
12
13 1
    def create_event_text(self):
14
        """テキストイベントの設定.
15
16
        ・テキストボックスにイベントを追加する。
17
        """
18
        # テキスト内でのスクロール時
19 1
        self.APP.text.bind('<<Scroll>>', self.APP.sfc.update_line_numbers)
20 1
        self.APP.text.bind('<Up>', self.APP.sfc.update_line_numbers)
21 1
        self.APP.text.bind('<Down>', self.APP.sfc.update_line_numbers)
22 1
        self.APP.text.bind('<Left>', self.APP.sfc.update_line_numbers)
23 1
        self.APP.text.bind('<Right>', self.APP.sfc.update_line_numbers)
24
        # テキストの変更時
25 1
        self.APP.text.bind('<<Change>>', self.APP.sfc.change_setting)
26
        # キー場押されたときの処理
27 1
        self.APP.text.bind("<Any-KeyPress>", self.APP.fpc.push_keys)
28
        # ウィジェットのサイズが変わった際。行番号の描画を行う
29 1
        self.APP.text.bind('<Configure>', self.APP.sfc.update_line_numbers)
30
        # Tab押下時(インデント、又はコード補完)
31 1
        self.APP.text.bind('<Tab>', self.APP.cpc.tab)
32
        # ルビを振る
33 1
        self.APP.text.bind('<Control-Key-r>', self.APP.pmc.ruby_huri)
34
        # 開くダイアロクを表示する
35 1
        self.APP.text.bind('<Control-Key-e>', self.APP.fmc.open_file)
36
        # 保存ダイアロクを表示する
37 1
        self.APP.text.bind('<Control-Key-w>', self.APP.fmc.save_file)
38
        # 小説家になろうを開く
39 1
        self.APP.text.bind(
40
            '<Control-Key-u>',
41
            self.APP.pmc.open_becoming_novelist_page
42
        )
43
        # 検索ダイアログを開く
44 1
        self.APP.text.bind('<Control-Key-f>', self.APP.fpc.find_dialog)
45
        # 置換ダイアログを開く
46 1
        self.APP.text.bind('<Control-Key-l>', self.APP.fpc.replacement_dialog)
47
        # 上書き保存する
48 1
        self.APP.text.bind('<Control-Key-s>', self.APP.fmc.overwrite_save_file)
49
        # 新規作成する
50 1
        self.APP.text.bind('<Control-Key-n>', self.APP.fmc.new_open)
51
        # helpページを開く
52 1
        self.APP.text.bind('<Control-Key-h>', self.APP.hmc.help)
53
        # Versionページを開く
54 1
        self.APP.text.bind('<Control-Shift-Key-V>', self.APP.hmc.version)
55
        # 文字数と行数をカウントすShift-る
56 1
        self.APP.text.bind('<Control-Shift-Key-C>', self.APP.pmc.count_moji)
57
        # redo処理
58 1
        self.APP.text.bind('<Control-Shift-Key-Z>', self.APP.emc.redo)
59
        # uedo処理
60 1
        self.APP.text.bind('<Control-Key-z>', self.APP.emc.undo)
61
        # フォントサイズの変更
62 1
        self.APP.text.bind('<Control-Shift-Key-F>', self.APP.pmc.font_dialog)
63
        # 意味を検索
64 1
        self.APP.text.bind(
65
            '<Control-Shift-Key-D>',
66
            self.APP.pmc.find_wikipedia
67
        )
68
        # 文章を読み上げ
69 1
        self.APP.text.bind('<Control-Shift-Key-R>', self.APP.pmc.read_text)
70
        # yahoo文字列解析
71 1
        self.APP.text.bind('<Control-Key-y>', self.APP.pmc.yahoo)
72
73 1
    def create_event_character(self):
74
        """キャラクター欄のイベント設定.
75
76
        ・キャラクター関係のボックスにイベントを追加する。
77
        """
78
        # 開くダイアロクを表示する
79 1
        self.APP.txt_yobi_name.bind('<Control-Key-e>', self.APP.fmc.open_file)
80 1
        self.APP.txt_name.bind('<Control-Key-e>', self.APP.fmc.open_file)
81 1
        self.APP.txt_birthday.bind('<Control-Key-e>', self.APP.fmc.open_file)
82 1
        self.APP.text_body.bind('<Control-Key-e>', self.APP.fmc.open_file)
83
        # 保存ダイアロクを表示する
84 1
        self.APP.txt_yobi_name.bind('<Control-Key-w>', self.APP.fmc.save_file)
85 1
        self.APP.txt_name.bind('<Control-Key-w>', self.APP.fmc.save_file)
86 1
        self.APP.txt_birthday.bind('<Control-Key-w>', self.APP.fmc.save_file)
87 1
        self.APP.text_body.bind('<Control-Key-w>', self.APP.fmc.save_file)
88
        # 小説家になろうを開く
89 1
        self.APP.txt_yobi_name.bind(
90
            '<Control-Key-u>',
91
            self.APP.pmc.open_becoming_novelist_page
92
        )
93 1
        self.APP.txt_name.bind(
94
            '<Control-Key-u>',
95
            self.APP.pmc.open_becoming_novelist_page
96
        )
97 1
        self.APP.txt_birthday.bind(
98
            '<Control-Key-u>',
99
            self.APP.pmc.open_becoming_novelist_page
100
        )
101 1
        self.APP.text_body.bind(
102
            '<Control-Key-u>',
103
            self.APP.pmc.open_becoming_novelist_page
104
        )
105
        # 検索ダイアログを開く
106 1
        self.APP.txt_yobi_name.bind(
107
            '<Control-Key-f>',
108
            self.APP.fpc.find_dialog
109
        )
110 1
        self.APP.txt_name.bind('<Control-Key-f>', self.APP.fpc.find_dialog)
111 1
        self.APP.txt_yobi_name.bind(
112
            '<Control-Key-f>',
113
            self.APP.fpc.find_dialog
114
        )
115 1
        self.APP.text_body.bind('<Control-Key-f>', self.APP.fpc.find_dialog)
116
        # 上書き保存する
117 1
        self.APP.txt_yobi_name.bind(
118
            '<Control-Key-s>',
119
            self.APP.fmc.overwrite_save_file
120
        )
121 1
        self.APP.txt_name.bind(
122
            '<Control-Key-s>',
123
            self.APP.fmc.overwrite_save_file
124
        )
125 1
        self.APP.txt_birthday.bind(
126
            '<Control-Key-s>',
127
            self.APP.fmc.overwrite_save_file
128
        )
129 1
        self.APP.text_body.bind(
130
            '<Control-Key-s>',
131
            self.APP.fmc.overwrite_save_file
132
        )
133
        # 新規作成する
134 1
        self.APP.txt_yobi_name.bind('<Control-Key-n>', self.APP.fmc.new_open)
135 1
        self.APP.txt_name.bind('<Control-Key-n>', self.APP.fmc.new_open)
136 1
        self.APP.txt_yobi_name.bind('<Control-Key-n>', self.APP.fmc.new_open)
137 1
        self.APP.text_body.bind('<Control-Key-n>', self.APP.fmc.new_open)
138
        # helpページを開く
139 1
        self.APP.txt_yobi_name.bind('<Control-Key-h>', self.APP.hmc.help)
140 1
        self.APP.txt_name.bind('<Control-Key-h>', self.APP.hmc.help)
141 1
        self.APP.txt_birthday.bind('<Control-Key-h>', self.APP.hmc.help)
142 1
        self.APP.text_body.bind('<Control-Key-h>', self.APP.hmc.help)
143
        # Versionページを開く
144 1
        self.APP.txt_yobi_name.bind(
145
            '<Control-Shift-Key-V>',
146
            self.APP.hmc.version
147
        )
148 1
        self.APP.txt_name.bind('<Control-Shift-Key-V>', self.APP.hmc.version)
149 1
        self.APP.txt_birthday.bind(
150
            '<Control-Shift-Key-V>',
151
            self.APP.hmc.version
152
        )
153 1
        self.APP.txt_yobi_name.bind(
154
            '<Control-Shift-Key-V>',
155
            self.APP.hmc.version
156
        )
157
        # redo処理
158 1
        self.APP.txt_yobi_name.bind('<Control-Shift-Key-Z>', self.APP.emc.redo)
159 1
        self.APP.txt_name.bind('<Control-Shift-Key-Z>', self.APP.emc.redo)
160 1
        self.APP.txt_birthday.bind('<Control-Shift-Key-Z>', self.APP.emc.redo)
161 1
        self.APP.text_body.bind('<Control-Shift-Key-Z>', self.APP.emc.redo)
162
        # undo処理
163 1
        self.APP.txt_yobi_name.bind('<Control-Key-z>', self.APP.emc.undo)
164 1
        self.APP.txt_name.bind('<Control-Key-z>', self.APP.emc.undo)
165 1
        self.APP.txt_birthday.bind('<Control-Key-z>', self.APP.emc.undo)
166 1
        self.APP.text_body.bind('<Control-Key-z>', self.APP.emc.undo)
167
        # フォントサイズの変更
168 1
        self.APP.txt_yobi_name.bind(
169
            '<Control-Shift-Key-F>',
170
            self.APP.pmc.font_dialog
171
        )
172 1
        self.APP.txt_name.bind(
173
            '<Control-Shift-Key-F>',
174
            self.APP.pmc.font_dialog
175
        )
176 1
        self.APP.txt_birthday.bind(
177
            '<Control-Shift-Key-F>',
178
            self.APP.pmc.font_dialog
179
        )
180 1
        self.APP.text_body.bind(
181
            '<Control-Shift-Key-F>',
182
            self.APP.pmc.font_dialog
183
        )
184
185 1
    def create_event_image(self):
186
        """イメージイベントの設定.
187
188
        ・イメージキャンバスにイベントを追加する。
189
        """
190 1
        self.APP.image_space.bind('<MouseWheel>', self.APP.sfc.mouse_y_scroll)
191 1
        self.APP.image_space.bind(
192
            '<Control-MouseWheel>',
193
            self.APP.sfc.mouse_image_scroll
194
        )
195
196 1
    def create_event(self):
197
        """ツリービューイベントの設定.
198
199
        ・ツリービューにイベントを追加する。
200
        """
201
        # ツリービューをダブルクリックしたときにその項目を表示する
202 1
        self.APP.tree.bind("<Double-1>", self.APP.lmc.on_double_click)
203
        # ツリービューの名前を変更する
204 1
        self.APP.tree.bind("<Control-Key-g>", self.APP.lmc.on_name_click)
205
        # ツリービューで右クリックしたときにダイアログを表示する
206
        self.APP.tree.bind("<Button-3>", self.APP.lmc.message_window)
207