Test Failed
Push — master ( 705b0f...728f1f )
by Yoshihiro
03:24
created

EventProcessingClass.create_event_character()   B

Complexity

Conditions 1

Size

Total Lines 110
Code Lines 79

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 79
nop 1
dl 0
loc 110
rs 7.6872
c 0
b 0
f 0

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

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