-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathevents.py
More file actions
62 lines (50 loc) · 2.03 KB
/
events.py
File metadata and controls
62 lines (50 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import icons
import logging
def handle_mouse_button_down(x, y, desks, selected_desks):
for desk in desks:
if desk.rect.collidepoint(x, y):
return desk.clicked(selected_desks)
return icons.UnclickedDesk(), selected_desks
def update_swapping_desk(desks, clicked_desk, swapping_desk):
new_swapping_desk = clicked_desk.check_collisions(desks, swapping_desk)
if new_swapping_desk != swapping_desk:
clicked_desk.changing_position = True
new_swapping_desk.bothered(clicked_desk)
swapping_desk.unbothered()
return new_swapping_desk
def handle_mouse_button_up(clicked_desk, swapping_desk, selected_desks):
# TODO is_swapping flag should be handled by desk object
if swapping_desk.is_swapping:
logging.info(
"handle_mouse_button_up swap detected clicked_desk=%s swapping_desk=%s",
getattr(clicked_desk, "desk_id", None),
getattr(swapping_desk, "desk_id", None),
)
clicked_desk.color = clicked_desk.color_default
clicked_desk = clicked_desk.unclicked(swapping_desk)
restore_selected_desk_colors(selected_desks)
return clicked_desk, selected_desks, True
else:
logging.info(
"handle_mouse_button_up selection toggle desk=%s",
getattr(clicked_desk, "desk_id", None),
)
selected_desks = clicked_desk.append(selected_desks)
new_clicked_desk = clicked_desk.unclicked(swapping_desk)
return new_clicked_desk, selected_desks, False
def handle_add_course_button_click(button):
if button.text_editor_active:
button.text_editor_active = False
return button.text
else:
button.text_editor_active = True
button.text = ""
return None
def turn_off_editors(buttons, button):
if button in buttons:
for b in buttons:
if b != button:
b.text_editor_active = False
def restore_selected_desk_colors(selected_desks):
for desk in selected_desks:
desk.color = desk.color_selected