1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
20 """
21 Store properties of a view.
22
23 Some timeline databases support storing some of these view properties
24 together with the data.
25 """
26
28 self.sticky_balloon_event_ids = []
29 self.hovered_event = None
30 self.selected_event_ids = []
31 self.hidden_categories = []
32 self.period_selection = None
33 self.show_legend = True
34 self.divider_position = 0.5
35 self.displayed_period = None
36
38 self.sticky_balloon_event_ids = []
39 self.hovered_event = None
40 self.selected_event_ids = []
41 self.hidden_categories = []
42 self.period_selection = None
43 self.displayed_period = None
44
63 return [e for e in events if category_visible(e, e.category)]
64
66 return event.id in self.selected_event_ids
67
69 self.selected_event_ids = []
70
72 return (self.hovered_event is not None and
73 event.id == self.hovered_event.id)
74
76 return event.id in self.sticky_balloon_event_ids
77
79 if has_sticky == True and not event.id in self.sticky_balloon_event_ids:
80 self.sticky_balloon_event_ids.append(event.id)
81 elif has_sticky == False and event.id in self.sticky_balloon_event_ids:
82 self.sticky_balloon_event_ids.remove(event.id)
83
85 if is_selected == True and not event.id in self.selected_event_ids:
86 self.selected_event_ids.append(event.id)
87 elif is_selected == False and event.id in self.selected_event_ids:
88 self.selected_event_ids.remove(event.id)
89
91 self.displayed_period = period
92
94 return self.selected_event_ids[:]
95
97 return not category.id in self.hidden_categories
98
100 if is_visible == True and category.id in self.hidden_categories:
101 self.hidden_categories.remove(category.id)
102 elif is_visible == False and not category.id in self.hidden_categories:
103 self.hidden_categories.append(category.id)
104