Package Gnumed :: Package timelinelib :: Package wxgui :: Package dialogs :: Package eventeditortabselection :: Module controller
[frames] | no frames]

Source Code for Module Gnumed.timelinelib.wxgui.dialogs.eventeditortabselection.controller

 1  # Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018  Rickard Lindberg, Roger Lindberg 
 2  # 
 3  # This file is part of Timeline. 
 4  # 
 5  # Timeline is free software: you can redistribute it and/or modify 
 6  # it under the terms of the GNU General Public License as published by 
 7  # the Free Software Foundation, either version 3 of the License, or 
 8  # (at your option) any later version. 
 9  # 
10  # Timeline is distributed in the hope that it will be useful, 
11  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
12  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
13  # GNU General Public License for more details. 
14  # 
15  # You should have received a copy of the GNU General Public License 
16  # along with Timeline.  If not, see <http://www.gnu.org/licenses/>. 
17   
18   
19  from timelinelib.wxgui.framework import Controller 
20   
21   
22  CONTROL_ROWS_CREATORS = {"0": "Time details", "1": "Checkboxes", 
23                           "2": "Text Field", "3": "Categories listbox", 
24                           "4": "Container listbox", ":": "Notebook"} 
25   
26   
27 -class EventEditorTabSelectionDialogController(Controller):
28
29 - def on_init(self, config):
30 self.config = config 31 tab_items = [] 32 for key in self.config.event_editor_tab_order: 33 tab_items.append((CONTROL_ROWS_CREATORS[key], key)) 34 self.view.FillListbox(tab_items) 35 self.view.EnableBtnDown() 36 self.view.DisableBtnUp()
37
38 - def on_ok(self, evt):
39 self._save_tab_order() 40 self.view.Close()
41
42 - def on_selection_changed(self, evt):
43 if self._is_first_selected(): 44 self.view.DisableBtnUp() 45 else: 46 self.view.EnableBtnUp() 47 if self._is_last_selected(): 48 self.view.DisableBtnDown() 49 else: 50 self.view.EnableBtnDown()
51
52 - def on_up(self, evt):
53 inx = self.view.GetSelection() 54 self.view.MoveSelectionUp(inx) 55 if inx == 1: 56 self.view.DisableBtnUp() 57 self.view.EnableBtnDown()
58
59 - def on_down(self, evt):
60 inx = self.view.GetSelection() 61 self.view.MoveSelectionDown(inx) 62 if inx == len(CONTROL_ROWS_CREATORS) - 2: 63 self.view.DisableBtnDown() 64 self.view.EnableBtnUp()
65
66 - def _is_first_selected(self):
67 return self.view.GetSelection() == 0
68
69 - def _is_last_selected(self):
70 return self.view.GetSelection() == (len(CONTROL_ROWS_CREATORS) - 1)
71
72 - def _save_tab_order(self):
73 collector = [] 74 for i in range(len(self.config.event_editor_tab_order)): 75 collector.append(self.view.GetClientData(i)) 76 self.config.event_editor_tab_order = "".join(collector)
77