Source code for timelinelib.wxgui.dialogs.eventeditortabselection.controller

# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018  Rickard Lindberg, Roger Lindberg
#
# This file is part of Timeline.
#
# Timeline is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Timeline is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Timeline.  If not, see <http://www.gnu.org/licenses/>.


from timelinelib.wxgui.framework import Controller


CONTROL_ROWS_CREATORS = {"0": "Time details", "1": "Checkboxes",
                         "2": "Text Field", "3": "Categories listbox",
                         "4": "Container listbox", ":": "Notebook"}


[docs]class EventEditorTabSelectionDialogController(Controller):
[docs] def on_init(self, config): self.config = config tab_items = [] for key in self.config.event_editor_tab_order: tab_items.append((CONTROL_ROWS_CREATORS[key], key)) self.view.FillListbox(tab_items) self.view.EnableBtnDown() self.view.DisableBtnUp()
[docs] def on_ok(self, evt): self._save_tab_order() self.view.Close()
[docs] def on_selection_changed(self, evt): if self._is_first_selected(): self.view.DisableBtnUp() else: self.view.EnableBtnUp() if self._is_last_selected(): self.view.DisableBtnDown() else: self.view.EnableBtnDown()
[docs] def on_up(self, evt): inx = self.view.GetSelection() self.view.MoveSelectionUp(inx) if inx == 1: self.view.DisableBtnUp() self.view.EnableBtnDown()
[docs] def on_down(self, evt): inx = self.view.GetSelection() self.view.MoveSelectionDown(inx) if inx == len(CONTROL_ROWS_CREATORS) - 2: self.view.DisableBtnDown() self.view.EnableBtnUp()
def _is_first_selected(self): return self.view.GetSelection() == 0 def _is_last_selected(self): return self.view.GetSelection() == (len(CONTROL_ROWS_CREATORS) - 1) def _save_tab_order(self): collector = [] for i in range(len(self.config.event_editor_tab_order)): collector.append(self.view.GetClientData(i)) self.config.event_editor_tab_order = "".join(collector)