Beispiel #1
0
 def __init__(self, myVrp, mySolutions, myStyleSheet,
              redirect=False, filename=None):
     wx.App.__init__(self, redirect, filename)
     # initialize gui config
     guiconfig.initializeConfig()
     # load the favourite layout if there exists one
     layout = guiconfig.loadFavouriteLayout()
     # list of all open frames (useful for saving layout)
     self.openFrames = []
     # all events that can reach this object
     self.Bind(events.EVT_QUIT, lambda(e): self.quitApp())
     self.Bind(events.EVT_SAVE_SESSION, lambda e: self.saveSession())
     self.Bind(events.EVT_LOAD_SESSION, lambda e: self.loadSession())
     self.Bind(events.EVT_LOAD_DATA, self.loadDataEventHandler)
     self.Bind(events.EVT_REGISTER_FRAME, self.registerFrame)
     self.Bind(events.EVT_UNREGISTER_FRAME, self.unregisterFrame)
     self.Bind(events.EVT_PREFERENCES, setPreferences)
     # if a previous session must be restored, restore it
     if myVrp is None and os.path.exists(guiconfig.lastSessionFileName):
         try:
             self.loadSession(guiconfig.lastSessionFileName)
             # if for some reason (e.g. tampered or incorrect session file)
             # loading the session did not lead to opening windows, consider
             # it a failure
             if len(self.openFrames) > 0:
                 return
         except Exception as e:
             print 'Unable to load session:', \
                 guiconfig.lastSessionFileName
             print e #, dir(e)
     self.loadData(myVrp, mySolutions, myStyleSheet)
Beispiel #2
0
 def __init__(self,
              myVrp,
              mySolutions,
              myStyleSheet,
              redirect=False,
              filename=None):
     wx.App.__init__(self, redirect, filename)
     # initialize gui config
     guiconfig.initializeConfig()
     # load the favourite layout if there exists one
     layout = guiconfig.loadFavouriteLayout()
     # list of all open frames (useful for saving layout)
     self.openFrames = []
     # all events that can reach this object
     self.Bind(events.EVT_QUIT, lambda (e): self.quitApp())
     self.Bind(events.EVT_SAVE_SESSION, lambda e: self.saveSession())
     self.Bind(events.EVT_LOAD_SESSION, lambda e: self.loadSession())
     self.Bind(events.EVT_LOAD_DATA, self.loadDataEventHandler)
     self.Bind(events.EVT_REGISTER_FRAME, self.registerFrame)
     self.Bind(events.EVT_UNREGISTER_FRAME, self.unregisterFrame)
     self.Bind(events.EVT_PREFERENCES, setPreferences)
     # if a previous session must be restored, restore it
     if myVrp is None and os.path.exists(guiconfig.lastSessionFileName):
         try:
             self.loadSession(guiconfig.lastSessionFileName)
             # if for some reason (e.g. tampered or incorrect session file)
             # loading the session did not lead to opening windows, consider
             # it a failure
             if len(self.openFrames) > 0:
                 return
         except Exception as e:
             print 'Unable to load session:', \
                 guiconfig.lastSessionFileName
             print e  #, dir(e)
     self.loadData(myVrp, mySolutions, myStyleSheet)
 def loadLayout(self, event):
     if event.GetId() == 303:
         wildcard='Layout files (*.layout)|*.layout'
         fileSelector = wx.FileDialog(self,
                                      message="Save layout",
                                      defaultDir=guiconfig.guiConfigDir,
                                      style=wx.FD_OPEN,
                                      wildcard=wildcard)
         if fileSelector.ShowModal() == wx.ID_OK:
             files = fileSelector.GetPaths()
             fName = str(files[0])
             self.setLayout(guiconfig.loadLayout(fName))
         fileSelector.Destroy()
     elif event.GetId() == 304:
         self.setLayout(guiconfig.loadFavouriteLayout())
Beispiel #4
0
 def loadLayout(self, event):
     if event.GetId() == 303:
         wildcard = 'Layout files (*.layout)|*.layout'
         fileSelector = wx.FileDialog(self,
                                      message="Save layout",
                                      defaultDir=guiconfig.guiConfigDir,
                                      style=wx.FD_OPEN,
                                      wildcard=wildcard)
         if fileSelector.ShowModal() == wx.ID_OK:
             files = fileSelector.GetPaths()
             fName = str(files[0])
             self.setLayout(guiconfig.loadLayout(fName))
         fileSelector.Destroy()
     elif event.GetId() == 304:
         self.setLayout(guiconfig.loadFavouriteLayout())
Beispiel #5
0
 def loadData(self, myVrp, mySolutions, myStyleSheet, position=None):
     if myVrp is None:
         myVrp, mySolutions, myStyleSheet = loadDataInteractively()
     # TODO: check that modifying the stylesheet won't modify styles on
     # other already open frames
     # HINT: it will, a deep copy must be performed
     # open the data in a new frame
     if not myVrp is None:
         # load the favourite layout if there exists one
         layout = guiconfig.loadFavouriteLayout()
         # open the data in a new window
         frame = vrpframe.VrpFrame(None,
                                   myVrp, mySolutions, myStyleSheet, layout)
         if not position is None:
             frame.SetPosition(position)
     else:
         # case where nothing is opened
         # in case there is no open window: exit appplication
         if self.openFrames == []:
             self.quitApp()
Beispiel #6
0
 def loadData(self, myVrp, mySolutions, myStyleSheet, position=None):
     if myVrp is None:
         myVrp, mySolutions, myStyleSheet = loadDataInteractively()
     # TODO: check that modifying the stylesheet won't modify styles on
     # other already open frames
     # HINT: it will, a deep copy must be performed
     # open the data in a new frame
     if not myVrp is None:
         # load the favourite layout if there exists one
         layout = guiconfig.loadFavouriteLayout()
         # open the data in a new window
         frame = vrpframe.VrpFrame(None, myVrp, mySolutions, myStyleSheet,
                                   layout)
         if not position is None:
             frame.SetPosition(position)
     else:
         # case where nothing is opened
         # in case there is no open window: exit appplication
         if self.openFrames == []:
             self.quitApp()