Passed
Push — master ( 3731d5...59a60b )
by Yoshihiro
02:04
created

EP   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 212
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

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