home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 February / maximum-cd-2011-02.iso / DiscContents / digsby_setup85.exe / lib / gui / uberwidgets / formattedinput2 / toolbar.pyo (.txt) < prev   
Encoding:
Python Compiled Bytecode  |  2010-11-24  |  5.9 KB  |  130 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. from gui.prototypes.newskinmodule import NewSkinModule, SkinProxy
  5. from gui.uberwidgets.UberButton import UberButton
  6. from gui.skin.skinobjects import Margins, SkinColor
  7. from gui.prototypes.fontdropdown import FontDropDown
  8. import wx
  9. from cgui import SimplePanel
  10. from util.primitives.funcs import do
  11. ToolBarSkinDefaults = {
  12.     'padding': (lambda : wx.Point(2, 2)),
  13.     'margins': (lambda : Margins([
  14. 2,
  15. 2,
  16. 2,
  17. 2])),
  18.     'background': (lambda : SkinColor(wx.SystemSettings_GetColour(wx.SYS_COLOUR_3DFACE))),
  19.     'buttonskin': (lambda : pass),
  20.     'menuskin': (lambda : pass) }
  21.  
  22. class ToolBar(SimplePanel, NewSkinModule):
  23.     
  24.     def __init__(self, parent, id = wx.ID_ANY, skinkey = None, name = 'ToolBar', alignment = None):
  25.         SimplePanel.__init__(self, parent, wx.FULL_REPAINT_ON_RESIZE)
  26.         self.children = []
  27.         self.content = wx.BoxSizer(wx.HORIZONTAL)
  28.         self.Sizer = Margins().Sizer(self.content)
  29.         self.SetSkinKey(skinkey, ToolBarSkinDefaults)
  30.         self.Bind(wx.EVT_PAINT, self.OnPaint)
  31.  
  32.     
  33.     def Insert(self, pos, object, expand = False):
  34.         skin = self.skinTB
  35.         if isinstance(object, UberButton):
  36.             object.SetSkinKey(skin['buttonskin'], True)
  37.             if object.menu is not None:
  38.                 object.menu.SetSkinKey(skin['menuskin'])
  39.             
  40.         elif isinstance(object, FontDropDown):
  41.             object.SetSkinKey(skin['buttonskin'])
  42.             object.SetMenuSkinKey(skin['menuskin'])
  43.         
  44.         self.content.Insert(pos, object, expand, wx.RIGHT | wx.EXPAND, self.skinTB['padding'].x)
  45.         self.children.insert(pos, object)
  46.  
  47.     
  48.     def Add(self, object, expand = False):
  49.         skin = self.skinTB
  50.         if isinstance(object, UberButton):
  51.             object.SetSkinKey(skin['buttonskin'], True)
  52.             if object.menu is not None:
  53.                 object.menu.SetSkinKey(skin['menuskin'])
  54.             
  55.         elif isinstance(object, FontDropDown):
  56.             object.SetSkinKey(skin['buttonskin'])
  57.             object.SetMenuSkinKey(skin['menuskin'])
  58.         
  59.         self.content.Add(object, expand, wx.RIGHT | wx.EXPAND, self.skinTB['padding'].x)
  60.         self.children.append(object)
  61.  
  62.     
  63.     def Detach(self, object):
  64.         return self.content.Detach(object)
  65.  
  66.     
  67.     def AddMany(self, objects, expand = False):
  68.         for object in objects:
  69.             self.Add(object, expand)
  70.         
  71.  
  72.     
  73.     def DoUpdateSkin(self, skin):
  74.         self.skinTB = skin
  75.         self.Sizer.SetMargins(skin['margins'])
  76.         (do,)((lambda .0: for item in .0:
  77. if isinstance(item, (UberButton, FontDropDown)):
  78. item.SetSkinKey(skin['buttonskin'])continue)(self.children))
  79.         for item in self.children:
  80.             if isinstance(item, UberButton) and item.menu is not None:
  81.                 item.menu.SetSkinKey(skin['menuskin'])
  82.                 continue
  83.             if isinstance(item, FontDropDown):
  84.                 item.SetMenuSkinKey(skin['menuskin'])
  85.                 continue
  86.         
  87.         for child in self.content.Children:
  88.             child.SetBorder(skin['padding'].x)
  89.         
  90.  
  91.     
  92.     def GetSkinProxy(self):
  93.         if hasattr(self, 'skinTB'):
  94.             return self.skinTB
  95.  
  96.     
  97.     def OnPaint(self, event):
  98.         dc = wx.AutoBufferedPaintDC(self)
  99.         rect = wx.RectS(self.Size)
  100.         self.skinTB['background'].Draw(dc, rect)
  101.         self.OnPaintMore(dc)
  102.  
  103.     
  104.     def OnPaintMore(self, dc):
  105.         pass
  106.  
  107.  
  108.  
  109. class SkinnedToolBar(ToolBar):
  110.     
  111.     def __init__(self, *a, **k):
  112.         FormattingBarSkinDefaults = FormattingBarSkinDefaults
  113.         import gui.uberwidgets.formattedinput2.formattingbar
  114.         skinkey = k.pop('indirect_skinkey')
  115.         k['skinkey'] = None
  116.         ToolBar.__init__(self, *a, **k)
  117.         self.SetSkinKey(skinkey, FormattingBarSkinDefaults)
  118.  
  119.     
  120.     def DoUpdateSkin(self, skin):
  121.         self.skinTTB = skin
  122.         ToolBar.DoUpdateSkin(self, SkinProxy(skin['toolbarskin'], ToolBarSkinDefaults))
  123.  
  124.     
  125.     def GetSkinProxy(self):
  126.         if hasattr(self, 'skinTTB'):
  127.             return self.skinTTB
  128.  
  129.  
  130.