def init_view(self): """Initilize the Frame.""" # frame from degras.frame.frame_agent import Frame frame = Frame() from degras.frame.menubar_agent import Menubar menubar = Menubar() frame.set_menubar( menubar.get_view() ) # initialize frame.init() frame.show() # append work flow canvas from degras.workflow.wfcanvas_agent import WorkFlowCanvas workflow_panel = WorkFlowCanvas(frame) # workflow_panel = wx.Panel(frame.get_view(), -1) frame.append_pane( workflow_panel, wx.aui.AuiPaneInfo().Name('WorkFlowCanvas'). Caption('Work Flow Canvas').Centre().Layer(0).CloseButton(False). MaximizeButton(True).MinSize(wx.Size(400,400)) ) # add system tree viewer systemview_panel = wx.Panel(frame.get_view(), -1) frame.append_pane( systemview_panel, wx.aui.AuiPaneInfo().Name('SystemView'). Caption('System').Right().Layer(0).CloseButton(True). MaximizeButton(True).MinSize(wx.Size(200,100)) ) # # add log viewer # panel = wx.Panel(frame.get_view(), -1) # frame.append_pane( # panel, wx.aui.AuiPaneInfo().Name('LogView'). # Caption('Log View').Bottom().Layer(0).CloseButton(False). # MaximizeButton(False).MinSize(wx.Size(200,100)) # ) # add job manager from degras.jobmanager.manager_agent import JobManager from degras.jobmanager.manager_model import ManagerModel jobmodel = ManagerModel() self.jobmanager = JobManager(frame, jobmodel) frame.append_pane( self.jobmanager.get_view(), wx.aui.AuiPaneInfo().Name('JobManager'). Caption('Job Manager').Bottom().Layer(0).CloseButton(True). MaximizeButton(True).MinSize(wx.Size(200,100)) ) # add Project viewer project_panel = wx.Panel(frame.get_view(), -1) frame.append_pane( project_panel, wx.aui.AuiPaneInfo().Name('ProjectView'). Caption('Project').Left().Layer(1).Position(0). CloseButton(True).MaximizeButton(True).MinSize(wx.Size(200,100)) ) # add property viewer property_panel = wx.Panel(frame.get_view(), -1) frame.append_pane( property_panel, wx.aui.AuiPaneInfo().Name('PropertyView'). Caption('Property').Left().Layer(1).Position(1). CloseButton(True).MaximizeButton(True).MinSize(wx.Size(200,100)) )
class Nagara(wx.App): def OnInit(self, configs={}): """Constructor.""" self.configs = configs if configs else {} # self.cur_prj = project.Project(root='', name='test project') # self.projects = [self.cur_prj] self.init_view() # self.init_project() # self.init_molview() # self.init_workflow() # self.initMenu() self.initEverythingElse() return True def init_view(self): """Initilize the Frame.""" # frame from degras.frame.frame_agent import Frame frame = Frame() from degras.frame.menubar_agent import Menubar menubar = Menubar() frame.set_menubar( menubar.get_view() ) # initialize frame.init() frame.show() # append work flow canvas from degras.workflow.wfcanvas_agent import WorkFlowCanvas workflow_panel = WorkFlowCanvas(frame) # workflow_panel = wx.Panel(frame.get_view(), -1) frame.append_pane( workflow_panel, wx.aui.AuiPaneInfo().Name('WorkFlowCanvas'). Caption('Work Flow Canvas').Centre().Layer(0).CloseButton(False). MaximizeButton(True).MinSize(wx.Size(400,400)) ) # add system tree viewer systemview_panel = wx.Panel(frame.get_view(), -1) frame.append_pane( systemview_panel, wx.aui.AuiPaneInfo().Name('SystemView'). Caption('System').Right().Layer(0).CloseButton(True). MaximizeButton(True).MinSize(wx.Size(200,100)) ) # # add log viewer # panel = wx.Panel(frame.get_view(), -1) # frame.append_pane( # panel, wx.aui.AuiPaneInfo().Name('LogView'). # Caption('Log View').Bottom().Layer(0).CloseButton(False). # MaximizeButton(False).MinSize(wx.Size(200,100)) # ) # add job manager from degras.jobmanager.manager_agent import JobManager from degras.jobmanager.manager_model import ManagerModel jobmodel = ManagerModel() self.jobmanager = JobManager(frame, jobmodel) frame.append_pane( self.jobmanager.get_view(), wx.aui.AuiPaneInfo().Name('JobManager'). Caption('Job Manager').Bottom().Layer(0).CloseButton(True). MaximizeButton(True).MinSize(wx.Size(200,100)) ) # add Project viewer project_panel = wx.Panel(frame.get_view(), -1) frame.append_pane( project_panel, wx.aui.AuiPaneInfo().Name('ProjectView'). Caption('Project').Left().Layer(1).Position(0). CloseButton(True).MaximizeButton(True).MinSize(wx.Size(200,100)) ) # add property viewer property_panel = wx.Panel(frame.get_view(), -1) frame.append_pane( property_panel, wx.aui.AuiPaneInfo().Name('PropertyView'). Caption('Property').Left().Layer(1).Position(1). CloseButton(True).MaximizeButton(True).MinSize(wx.Size(200,100)) ) # self.test_jobmodel() def test_jobmodel(self): # create Job from degras.jobmanager.tests.jobmock import JobMock job = JobMock(1) self.jobmanager.append_job(job) #print model.get_job_dict() #managermodel.append(job) #managermodel.append(job) #managermodel.append(job) #managermodel.append(job) #managermodel.append(job) import time def append_job(interval, job): time.sleep(interval) self.jobmanager.append_job(job) time.sleep(interval) self.jobmanager.append_job(job) import threading t = threading.Thread(name=None, target=append_job, args=[3, job]) t.start() # toolbar def init_projectmanager(self): pass def appendProject(self, project): """Append the project settings to the project list.""" self.projects.append(project) self.cur_prj = project def getCurPrj(self): """Get the active project.""" return self.cur_prj def getProjects(self): """Get the projects.""" return self.projects def initEverythingElse(self): # sizer.Fit(self.frame) # sizer.SetSizeHints(self.frame) pass def runGrid(self, evt): pass def onExit(self, evt): connectcluster.close() if self.setting.getRemoteInfo().isActive: try: self.closeRemote() except: pass self.frame.Close() quit() def onErrorHandler(self, message): self.printLog("In ErrorHandlerFunc()") dlg = wx.MessageDialog(None, message, caption="Error!", style=wx.OK|wx.ICON_ERROR|wx.STAY_ON_TOP, pos=wx.DefaultPosition) ret = dlg.ShowModal() def printLog(self, message): pass def getCurPrj(self): """Return a reference to the current project.""" return self.cur_prj def getConfigs(self): return self.configs # def onSettingRemote(self, evt): # self.remoteHost = # self.remoteUser = # def initFrame(self): # pass def initMenu(self): pass