home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2012 January / maximum-cd-2012-01.iso / DiscContents / digsby_setup.exe / lib / gui / pref / pg_sandbox.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-10-05  |  3.6 KB  |  105 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. from gui.pref.prefcontrols import VSizer
  5. from wx import EXPAND
  6. import wx
  7. from contacts.sort_model import ChoiceModel, CheckModel
  8. from gui.pref.pg_contact_list import yield_choices, SyncingCheck, SyncingChoice
  9. from peak.events import trellis
  10.  
  11. def panel(panel, sizer, addgroup, exithooks):
  12.     p = wx.Panel(panel)
  13.     sz = p.Sizer = VSizer()
  14.     s = wx.FlexGridSizer(6, 1, 7, 7)
  15.     choices = (('fleft', _('Far Left')), ('left', _('Left')), ('right', _('Right')), ('fright', _('Far Right')), ('bleft', _('Badge (Lower Left)')), ('bright', _('Badge (Lower Right)')))
  16.     service_model = ChoiceModel(values = choices[:])
  17.     service_enabled = CheckModel(checked = service_model.__cells__['enabled'])
  18.     status_model = ChoiceModel(values = choices[:])
  19.     status_enabled = CheckModel(checked = status_model.__cells__['enabled'])
  20.     icon_model = ChoiceModel(values = [
  21.         ('left', _('Left')),
  22.         ('right', _('Right'))])
  23.     icon_enabled = CheckModel(checked = icon_model.__cells__['enabled'])
  24.     links = []
  25.     service_link = LayoutLink(this = service_model, other = status_model, icon = icon_model, name = 'service_link')
  26.     status_link = LayoutLink(this = status_model, other = service_model, icon = icon_model, name = 'status_link')
  27.     links.append(service_link)
  28.     links.append(status_link)
  29.     s.links = links
  30.     service_check = SyncingCheck(service_enabled, p)
  31.     service_choice = SyncingChoice(service_model, p)
  32.     status_check = SyncingCheck(status_enabled, p)
  33.     status_choice = SyncingChoice(status_model, p)
  34.     icon_check = SyncingCheck(icon_enabled, p)
  35.     icon_choice = SyncingChoice(icon_model, p)
  36.     s.Add(service_check)
  37.     s.Add(service_choice)
  38.     s.Add(status_check)
  39.     s.Add(status_choice)
  40.     s.Add(icon_check)
  41.     s.Add(icon_choice)
  42.     s.AddGrowableCol(1, 1)
  43.     sz.Add(s, 0, EXPAND)
  44.     sizer.Add(p)
  45.     return panel
  46.  
  47.  
  48. class LayoutLink(trellis.Component):
  49.     this = trellis.attr()
  50.     other = trellis.attr()
  51.     icon = trellis.attr()
  52.     name = trellis.attr()
  53.     
  54.     def selected_val(self):
  55.         
  56.         try:
  57.             return self.this.values[self.this.selection]
  58.         except Exception:
  59.             pass
  60.  
  61.  
  62.     selected_val = trellis.maintain(selected_val)
  63.     
  64.     def orig_values(self):
  65.         return self.this.values[:]
  66.  
  67.     orig_values = trellis.make(orig_values)
  68.     
  69.     def available_options(self):
  70.         keys = set(('left', 'right'))
  71.         if self.other.enabled and self.other.values[self.other.selection][0] == 'left':
  72.             keys.add('fleft')
  73.         
  74.         if self.other.enabled and self.other.values[self.other.selection][0] == 'right':
  75.             keys.add('fright')
  76.         
  77.         if self.icon.enabled:
  78.             keys.add('bleft')
  79.             keys.add('bright')
  80.         
  81.         return _[1]
  82.  
  83.     available_options = trellis.maintain(available_options)
  84.     
  85.     def sync_values(self):
  86.         newvals = self.available_options
  87.         if not self.this.enabled:
  88.             self.this.selection = -1
  89.             self.this.values = []
  90.             return None
  91.         if self.this.selection > 0 and self.this.values and newvals:
  92.             oldval = self.this.values[self.this.selection]
  93.             if oldval in newvals:
  94.                 self.this.selection = newvals.index(oldval)
  95.             else:
  96.                 self.this.selection = 0
  97.         elif not newvals:
  98.             self.this.selection = -1
  99.         else:
  100.             self.this.selection = 0
  101.         self.this.values = newvals
  102.  
  103.     sync_values = trellis.maintain(sync_values)
  104.  
  105.