def __init__(self, parent, title, graph): #super(ChildFrame, self).__init__(parent, title=title, size=graph['size']) super(ChildFrame, self).__init__(parent, title=title) self.graph = graph self.pen_color = wx.Colour('black') self.foreground_color = wx.Colour('gray') self.background_color = wx.Colour('white') self.dictionary = {} self.get_dict(self.graph, self.dictionary) icon = wx.Icon() if self.graph['type'] == 'onnx': icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'onnx.png'), wx.BITMAP_TYPE_ANY)) elif self.graph['type'] == 'tensorflow': icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'tf.png'), wx.BITMAP_TYPE_ANY)) elif self.graph['type'] == 'keras': icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'keras.png'), wx.BITMAP_TYPE_ANY)) elif self.graph['type'] == 'pytorch': icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'pytorch.png'), wx.BITMAP_TYPE_ANY)) else: icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'model.png'), wx.BITMAP_TYPE_ANY)) self.SetIcon(icon) self.canvas = wx.ScrolledCanvas(self, True) self.property = propgrid.PropertyGrid(self, size=(300, 500)) self.box = wx.BoxSizer(wx.HORIZONTAL) self.box.Add(self.canvas, wx.ID_ANY, flag=wx.EXPAND|wx.ALL|wx.LEFT, border=1) self.box.Add(self.property, 0, flag=wx.EXPAND|wx.RIGHT, border=1) self.SetSizer(self.box) self.dc = None self.canvas.Bind(wx.EVT_PAINT, self.on_paint) self.canvas.Bind(wx.EVT_LEFT_DOWN, self.on_left_down) self.thumbnail = wx.Panel(self.canvas, style=wx.SIMPLE_BORDER) self.thumbnail.Bind(wx.EVT_PAINT, self.on_paint_thumb) self.thumbnail.Bind(wx.EVT_LEFT_DOWN, self.on_key_down) self.thumb_dc = None #self.thumb_ratio = 20 self.thumb_ratio_x = 20 self.thumb_ratio_y = 20 self.thumb_max_len = 300 self.Maximize() self.Show(True) canvas_size = self.canvas.GetSize() self.x_units, self.y_units = math.ceil(canvas_size[0]/2), math.ceil(canvas_size[1]/2) self.GetParent().add_history([self.GetId(), self.graph['name'], self.graph['selected']])
def __init__(self, title): """Initialise widgets and layout.""" super().__init__(parent=None, title=title, size=(300, 200)) # Configure the file menu fileMenu = wx.Menu() menuBar = wx.MenuBar() fileMenu.Append(wx.ID_EXIT, "&Exit") menuBar.Append(fileMenu, "&File") self.SetMenuBar(menuBar) self.scrollable = wx.ScrolledCanvas(self, wx.ID_ANY) self.scrollable.SetSizeHints(200, 200) self.scrollable.ShowScrollbars(wx.SHOW_SB_ALWAYS, wx.SHOW_SB_DEFAULT) self.scrollable.SetScrollbars(20, 20, 15, 10) # Configure the widgets self.text = wx.StaticText(self, wx.ID_ANY, str( self.GetClientSize().GetHeight())) # self.text = wx.StaticText(self, wx.ID_ANY, "Some text") self.run_button = wx.Button(self, wx.ID_ANY, "Run") # Bind events to widgets self.Bind(wx.EVT_MENU, self.on_menu) self.run_button.Bind(wx.EVT_BUTTON, self.on_run_button) # Configure sizers for layout main_sizer = wx.BoxSizer(wx.HORIZONTAL) side_sizer = wx.BoxSizer(wx.VERTICAL) main_sizer.Add(side_sizer, 1, wx.ALL, 5) self.canvas = MyGLCanvas(self.scrollable, wx.ID_ANY, wx.DefaultPosition, wx.Size(300, 200)) self.canvas.SetSizeHints(500, 500) side_sizer.Add(self.text, 1, wx.TOP, 10) side_sizer.Add(self.run_button, 1, wx.ALL, 5) main_sizer.Add(self.scrollable, 1, wx.EXPAND+wx.TOP, 5) self.SetSizeHints(200, 200) self.SetSizer(main_sizer) self.Bind(wx.EVT_SIZE, self.on_resize) self.CreateStatusBar(3) self.SetStatusText("Ready", 0);
def InitUI(self): menubar = wx.MenuBar() fileMenu = wx.Menu() fileItem = fileMenu.Append(wx.ID_EXIT, 'Quit', 'Quit application') menubar.Append(fileMenu, '&File') self.SetMenuBar(menubar) self.Bind(wx.EVT_MENU, self.OnQuit, fileItem) self.Bind(wx.EVT_SIZE, self.on_resize) self.SetSize(NIMA_START_SIZE) self.SetTitle('NIMA Scorer') self.root_panel = wx.ScrolledCanvas(self) # self.root_panel = wx.ScrolledWindow(self) self.root_panel.SetBackgroundColour("grey") self.root_panel.SetAutoLayout(True) self.root_panel.SetScrollRate(10, 10) dt = NIMAFileDropTarget(self) self.root_panel.SetDropTarget(dt) # self.vbox = wx.BoxSizer(wx.VERTICAL) self.vbox = wx.GridSizer(3,0,0) self.root_panel.SetSizer(self.vbox)
def SetValue(self, cont): self.workflow, self.cont = parse(cont), cont sizer_scroll = wx.BoxSizer(wx.HORIZONTAL) self.scr_workflow = wx.ScrolledCanvas(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize) self.scr_workflow.SetScrollRate(30, 0) self.scr_workflow.ShowScrollbars(wx.SHOW_SB_NEVER, wx.SHOW_SB_NEVER) self.scr_workflow.SetMinSize((600, -1)) sizer_chapter = wx.BoxSizer(wx.HORIZONTAL) self.spn_scroll = wx.SpinButton(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SP_HORIZONTAL) sizer_scroll.Add(self.spn_scroll, 0, wx.ALL | wx.EXPAND, 3) for chapter in self.workflow['chapter']: self.pan_chapter = wx.Panel(self.scr_workflow, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SIMPLE_BORDER | wx.TAB_TRAVERSAL) sizer_frame = wx.BoxSizer(wx.VERTICAL) self.lab_chapter = wx.StaticText(self.pan_chapter, wx.ID_ANY, chapter['title'], wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTRE) self.lab_chapter.Wrap(-1) self.lab_chapter.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INACTIVECAPTION)) sizer_frame.Add(self.lab_chapter, 0, wx.ALL | wx.EXPAND, 0) sizer_section = wx.BoxSizer(wx.HORIZONTAL) for section in chapter['section']: btn = wx.Button(self.pan_chapter, wx.ID_ANY, section['title'], wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT) sizer_section.Add(btn, 0, wx.ALL, 3) btn.Bind(wx.EVT_BUTTON, lambda e, x=section['title']: self.f(x)) btn.Bind(wx.EVT_ENTER_WINDOW, lambda e, info=section['hint']: self.set_info(info)) #self.m_button1.Bind( wx.EVT_LEAVE_WINDOW, self.on_out ) sizer_frame.Add(sizer_section, 0, wx.EXPAND, 3) sizer_btn = wx.BoxSizer(wx.HORIZONTAL) sizer_btn.AddStretchSpacer(1) self.btn_snap = wx.StaticText(self.pan_chapter, wx.ID_ANY, u" Snap ", wx.DefaultPosition, wx.DefaultSize, 0 | wx.SIMPLE_BORDER) self.btn_snap.Wrap(-1) sizer_btn.Add(self.btn_snap, 0, wx.ALL, 3) self.btn_load = wx.StaticText(self.pan_chapter, wx.ID_ANY, u" Load ", wx.DefaultPosition, wx.DefaultSize, 0 | wx.SIMPLE_BORDER) self.btn_load.Wrap(-1) sizer_btn.Add(self.btn_load, 0, wx.ALL, 3) self.btn_step = wx.StaticText(self.pan_chapter, wx.ID_ANY, u" >> ", wx.DefaultPosition, wx.DefaultSize, 0 | wx.SIMPLE_BORDER) self.btn_step.Wrap(-1) sizer_btn.Add(self.btn_step, 0, wx.ALL, 3) sizer_frame.Add(sizer_btn, 0, wx.EXPAND, 3) self.pan_chapter.SetSizer(sizer_frame) self.pan_chapter.Layout() sizer_frame.Fit(self.pan_chapter) sizer_chapter.Add(self.pan_chapter, 0, wx.EXPAND | wx.ALL, 3) sizer_scroll.Add(self.scr_workflow, 1, wx.EXPAND | wx.ALL, 0) sizer_info = wx.BoxSizer(wx.VERTICAL) sizer_info.SetMinSize(wx.Size(260, -1)) self.btn_help = wx.StaticText(self, wx.ID_ANY, u" Click For Detail Document ", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTRE | wx.SIMPLE_BORDER) self.btn_help.Wrap(-1) self.btn_help.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INACTIVECAPTION)) sizer_info.Add(self.btn_help, 0, wx.ALL | wx.EXPAND, 0) self.txt_info = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_AUTO_URL | wx.TE_MULTILINE | wx.TE_READONLY) sizer_info.Add(self.txt_info, 1, wx.TOP | wx.EXPAND, 3) sizer_scroll.Add(sizer_info, 0, wx.EXPAND | wx.ALL, 3) self.scr_workflow.SetSizer(sizer_chapter) self.scr_workflow.Layout() self.SetSizer(sizer_scroll) #self.Fit() self.Layout() self.spn_scroll.Bind(wx.EVT_SPIN, self.on_spn) self.btn_help.Bind(wx.EVT_LEFT_DOWN, self.on_help)
def test_scrolcvsDefaultCtor(self): w = wx.ScrolledCanvas() w.Create(self.frame) self.commonBits(w)
def test_scrolcvsCtor(self): w = wx.ScrolledCanvas(self.frame) self.commonBits(w)