home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.6)
-
- from gui.pref.prefcontrols import VSizer
- from wx import EXPAND
- import wx
- from contacts.sort_model import ChoiceModel, CheckModel
- from gui.pref.pg_contact_list import yield_choices, SyncingCheck, SyncingChoice
- from peak.events import trellis
-
- def panel(panel, sizer, addgroup, exithooks):
- p = wx.Panel(panel)
- sz = p.Sizer = VSizer()
- s = wx.FlexGridSizer(6, 1, 7, 7)
- choices = (('fleft', _('Far Left')), ('left', _('Left')), ('right', _('Right')), ('fright', _('Far Right')), ('bleft', _('Badge (Lower Left)')), ('bright', _('Badge (Lower Right)')))
- service_model = ChoiceModel(values = choices[:])
- service_enabled = CheckModel(checked = service_model.__cells__['enabled'])
- status_model = ChoiceModel(values = choices[:])
- status_enabled = CheckModel(checked = status_model.__cells__['enabled'])
- icon_model = ChoiceModel(values = [
- ('left', _('Left')),
- ('right', _('Right'))])
- icon_enabled = CheckModel(checked = icon_model.__cells__['enabled'])
- links = []
- service_link = LayoutLink(this = service_model, other = status_model, icon = icon_model, name = 'service_link')
- status_link = LayoutLink(this = status_model, other = service_model, icon = icon_model, name = 'status_link')
- links.append(service_link)
- links.append(status_link)
- s.links = links
- service_check = SyncingCheck(service_enabled, p)
- service_choice = SyncingChoice(service_model, p)
- status_check = SyncingCheck(status_enabled, p)
- status_choice = SyncingChoice(status_model, p)
- icon_check = SyncingCheck(icon_enabled, p)
- icon_choice = SyncingChoice(icon_model, p)
- s.Add(service_check)
- s.Add(service_choice)
- s.Add(status_check)
- s.Add(status_choice)
- s.Add(icon_check)
- s.Add(icon_choice)
- s.AddGrowableCol(1, 1)
- sz.Add(s, 0, EXPAND)
- sizer.Add(p)
- return panel
-
-
- class LayoutLink(trellis.Component):
- this = trellis.attr()
- other = trellis.attr()
- icon = trellis.attr()
- name = trellis.attr()
-
- def selected_val(self):
-
- try:
- return self.this.values[self.this.selection]
- except Exception:
- pass
-
-
- selected_val = trellis.maintain(selected_val)
-
- def orig_values(self):
- return self.this.values[:]
-
- orig_values = trellis.make(orig_values)
-
- def available_options(self):
- keys = set(('left', 'right'))
- if self.other.enabled and self.other.values[self.other.selection][0] == 'left':
- keys.add('fleft')
-
- if self.other.enabled and self.other.values[self.other.selection][0] == 'right':
- keys.add('fright')
-
- if self.icon.enabled:
- keys.add('bleft')
- keys.add('bright')
-
- return _[1]
-
- available_options = trellis.maintain(available_options)
-
- def sync_values(self):
- newvals = self.available_options
- if not self.this.enabled:
- self.this.selection = -1
- self.this.values = []
- return None
- if self.this.selection > 0 and self.this.values and newvals:
- oldval = self.this.values[self.this.selection]
- if oldval in newvals:
- self.this.selection = newvals.index(oldval)
- else:
- self.this.selection = 0
- elif not newvals:
- self.this.selection = -1
- else:
- self.this.selection = 0
- self.this.values = newvals
-
- sync_values = trellis.maintain(sync_values)
-
-