Passed
Push — master ( acaf9b...fbbf97 )
by Yoshihiro
44s queued 10s
created

EP.EventProcessingClass.create_event_character()   B

Complexity

Conditions 1

Size

Total Lines 111
Code Lines 79

Duplication

Lines 0
Ratio 0 %

Importance

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