def __init__(self, data_index_uid, display, is_range, min_idx, max_idx, *args, **kwargs):
super(DimensionPanel, self).__init__(*args, **kwargs)
self.SetSize(300, 50)
#
self.data_index_uid = data_index_uid
OM = ObjectManager(self)
obj = OM.get(data_index_uid)
#
main_sizer = wx.StaticBoxSizer(wx.VERTICAL, self, obj.name)
#
self.top_panel = wx.Panel(self)
self.top_sizer = wx.BoxSizer(wx.HORIZONTAL)
#
self.check_display = wx.CheckBox(self.top_panel, -1, label='Display')
self.check_display.Bind(wx.EVT_CHECKBOX, self._on_check_display)
self.top_sizer.Add(self.check_display, 1, wx.ALIGN_CENTER|wx.LEFT, 30)
#
self.check_range = wx.CheckBox(self.top_panel, -1, label='Range')
self.check_range.Bind(wx.EVT_CHECKBOX, self._on_check_range)
self.top_sizer.Add(self.check_range, 1, wx.ALIGN_CENTER|wx.RIGHT, 30)
self.top_panel.SetSizer(self.top_sizer)
#
main_sizer.Add(self.top_panel, 0, wx.EXPAND|wx.TOP|wx.BOTTOM, 3)
#
self.label = obj.name
self.vec = obj.data
self.display = display
self.is_range = is_range
#
self.bottom_panel = wx.Panel(self)
self.bottom_sizer = wx.BoxSizer(wx.VERTICAL)
self.slider = RangeSlider(self.bottom_panel)
self.bottom_sizer.Add(self.slider, 0, wx.EXPAND)
self.text_value = wx.StaticText(self.bottom_panel, -1)
self.bottom_sizer.Add(self.text_value, 0, wx.ALIGN_CENTER)
self.bottom_panel.SetSizer(self.bottom_sizer)
#
main_sizer.Add(self.bottom_panel, 0, wx.EXPAND)
#
self.slider.SetRange(0, len(self.vec)-1)
self.min_idx = min_idx
self.max_idx = max_idx
#
if self.display:
self.set_check_display(1)
else:
self.set_check_display(0)
#
self.Bind(wx.EVT_PAINT, self._on_paint)
self.SetSizer(main_sizer)
main_sizer.Layout()
评论列表
文章目录