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