| 5 | from imagepy import IPy |
| 6 | |
| 7 | class WorkFlowPanel ( wx.Panel ): |
| 8 | def __init__( self, parent ): |
| 9 | wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.TAB_TRAVERSAL ) |
| 10 | |
| 11 | |
| 12 | def load(self, cont, wf): |
| 13 | self.workflow, self.cont = wf, cont |
| 14 | sizer_scroll = wx.BoxSizer( wx.HORIZONTAL ) |
| 15 | |
| 16 | self.scr_workflow = wx.ScrolledCanvas( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize) |
| 17 | self.scr_workflow.SetScrollRate( 30, 0 ) |
| 18 | self.scr_workflow.ShowScrollbars(wx.SHOW_SB_NEVER, wx.SHOW_SB_NEVER) |
| 19 | self.scr_workflow.SetMinSize((600,-1)) |
| 20 | |
| 21 | sizer_chapter = wx.BoxSizer( wx.HORIZONTAL ) |
| 22 | self.spn_scroll = wx.SpinButton( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SP_HORIZONTAL ) |
| 23 | sizer_scroll.Add( self.spn_scroll, 0, wx.ALL|wx.EXPAND, 3 ) |
| 24 | |
| 25 | for chapter in wf['chapter']: |
| 26 | self.pan_chapter = wx.Panel( self.scr_workflow, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SIMPLE_BORDER|wx.TAB_TRAVERSAL ) |
| 27 | sizer_frame = wx.BoxSizer( wx.VERTICAL ) |
| 28 | |
| 29 | self.lab_chapter = wx.StaticText( self.pan_chapter, wx.ID_ANY, chapter['title'], wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTRE ) |
| 30 | self.lab_chapter.Wrap( -1 ) |
| 31 | self.lab_chapter.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INACTIVECAPTION ) ) |
| 32 | |
| 33 | sizer_frame.Add( self.lab_chapter, 0, wx.ALL|wx.EXPAND, 0 ) |
| 34 | |
| 35 | sizer_section = wx.BoxSizer( wx.HORIZONTAL ) |
| 36 | for section in chapter['section']: |
| 37 | btn = wx.Button( self.pan_chapter, wx.ID_ANY, section['title'], wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT ) |
| 38 | sizer_section.Add( btn, 0, wx.ALL, 3 ) |
| 39 | btn.Bind(wx.EVT_BUTTON, lambda e, x=section['title']: PluginsManager.get(x)().start()) |
| 40 | btn.Bind( wx.EVT_ENTER_WINDOW, lambda e, info=section['hint']: self.set_info(info)) |
| 41 | #self.m_button1.Bind( wx.EVT_LEAVE_WINDOW, self.on_out ) |
| 42 | |
| 43 | |
| 44 | sizer_frame.Add( sizer_section, 0, wx.EXPAND, 3 ) |
| 45 | |
| 46 | sizer_btn = wx.BoxSizer( wx.HORIZONTAL ) |
| 47 | |
| 48 | |
| 49 | sizer_btn.AddStretchSpacer(1) |
| 50 | |
| 51 | self.btn_snap = wx.StaticText( self.pan_chapter, wx.ID_ANY, u" Snap ", wx.DefaultPosition, wx.DefaultSize, 0|wx.SIMPLE_BORDER ) |
| 52 | self.btn_snap.Wrap( -1 ) |
| 53 | sizer_btn.Add( self.btn_snap, 0, wx.ALL, 3 ) |
| 54 | |
| 55 | self.btn_load = wx.StaticText( self.pan_chapter, wx.ID_ANY, u" Load ", wx.DefaultPosition, wx.DefaultSize, 0|wx.SIMPLE_BORDER ) |
| 56 | self.btn_load.Wrap( -1 ) |
| 57 | sizer_btn.Add( self.btn_load, 0, wx.ALL, 3 ) |
| 58 | |
| 59 | self.btn_step = wx.StaticText( self.pan_chapter, wx.ID_ANY, u" >> ", wx.DefaultPosition, wx.DefaultSize, 0|wx.SIMPLE_BORDER ) |
| 60 | self.btn_step.Wrap( -1 ) |
| 61 | sizer_btn.Add( self.btn_step, 0, wx.ALL, 3 ) |
| 62 | |
| 63 | |
| 64 | sizer_frame.Add( sizer_btn, 0, wx.EXPAND, 3 ) |
no outgoing calls
no test coverage detected