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

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. from gui.uberwidgets.formattedinput2.fromattedinputevents import EVT_TEXT_FORMAT_CHANGED
  5. from gui.uberwidgets.formattedinput2.fontutil import StyleToStorage
  6. from gui.uberwidgets.spacerpanel import SpacerPanel
  7. import wx
  8. from gui.uberwidgets.UberButton import UberButton
  9. from gui.uberwidgets.formattedinput2.formattedinput import FormattedInput
  10. from gui.uberwidgets.formattedinput2.formatprefsmixin import FormatPrefsMixin
  11. from gui.uberwidgets.formattedinput2.splittereventsmixin import SplitterEventMixin
  12. from common import prefprop
  13.  
  14. class IMInput(FormattedInput, FormatPrefsMixin, SplitterEventMixin):
  15.     
  16.     def __init__(self, parent, value = '', autosize = True, formatOptions = None, multiFormat = True, showFormattingBar = True, rtl = False, skin = None, entercallback = None, validator = wx.DefaultValidator):
  17.         FormattedInput.__init__(self, parent, value = value, autosize = autosize, formatOptions = formatOptions, multiFormat = multiFormat, showFormattingBar = showFormattingBar, rtl = rtl, skin = skin, validator = validator)
  18.         self.LoadStyle('messaging.default_style')
  19.         self.entercallback = entercallback
  20.         self.tc.Bind(wx.EVT_KEY_DOWN, self.OnEnterKey)
  21.         self.sendbutton = None
  22.         if self.showSendButton:
  23.             self.CreateSendButton()
  24.         
  25.  
  26.     
  27.     def ShowSendButton(self, show):
  28.         sendbutton = self.sendbutton
  29.         hasSendButton = sendbutton is not None
  30.         if hasSendButton:
  31.             self.spacer.Show(show)
  32.             sendbutton.Show(show)
  33.         elif show:
  34.             self.CreateSendButton()
  35.         
  36.         self.Layout()
  37.  
  38.     
  39.     def CreateSendButton(self):
  40.         self.spacer = SpacerPanel(self, skinkey = 'inputspacer')
  41.         self.inputsizer.Add(self.spacer, 0, wx.EXPAND)
  42.         sendbutton = self.sendbutton = UberButton(self, label = _('Send'), skin = 'InputButton')
  43.         self.inputsizer.Add(sendbutton, 0, wx.EXPAND)
  44.         sendbutton.Bind((wx.EVT_BUTTON,), (lambda e: self.entercallback(self)))
  45.  
  46.     shiftToSend = prefprop('messaging.shift_to_send', False)
  47.     showSendButton = prefprop('messaging.show_send_button', False)
  48.     
  49.     def OnEnterKey(self, event):
  50.         keycode = event.KeyCode
  51.         shiftToSend = self.shiftToSend
  52.         hasModifiers = event.HasModifiers()
  53.         shiftIsDown = event.Modifiers == wx.MOD_SHIFT
  54.         if keycode in (wx.WXK_RETURN, wx.WXK_NUMPAD_ENTER):
  55.             if self.entercallback:
  56.                 if not shiftToSend and hasModifiers:
  57.                     pass
  58.                 if (not shiftIsDown or shiftToSend) and shiftIsDown:
  59.                     return self.entercallback(self)
  60.             
  61.         event.Skip()
  62.  
  63.  
  64.