def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"TX Research", pos=wx.DefaultPosition, size=wx.Size(1024, 713), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) bSizer1 = wx.BoxSizer(wx.VERTICAL) self.m_panelSub0 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer1.Add(self.m_panelSub0, 2, wx.EXPAND | wx.ALL, 5) self.m_panelSub1 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer1.Add(self.m_panelSub1, 1, wx.EXPAND | wx.ALL, 5) self.m_panelSub2 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer1.Add(self.m_panelSub2, 1, wx.EXPAND | wx.ALL, 5) self.m_scrollBarDate = wx.ScrollBar(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(-1, -1), wx.SB_HORIZONTAL) bSizer1.Add(self.m_scrollBarDate, 0, wx.ALIGN_BOTTOM | wx.EXPAND, 5) self.SetSizer(bSizer1) self.Layout() self.m_toolBar2 = self.CreateToolBar(wx.TB_HORIZONTAL, wx.ID_ANY) self.m_txtDrawInterval = wx.StaticText(self.m_toolBar2, wx.ID_ANY, u"MyLabel", wx.DefaultPosition, wx.DefaultSize, 0) self.m_txtDrawInterval.Wrap(-1) self.m_toolBar2.AddControl(self.m_txtDrawInterval) self.m_toolBar2.Realize() self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_PAINT, self.OnPaint) self.Bind(wx.EVT_SIZE, self.OnSize) self.m_scrollBarDate.Bind(wx.EVT_SCROLL_CHANGED, self.OnScrollChanged)
def __init__(self, parent=None): wx.Frame.__init__(self, parent) #self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_3DLIGHT ) ) self.SetSizeHints(wx.Size(560, -1), wx.DefaultSize) WindowsManager.add(self) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour(wx.Colour(255, 255, 255)) sizer = wx.BoxSizer(wx.VERTICAL) self.txt_info = wx.StaticText(self, wx.ID_ANY, '500*500 pixels 173k', wx.DefaultPosition, wx.DefaultSize, 0) self.txt_info.Wrap(-1) sizer.Add(self.txt_info, 0, wx.ALL, 0) self.canvas = Canvas(self, autofit=IPy.uimode() == 'ij') self.canvas.Bind(wx.EVT_MOUSE_EVENTS, self.on_mouse) self.Bind(wx.EVT_IDLE, self.on_idle) #self.canvas.set_handler(self.set_info) self.handle = None sizer.Add(self.canvas, 1, wx.EXPAND | wx.ALL, 0) self.chan = wx.Slider(self, wx.ID_ANY, 0, 0, 100, wx.DefaultPosition, wx.DefaultSize, wx.SL_HORIZONTAL | wx.SL_SELRANGE | wx.SL_TOP) sizer.Add(self.chan, 0, wx.ALL | wx.EXPAND, 0) self.chan.SetMaxSize(wx.Size(-1, 18)) self.chan.Hide() self.page = wx.ScrollBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_HORIZONTAL) self.page.SetScrollbar(0, 0, 0, 0, refresh=True) sizer.Add(self.page, 0, wx.ALL | wx.EXPAND, 0) self.page.Hide() self.SetSizer(sizer) self.Layout() self.page.Bind(wx.EVT_SCROLL, self.on_scroll) self.chan.Bind(wx.EVT_SCROLL, self.on_scroll) # panel.Bind(wx.EVT_CHAR, self.OnKeyDown) self.opage = self.ochan = 0 self.chantype = None self.ips = self.back = None self.olddia = 0
def __init__(self, parent=None, autofit=False): wx.Frame.__init__(self, parent) self.SetSizeHints(wx.Size(560, -1), wx.DefaultSize) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour(wx.Colour(255, 255, 255)) sizer = wx.BoxSizer(wx.VERTICAL) self.lab_info = wx.StaticText(self, wx.ID_ANY, 'information', wx.DefaultPosition, wx.DefaultSize, 0) self.lab_info.Wrap(-1) # self.lab_info.Hide() sizer.Add(self.lab_info, 0, wx.ALL, 0) self.canvas = Canvas(self, autofit=autofit) sizer.Add(self.canvas, 1, wx.EXPAND | wx.ALL, 0) self.sli_chan = wx.Slider( self, wx.ID_ANY, 0, 0, 100, wx.DefaultPosition, wx.DefaultSize, wx.SL_HORIZONTAL | wx.SL_SELRANGE | wx.SL_TOP) sizer.Add(self.sli_chan, 0, wx.ALL | wx.EXPAND, 0) self.sli_chan.SetMaxSize(wx.Size(-1, 18)) self.sli_chan.Hide() self.sli_page = wx.ScrollBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_HORIZONTAL) self.sli_page.SetScrollbar(0, 0, 0, 0, refresh=True) sizer.Add(self.sli_page, 0, wx.ALL | wx.EXPAND, 0) self.sli_page.Hide() self.SetSizer(sizer) self.Layout() self.sli_page.Bind(wx.EVT_SCROLL, self.on_scroll) self.sli_chan.Bind(wx.EVT_SCROLL, self.on_scroll) # self.Bind(wx.EVT_IDLE, self.on_idle) #self.Fit() self.set_rg = self.canvas.set_rg self.set_lut = self.canvas.set_rg self.set_log = self.canvas.set_log self.set_mode = self.canvas.set_mode self.set_tool = self.canvas.set_tool self.chans, self.pages, self.cn = -1, -1, -1
def add_slider(self, label, key, span=200, center=100, thumb=100): explanation = wx.StaticText( self, label=label, pos=wx.DefaultPosition, size=wx.DefaultSize) slider = wx.ScrollBar(self, pos=wx.DefaultPosition, size=(200, 15)) slider.SetScrollbar(wx.HORIZONTAL, 0, span, span) slider.SetThumbPosition(thumb) pos = slider.GetThumbPosition() - center self._labels[key] = wx.StaticText( self, label=str(pos), pos=wx.DefaultPosition, size=wx.DefaultSize) self.Bind(wx.EVT_SCROLL, lambda event: self.OnSlider(event, key, center), slider) self._grid.Add(self._labels[key], pos=(self._sliderIndex, 1)) self._grid.Add(slider, pos=(self._sliderIndex, 2)) self._grid.Add(explanation, pos=(self._sliderIndex, 0)) self._sliderIndex += 1
def _CreateprogressBar(self, parent): for i in range(0, 100, 1): gauge = wx.Gauge(parent, 1001, 100, pos=(2, i * 20), size=(wx.DefaultSize), style=wx.ALIGN_LEFT) ScrollBar = wx.ScrollBar(parent, 1002, pos=(2, 0 * 20), size=(wx.DefaultSize), style=wx.SB_VERTICAL) ScrollBar.SetScrollbar(0, 16, 50, 15, True) #gauge.SetBezelFace(3) #gauge.SetShadowWidth(3) #gauge.SetValue(50) return gauge
def __init__(self, parent=None): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(-1, -1), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour(wx.Colour(255, 255, 255)) sizer = wx.BoxSizer(wx.VERTICAL) self.txt_info = wx.StaticText(self, wx.ID_ANY, '500*500 pixels 173k', wx.DefaultPosition, wx.DefaultSize, 0) self.txt_info.Wrap(-1) sizer.Add(self.txt_info, 0, wx.ALL, 0) self.canvas = Canvas(self) self.canvas.fit = self sizer.Add(self.canvas, 1, wx.EXPAND | wx.ALL, 0) self.page = wx.ScrollBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_HORIZONTAL) self.page.SetScrollbar(0, 0, 0, 0, refresh=True) sizer.Add(self.page, 0, wx.ALL | wx.EXPAND, 0) #self.page.Hide() self.SetSizer(sizer) self.Layout() self.Bind(wx.EVT_IDLE, self.on_idle) self.Bind(wx.EVT_SCROLL, self.on_scroll) self.Bind(wx.EVT_ACTIVATE, self.on_valid) self.Bind(wx.EVT_CLOSE, self.on_close) self.canvas.Bind(wx.EVT_CHAR, self.on_key) self.canvas.SetFocus() # panel.Bind(wx.EVT_CHAR, self.OnKeyDown) self.opage = 0 self.Fit() WindowsManager.add(self) self.SetAcceleratorTable(IPy.curapp.shortcut)
def _init_ui(self): scroll = wx.ScrollBar(self, -1, style=wx.SB_VERTICAL) self.scroll = scroll self.grid = wx.GridSizer(rows=NROWS, cols=NCOLS, vgap=3, hgap=3) sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(self.grid, 1, wx.EXPAND | wx.GROW | wx.ALL, 2) background_sizer = wx.BoxSizer(wx.HORIZONTAL) background_sizer.Add(sizer, 1, wx.EXPAND | wx.GROW | wx.ALL, 2) background_sizer.Add(scroll, 0, wx.EXPAND | wx.GROW) self.SetSizer(background_sizer) background_sizer.Fit(self) self.Layout() self.Update() self.SetAutoLayout(1) self.sizer = background_sizer self._Add_Panels_Preview() self._bind_events()
def __init__(self, parent, main_window): wx.Panel.__init__(self, parent, size=(100, 100)) self.main_window = main_window self.parent = parent self.zoom_ctrl = self.parent.GetParent().chart_zoom self.main_box = wx.StaticBox(self, label="Spotfinding Chart") self.main_fig_sizer = wx.StaticBoxSizer(self.main_box, wx.VERTICAL) self.SetSizer(self.main_fig_sizer) self.track_figure = Figure() self.track_axes = self.track_figure.add_subplot(111) self.track_axes.set_ylabel("Found Spots") self.track_axes.set_xlabel("Frame") self.track_figure.set_tight_layout(True) self.track_canvas = FigureCanvas(self, -1, self.track_figure) self.track_axes.patch.set_visible(False) self.plot_sb = wx.ScrollBar(self) self.plot_sb.Hide() self.main_fig_sizer.Add(self.track_canvas, 1, wx.EXPAND) self.main_fig_sizer.Add(self.plot_sb, flag=wx.EXPAND) # Scroll bar binding self.Bind(wx.EVT_SCROLL, self.onScroll, self.plot_sb) # Zoom control binding self.Bind(EVT_ZOOM, self.onZoomControl) # Plot bindings self.track_figure.canvas.mpl_connect("button_press_event", self.onPress) # initialize chart self.reset_chart()
def __init__(self, parent, pixelsPerUnit=20): wx.StatusBar.__init__(self, parent, -1) self.pixelsPerUnit = pixelsPerUnit self.SetMinHeight(16) # Dummy panel para encobrir a ScrollBar #self.panelDummy = wx.Panel(self) #self.panelDummy.SetBackgroundColour('green') #self.panelDummy.Show(False) self.SetFieldsCount(3) self.SetStatusWidths([-3, -1, -1]) #self.SetStatusText("Aqui vai a legenda dos Logs...", 0) self.sb = wx.ScrollBar(self) self.sb.show = False self.sb.SetScrollbar(0, 10, 100, 10) self.Bind(wx.EVT_SIZE, self._OnSize) self.sb.Bind(wx.EVT_SCROLL_THUMBTRACK, self._OnScroll) self.sb.Bind(wx.EVT_SCROLL_LINEUP, self._OnScroll) self.sb.Bind(wx.EVT_SCROLL_PAGEUP, self._OnScroll) self.sb.Bind(wx.EVT_SCROLL_LINEDOWN, self._OnScroll) self.sb.Bind(wx.EVT_SCROLL_PAGEDOWN, self._OnScroll) self.sb.ultimaPosicao = 0 self.Reposition() #self.timer = wx.PyTimer(self.Notify) #self.timer.Start(1000) #self.Notify() self.HideScrollBar()
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(577, 391), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.m_menubar_mainform = wx.MenuBar(0) self.m_menu_file = wx.Menu() self.m_menuItem_file_new = wx.MenuItem(self.m_menu_file, wx.ID_ANY, u"New", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu_file.Append(self.m_menuItem_file_new) self.m_menu_file.AppendSeparator() self.m_menuItem_file_open = wx.MenuItem(self.m_menu_file, wx.ID_ANY, u"Open", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu_file.Append(self.m_menuItem_file_open) self.m_menu_file.AppendSeparator() self.m_menuItem_file_save = wx.MenuItem(self.m_menu_file, wx.ID_ANY, u"Save", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu_file.Append(self.m_menuItem_file_save) self.m_menu_file.AppendSeparator() self.m_menuItem_file_saveImg = wx.MenuItem(self.m_menu_file, wx.ID_ANY, u"SaveImage", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu_file.Append(self.m_menuItem_file_saveImg) self.m_menubar_mainform.Append(self.m_menu_file, u"File") self.m_menu_help = wx.Menu() self.m_menuItem_help_show_log = wx.MenuItem(self.m_menu_help, wx.ID_ANY, u"Show Log", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu_help.Append(self.m_menuItem_help_show_log) self.m_menubar_mainform.Append(self.m_menu_help, u"help") self.SetMenuBar(self.m_menubar_mainform) self.m_toolBar_mainform = self.CreateToolBar(wx.TB_HORIZONTAL, wx.ID_ANY) self.m_toolBar_mainform.Realize() self.m_statusBar_mainform = self.CreateStatusBar( 1, wx.STB_SIZEGRIP, wx.ID_ANY) bSizer_b0 = wx.BoxSizer(wx.HORIZONTAL) bSizer_b1_1 = wx.BoxSizer(wx.VERTICAL) bSizer_b2_1 = wx.BoxSizer(wx.VERTICAL) bSizer_b3_1 = wx.BoxSizer(wx.HORIZONTAL) self.m_panel_main = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) self.m_panel_main.SetForegroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) bSizer_b3_1.Add(self.m_panel_main, 1, wx.EXPAND | wx.ALL, 5) self.m_scrollBar_main_v = wx.ScrollBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_VERTICAL) bSizer_b3_1.Add(self.m_scrollBar_main_v, 0, wx.ALL | wx.EXPAND, 5) bSizer_b2_1.Add(bSizer_b3_1, 1, wx.EXPAND, 5) self.m_scrollBar_main_h = wx.ScrollBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_HORIZONTAL) bSizer_b2_1.Add(self.m_scrollBar_main_h, 0, wx.ALL | wx.EXPAND, 5) bSizer_b1_1.Add(bSizer_b2_1, 1, wx.EXPAND, 5) bSizer_b0.Add(bSizer_b1_1, 4, wx.EXPAND, 5) bSizer_b1_2 = wx.BoxSizer(wx.VERTICAL) self.m_choicebook_box = wx.Choicebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.CHB_DEFAULT) self.m_scrolledWindow_box_list = wx.ScrolledWindow( self.m_choicebook_box, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL | wx.VSCROLL) self.m_scrolledWindow_box_list.SetScrollRate(5, 5) gSizer_toolbox = wx.GridSizer(0, 2, 0, 0) self.m_button_Line = wx.Button(self.m_scrolledWindow_box_list, wx.ID_ANY, u"Line", wx.DefaultPosition, wx.DefaultSize, 0) gSizer_toolbox.Add(self.m_button_Line, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.m_button2 = wx.Button(self.m_scrolledWindow_box_list, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0) gSizer_toolbox.Add(self.m_button2, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.m_scrolledWindow_box_list.SetSizer(gSizer_toolbox) self.m_scrolledWindow_box_list.Layout() gSizer_toolbox.Fit(self.m_scrolledWindow_box_list) self.m_choicebook_box.AddPage(self.m_scrolledWindow_box_list, u"base", False) bSizer_b1_2.Add(self.m_choicebook_box, 1, wx.EXPAND | wx.ALL, 5) bSizer_b0.Add(bSizer_b1_2, 1, wx.EXPAND, 5) self.SetSizer(bSizer_b0) self.Layout() self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_CHAR, self.onMainFormChar) self.Bind(wx.EVT_KEY_DOWN, self.onMainFormKeyDown) self.Bind(wx.EVT_KEY_UP, self.onMainFormKeyUp) self.Bind(wx.EVT_MENU, self.onSelectMenuItemFileNew, id=self.m_menuItem_file_new.GetId()) self.Bind(wx.EVT_MENU, self.onSelectMenuItemFileOpen, id=self.m_menuItem_file_open.GetId()) self.Bind(wx.EVT_MENU, self.onSelectMenuItemFileSave, id=self.m_menuItem_file_save.GetId()) self.Bind(wx.EVT_MENU, self.onSelectMenuItemFileSaveImg, id=self.m_menuItem_file_saveImg.GetId()) self.Bind(wx.EVT_MENU, self.onSelectMenuItemHelpShowLog, id=self.m_menuItem_help_show_log.GetId()) self.m_panel_main.Bind(wx.EVT_CHAR, self.onMainPanelChar) self.m_panel_main.Bind(wx.EVT_KEY_DOWN, self.onMainPanelKeyDown) self.m_panel_main.Bind(wx.EVT_KEY_UP, self.onMainPanelKeyUp) self.m_panel_main.Bind(wx.EVT_LEFT_DOWN, self.onMainPanelLeftDown) self.m_panel_main.Bind(wx.EVT_LEFT_UP, self.onMainPanelLeftUp) self.m_panel_main.Bind(wx.EVT_MOTION, self.onMainPanelMotion) self.m_panel_main.Bind(wx.EVT_PAINT, self.onMainPanelPaint) self.m_button_Line.Bind(wx.EVT_BUTTON, self.onButtonLineClick)
def __init__(self): wx.Frame.__init__(self, None, -1, 'Watterson the Manager', size=(1900, 1000), style=wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX) panel = wx.Panel(self, -1) MVW = 100 MTH = 0 lc = wx.ListCtrl(panel, -1, size=(1000 + MVW, 900), pos=(30, 20), style=wx.LC_REPORT) self.pageScroll = wx.ScrollBar(panel, -1, size=(300, 30), pos=(1060 + MVW, 20)) self.pageLabel = wx.StaticText(panel, -1, "PAGE=", size=(300, 30), pos=(1060 + MVW, 60)) self.sText = wx.TextCtrl(panel, -1, "", size=(600, 400 + MTH), pos=(1060 + MVW, 100), style=wx.TE_MULTILINE) self.btnAnalysis = wx.Button(panel, -1, "PLOT", size=(120, 40), pos=(1060 + MVW, 520 + MTH)) self.btnExportData = wx.Button(panel, -1, "EXPORT_FORM", size=(120, 40), pos=(1200 + MVW, 520 + MTH)) self.btnApply = wx.Button(panel, -1, "ApplyPow", size=(120, 40), pos=(1060 + MVW + 200, 580 + MTH)) self.textPow = wx.TextCtrl(panel, -1, str(INIT_POW), size=(180, 40), pos=(1060 + MVW, 580 + MTH)) self.btnAnalysis.Bind(wx.EVT_BUTTON, self.OnAnalysisClick) self.btnExportData.Bind(wx.EVT_BUTTON, self.OnExportClick) self.btnApply.Bind(wx.EVT_BUTTON, self.OnApplyPowClick) self.pageScroll.SetScrollbar(0, 100, 1100, 50) self.pageScroll.Bind(wx.EVT_SCROLL_CHANGED, self.OnScrollMove) tdx2.SetPath('Z:\\vipdoc', 'tdxpath') extendColumn('lastCL', lambda dline: dline[-1].cl) extendColumn('wattIndex', lambda dl: watterson_lib.wattIndex(dl)) extendColumn('lastTime', lambda dl: watterson_lib.get_last_dline_ftime(dl)) if TESTMODE: extendColumn('rd1', lambda dl: watterson_lib.delta_ratio(dl, -2, -1)) lc.InsertColumn(9999, "ID") for i in varlist: lc.InsertColumn(9999, i) lc.SetColumnWidth(0, 140) lc.SetColumnWidth(lc.GetColumnCount() - 2, 140) lc.SetColumnWidth(lc.GetColumnCount() - 1, 140) lc.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick) lc.Bind(wx.EVT_LIST_ITEM_FOCUSED, self.OnItemClick) self.lc = lc self.powConfig = INIT_POW self.isReverse = True self.LoadFile() self.ListControlRefresh() self.Center()
def __init__(self, parent, overlayList, displayCtx, frame): """Create a ``LightBoxPanel``. :arg parent: A :mod:`wx` parent object. :arg overlayList: A :class:`.OverlayList` instance. :arg displayCtx: A :class:`.DisplayContext` instance. :arg frame: The :class:`.FSLeyesFrame` instance. """ sceneOpts = lightboxopts.LightBoxOpts(self) canvaspanel.CanvasPanel.__init__(self, parent, overlayList, displayCtx, frame, sceneOpts) self.__scrollbar = wx.ScrollBar(self.centrePanel, style=wx.SB_VERTICAL) self.__lbCanvas = lightboxcanvas.WXGLLightBoxCanvas( self.contentPanel, overlayList, displayCtx) lbopts = self.__lbCanvas.opts lbopts.bindProps('pos', displayCtx, 'location') lbopts.bindProps('zax', sceneOpts) lbopts.bindProps('bgColour', sceneOpts) lbopts.bindProps('cursorColour', sceneOpts) lbopts.bindProps('showCursor', sceneOpts) lbopts.bindProps('showGridLines', sceneOpts) lbopts.bindProps('highlightSlice', sceneOpts) lbopts.bindProps('renderMode', sceneOpts) lbopts.bindProps('highDpi', sceneOpts) # Bind these properties the other way around, # so that the sensible values calcualted by # the LBCanvas during its initialisation are # propagated to the LBOpts instance, rather # than the non-sensible default values in the # LBOpts instance. sceneOpts.bindProps('nrows', lbopts) sceneOpts.bindProps('ncols', lbopts) sceneOpts.bindProps('topRow', lbopts) sceneOpts.bindProps('sliceSpacing', lbopts) sceneOpts.bindProps('zrange', lbopts) self.__canvasSizer = wx.BoxSizer(wx.HORIZONTAL) self.contentPanel.SetSizer(self.__canvasSizer) self.__canvasSizer.Add(self.__lbCanvas, flag=wx.EXPAND, proportion=1) self.displayCtx.addListener('selectedOverlay', self.name, self.__selectedOverlayChanged) self.displayCtx.addListener('displaySpace', self.name, self.__radioOrientationChanged) self.displayCtx.addListener('radioOrientation', self.name, self.__radioOrientationChanged) self.overlayList.addListener('overlays', self.name, self.__selectedOverlayChanged) # When any lightbox properties change, # make sure the scrollbar is updated sceneOpts.addListener('ncols', self.name, self.__ncolsChanged) sceneOpts.addListener('nrows', self.name, self.__onLightBoxChange) sceneOpts.addListener('topRow', self.name, self.__onLightBoxChange) sceneOpts.addListener('sliceSpacing', self.name, self.__onLightBoxChange) sceneOpts.addListener('zrange', self.name, self.__onLightBoxChange) sceneOpts.addListener('zax', self.name, self.__onLightBoxChange) sceneOpts.addListener('zoom', self.name, self.__onZoom) # When the scrollbar is moved, # update the canvas display self.__scrollbar.Bind(wx.EVT_SCROLL, self.__onScroll) self.Bind(wx.EVT_SIZE, self.__onResize) sceneOpts.zoom = 750 self.__onLightBoxChange() self.__onZoom() self.__selectedOverlayChanged() self.centrePanelLayout() self.initProfile()
def __init__(self, parent, labels=None, clientData=None, tooltips=None, style=0, vgap=0): """Create an ``EditableListBox``. :arg parent: :mod:`wx` parent object :arg labels: List of strings, the items in the list :arg clientData: List of data associated with the list items. :arg tooltips: List of strings, tooltips for each item. :arg style: Style bitmask - accepts :data:`ELB_NO_SCROLL`, :data:`ELB_NO_ADD`, :data:`ELB_NO_REMOVE`, :data:`ELB_NO_MOVE`, :data:`ELB_REVERSE`, :data:`ELB_TOOLTIP`, :data:`ELB_EDITABLE`, :data:`ELB_NO_LABEL`, :data:`ELB_WIDGET_RIGHT`, :data:`ELB_TOOLTIP_DOWN`, and :data:`ELB_SCROLL_BUTTONS`. :arg vgap: Vertical gap in pixels between each item. Ignored if :data:`ELB_NO_LABEL` is set. """ wx.Panel.__init__(self, parent, style=wx.WANTS_CHARS) defaultfg = wx.SystemSettings.GetColour(wx.SYS_COLOUR_LISTBOXTEXT) defaultbg = wx.SystemSettings.GetColour(wx.SYS_COLOUR_LISTBOX) selectfg = wx.SystemSettings.GetColour( wx.SYS_COLOUR_LISTBOXHIGHLIGHTTEXT) selectbg = wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT) if EditableListBox._selectedFG is None: EditableListBox._selectedFG = selectfg if EditableListBox._selectedBG is None: EditableListBox._selectedBG = selectbg if EditableListBox._defaultFG is None: EditableListBox._defaultFG = defaultfg if EditableListBox._defaultBG is None: EditableListBox._defaultBG = defaultbg reverseOrder = style & ELB_REVERSE addScrollbar = not (style & ELB_NO_SCROLL) addSupport = not (style & ELB_NO_ADD) removeSupport = not (style & ELB_NO_REMOVE) moveSupport = not (style & ELB_NO_MOVE) editSupport = style & ELB_EDITABLE showTooltips = style & ELB_TOOLTIP noLabels = style & ELB_NO_LABELS widgetOnRight = style & ELB_WIDGET_RIGHT tooltipDown = style & ELB_TOOLTIP_DOWN and not showTooltips scrollButtons = style & ELB_SCROLL_BUTTONS and addScrollbar noButtons = not any((addSupport, removeSupport, moveSupport)) if noLabels: editSupport = False self.__reverseOrder = reverseOrder self.__showTooltips = showTooltips self.__moveSupport = moveSupport self.__editSupport = editSupport self.__noLabels = noLabels self.__widgetOnRight = widgetOnRight self.__tooltipDown = tooltipDown self.__scrollButtons = scrollButtons self.__vgap = vgap if labels is None: labels = [] if clientData is None: clientData = [None] * len(labels) if tooltips is None: tooltips = [None] * len(labels) # index of the currently selected # item, and the list of items # (_ListItem instances). self.__selection = wx.NOT_FOUND self.__listItems = [] # the panel containing the list items # This is laid out with two sizers - # the sizer contains the list items, and # the SizerSizer contains scroll buttons # (if enabled) and the item sizer. self.__listPanel = wx.Panel(self, style=wx.WANTS_CHARS) self.__listSizerSizer = wx.BoxSizer(wx.VERTICAL) self.__listSizer = wx.BoxSizer(wx.VERTICAL) self.__listSizerSizer.Add(self.__listSizer, flag=wx.EXPAND, proportion=1) self.__listPanel.SetSizer(self.__listSizerSizer) self.__listPanel.SetBackgroundColour(EditableListBox._defaultBG) if addScrollbar: self.__scrollbar = wx.ScrollBar(self, style=wx.SB_VERTICAL) else: self.__scrollbar = None # A panel containing buttons for doing stuff with the list if not noButtons: self.__buttonPanel = wx.Panel(self) self.__buttonPanelSizer = wx.BoxSizer(wx.VERTICAL) self.__buttonPanel.SetSizer(self.__buttonPanelSizer) # Buttons for moving the selected item up/down if moveSupport: self.__upButton = wx.Button(self.__buttonPanel, label='\u25B2', style=wx.BU_EXACTFIT) self.__downButton = wx.Button(self.__buttonPanel, label='\u25BC', style=wx.BU_EXACTFIT) self.__upButton.Bind(wx.EVT_BUTTON, self.__moveItemUp) self.__downButton.Bind(wx.EVT_BUTTON, self.__moveItemDown) self.__buttonPanelSizer.Add(self.__upButton, flag=wx.EXPAND) self.__buttonPanelSizer.Add(self.__downButton, flag=wx.EXPAND) # Button for adding new items if addSupport: self.__addButton = wx.Button(self.__buttonPanel, label='+', style=wx.BU_EXACTFIT) self.__addButton.Bind(wx.EVT_BUTTON, self.__addItem) self.__buttonPanelSizer.Add(self.__addButton, flag=wx.EXPAND) # Button for removing the selected item if removeSupport: self.__removeButton = wx.Button(self.__buttonPanel, label='-', style=wx.BU_EXACTFIT) self.__removeButton.Bind(wx.EVT_BUTTON, self.__removeItem) self.__buttonPanelSizer.Add(self.__removeButton, flag=wx.EXPAND) # Up/down scroll buttons above/below the list if self.__scrollButtons: # Using wx.lib.stattext instead # of wx.StaticText because GTK # can't horizontally align text. self.__scrollUp = stattext.GenStaticText(self.__listPanel, label='\u25B2', style=wx.ALIGN_CENTRE) self.__scrollDown = stattext.GenStaticText(self.__listPanel, label='\u25BC', style=wx.ALIGN_CENTRE) self.__scrollUp.SetFont(self.__scrollUp.GetFont().Smaller()) self.__scrollDown.SetFont(self.__scrollDown.GetFont().Smaller()) self.__listSizerSizer.Insert(0, self.__scrollUp, flag=wx.EXPAND) self.__listSizerSizer.Insert(2, self.__scrollDown, flag=wx.EXPAND) self.__scrollUp.Enable(False) self.__scrollDown.Enable(False) self.__scrollUp.Bind(wx.EVT_LEFT_UP, self.__onScrollButton) self.__scrollDown.Bind(wx.EVT_LEFT_UP, self.__onScrollButton) else: self.__scrollUp = None self.__scrollDown = None self.__sizer = wx.BoxSizer(wx.HORIZONTAL) self.SetSizer(self.__sizer) if not noButtons: self.__sizer.Add(self.__buttonPanel, flag=wx.EXPAND) self.__sizer.Add(self.__listPanel, flag=wx.EXPAND, proportion=1) if addScrollbar: self.__sizer.Add(self.__scrollbar, flag=wx.EXPAND) self.__scrollbar.Bind(wx.EVT_SCROLL, self.__drawList) self.Bind(wx.EVT_MOUSEWHEEL, self.__onMouseWheel) self.__listPanel.Bind(wx.EVT_MOUSEWHEEL, self.__onMouseWheel) def refresh(ev): self.__updateScrollbar() self.__drawList() ev.Skip() # We use CHAR_HOOK for key events, # because we want to capture key # presses whenever this panel or # any of its children has focus. self.Bind(wx.EVT_CHAR_HOOK, self.__onKeyboard) self.Bind(wx.EVT_PAINT, refresh) self.Bind(wx.EVT_SIZE, refresh) for label, data, tooltip in zip(labels, clientData, tooltips): self.Append(label, data, tooltip) # Figure out a nice minimum width dummyLabel = wx.StaticText(self, label='w' * 25) lblWidth, lblHeight = dummyLabel.GetBestSize().Get() dummyLabel.Destroy() # If there are buttons on this listbox, # set the minimum height to the height # of said buttons, or the height of # four items, whichever is bigger if not noButtons: self.SetMinSize((lblWidth, max(4 * lblHeight, self.__buttonPanelSizer.CalcMin()[1]))) # Otherwise set the minimum height # to the height of four items else: self.SetMinSize((lblWidth, 4 * lblHeight)) self.Layout()
def display_conversations(self, scroll_index: int, user_filter: str) -> None: conversations_dbo = ConversationsDatabase().get_all_conversations() conversations = [ Conversation.from_dbo(conv_dbo) for conv_dbo in conversations_dbo ] displayed_conversations = 0 for index, conv in enumerate(conversations): members_names = [node.name for node in conv.members] conv_name = ', '.join(members_names) # TODO: Apply filter (searchbar) and index (scrollbar) if user_filter not in conv.id or index < scroll_index: continue last_message = conv.messages[-1] if last_message is None: continue last_message_date = get_date_from_timestamp( last_message.time_received) node_sb_sizer = wx.StaticBoxSizer( wx.StaticBox(self, id=wx.ID_ANY, label=conv_name), wx.HORIZONTAL) # Displays the last message of the conversation. conv_snippet_static_text = wx.StaticText( node_sb_sizer.GetStaticBox(), wx.ID_ANY, last_message.content, wx.DefaultPosition, wx.DefaultSize, wx.ST_ELLIPSIZE_END) conv_snippet_static_text.Wrap(-1) node_sb_sizer.Add(conv_snippet_static_text, 1, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) conv_last_date_static_text = wx.StaticText( node_sb_sizer.GetStaticBox(), wx.ID_ANY, last_message_date, wx.DefaultPosition, wx.DefaultSize, 0) conv_last_date_static_text.Wrap(-1) node_sb_sizer.Add( conv_last_date_static_text, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER_HORIZONTAL, 5) # Adds an interaction button on the conversation sizer. open_conversation_button_label = u"Open" conv_open_button = wx.Button(node_sb_sizer.GetStaticBox(), wx.ID_ANY, open_conversation_button_label, wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT) node_sb_sizer.Add(conv_open_button, 0, wx.ALL, 5) self.received_messages_bSizer.Add(node_sb_sizer, 0, wx.ALL | wx.EXPAND, 5) # We're passing custom data using a lambda function conv_open_button.Bind( wx.EVT_BUTTON, lambda event: self.open_chat_id(event, conv)) displayed_conversations += 1 # If one or more conversation are displayed if displayed_conversations > 0 and False: # Disabled # Adds a scrollbar scroll_bar = wx.ScrollBar(self, wx.ID_ANY, pos=wx.Point( displayed_conversations, displayed_conversations), size=wx.DefaultSize, style=wx.SB_VERTICAL) self.chat_container_main_bSizer.Add(scroll_bar, 0, wx.ALL | wx.EXPAND, 5) scroll_bar.Bind(wx.EVT_SCROLL, self.scroll)
def __init__(self, parent, emg_wiz_data={}): panel1 = wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(800, 600), style=wx.TAB_TRAVERSAL) self.Viewport = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.NO_BORDER) self.Scrollbar = wx.ScrollBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_VERTICAL) #self.ctrl = MyCtrl(self, -1) self.loaded_data = None #emg wizard globals self.emg_data = emg_wiz_data self.csv_process = csv_process.CSVPreprocess(None, self.emg_data) if (emg_wiz_data == {}): raise Exception("there was an error getting data") #port to use default to 0 self.port_to_use = 0 #default these values self.samplerate = 1000 self.chunksize = 2048 self.recordtime = 10 #recorded globals self.recent_recordings = [None, None, None] #data recording analysis array self.analysis_array = { 'zero_crossings': None, 'mean_abs_val': None, 'slope_sgn_chng': None, 'wavelength': None, 'willsamplitude': None, 'v_order': None, 'log_detect': None, 'autoregression': None, 'emg_cdf': None } #settings dict self.settings = {'samplerate': None, 'chunksize': None, 'time': None} #existing_data sizer = wx.BoxSizer(wx.HORIZONTAL) bsMainSizer = wx.BoxSizer(wx.VERTICAL) bsTopHorizontal = wx.BoxSizer(wx.HORIZONTAL) bs_Left = wx.BoxSizer(wx.VERTICAL) bs_btns = wx.BoxSizer(wx.VERTICAL) bs_btns_top = wx.BoxSizer(wx.HORIZONTAL) bs_btns_bot = wx.BoxSizer(wx.HORIZONTAL) self.bBeginRecording = wx.Button(self, wx.ID_ANY, u"Begin Recording", wx.DefaultPosition, wx.DefaultSize, 0) bs_btns_top.Add(self.bBeginRecording, 0, wx.ALL, 5) self.btn_show_stats = wx.Button(self, wx.ID_ANY, u"Compute Recorded Sats", wx.DefaultPosition, wx.DefaultSize, 0) bs_btns_top.Add(self.btn_show_stats, 0, wx.ALL, 5) self.btn_settings = wx.Button(self, wx.ID_ANY, u"Settings", wx.DefaultPosition, wx.DefaultSize, 0) bs_btns_top.Add(self.btn_settings, 0, wx.ALL, 5) self.btn_load_data = wx.Button(self, wx.ID_ANY, u"Open Recording", wx.DefaultPosition, wx.DefaultSize, 0) bs_btns_bot.Add(self.btn_load_data, 0, wx.ALL, 5) self.btn_plot_existng = wx.Button(self, wx.ID_ANY, u"Plot Existing Data", wx.DefaultPosition, wx.DefaultSize, 0) bs_btns_bot.Add(self.btn_plot_existng, 0, wx.ALL, 5) bs_figure = wx.BoxSizer(wx.VERTICAL) # place code here for in panel plot self.panel_figure = plt.Figure(figsize=(5, 5)) self.axes = self.panel_figure.add_subplot(111) self.panel_canvas = FigureCanvas(self, -1, self.panel_figure) # add the figure to the sizer bs_figure.Add(self.panel_canvas, 1, wx.LEFT | wx.TOP | wx.GROW) self.axes.set_xlabel("Time [s]") self.axes.set_ylabel("Voltage [mV]") self.axes.set_title("Recorded Data") bs_btns.Add(bs_btns_top, 1, wx.EXPAND, 5) bs_btns.Add(bs_btns_bot, 1, wx.EXPAND, 5) bs_btns.Add(bs_figure, 1, wx.EXPAND, 5) bs_Left.Add(bs_btns, 1, wx.EXPAND, 5) #bs_Left.Add(bs_figure, 1, wx.EXPAND, 5) bsTopHorizontal.Add(bs_Left, 1, wx.EXPAND, 5) bSizer13 = wx.BoxSizer(wx.VERTICAL) bs_statistics = wx.BoxSizer(wx.VERTICAL) sb_statistics = wx.StaticBoxSizer( wx.StaticBox(self, wx.ID_ANY, u"Signal Characteristics"), wx.VERTICAL) self.st_zero_cross = wx.StaticText(sb_statistics.GetStaticBox(), wx.ID_ANY, u"Zero Crossings:", wx.DefaultPosition, wx.DefaultSize, 0) self.st_zero_cross.Wrap(-1) sb_statistics.Add(self.st_zero_cross, 0, wx.ALL, 5) self.st_mean_abs = wx.StaticText(sb_statistics.GetStaticBox(), wx.ID_ANY, u"Meab Abosulte Value:", wx.DefaultPosition, wx.DefaultSize, 0) self.st_mean_abs.Wrap(-1) sb_statistics.Add(self.st_mean_abs, 0, wx.ALL, 5) self.st_slope_sign = wx.StaticText(sb_statistics.GetStaticBox(), wx.ID_ANY, u"Slope Sign Change:", wx.DefaultPosition, wx.DefaultSize, 0) self.st_slope_sign.Wrap(-1) sb_statistics.Add(self.st_slope_sign, 0, wx.ALL, 5) self.st_wavelen = wx.StaticText(sb_statistics.GetStaticBox(), wx.ID_ANY, u"Wavelength:", wx.DefaultPosition, wx.DefaultSize, 0) self.st_wavelen.Wrap(-1) sb_statistics.Add(self.st_wavelen, 0, wx.ALL, 5) self.st_wilson = wx.StaticText(sb_statistics.GetStaticBox(), wx.ID_ANY, u"Wilson's Amplitude:", wx.DefaultPosition, wx.DefaultSize, 0) self.st_wilson.Wrap(-1) sb_statistics.Add(self.st_wilson, 0, wx.ALL, 5) self.st_vord = wx.StaticText(sb_statistics.GetStaticBox(), wx.ID_ANY, u"V Order:", wx.DefaultPosition, wx.DefaultSize, 0) self.st_vord.Wrap(-1) sb_statistics.Add(self.st_vord, 0, wx.ALL, 5) self.st_log_detect = wx.StaticText(sb_statistics.GetStaticBox(), wx.ID_ANY, u"Log Detect", wx.DefaultPosition, wx.DefaultSize, 0) self.st_log_detect.Wrap(-1) sb_statistics.Add(self.st_log_detect, 0, wx.ALL, 5) self.btn_save_stats = wx.Button(sb_statistics.GetStaticBox(), wx.ID_ANY, u"Save Statistics", wx.DefaultPosition, wx.DefaultSize, 0) sb_statistics.Add(self.btn_save_stats, 0, wx.ALL, 5) bs_statistics.Add(sb_statistics, 1, wx.EXPAND, 5) bSizer13.Add(bs_statistics, 1, wx.EXPAND, 5) bSizer16 = wx.BoxSizer(wx.HORIZONTAL) self.stPort = wx.StaticText(self, wx.ID_ANY, u"Recording Port", wx.DefaultPosition, wx.DefaultSize, 0) self.stPort.Wrap(-1) bSizer16.Add(self.stPort, 0, wx.ALL, 5) '''PortSelectionChoices = [u"Port", wx.EmptyString] self.PortSelection = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(200, -1), PortSelectionChoices, 0) self.PortSelection.SetSelection(0) bSizer16.Add(self.PortSelection, 0, wx.ALL, 5)''' self._init_drivers() pyaudio_driver_ = pyaudio_driver.pyaudio_driver(None, None, None) self.PortSelectionChoices = [] pyaudio_driver_.displayPortInfo(display=True) #print(pyaudio_driver_.useable_dev_list) for element in pyaudio_driver_.useable_dev_list: #print("#####################################") - for debugging #print("{0} - {1}".format(element['index'], element['name'])) self.PortSelectionChoices.append("{0} - {1}".format( element['index'], element['name'])) #self.PortSelectionChoices = self.PortSelectionChoices.sort() #print("here are the port choices: \n {}".format(self.PortSelectionChoices)) self.PortSelection = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(200, -1), self.PortSelectionChoices, 0) self.PortSelection.SetSelection(0) bSizer16.Add(self.PortSelection, 0, wx.ALL, 5) bSizer13.Add(bSizer16, 1, wx.EXPAND, 5) bsTopHorizontal.Add(bSizer13, 1, wx.EXPAND, 5) bsMainSizer.Add(bsTopHorizontal, 1, wx.EXPAND, 5) bsBottomHorizontal = wx.BoxSizer(wx.VERTICAL) bsMainSizer.Add(bsBottomHorizontal, 1, wx.EXPAND, 5) self._init_ctrls() self._init_flags() sizer.Add(bsMainSizer, 1, wx.EXPAND, 0) sizer.Add(self.Scrollbar, 0, wx.EXPAND, 0) self.SetSizer(sizer) self.Layout() sizer.Fit(self) self.Scrollbar.SetScrollbar(0, 0, 0, 0)
def __init__(self, parent, id=wx.ID_ANY, size=wx.DefaultSize, style=0, fps=25.0): super(FinishStripPanel, self).__init__(parent, id, size=size, style=style) self.fps = fps self.info = {} vs = wx.BoxSizer(wx.VERTICAL) displayWidth, displayHeight = wx.GetDisplaySize() self.leftToRight = True self.imageQuality = wx.IMAGE_QUALITY_NORMAL self.finish = FinishStrip(self, leftToRight=self.leftToRight, mouseWheelCallback=self.onMouseWheel, scrollCallback=self.scrollCallback) self.timeScrollbar = wx.ScrollBar(self, style=wx.SB_HORIZONTAL) self.timeScrollbar.Bind(wx.EVT_SCROLL, self.onChangeTime) minPixelsPerSecond, maxPixelsPerSecond = self.getSpeedPixelsPerSecondMinMax( ) self.stretchSlider = wx.Slider(self, style=wx.SL_HORIZONTAL, minValue=minPixelsPerSecond, maxValue=maxPixelsPerSecond) self.stretchSlider.SetPageSize(1) self.stretchSlider.Bind(wx.EVT_SCROLL, self.onChangeSpeed) self.zoomInButton = wx.BitmapButton( self, bitmap=Utils.getBitmap('Zoom-In-icon.png')) self.zoomInButton.Bind(wx.EVT_BUTTON, lambda event: self.finish.doZoom(-1)) self.zoomOutButton = wx.BitmapButton( self, bitmap=Utils.getBitmap('Zoom-Out-icon.png')) self.zoomOutButton.Bind(wx.EVT_BUTTON, lambda event: self.finish.doZoom(1)) zs = wx.BoxSizer(wx.HORIZONTAL) zs.Add(self.zoomInButton) zs.Add(self.zoomOutButton) self.direction = wx.RadioBox( self, label=_(''), choices=[_('Finish Right to Left'), _('Finish Left to Right')], majorDimension=1, style=wx.RA_SPECIFY_ROWS) self.direction.SetSelection(1 if self.leftToRight else 0) self.direction.Bind(wx.EVT_RADIOBOX, self.onDirection) self.copyToClipboard = wx.BitmapButton( self, bitmap=Utils.getBitmap('copy-to-clipboard.png')) self.copyToClipboard.SetToolTip( wx.ToolTip('Copy Finish Strip to Clipboard')) self.copyToClipboard.Bind(wx.EVT_BUTTON, self.onCopyToClipboard) szs = wx.BoxSizer(wx.HORIZONTAL) szs.Add(wx.StaticText(self, label=u'{}'.format(_('Stretch'))), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTRE_VERTICAL) szs.Add(self.stretchSlider, 1, flag=wx.EXPAND) szs.Add(wx.StaticText(self, label=u'{}'.format(_('Zoom'))), flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTRE_VERTICAL | wx.LEFT, border=4) szs.Add(zs) hs = wx.BoxSizer(wx.HORIZONTAL) hs.Add(self.direction, flag=wx.ALIGN_CENTRE_VERTICAL) hs.Add(self.copyToClipboard, flag=wx.ALIGN_CENTRE_VERTICAL | wx.LEFT, border=16) hs.Add(wx.StaticText(self, label=u'\n'.join([ 'To Pan: Click and Drag', 'To Stretch: Mousewheel', ])), flag=wx.ALIGN_CENTRE_VERTICAL | wx.LEFT, border=16) hs.Add(wx.StaticText(self, label=u'\n'.join([ 'To Zoom: Ctrl+Mousewheel', 'Show Frame: Right-click', ])), flag=wx.ALIGN_CENTRE_VERTICAL | wx.LEFT, border=16) self.frameCount = wx.StaticText(self, label=' Frames') hs.Add(self.frameCount, flag=wx.LEFT | wx.ALIGN_CENTRE_VERTICAL, border=16) vs.Add(self.finish, 1, flag=wx.EXPAND) vs.Add(self.timeScrollbar, flag=wx.EXPAND) vs.Add(szs, flag=wx.EXPAND | wx.ALL, border=0) vs.Add(hs, flag=wx.EXPAND | wx.ALL, border=0) self.SetSizer(vs) wx.CallAfter(self.initUI)
def __init__(self, parent, doc, termController, config, LaF=None): self.config = config wx.Panel.__init__(self, parent, style=wx.TAB_TRAVERSAL | wx.SUNKEN_BORDER) self.ScrollBarWidth = 0 # reported by the scrollbar self.MouseWheelTicsPerScreen = 10.0 # How many mouse wheel motions to scroll by a full screen? if LaF: self.LaF = LaF #? Look and Feel else: self.LaF = LookAndFeel() self.frame = parent #? pointer to the primary GUI frame self.windowMoverMode = False #? Am I highlighting the child panels so they can be grabbed? self.resolver = termController #? The resolver converts xml to panels self.completion = termController #? Command line completion self.executeCmd = termController #? Execute a command entered in the prompt self.SetBackgroundColour(self.LaF.backCol) tmp = parent.GetClientSize() #self.SetClientSize(tmp) #? Window's display size (minus scrollbar and prompt) self.size = tmp self.cmdLine = CmdLine(self, lambda x, s=self: s.execute(x), self.completion) #? Text entry window self.cmdLine.SetBackgroundColour(self.LaF.backCol) #cmdLinePos = self.cmdLine.GetPosition() #tmp = (tmp[0] - self.ScrollBarWidth, cmdLinePos[1] - 2) # tmp[1] - cmdLineSize[1]*5) #self.docPanel.SetSize((tmp[0]-50-self.ScrollBarWidth,tmp[1]-10)) #self.docPanel.SetPosition((0,0)) self.vscroll = wx.ScrollBar(self, style=wx.SB_VERTICAL) size = self.vscroll.GetSize() self.ScrollBarWidth = size[0] assert (self.vscroll.SetBackgroundColour(self.LaF.backCol)) assert (self.vscroll.SetForegroundColour(wx.Colour(255, 0, 0, 255))) #self.vscroll.SetBrush(wx.Brush(wx.Colour(255,0,0),wx.SOLID)) #self.vscroll.SetBackground(wx.Brush(wx.Colour(255,0,0),wx.SOLID)) #self.vscroll. self.vstart = (0, 0) # self.GetViewStart() self.vsize = (0, 0) # Full document size self.vfrac = 1.0 # where am I in the document, fraction from 0 to 1 (scrollbar) self.vscroll.SetSize((self.ScrollBarWidth, self.size[1])) self.vscroll.SetPosition((self.size[0] - self.ScrollBarWidth, 0)) self.scrollBarGrabSize = self.size[1] self.docPanel = wx.Panel(self, pos=(0, 0), style=wx.NO_BORDER) self.docPanel.SetBackgroundColour(self.LaF.backCol) # debugging: self.docPanel.SetBackgroundColour(wx.Color(255,0,0,255)) self.resolver.parentWin = self.docPanel self.doc = Document(self.resolver) self.doc.append(doc) self.doc.layout() self.selection = None # did the user select a portion of the document? # self.resolver.permanentWindows = [self.cmdLine] self.aliases = {} # { 'ls':'ls -C'} # self.frame.handOff(FancyText(self.frame,"This is a test")) self.Bind(wx.EVT_MOVE, self.OnReposition) self.Bind(wx.EVT_SIZE, self.OnSize) self.Bind(wx.EVT_MOUSE_EVENTS, self.OnMouse) self.vscroll.Bind(wx.EVT_SCROLL, self.OnScroll) self.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel) # Bind to handle up/down arrow and enter self.Bind(wx.EVT_CHAR, self.cmdLine.keyReceiver) self.docPanel.Bind(wx.EVT_CHAR, self.cmdLine.keyReceiver) # self.docPanel.Bind(wx.EVT_SET_FOCUS,self.OnFocus) # self.Bind(wx.EVT_KILL_FOCUS,self.OnFocus) #self.dropTgt = XmlShellDropTarget(self) #self.frame.SetDropTarget(self.dropTgt) self.fileDrop = MyFileDropTarget(self) self.SetDropTarget(self.fileDrop) #self.virtualSize=(0,0) #self.SetScrollbars(1,1,1,1) # ???? #self.SetScrollRate(20,20) self.resolver.start(self) self.render()
def test_scrolbarCtor(self): w = wx.ScrollBar(self.frame) w = wx.ScrollBar(self.frame, style=wx.SB_VERTICAL) self.assertTrue(w.IsVertical())
def __init__(self,name=""): """name: defines settings filename.""" if name == "": name = type(self).__name__ self.name = name ##debug("DataLogger: name: %r" % self.name) wx.Frame.__init__(self,parent=None) # Menus self.title = title menuBar = wx.MenuBar() menu = wx.Menu() menu.Append (101,"Logfile...\tCtrl+O", "Where to store the timing history files to watch.") self.Bind (wx.EVT_MENU,self.OnSelectLogfile,id=101) menu.Append (121,"E&xit","Closes this window.") self.Bind (wx.EVT_MENU,self.OnExit,id=121) menuBar.Append (menu,"&File") self.Bind(wx.EVT_CLOSE,self.OnExit) menu = wx.Menu() menu.Append (402,"&Options...","Parameters") self.Bind (wx.EVT_MENU,self.OnOptions,id=402) menuBar.Append (menu,"&Options") menu = wx.Menu() menu.Append (501,"&About...","Version information") self.Bind (wx.EVT_MENU,self.OnAbout,id=501) menuBar.Append (menu,"&Help") self.SetMenuBar (menuBar) # Controls from matplotlib.figure import Figure from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg self.figure = Figure(figsize=(4,3)) self.canvas = FigureCanvasWxAgg(self,-1,self.figure) self.figure.subplots_adjust(bottom=0.2) self.plot = self.figure.add_subplot(1,1,1) self.active = wx.ToggleButton(self,label="Active") self.Bind(wx.EVT_TOGGLEBUTTON,self.OnActive,self.active) self.TimeFraction = wx.ScrollBar(self) self.TimeFraction.SetScrollbar(0,200,1000,100,True) # SetScrollbar(position,thumbSize,range,pageSize,refresh) # [Arguments misnamed "orientation,position,thumbSize,range,refresh" # in WxPython 2.9.1.1] events = [wx.EVT_SCROLL_TOP,wx.EVT_SCROLL_BOTTOM, wx.EVT_SCROLL_LINEUP,wx.EVT_SCROLL_LINEDOWN, wx.EVT_SCROLL_PAGEUP,wx.EVT_SCROLL_PAGEDOWN, wx.EVT_SCROLL_THUMBRELEASE] for e in events: self.Bind(e,self.OnTimeFractionChanged,self.TimeFraction) choices = ["10 s","30 s","1 min","2 min","5 min","10 min","30 min", "1 h","2 h","6 h","12 h","1 d","2 d","5 d","10 d"] style = wx.TE_PROCESS_ENTER self.TimeWindow = wx.ComboBox(self,style=style,choices=choices) self.Bind(wx.EVT_COMBOBOX,self.OnTimeWindowChanged,self.TimeWindow) self.Bind(wx.EVT_TEXT_ENTER,self.OnTimeWindowChanged,self.TimeWindow) self.CreateStatusBar() # Layout vbox = wx.BoxSizer(wx.VERTICAL) vbox.Add(self.canvas,proportion=1,flag=wx.EXPAND) hbox = wx.BoxSizer(wx.HORIZONTAL) hbox.Add(self.active,proportion=0) hbox.Add(self.TimeFraction,proportion=1,flag=wx.EXPAND) vbox.Add(hbox,proportion=0,flag=wx.EXPAND) hbox.Add(self.TimeWindow,proportion=0) self.SetSizer(vbox) self.Fit() # Default settings. self.time_window = 60 # seconds self.max_value = nan self.min_value = nan self.waiting_time = 0.3 self.reject_outliers = False self.outlier_cutoff = 2.5 self.show_statistics = True self.average_count = 1 self.Size = 640,480 # Restore last saved settings. self.settings = ["counter_name","Size","logfile", "average_count","max_value","min_value","start_fraction","reject_outliers", "outlier_cutoff","show_statistics","time_window"] self.update_settings() # Initialization self.npoints = 0 self.Show() self.update() #start_new_thread (measure,()) start_new_thread (watch_logfile,())
def test_scrolbarProperties(self): w = wx.ScrollBar(self.frame) w.PageSize w.Range w.ThumbPosition w.ThumbSize
def test_scrolbarDefaultCtor(self): w = wx.ScrollBar() w.Create(self.frame)
def __init__(self, parent, margins=True, **kwargs): wx.py.editwindow.EditWindow.__init__( self, parent, **kwargs) # I don't like the look of the scroll bars on Mac OS 10.6, s # let's just disable them here. if ('Darwin' in platform.platform() and '10.6' in subprocess.check_output('sw_vers')): self.SetUseVerticalScrollBar(False) self.SetMarginWidth(1, 16) self.SetMarginWidth(2, 16) self.SetMarginWidth(3, 4) if margins: # Margin for numbers self.SetMarginType(2,wx.stc.STC_MARGIN_NUMBER) # Margin for error marks self.SetMarginType(1, wx.stc.STC_MARGIN_SYMBOL) self.MarkerDefine(0, wx.stc.STC_MARK_SHORTARROW, 'black','red') # Line ending mode self.SetEOLMode(wx.stc.STC_EOL_LF) # Disable text editor callback on line marker changes, # to prevent infinite recursion self.SetModEventMask(wx.stc.STC_MODEVENTMASKALL & ~wx.stc.STC_MOD_CHANGEMARKER & ~wx.stc.STC_MOD_CHANGESTYLE) # Make cmd+left and cmd+right home and end self.CmdKeyAssign(wx.stc.STC_KEY_LEFT, wx.stc.STC_SCMOD_CTRL, wx.stc.STC_CMD_VCHOME) self.CmdKeyAssign(wx.stc.STC_KEY_RIGHT, wx.stc.STC_SCMOD_CTRL, wx.stc.STC_CMD_LINEEND) self.CmdKeyAssign(wx.stc.STC_KEY_UP, wx.stc.STC_SCMOD_CTRL, wx.stc.STC_CMD_DOCUMENTSTART) self.CmdKeyAssign(wx.stc.STC_KEY_DOWN, wx.stc.STC_SCMOD_CTRL, wx.stc.STC_CMD_DOCUMENTEND) self.CmdKeyAssign(wx.stc.STC_KEY_LEFT, wx.stc.STC_SCMOD_CTRL | wx.stc.STC_SCMOD_SHIFT, wx.stc.STC_CMD_VCHOMEEXTEND) self.CmdKeyAssign(wx.stc.STC_KEY_RIGHT, wx.stc.STC_SCMOD_CTRL | wx.stc.STC_SCMOD_SHIFT, wx.stc.STC_CMD_LINEENDEXTEND) self.CmdKeyAssign(wx.stc.STC_KEY_UP, wx.stc.STC_SCMOD_CTRL | wx.stc.STC_SCMOD_SHIFT, wx.stc.STC_CMD_DOCUMENTSTARTEXTEND) self.CmdKeyAssign(wx.stc.STC_KEY_DOWN, wx.stc.STC_SCMOD_CTRL | wx.stc.STC_SCMOD_SHIFT, wx.stc.STC_CMD_DOCUMENTENDEXTEND) # Apply a dark theme to the editor self.SetCaretForeground('#888888') # Add a faint highlight to the selected line self.SetCaretLineVisible(True) self.SetCaretLineBack('#303030') # Don't show horizontal scroll bar self.SetUseHorizontalScrollBar(False) hideScrollbar = False if hideScrollbar: self.SetUseHorizontalScrollBar(False) dummyScroll = wx.ScrollBar(self) dummyScroll.Hide() self.SetVScrollBar(dummyScroll)
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,463 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) bSizer2 = wx.BoxSizer( wx.VERTICAL ) self.m_listbook1 = wx.Listbook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LB_DEFAULT ) self.m_scrolledWindow3 = wx.ScrolledWindow( self.m_listbook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.VSCROLL ) self.m_scrolledWindow3.SetScrollRate( 5, 5 ) gSizer4 = wx.GridSizer( 0, 2, 0, 0 ) self.m_htmlWin2 = wx.html.HtmlWindow( self.m_scrolledWindow3, wx.ID_ANY, wx.DefaultPosition, wx.Size( 100,100 ), wx.html.HW_SCROLLBAR_AUTO ) gSizer4.Add( self.m_htmlWin2, 0, wx.ALL, 5 ) self.m_richText1 = wx.richtext.RichTextCtrl( self.m_scrolledWindow3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0|wx.VSCROLL|wx.HSCROLL|wx.NO_BORDER|wx.WANTS_CHARS ) gSizer4.Add( self.m_richText1, 1, wx.EXPAND |wx.ALL, 5 ) self.m_toggleBtn1 = wx.ToggleButton( self.m_scrolledWindow3, wx.ID_ANY, u"Toggle me!", wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer4.Add( self.m_toggleBtn1, 0, wx.ALL, 5 ) self.m_searchCtrl2 = wx.SearchCtrl( self.m_scrolledWindow3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_searchCtrl2.ShowSearchButton( True ) self.m_searchCtrl2.ShowCancelButton( False ) gSizer4.Add( self.m_searchCtrl2, 0, wx.ALL, 5 ) self.m_colourPicker1 = wx.ColourPickerCtrl( self.m_scrolledWindow3, wx.ID_ANY, wx.BLACK, wx.DefaultPosition, wx.DefaultSize, wx.CLRP_DEFAULT_STYLE ) gSizer4.Add( self.m_colourPicker1, 0, wx.ALL, 5 ) self.m_fontPicker1 = wx.FontPickerCtrl( self.m_scrolledWindow3, wx.ID_ANY, wx.NullFont, wx.DefaultPosition, wx.DefaultSize, wx.FNTP_DEFAULT_STYLE ) self.m_fontPicker1.SetMaxPointSize( 100 ) gSizer4.Add( self.m_fontPicker1, 0, wx.ALL, 5 ) self.m_filePicker1 = wx.FilePickerCtrl( self.m_scrolledWindow3, wx.ID_ANY, u"D:\\python\\mywindows.py", u"Select a file", u"*.*", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE ) gSizer4.Add( self.m_filePicker1, 0, wx.ALL, 5 ) self.m_dirPicker1 = wx.DirPickerCtrl( self.m_scrolledWindow3, wx.ID_ANY, u"D:\\python", u"Select a folder", wx.DefaultPosition, wx.DefaultSize, wx.DIRP_DEFAULT_STYLE ) gSizer4.Add( self.m_dirPicker1, 0, wx.ALL, 5 ) self.m_datePicker1 = wx.adv.DatePickerCtrl( self.m_scrolledWindow3, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.DP_DEFAULT ) gSizer4.Add( self.m_datePicker1, 0, wx.ALL, 5 ) self.m_calendar1 = wx.adv.CalendarCtrl( self.m_scrolledWindow3, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.CAL_SHOW_HOLIDAYS ) gSizer4.Add( self.m_calendar1, 0, wx.ALL, 5 ) self.m_scrolledWindow3.SetSizer( gSizer4 ) self.m_scrolledWindow3.Layout() gSizer4.Fit( self.m_scrolledWindow3 ) self.m_listbook1.AddPage( self.m_scrolledWindow3, u"a page", False ) self.m_scrolledWindow4 = wx.ScrolledWindow( self.m_listbook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.VSCROLL ) self.m_scrolledWindow4.SetScrollRate( 5, 5 ) gSizer5 = wx.GridSizer( 0, 2, 0, 0 ) self.m_scrollBar1 = wx.ScrollBar( self.m_scrolledWindow4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_HORIZONTAL ) gSizer5.Add( self.m_scrollBar1, 0, wx.ALL, 5 ) self.m_spinCtrl1 = wx.SpinCtrl( self.m_scrolledWindow4, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 10, 2 ) gSizer5.Add( self.m_spinCtrl1, 0, wx.ALL, 5 ) self.m_spinCtrlDouble2 = wx.SpinCtrlDouble( self.m_scrolledWindow4, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 4.000000, 1 ) self.m_spinCtrlDouble2.SetDigits( 0 ) gSizer5.Add( self.m_spinCtrlDouble2, 0, wx.ALL, 5 ) self.m_spinBtn1 = wx.SpinButton( self.m_scrolledWindow4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer5.Add( self.m_spinBtn1, 0, wx.ALL, 5 ) self.m_hyperlink1 = wx.adv.HyperlinkCtrl( self.m_scrolledWindow4, wx.ID_ANY, u"xxx", u"http://teaching.bo-yuan.net/", wx.DefaultPosition, wx.DefaultSize, wx.adv.HL_DEFAULT_STYLE ) gSizer5.Add( self.m_hyperlink1, 0, wx.ALL, 5 ) self.m_genericDirCtrl2 = wx.GenericDirCtrl( self.m_scrolledWindow4, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.DIRCTRL_3D_INTERNAL|wx.SUNKEN_BORDER, wx.EmptyString, 0 ) self.m_genericDirCtrl2.ShowHidden( False ) gSizer5.Add( self.m_genericDirCtrl2, 1, wx.EXPAND |wx.ALL, 5 ) self.m_scrolledWindow4.SetSizer( gSizer5 ) self.m_scrolledWindow4.Layout() gSizer5.Fit( self.m_scrolledWindow4 ) self.m_listbook1.AddPage( self.m_scrolledWindow4, u"a page", False ) self.m_scrolledWindow5 = wx.ScrolledWindow( self.m_listbook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.VSCROLL ) self.m_scrolledWindow5.SetScrollRate( 5, 5 ) gSizer6 = wx.GridSizer( 0, 2, 0, 0 ) self.m_treeCtrl1 = wx.TreeCtrl( self.m_scrolledWindow5, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TR_DEFAULT_STYLE ) gSizer6.Add( self.m_treeCtrl1, 0, wx.ALL, 5 ) self.m_grid1 = wx.grid.Grid( self.m_scrolledWindow5, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) # Grid self.m_grid1.CreateGrid( 5, 5 ) self.m_grid1.EnableEditing( True ) self.m_grid1.EnableGridLines( True ) self.m_grid1.EnableDragGridSize( False ) self.m_grid1.SetMargins( 0, 0 ) # Columns self.m_grid1.EnableDragColMove( False ) self.m_grid1.EnableDragColSize( True ) self.m_grid1.SetColLabelSize( 30 ) self.m_grid1.SetColLabelAlignment( wx.ALIGN_CENTER, wx.ALIGN_CENTER ) # Rows self.m_grid1.EnableDragRowSize( True ) self.m_grid1.SetRowLabelSize( 80 ) self.m_grid1.SetRowLabelAlignment( wx.ALIGN_CENTER, wx.ALIGN_CENTER ) # Label Appearance # Cell Defaults self.m_grid1.SetDefaultCellAlignment( wx.ALIGN_LEFT, wx.ALIGN_TOP ) gSizer6.Add( self.m_grid1, 0, wx.ALL, 5 ) m_checkList2Choices = [u"aaa", u"bbb", u"ccc"] self.m_checkList2 = wx.CheckListBox( self.m_scrolledWindow5, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_checkList2Choices, 0 ) gSizer6.Add( self.m_checkList2, 0, wx.ALL, 5 ) self.m_scrolledWindow5.SetSizer( gSizer6 ) self.m_scrolledWindow5.Layout() gSizer6.Fit( self.m_scrolledWindow5 ) self.m_listbook1.AddPage( self.m_scrolledWindow5, u"a page", True ) bSizer2.Add( self.m_listbook1, 1, wx.EXPAND |wx.ALL, 5 ) self.m_choicebook1 = wx.Choicebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.CHB_DEFAULT ) self.m_panel8 = wx.Panel( self.m_choicebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_choicebook1.AddPage( self.m_panel8, u"a page", True ) self.m_panel9 = wx.Panel( self.m_choicebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_choicebook1.AddPage( self.m_panel9, u"a page", False ) self.m_panel10 = wx.Panel( self.m_choicebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_choicebook1.AddPage( self.m_panel10, u"a page", False ) bSizer2.Add( self.m_choicebook1, 1, wx.EXPAND |wx.ALL, 5 ) self.SetSizer( bSizer2 ) self.Layout() self.m_timer1 = wx.Timer() self.m_timer1.SetOwner( self, wx.ID_ANY ) self.Centre( wx.BOTH )
# -*- coding: utf-8 -*-
def Create(self): self.m_hscroll = wx.ScrollBar() self.m_vscroll = wx.ScrollBar() self.m_viewport = wx.Window() add_child_target = self.m_impl.m_add_child_target self.m_impl.m_add_child_target = None success = self.m_hscroll.Create(self.m_impl.m_container, style=wx.SB_HORIZONTAL) if success: success = self.m_vscroll.Create(self.m_impl.m_container, style=wx.SB_VERTICAL) if success: success = self.m_viewport.Create(self.m_impl.m_container) if not success: return False self.m_impl.m_add_child_target = add_child_target cursor = wx.Cursor(wx.CURSOR_ARROW) self.m_hscroll.SetCursor(cursor) self.m_vscroll.SetCursor(cursor) self.m_viewport.SetCursor(cursor) self.m_viewport.Bind(wx.EVT_SIZE, self.OnViewSize) self.Bind(_EVT_DYNAMIC_SASH_REPARENT, self.OnReparent) if self.m_impl.m_window.GetWindowStyle() & DS_MANAGE_SCROLLBARS: for sbar in [self.m_hscroll, self.m_vscroll]: sbar.Bind(wx.EVT_SET_FOCUS, self.OnFocus) sbar.Bind(wx.EVT_SCROLL_TOP, self.OnScroll) sbar.Bind(wx.EVT_SCROLL_BOTTOM, self.OnScroll) sbar.Bind(wx.EVT_SCROLL_LINEUP, self.OnScroll) sbar.Bind(wx.EVT_SCROLL_LINEDOWN, self.OnScroll) sbar.Bind(wx.EVT_SCROLL_PAGEUP, self.OnScroll) sbar.Bind(wx.EVT_SCROLL_PAGEDOWN, self.OnScroll) sbar.Bind(wx.EVT_SCROLL_THUMBTRACK, self.OnScroll) sbar.Bind(wx.EVT_SCROLL_THUMBRELEASE, self.OnScroll) layout = wx.LayoutConstraints() size = self.m_hscroll.GetBestSize() layout.left.SameAs(self.m_impl.m_container, wx.Left, 10) layout.right.LeftOf(self.m_vscroll) layout.bottom.SameAs(self.m_impl.m_container, wx.Bottom, 3) layout.height.Absolute(size.GetHeight()) self.m_hscroll.SetConstraints(layout) layout = wx.LayoutConstraints() size = self.m_vscroll.GetBestSize() layout.top.SameAs(self.m_impl.m_container, wx.Top, 10) layout.bottom.Above(self.m_hscroll) layout.right.SameAs(self.m_impl.m_container, wx.Right, 3) layout.width.Absolute(size.GetWidth()) self.m_vscroll.SetConstraints(layout) layout = wx.LayoutConstraints() layout.left.SameAs(self.m_impl.m_container, wx.Left, 3) layout.right.LeftOf(self.m_vscroll) layout.top.SameAs(self.m_impl.m_container, wx.Top, 3) layout.bottom.Above(self.m_hscroll) self.m_viewport.SetConstraints(layout) self.m_impl.m_container.Layout() return True
def __init__(self): # Generate Frame wx.Frame.__init__(self, None, -1, 'Watterson the Manager', size=(1900, 1000), style=wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX) panel = wx.Panel(self, -1) MVW = 100 MTH = 0 listctrl = wx.ListCtrl(panel, -1, size=(1000 + MVW, 920), pos=(30, 20), style=wx.LC_REPORT) self.pageScroll = wx.ScrollBar(panel, -1, size=(300, 30), pos=(1060 + MVW, 20)) self.pageLabel = wx.StaticText(panel, -1, "PAGE=", size=(300, 30), pos=(1060 + MVW, 60)) self.sText = wx.TextCtrl(panel, -1, "", size=(600, 400 + MTH), pos=(1060 + MVW, 100), style=wx.TE_MULTILINE) self.btnAnalysis = wx.Button(panel, -1, "PLOT", size=(120, 40), pos=(1060 + MVW, 520 + MTH)) self.btnExportData = wx.Button(panel, -1, "EXPORT_DATA", size=(120, 40), pos=(1200 + MVW, 520 + MTH)) if cm.getConfig('TEST_MODE'): s = 'toREAL' else: s = 'toTEST' self.btnTurnMode = wx.Button(panel, -1, s, size=(120, 40), pos=(1400 + MVW, 20)) self.btnApply = wx.Button(panel, -1, "ApplyPow", size=(120, 40), pos=(1060 + MVW + 200, 580 + MTH)) self.textPow = wx.TextCtrl(panel, -1, str(cm.getConfig('INIT_POW')), size=(180, 40), pos=(1060 + MVW, 580 + MTH)) self.lblMsg = wx.StaticText(panel, -1, 'HAHA', size=(600, 40), pos=(1060 + MVW, 650 + MTH)) self.btnAnalysis.Bind(wx.EVT_BUTTON, self.OnAnalysisClick) self.btnExportData.Bind(wx.EVT_BUTTON, self.OnExportClick) self.btnApply.Bind(wx.EVT_BUTTON, self.OnApplyPowClick) self.btnTurnMode.Bind(wx.EVT_BUTTON, self.OnTurnModeClick) self.pageScroll.SetScrollbar(0, 100, 1100, 50) self.pageScroll.Bind(wx.EVT_SCROLL_CHANGED, self.OnScrollMove) varlist = cm.getConfig('varname') columnIndex = 0 for i in varlist: listctrl.InsertColumn(9999, i + '_' + str(columnIndex)) columnIndex += 1 listctrl.SetColumnWidth(0, 140) listctrl.SetColumnWidth(listctrl.GetColumnCount() - 2, 140) listctrl.SetColumnWidth(listctrl.GetColumnCount() - 1, 140) listctrl.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick) listctrl.Bind(wx.EVT_LIST_ITEM_FOCUSED, self.OnItemClick) self.listctrl = listctrl self.powConfig = cm.getConfig('INIT_POW') self.isReverse = True # Push Data tdx2.SetPath('Z:\\vipdoc', 'tdxpath') self.msgManager = MessageManager(self.lblMsg) self.LoadFile() self.Center()
def _init_ctrls(self, prnt): # generated method, don't edit wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt, pos=wx.Point(556, 295), size=wx.Size(516, 476), style=wx.DEFAULT_FRAME_STYLE, title='Everything') self._init_utils() self.SetClientSize(wx.Size(508, 449)) self.SetMenuBar(self.menuBar1) self.Center(wx.BOTH) self.toolBar1 = wx.ToolBar(id=wxID_FRAME1TOOLBAR1, name='toolBar1', parent=self, pos=wx.Point(0, 0), size=wx.Size(508, 27), style=wx.TB_HORIZONTAL | wx.NO_BORDER) self.SetToolBar(self.toolBar1) self.statusBar1 = wx.StatusBar(id=wxID_FRAME1STATUSBAR1, name='statusBar1', parent=self, style=0) self.statusBar1.SetPosition(wx.Point(0, 308)) self.statusBar1.SetSize(wx.Size(422, 20)) self._init_coll_statusBar1_Fields(self.statusBar1) self.SetStatusBar(self.statusBar1) self.notebook1 = wx.Notebook(id=wxID_FRAME1NOTEBOOK1, name='notebook1', parent=self, pos=wx.Point(0, 27), size=wx.Size(508, 383), style=0) self.panel1 = wx.Panel(id=wxID_FRAME1PANEL1, name='panel1', parent=self.notebook1, pos=wx.Point(0, 0), size=wx.Size(500, 357), style=wx.TAB_TRAVERSAL) self.splitterWindow1 = wx.SplitterWindow(id=wxID_FRAME1SPLITTERWINDOW1, name='splitterWindow1', parent=self.panel1, point=wx.Point(8, 8), size=wx.Size(200, 100), style=wx.SP_3D) self.scrolledWindow1 = wx.ScrolledWindow(id=wxID_FRAME1SCROLLEDWINDOW1, name='scrolledWindow1', parent=self.splitterWindow1, pos=wx.Point(2, 2), size=wx.Size(98, 96), style=wx.SUNKEN_BORDER | wx.TAB_TRAVERSAL) self.scrolledWindow1.SetToolTipString('wxScrolledWindow') self.sashWindow1 = wx.SashWindow(id=wxID_FRAME1SASHWINDOW1, name='sashWindow1', parent=self.splitterWindow1, pos=wx.Point(107, 2), size=wx.Size(91, 96), style=wx.CLIP_CHILDREN | wx.SW_3D) self.splitterWindow1.SplitVertically(self.scrolledWindow1, self.sashWindow1, 100) self.sashLayoutWindow1 = wx.SashLayoutWindow(id=wxID_FRAME1SASHLAYOUTWINDOW1, name='sashLayoutWindow1', parent=self.panel1, pos=wx.Point(8, 120), size=wx.Size(200, 80), style=wx.CLIP_CHILDREN | wx.SW_3D) self.window1 = wx.Window(id=wxID_FRAME1WINDOW1, name='window1', parent=self.panel1, pos=wx.Point(216, 120), size=wx.Size(96, 80), style=wx.SIMPLE_BORDER) self.window1.SetCursor(self.stockCursor1) self.dynamicSashWindow1 = wx.gizmos.DynamicSashWindow(id=wxID_FRAME1DYNAMICSASHWINDOW1, name='dynamicSashWindow1', parent=self.panel1, pos=wx.Point(216, 8), size=wx.Size(100, 100), style=wx.CLIP_CHILDREN) self.panel2 = wx.Panel(id=wxID_FRAME1PANEL2, name='panel2', parent=self.notebook1, pos=wx.Point(0, 0), size=wx.Size(500, 357), style=wx.TAB_TRAVERSAL) self.staticText1 = wx.StaticText(id=wxID_FRAME1STATICTEXT1, label='staticText1', name='staticText1', parent=self.panel2, pos=wx.Point(16, 16), size=wx.Size(52, 13), style=0) self.textCtrl1 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL1, name='textCtrl1', parent=self.panel2, pos=wx.Point(16, 40), size=wx.Size(100, 21), style=0, value='textCtrl1') self.comboBox1 = wx.ComboBox(choices=[], id=wxID_FRAME1COMBOBOX1, name='comboBox1', parent=self.panel2, pos=wx.Point(16, 72), size=wx.Size(125, 21), style=0, validator=wx.DefaultValidator, value='comboBox1') self.choice1 = wx.Choice(choices=[], id=wxID_FRAME1CHOICE1, name='choice1', parent=self.panel2, pos=wx.Point(16, 104), size=wx.Size(125, 21), style=0, validator=wx.DefaultValidator) self.checkBox1 = wx.CheckBox(id=wxID_FRAME1CHECKBOX1, label='checkBox1', name='checkBox1', parent=self.panel2, pos=wx.Point(16, 136), size=wx.Size(73, 13), style=0) self.radioButton1 = wx.RadioButton(id=wxID_FRAME1RADIOBUTTON1, label='radioButton1', name='radioButton1', parent=self.panel2, pos=wx.Point(16, 160), size=wx.Size(80, 20), style=0) self.slider1 = wx.Slider(id=wxID_FRAME1SLIDER1, maxValue=100, minValue=0, name='slider1', parent=self.panel2, point=wx.Point(152, 16), size=wx.Size(136, 20), style=wx.SL_HORIZONTAL, validator=wx.DefaultValidator, value=0) self.slider1.Bind(wx.EVT_SCROLL, self.OnSlider1Slider) self.scrollBar1 = wx.ScrollBar(id=wxID_FRAME1SCROLLBAR1, name='scrollBar1', parent=self.panel2, pos=wx.Point(16, 192), size=wx.Size(120, 14), style=wx.SB_HORIZONTAL) self.scrollBar1.SetThumbPosition(0) self.staticBitmap1 = wx.StaticBitmap(bitmap=Everything_img.getBoaBitmap(), id=wxID_FRAME1STATICBITMAP1, name='staticBitmap1', parent=self.panel2, pos=wx.Point(160, 136), size=wx.Size(16, 16), style=0) self.staticLine1 = wx.StaticLine(id=wxID_FRAME1STATICLINE1, name='staticLine1', parent=self.panel2, pos=wx.Point(15, 216), size=wx.Size(121, 2), style=0) self.staticBox1 = wx.StaticBox(id=wxID_FRAME1STATICBOX1, label='staticBox1', name='staticBox1', parent=self.panel2, pos=wx.Point(152, 120), size=wx.Size(144, 40), style=0) self.htmlWindow1 = wx.html.HtmlWindow(id=wxID_FRAME1HTMLWINDOW1, name='htmlWindow1', parent=self.panel2, pos=wx.Point(152, 168), size=wx.Size(144, 80), style=wx.html.HW_SCROLLBAR_AUTO) self.lEDNumberCtrl1 = wx.gizmos.LEDNumberCtrl(id=wxID_FRAME1LEDNUMBERCTRL1, parent=self.panel2, pos=wx.Point(152, 40), size=wx.Size(136, 40), style=wx.gizmos.LED_ALIGN_CENTER) self.lEDNumberCtrl1.SetValue('123') self.panel3 = wx.Panel(id=wxID_FRAME1PANEL3, name='panel3', parent=self.notebook1, pos=wx.Point(0, 0), size=wx.Size(500, 357), style=wx.TAB_TRAVERSAL) self.button1 = wx.Button(id=wxID_FRAME1BUTTON1, label='button1', name='button1', parent=self.panel3, pos=wx.Point(16, 16), size=wx.Size(75, 23), style=0) self.button1.Bind(wx.EVT_BUTTON, self.OnButton1Button, id=wxID_FRAME1BUTTON1) self.button1.Bind(wx.EVT_LEFT_UP, self.OnButton1LeftUp) self.bitmapButton1 = wx.BitmapButton(bitmap=Everything_img.getBoaBitmap(), id=wxID_FRAME1BITMAPBUTTON1, name='bitmapButton1', parent=self.panel3, pos=wx.Point(16, 56), size=wx.Size(72, 24), style=wx.BU_AUTODRAW, validator=wx.DefaultValidator) self.bitmapButton1.Bind(wx.EVT_BUTTON, self.OnBitmapbutton1Button, id=wxID_FRAME1BITMAPBUTTON1) self.spinButton1 = wx.SpinButton(id=wxID_FRAME1SPINBUTTON1, name='spinButton1', parent=self.panel3, pos=wx.Point(136, 96), size=wx.Size(32, 16), style=wx.SP_HORIZONTAL) self.spinButton1.Bind(wx.EVT_COMMAND_SCROLL, self.OnSpinbutton1CommandScroll, id=wxID_FRAME1SPINBUTTON1) self.toggleButton1 = wx.ToggleButton(id=wxID_FRAME1TOGGLEBUTTON1, label='toggleButton1', name='toggleButton1', parent=self.panel3, pos=wx.Point(104, 16), size=wx.Size(81, 23), style=0) self.toggleButton1.Bind(wx.EVT_BUTTON, self.OnTogglebutton1Button, id=wxID_FRAME1TOGGLEBUTTON1) self.genButton1 = wx.lib.buttons.GenButton(ID=wxID_FRAME1GENBUTTON1, label='genButton1', name='genButton1', parent=self.panel3, pos=wx.Point(16, 160), size=wx.Size(88, 37), style=0) self.genBitmapButton1 = wx.lib.buttons.GenBitmapButton(ID=wxID_FRAME1GENBITMAPBUTTON1, bitmap=Everything_img.getBoaBitmap(), name='genBitmapButton1', parent=self.panel3, pos=wx.Point(16, 192), size=wx.Size(59, 58), style=0) self.genToggleButton1 = wx.lib.buttons.GenToggleButton(ID=wxID_FRAME1GENTOGGLEBUTTON1, label='genToggleButton1', name='genToggleButton1', parent=self.panel3, pos=wx.Point(104, 160), size=wx.Size(113, 37), style=0) self.genBitmapToggleButton1 = wx.lib.buttons.GenBitmapToggleButton(ID=wxID_FRAME1GENBITMAPTOGGLEBUTTON1, bitmap=Everything_img.getBoaBitmap(), name='genBitmapToggleButton1', parent=self.panel3, pos=wx.Point(72, 192), size=wx.Size(59, 58), style=0) self.genBitmapTextToggleButton1 = wx.lib.buttons.GenBitmapTextToggleButton(ID=wxID_FRAME1GENBITMAPTEXTTOGGLEBUTTON1, bitmap=Everything_img.getBoaBitmap(), label='genBitmapTextToggleButton1', name='genBitmapTextToggleButton1', parent=self.panel3, pos=wx.Point(128, 192), size=wx.Size(88, 58), style=0) self.contextHelpButton1 = wx.ContextHelpButton(parent=self.panel3, pos=wx.Point(136, 64), size=wx.Size(20, 19), style=wx.BU_AUTODRAW) self.panel4 = wx.Panel(id=wxID_FRAME1PANEL4, name='panel4', parent=self.notebook1, pos=wx.Point(0, 0), size=wx.Size(500, 357), style=wx.TAB_TRAVERSAL) self.radioBox1 = wx.RadioBox(choices=['asd'], id=wxID_FRAME1RADIOBOX1, label='radioBox1', majorDimension=1, name='radioBox1', parent=self.panel4, point=wx.Point(16, 16), size=wx.DefaultSize, style=wx.RA_SPECIFY_COLS, validator=wx.DefaultValidator) self.listBox1 = wx.ListBox(choices=[], id=wxID_FRAME1LISTBOX1, name='listBox1', parent=self.panel4, pos=wx.Point(16, 64), size=wx.Size(115, 63), style=0, validator=wx.DefaultValidator) self.checkListBox1 = wx.CheckListBox(choices=[], id=wxID_FRAME1CHECKLISTBOX1, name='checkListBox1', parent=self.panel4, pos=wx.Point(16, 136), size=wx.Size(115, 63), style=0, validator=wx.DefaultValidator) self.grid1 = wx.grid.Grid(id=wxID_FRAME1GRID1, name='grid1', parent=self.panel4, pos=wx.Point(144, 16), size=wx.Size(128, 112), style=0) self.listCtrl1 = wx.ListCtrl(id=wxID_FRAME1LISTCTRL1, name='listCtrl1', parent=self.panel4, pos=wx.Point(280, 16), size=wx.Size(100, 30), style=wx.LC_ICON, validator=wx.DefaultValidator) self.treeCtrl1 = wx.TreeCtrl(id=wxID_FRAME1TREECTRL1, name='treeCtrl1', parent=self.panel4, pos=wx.Point(280, 56), size=wx.Size(100, 80), style=wx.TR_HAS_BUTTONS, validator=wx.DefaultValidator) self.editableListBox1 = wx.gizmos.EditableListBox(id=wxID_FRAME1EDITABLELISTBOX1, label='editableListBox1', name='editableListBox1', parent=self.panel4, pos=wx.Point(152, 152), size=wx.Size(200, 100)) self.panel5 = wx.Panel(id=wxID_FRAME1PANEL5, name='panel5', parent=self.notebook1, pos=wx.Point(0, 0), size=wx.Size(500, 357), style=wx.TAB_TRAVERSAL) self.panel5.SetAutoLayout(True) self.window2 = wx.Window(id=wxID_FRAME1WINDOW2, name='window2', parent=self.panel5, pos=wx.Point(446, 16), size=wx.Size(40, 40), style=0) self.window2.SetBackgroundColour(wx.Colour(128, 255, 0)) self.window2.SetConstraints(LayoutAnchors(self.window2, False, True, True, False)) self.window3 = wx.Window(id=wxID_FRAME1WINDOW3, name='window3', parent=self.panel5, pos=wx.Point(16, 299), size=wx.Size(40, 40), style=0) self.window3.SetBackgroundColour(wx.Colour(128, 255, 0)) self.window3.SetConstraints(LayoutAnchors(self.window3, True, False, False, True)) self.window4 = wx.Window(id=wxID_FRAME1WINDOW4, name='window4', parent=self.panel5, pos=wx.Point(446, 299), size=wx.Size(40, 40), style=0) self.window4.SetBackgroundColour(wx.Colour(128, 255, 0)) self.window4.SetConstraints(LayoutAnchors(self.window4, False, False, True, True)) self.window5 = wx.Window(id=wxID_FRAME1WINDOW5, name='window5', parent=self.panel5, pos=wx.Point(16, 16), size=wx.Size(40, 40), style=0) self.window5.SetBackgroundColour(wx.Colour(128, 255, 0)) self.window5.SetConstraints(LayoutAnchors(self.window5, True, True, False, False)) self.window6 = wx.Window(id=wxID_FRAME1WINDOW6, name='window6', parent=self.panel5, pos=wx.Point(192, 16), size=wx.Size(126, 40), style=0) self.window6.SetBackgroundColour(wx.Colour(128, 255, 0)) self.window6.SetConstraints(LayoutAnchors(self.window6, True, True, True, False)) self.window7 = wx.Window(id=wxID_FRAME1WINDOW7, name='window7', parent=self.panel5, pos=wx.Point(446, 120), size=wx.Size(40, 115), style=0) self.window7.SetBackgroundColour(wx.Colour(128, 255, 0)) self.window7.SetConstraints(LayoutAnchors(self.window7, False, True, True, True)) self.window8 = wx.Window(id=wxID_FRAME1WINDOW8, name='window8', parent=self.panel5, pos=wx.Point(192, 299), size=wx.Size(126, 40), style=0) self.window8.SetBackgroundColour(wx.Colour(128, 255, 0)) self.window8.SetConstraints(LayoutAnchors(self.window8, True, False, True, True)) self.window9 = wx.Window(id=wxID_FRAME1WINDOW9, name='window9', parent=self.panel5, pos=wx.Point(16, 120), size=wx.Size(40, 115), style=0) self.window9.SetBackgroundColour(wx.Colour(128, 255, 0)) self.window9.SetConstraints(LayoutAnchors(self.window9, True, True, False, True)) self.window10 = wx.Window(id=wxID_FRAME1WINDOW10, name='window10', parent=self.panel5, pos=wx.Point(225, 147), size=wx.Size(40, 40), style=0) self.window10.SetBackgroundColour(wx.Colour(128, 255, 0)) self.window10.SetConstraints(LayoutAnchors(self.window10, False, False, False, False)) self.panel6 = wx.Panel(id=wxID_FRAME1PANEL6, name='panel6', parent=self.notebook1, pos=wx.Point(0, 0), size=wx.Size(500, 357), style=wx.TAB_TRAVERSAL) self.gauge1 = wx.Gauge(id=wxID_FRAME1GAUGE1, name='gauge1', parent=self.panel2, pos=wx.Point(152, 88), range=100, size=wx.Size(136, 16), style=wx.GA_SMOOTH | wx.GA_HORIZONTAL, validator=wx.DefaultValidator) self.gauge1.SetValue(50) self._init_coll_toolBar1_Tools(self.toolBar1) self._init_coll_notebook1_Pages(self.notebook1)
def __init__(self, parent, producer, window): """ Constructor @param parent: Reference to the parent wx.Window @param producer: Object receiving debug value and dispatching them to consumers @param window: Reference to Beremiz frame """ wx.Panel.__init__(self, parent, style=wx.SP_3D | wx.TAB_TRAVERSAL) # Save Reference to Beremiz frame self.ParentWindow = window # Variable storing flag indicating that variable displayed in table # received new value and then table need to be refreshed self.HasNewData = False # Variable storing flag indicating that refresh has been forced, and # that next time refresh is possible, it will be done even if no new # data is available self.Force = False self.SetBackgroundColour(wx.WHITE) main_sizer = wx.BoxSizer(wx.VERTICAL) self.Ticks = numpy.array([]) # List of tick received self.StartTick = 0 # Tick starting range of data displayed self.Fixed = False # Flag that range of data is fixed self.CursorTick = None # Tick of cursor for displaying values self.DraggingAxesPanel = None self.DraggingAxesBoundingBox = None self.DraggingAxesMousePos = None self.VetoScrollEvent = False self.VariableNameMask = [] self.GraphicPanels = [] graphics_button_sizer = wx.BoxSizer(wx.HORIZONTAL) main_sizer.AddSizer(graphics_button_sizer, border=5, flag=wx.GROW | wx.ALL) range_label = wx.StaticText(self, label=_('Range:')) graphics_button_sizer.AddWindow(range_label, flag=wx.ALIGN_CENTER_VERTICAL) self.CanvasRange = wx.ComboBox(self, style=wx.CB_READONLY) self.Bind(wx.EVT_COMBOBOX, self.OnRangeChanged, self.CanvasRange) graphics_button_sizer.AddWindow(self.CanvasRange, 1, border=5, flag=wx.LEFT | wx.ALIGN_CENTER_VERTICAL) self.CanvasRange.Clear() default_range_idx = 0 for idx, (text, value) in enumerate(RANGE_VALUES): self.CanvasRange.Append(text) if text == "1s": default_range_idx = idx self.CanvasRange.SetSelection(default_range_idx) for name, bitmap, help in [ ("CurrentButton", "current", _("Go to current value")), ("ExportGraphButton", "export_graph", _("Export graph values to clipboard"))]: button = wx.lib.buttons.GenBitmapButton( self, bitmap=GetBitmap(bitmap), size=wx.Size(28, 28), style=wx.NO_BORDER) button.SetToolTipString(help) setattr(self, name, button) self.Bind(wx.EVT_BUTTON, getattr(self, "On" + name), button) graphics_button_sizer.AddWindow(button, border=5, flag=wx.LEFT) self.CanvasPosition = wx.ScrollBar( self, size=wx.Size(0, 16), style=wx.SB_HORIZONTAL) self.CanvasPosition.Bind(wx.EVT_SCROLL_THUMBTRACK, self.OnPositionChanging, self.CanvasPosition) self.CanvasPosition.Bind(wx.EVT_SCROLL_LINEUP, self.OnPositionChanging, self.CanvasPosition) self.CanvasPosition.Bind(wx.EVT_SCROLL_LINEDOWN, self.OnPositionChanging, self.CanvasPosition) self.CanvasPosition.Bind(wx.EVT_SCROLL_PAGEUP, self.OnPositionChanging, self.CanvasPosition) self.CanvasPosition.Bind(wx.EVT_SCROLL_PAGEDOWN, self.OnPositionChanging, self.CanvasPosition) main_sizer.AddWindow(self.CanvasPosition, border=5, flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM) self.TickSizer = wx.BoxSizer(wx.HORIZONTAL) main_sizer.AddSizer(self.TickSizer, border=5, flag=wx.ALL | wx.GROW) self.TickLabel = wx.StaticText(self) self.TickSizer.AddWindow(self.TickLabel, border=5, flag=wx.RIGHT) self.MaskLabel = wx.TextCtrl(self, style=wx.TE_READONLY | wx.TE_CENTER | wx.NO_BORDER) self.TickSizer.AddWindow(self.MaskLabel, 1, border=5, flag=wx.RIGHT | wx.GROW) self.TickTimeLabel = wx.StaticText(self) self.TickSizer.AddWindow(self.TickTimeLabel) self.GraphicsWindow = wx.ScrolledWindow(self, style=wx.HSCROLL | wx.VSCROLL) self.GraphicsWindow.SetBackgroundColour(wx.WHITE) self.GraphicsWindow.SetDropTarget(DebugVariableDropTarget(self)) self.GraphicsWindow.Bind(wx.EVT_ERASE_BACKGROUND, self.OnGraphicsWindowEraseBackground) self.GraphicsWindow.Bind(wx.EVT_PAINT, self.OnGraphicsWindowPaint) self.GraphicsWindow.Bind(wx.EVT_SIZE, self.OnGraphicsWindowResize) self.GraphicsWindow.Bind(wx.EVT_MOUSEWHEEL, self.OnGraphicsWindowMouseWheel) main_sizer.AddWindow(self.GraphicsWindow, 1, flag=wx.GROW) self.GraphicsSizer = wx.BoxSizer(wx.VERTICAL) self.GraphicsWindow.SetSizer(self.GraphicsSizer) DebugViewer.__init__(self, producer, True) self.SetSizer(main_sizer) self.SetTickTime()
def __init__(self, parent, log, frame): wx.Panel.__init__(self, parent, -1) self.log = log self.frame = frame self.calend = wx.lib.calendar.Calendar(self, -1, (100, 50), (200, 180)) # start_month = 2 # preselect the date for calendar # start_year = 2001 start_month = self.calend.GetMonth() # get the current month & year start_year = self.calend.GetYear() # month list from DateTime module monthlist = GetMonthList() self.date = wx.ComboBox(self, -1, "", (100, 20), (90, -1), monthlist, wx.CB_DROPDOWN) self.date.SetSelection(start_month-1) self.Bind(wx.EVT_COMBOBOX, self.EvtComboBox, self.date) # set start month and year self.calend.SetMonth(start_month) self.calend.SetYear(start_year) # set attributes of calendar self.calend.hide_title = True self.calend.HideGrid() self.calend.SetWeekColor('WHITE', 'BLACK') # display routine self.ResetDisplay() # mouse click event self.Bind(wx.lib.calendar.EVT_CALENDAR, self.MouseClick, self.calend) # scroll bar for month selection self.scroll = wx.ScrollBar(self, -1, (100, 240), (200, 20), wx.SB_HORIZONTAL) self.scroll.SetScrollbar(start_month-1, 1, 12, 1, True) self.Bind(wx.EVT_COMMAND_SCROLL, self.Scroll, self.scroll) # spin control for year selection self.dtext = wx.TextCtrl(self, -1, str(start_year), (200, 20), (60, -1)) h = self.dtext.GetSize().height self.spin = wx.SpinButton(self, -1, (270, 20), (h*2, h)) self.spin.SetRange(1980, 2010) self.spin.SetValue(start_year) self.Bind(wx.EVT_SPIN, self.OnSpin, self.spin) # button for calendar dialog test self.but1 = wx.Button(self, -1, "Test Calendar Dialog", (380, 80)) self.Bind(wx.EVT_BUTTON, self.TestDlg, self.but1) # button for calendar window test self.but2 = wx.Button(self, -1, "Test Calendar Window", (380, 180)) self.Bind(wx.EVT_BUTTON, self.TestFrame, self.but2) self.but3 = wx.Button(self, -1, "Test Calendar Print", (380, 280)) self.Bind(wx.EVT_BUTTON, self.OnPreview, self.but3)
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 980,746 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) gSizer2 = wx.GridSizer( 0, 2, 0, 0 ) self.m_auinotebook4 = wx.aui.AuiNotebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.aui.AUI_NB_DEFAULT_STYLE ) self.m_panel75 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer3 = wx.BoxSizer( wx.VERTICAL ) self.m_button4 = wx.Button( self.m_panel75, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer3.Add( self.m_button4, 0, wx.ALL, 5 ) self.m_button5 = wx.Button( self.m_panel75, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer3.Add( self.m_button5, 0, wx.ALL, 5 ) self.m_button6 = wx.Button( self.m_panel75, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer3.Add( self.m_button6, 0, wx.ALL, 5 ) self.m_button7 = wx.Button( self.m_panel75, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer3.Add( self.m_button7, 0, wx.ALL, 5 ) m_comboBox3Choices = [ u"1", u"2", u"3", u"4", u"5", wx.EmptyString, wx.EmptyString ] self.m_comboBox3 = wx.ComboBox( self.m_panel75, wx.ID_ANY, u"4", wx.DefaultPosition, wx.DefaultSize, m_comboBox3Choices, 0 ) self.m_comboBox3.SetSelection( 3 ) bSizer3.Add( self.m_comboBox3, 0, wx.ALL, 5 ) self.m_bcomboBox1 = wx.combo.BitmapComboBox( self.m_panel75, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, "", 0 ) bSizer3.Add( self.m_bcomboBox1, 0, wx.ALL, 5 ) self.m_bcomboBox2 = wx.combo.BitmapComboBox( self.m_panel75, wx.ID_ANY, u"Combo!", wx.DefaultPosition, wx.DefaultSize, "", 0 ) bSizer3.Add( self.m_bcomboBox2, 0, wx.ALL, 5 ) self.m_checkBox1 = wx.CheckBox( self.m_panel75, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer3.Add( self.m_checkBox1, 0, wx.ALL, 5 ) m_choice1Choices = [] self.m_choice1 = wx.Choice( self.m_panel75, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice1Choices, 0 ) self.m_choice1.SetSelection( 0 ) bSizer3.Add( self.m_choice1, 0, wx.ALL, 5 ) m_listBox1Choices = [] self.m_listBox1 = wx.ListBox( self.m_panel75, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_listBox1Choices, 0 ) bSizer3.Add( self.m_listBox1, 0, wx.ALL, 5 ) self.m_panel75.SetSizer( bSizer3 ) self.m_panel75.Layout() bSizer3.Fit( self.m_panel75 ) self.m_auinotebook4.AddPage( self.m_panel75, u"a page", False, wx.NullBitmap ) self.m_panel76 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) fgSizer1 = wx.FlexGridSizer( 0, 2, 0, 0 ) fgSizer1.SetFlexibleDirection( wx.BOTH ) fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.m_checkBox2 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox2, 0, wx.ALL, 5 ) self.m_checkBox3 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox3, 0, wx.ALL, 5 ) self.m_checkBox4 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox4, 0, wx.ALL, 5 ) self.m_checkBox5 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox5, 0, wx.ALL, 5 ) self.m_checkBox6 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox6, 0, wx.ALL, 5 ) self.m_checkBox7 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox7, 0, wx.ALL, 5 ) self.m_checkBox8 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox8, 0, wx.ALL, 5 ) self.m_checkBox9 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox9, 0, wx.ALL, 5 ) self.m_checkBox10 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox10, 0, wx.ALL, 5 ) self.m_checkBox11 = wx.CheckBox( self.m_panel76, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer1.Add( self.m_checkBox11, 0, wx.ALL, 5 ) self.m_panel76.SetSizer( fgSizer1 ) self.m_panel76.Layout() fgSizer1.Fit( self.m_panel76 ) self.m_auinotebook4.AddPage( self.m_panel76, u"a page", False, wx.NullBitmap ) self.m_panel77 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) gSizer4 = wx.GridSizer( 0, 2, 0, 0 ) self.m_toggleBtn1 = wx.ToggleButton( self.m_panel77, wx.ID_ANY, u"Toggle me!", wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer4.Add( self.m_toggleBtn1, 0, wx.ALL, 5 ) self.m_searchCtrl1 = wx.SearchCtrl( self.m_panel77, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_searchCtrl1.ShowSearchButton( True ) self.m_searchCtrl1.ShowCancelButton( False ) gSizer4.Add( self.m_searchCtrl1, 0, wx.ALL, 5 ) self.m_colourPicker1 = wx.ColourPickerCtrl( self.m_panel77, wx.ID_ANY, wx.BLACK, wx.DefaultPosition, wx.DefaultSize, wx.CLRP_DEFAULT_STYLE ) gSizer4.Add( self.m_colourPicker1, 0, wx.ALL, 5 ) self.m_fontPicker1 = wx.FontPickerCtrl( self.m_panel77, wx.ID_ANY, wx.NullFont, wx.DefaultPosition, wx.DefaultSize, wx.FNTP_DEFAULT_STYLE ) self.m_fontPicker1.SetMaxPointSize( 100 ) gSizer4.Add( self.m_fontPicker1, 0, wx.ALL, 5 ) self.m_filePicker1 = wx.FilePickerCtrl( self.m_panel77, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.*", wx.DefaultPosition, wx.DefaultSize, wx.FLP_DEFAULT_STYLE ) gSizer4.Add( self.m_filePicker1, 0, wx.ALL, 5 ) self.m_dirPicker1 = wx.DirPickerCtrl( self.m_panel77, wx.ID_ANY, wx.EmptyString, u"Select a folder", wx.DefaultPosition, wx.DefaultSize, wx.DIRP_DEFAULT_STYLE ) gSizer4.Add( self.m_dirPicker1, 0, wx.ALL, 5 ) self.m_datePicker1 = wx.adv.DatePickerCtrl( self.m_panel77, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.DP_DEFAULT ) gSizer4.Add( self.m_datePicker1, 0, wx.ALL, 5 ) self.m_timePicker1 = wx.TimePickerCtrl( self.m_panel77, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.TP_DEFAULT ) gSizer4.Add( self.m_timePicker1, 0, wx.ALL, 5 ) self.m_calendar1 = wx.adv.CalendarCtrl( self.m_panel77, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.CAL_SHOW_HOLIDAYS ) gSizer4.Add( self.m_calendar1, 0, wx.ALL, 5 ) self.m_scrollBar1 = wx.ScrollBar( self.m_panel77, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_HORIZONTAL ) gSizer4.Add( self.m_scrollBar1, 0, wx.ALL, 5 ) self.m_panel77.SetSizer( gSizer4 ) self.m_panel77.Layout() gSizer4.Fit( self.m_panel77 ) self.m_auinotebook4.AddPage( self.m_panel77, u"a page", False, wx.NullBitmap ) self.m_panel79 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) fgSizer2 = wx.FlexGridSizer( 0, 2, 0, 0 ) fgSizer2.SetFlexibleDirection( wx.BOTH ) fgSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.m_checkBox13 = wx.CheckBox( self.m_panel79, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer2.Add( self.m_checkBox13, 0, wx.ALL, 5 ) m_radioBox3Choices = [ u"Radio Button" ] self.m_radioBox3 = wx.RadioBox( self.m_panel79, wx.ID_ANY, u"wxRadioBox", wx.DefaultPosition, wx.DefaultSize, m_radioBox3Choices, 1, wx.RA_SPECIFY_COLS ) self.m_radioBox3.SetSelection( 0 ) fgSizer2.Add( self.m_radioBox3, 0, wx.ALL, 5 ) self.m_radioBtn1 = wx.RadioButton( self.m_panel79, wx.ID_ANY, u"RadioBtn", wx.DefaultPosition, wx.DefaultSize, 0 ) fgSizer2.Add( self.m_radioBtn1, 0, wx.ALL, 5 ) self.m_staticline1 = wx.StaticLine( self.m_panel79, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ) fgSizer2.Add( self.m_staticline1, 0, wx.EXPAND |wx.ALL, 5 ) self.m_slider1 = wx.Slider( self.m_panel79, wx.ID_ANY, 5, 0, 100, wx.DefaultPosition, wx.DefaultSize, wx.SL_HORIZONTAL ) fgSizer2.Add( self.m_slider1, 0, wx.ALL, 5 ) self.m_gauge1 = wx.Gauge( self.m_panel79, wx.ID_ANY, 100, wx.DefaultPosition, wx.DefaultSize, wx.GA_HORIZONTAL ) self.m_gauge1.SetValue( 60 ) fgSizer2.Add( self.m_gauge1, 0, wx.ALL, 5 ) self.m_panel79.SetSizer( fgSizer2 ) self.m_panel79.Layout() fgSizer2.Fit( self.m_panel79 ) self.m_auinotebook4.AddPage( self.m_panel79, u"a page", False, wx.NullBitmap ) self.m_panel78 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_auinotebook4.AddPage( self.m_panel78, u"a page", False, wx.NullBitmap ) self.m_panel80 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_auinotebook4.AddPage( self.m_panel80, u"a page", True, wx.NullBitmap ) self.m_panel81 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_auinotebook4.AddPage( self.m_panel81, u"a page", False, wx.NullBitmap ) self.m_panel82 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_auinotebook4.AddPage( self.m_panel82, u"a page", False, wx.NullBitmap ) self.m_panel83 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_auinotebook4.AddPage( self.m_panel83, u"a page", False, wx.NullBitmap ) self.m_panel84 = wx.Panel( self.m_auinotebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_auinotebook4.AddPage( self.m_panel84, u"a page", False, wx.NullBitmap ) gSizer2.Add( self.m_auinotebook4, 1, wx.EXPAND |wx.ALL, 5 ) self.m_auinotebook9 = wx.aui.AuiNotebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.aui.AUI_NB_DEFAULT_STYLE ) self.m_panel86 = wx.Panel( self.m_auinotebook9, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) gSizer5 = wx.GridSizer( 0, 2, 0, 0 ) self.m_scrollBar2 = wx.ScrollBar( self.m_panel86, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SB_HORIZONTAL ) gSizer5.Add( self.m_scrollBar2, 0, wx.ALL, 5 ) self.m_spinCtrl1 = wx.SpinCtrl( self.m_panel86, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 10, 0 ) gSizer5.Add( self.m_spinCtrl1, 0, wx.ALL, 5 ) self.m_spinBtn1 = wx.SpinButton( self.m_panel86, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer5.Add( self.m_spinBtn1, 0, wx.ALL, 5 ) self.m_hyperlink1 = wx.adv.HyperlinkCtrl( self.m_panel86, wx.ID_ANY, u"wxFB Website", u"http://www.wxformbuilder.org", wx.DefaultPosition, wx.DefaultSize, wx.adv.HL_DEFAULT_STYLE ) gSizer5.Add( self.m_hyperlink1, 0, wx.ALL, 5 ) self.m_hyperlink2 = wx.adv.HyperlinkCtrl( self.m_panel86, wx.ID_ANY, u"wxFB Website", u"http://www.wxformbuilder.org", wx.DefaultPosition, wx.DefaultSize, wx.adv.HL_DEFAULT_STYLE ) gSizer5.Add( self.m_hyperlink2, 0, wx.ALL, 5 ) self.m_grid1 = wx.grid.Grid( self.m_panel86, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) # Grid self.m_grid1.CreateGrid( 5, 5 ) self.m_grid1.EnableEditing( True ) self.m_grid1.EnableGridLines( True ) self.m_grid1.EnableDragGridSize( False ) self.m_grid1.SetMargins( 0, 0 ) # Columns self.m_grid1.EnableDragColMove( False ) self.m_grid1.EnableDragColSize( True ) self.m_grid1.SetColLabelSize( 30 ) self.m_grid1.SetColLabelAlignment( wx.ALIGN_CENTER, wx.ALIGN_CENTER ) # Rows self.m_grid1.EnableDragRowSize( True ) self.m_grid1.SetRowLabelSize( 80 ) self.m_grid1.SetRowLabelAlignment( wx.ALIGN_CENTER, wx.ALIGN_CENTER ) # Label Appearance # Cell Defaults self.m_grid1.SetDefaultCellAlignment( wx.ALIGN_LEFT, wx.ALIGN_TOP ) gSizer5.Add( self.m_grid1, 0, wx.ALL, 5 ) gSizer5.Add( self.m_customControl1, 0, wx.ALL, 5 ) self.m_genericDirCtrl1 = wx.GenericDirCtrl( self.m_panel86, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.DIRCTRL_3D_INTERNAL|wx.SUNKEN_BORDER, wx.EmptyString, 0 ) self.m_genericDirCtrl1.ShowHidden( False ) gSizer5.Add( self.m_genericDirCtrl1, 1, wx.EXPAND |wx.ALL, 5 ) gSizer5.Add( self.m_customControl2, 0, wx.ALL, 5 ) self.m_panel86.SetSizer( gSizer5 ) self.m_panel86.Layout() gSizer5.Fit( self.m_panel86 ) self.m_auinotebook9.AddPage( self.m_panel86, u"a page", False, wx.NullBitmap ) self.m_panel87 = wx.Panel( self.m_auinotebook9, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.m_auinotebook9.AddPage( self.m_panel87, u"a page", True, wx.NullBitmap ) self.m_panel88 = wx.Panel( self.m_auinotebook9, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer4 = wx.BoxSizer( wx.VERTICAL ) self.m_grid2 = wx.grid.Grid( self.m_panel88, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) # Grid self.m_grid2.CreateGrid( 5, 5 ) self.m_grid2.EnableEditing( True ) self.m_grid2.EnableGridLines( True ) self.m_grid2.EnableDragGridSize( False ) self.m_grid2.SetMargins( 0, 0 ) # Columns self.m_grid2.EnableDragColMove( False ) self.m_grid2.EnableDragColSize( True ) self.m_grid2.SetColLabelSize( 30 ) self.m_grid2.SetColLabelAlignment( wx.ALIGN_CENTER, wx.ALIGN_CENTER ) # Rows self.m_grid2.EnableDragRowSize( True ) self.m_grid2.SetRowLabelSize( 80 ) self.m_grid2.SetRowLabelAlignment( wx.ALIGN_CENTER, wx.ALIGN_CENTER ) # Label Appearance # Cell Defaults self.m_grid2.SetDefaultCellAlignment( wx.ALIGN_LEFT, wx.ALIGN_TOP ) bSizer4.Add( self.m_grid2, 0, wx.ALL, 5 ) m_checkList2Choices = [] self.m_checkList2 = wx.CheckListBox( self.m_panel88, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_checkList2Choices, 0 ) bSizer4.Add( self.m_checkList2, 0, wx.ALL, 5 ) self.m_treeListCtrl1 = wx.dataview.TreeListCtrl( self.m_panel88, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.dataview.TL_DEFAULT_STYLE ) self.m_treeListCtrl1.AppendColumn( u"Column1", wx.COL_WIDTH_DEFAULT, wx.ALIGN_LEFT, wx.COL_RESIZABLE ) bSizer4.Add( self.m_treeListCtrl1, 1, wx.EXPAND |wx.ALL, 5 ) self.m_dataViewListCtrl1 = wx.dataview.DataViewListCtrl( self.m_panel88, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer4.Add( self.m_dataViewListCtrl1, 0, wx.ALL, 5 ) self.m_panel88.SetSizer( bSizer4 ) self.m_panel88.Layout() bSizer4.Fit( self.m_panel88 ) self.m_auinotebook9.AddPage( self.m_panel88, u"a page", False, wx.NullBitmap ) gSizer2.Add( self.m_auinotebook9, 1, wx.EXPAND |wx.ALL, 5 ) self.SetSizer( gSizer2 ) self.Layout() self.m_timer1 = wx.Timer() self.m_timer1.SetOwner( self, wx.ID_ANY ) self.m_menu11 = wx.Menu() self.Bind( wx.EVT_RIGHT_DOWN, self.MyFrame1OnContextMenu ) self.m_statusBar2 = self.CreateStatusBar( 1, wx.STB_SIZEGRIP, wx.ID_ANY ) self.m_menubar2 = wx.MenuBar( 0 ) self.m_menu9 = wx.Menu() self.m_menu4 = wx.Menu() self.m_menu9.AppendSubMenu( self.m_menu4, u"開啟" ) self.m_menu6 = wx.Menu() self.m_menu9.AppendSubMenu( self.m_menu6, u"結束" ) self.m_menu91 = wx.Menu() self.m_menuItem12 = wx.MenuItem( self.m_menu91, wx.ID_ANY, u"不給你按", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu91.Append( self.m_menuItem12 ) self.m_menuItem12.Enable( False ) self.m_menu9.AppendSubMenu( self.m_menu91, u"存檔" ) self.m_menubar2.Append( self.m_menu9, u"檔案" ) self.m_menu10 = wx.Menu() self.m_menubar2.Append( self.m_menu10, u"編輯" ) self.SetMenuBar( self.m_menubar2 ) self.m_toolBar3 = self.CreateToolBar( wx.TB_HORIZONTAL, wx.ID_ANY ) self.m_tool1 = self.m_toolBar3.AddLabelTool( wx.ID_ANY, u"tool", wx.NullBitmap, wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None ) self.m_toolBar3.Realize() self.Centre( wx.BOTH )