| 265 | class FloatSlider(wx.Panel): |
| 266 | |
| 267 | def __init__( self, parent, rang, accury, title): |
| 268 | self.linux = platform.system() == 'Linux' |
| 269 | wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size(-1,-1), style = wx.TAB_TRAVERSAL ) |
| 270 | sizer = wx.BoxSizer( wx.VERTICAL ) |
| 271 | self.slider = wx.Slider( self, wx.ID_ANY, 128, 0, 255, wx.DefaultPosition, wx.DefaultSize, wx.SL_HORIZONTAL) |
| 272 | sizer.Add( self.slider, 0, wx.TOP|wx.EXPAND, 5 ) |
| 273 | subsizer = wx.BoxSizer( wx.HORIZONTAL ) |
| 274 | self.lab_min = wx.StaticText( self, wx.ID_ANY, '0', wx.DefaultPosition, wx.DefaultSize, 0 ) |
| 275 | self.lab_min.Wrap( -1 ) |
| 276 | subsizer.Add( self.lab_min, 0, wx.BOTTOM|wx.LEFT|wx.ALIGN_CENTER, 5 ) |
| 277 | subsizer.AddStretchSpacer(prop=1) |
| 278 | self.text = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(50,-1), 0 ) |
| 279 | subsizer.Add( self.text, 0, wx.BOTTOM|wx.ALIGN_CENTER, 5 ) |
| 280 | self.spin = wx.SpinButton( self, wx.ID_ANY, wx.DefaultPosition, wx.Size([20,-1][self.linux],-1), [0, wx.SP_HORIZONTAL][self.linux]) |
| 281 | self.spin.SetRange(0, 255) |
| 282 | self.spin.SetValue(128) |
| 283 | subsizer.Add( self.spin, 0, wx.ALIGN_CENTER|wx.BOTTOM|wx.EXPAND, 5 ) |
| 284 | subsizer.AddStretchSpacer(prop=1) |
| 285 | self.lab_max = wx.StaticText( self, wx.ID_ANY, '0', wx.DefaultPosition, wx.DefaultSize, 0 ) |
| 286 | self.lab_max.Wrap( -1 ) |
| 287 | subsizer.Add( self.lab_max, 0, wx.ALIGN_CENTER|wx.BOTTOM|wx.RIGHT, 5 ) |
| 288 | sizer.Add( subsizer, 0, wx.EXPAND, 0 ) |
| 289 | |
| 290 | |
| 291 | self.SetSizer( sizer ) |
| 292 | self.Layout() |
| 293 | |
| 294 | # Connect Events |
| 295 | self.slider.Bind( wx.EVT_SCROLL, self.on_scroll ) |
| 296 | self.text.Bind( wx.EVT_KEY_UP, self.on_text ) |
| 297 | #if not self.linux: |
| 298 | self.spin.Bind( wx.EVT_SPIN, self.on_spin ) |
| 299 | self.set_para(rang, accury) |
| 300 | |
| 301 | def Bind(self, z, f): |
| 302 | self.f = f |