From 66770d5e2c94cc299424daa67b8bfafcb4d9b8c1 Mon Sep 17 00:00:00 2001 From: athulappadan Date: Tue, 22 Mar 2016 14:13:43 +0530 Subject: Closes all the dock areas while exiting a project --- src/configuration/Appconfig.py | 3 ++- src/frontEnd/Application.py | 7 +++---- src/frontEnd/DockArea.py | 23 ++++++++++++++++------- src/frontEnd/ProjectExplorer.py | 7 +++++-- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/configuration/Appconfig.py b/src/configuration/Appconfig.py index 532091f7..3e4afad6 100644 --- a/src/configuration/Appconfig.py +++ b/src/configuration/Appconfig.py @@ -38,7 +38,8 @@ class Appconfig(QtGui.QWidget): #Workspace detail workspace_text = '''eSim stores your project in a folder called a eSim-Workspace. You can choose a different workspace folder to use for this session.''' procThread_list = [] - proc_dict={} + proc_dict={} #holds the pids of all external windows corresponds to the current project + dock_dict={} #holds all dockwidgets dictPath = os.path.join(os.path.expanduser("~"), ".projectExplorer.txt") noteArea = {} try: diff --git a/src/frontEnd/Application.py b/src/frontEnd/Application.py index a4d93127..a3438591 100755 --- a/src/frontEnd/Application.py +++ b/src/frontEnd/Application.py @@ -187,10 +187,9 @@ class Application(QtGui.QMainWindow): if current_project==None: pass else: - for pid in self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']]: - print pid - for pid in self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']]: - os.kill(pid, 9) + for pid in self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']]: + os.kill(pid, 9) + self.obj_Mainview.obj_dockarea.closeDock() self.obj_appconfig.current_project['ProjectName'] = None self.systemTrayIcon.showMessage('Close', 'Current project '+os.path.basename(current_project)+' is Closed.') diff --git a/src/frontEnd/DockArea.py b/src/frontEnd/DockArea.py index 65296525..dcb48704 100644 --- a/src/frontEnd/DockArea.py +++ b/src/frontEnd/DockArea.py @@ -90,7 +90,8 @@ class DockArea(QtGui.QMainWindow): ") """ dock['Tips-'+str(count)].raise_() - + + self.obj_appconfig.dock_dict[self.obj_appconfig.current_project['ProjectName']].append(dock['Tips-'+str(count)]) count = count + 1 def plottingEditor(self): @@ -124,7 +125,8 @@ class DockArea(QtGui.QMainWindow): dock['Plotting-'+str(count)].setVisible(True) dock['Plotting-'+str(count)].setFocus() dock['Plotting-'+str(count)].raise_() - + + self.obj_appconfig.dock_dict[self.obj_appconfig.current_project['ProjectName']].append(dock['Plotting-'+str(count)]) count = count + 1 def ngspiceEditor(self,projDir): @@ -160,7 +162,7 @@ class DockArea(QtGui.QMainWindow): dock['NgSpice-'+str(count)].setVisible(True) dock['NgSpice-'+str(count)].setFocus() dock['NgSpice-'+str(count)].raise_() - + self.obj_appconfig.dock_dict[self.obj_appconfig.current_project['ProjectName']].append(dock['NgSpice-'+str(count)]) count = count + 1 def modelEditor(self): @@ -187,7 +189,8 @@ class DockArea(QtGui.QMainWindow): dock['Model Editor-'+str(count)].setVisible(True) dock['Model Editor-'+str(count)].setFocus() dock['Model Editor-'+str(count)].raise_() - + + self.obj_appconfig.dock_dict[self.obj_appconfig.current_project['ProjectName']].append(dock['Model Editor-'+str(count)]) count = count + 1 def kicadToNgspiceEditor(self,clarg1,clarg2=None): @@ -210,7 +213,8 @@ class DockArea(QtGui.QMainWindow): dock['kicadToNgspice-'+str(count)].setVisible(True) dock['kicadToNgspice-'+str(count)].setFocus() dock['kicadToNgspice-'+str(count)].raise_() - + + self.obj_appconfig.dock_dict[self.obj_appconfig.current_project['ProjectName']].append(dock['kicadToNgspice-'+str(count)]) count = count + 1 @@ -238,7 +242,8 @@ class DockArea(QtGui.QMainWindow): dock['Subcircuit-'+str(count)].setVisible(True) dock['Subcircuit-'+str(count)].setFocus() dock['Subcircuit-'+str(count)].raise_() - + + self.obj_appconfig.dock_dict[self.obj_appconfig.current_project['ProjectName']].append(dock['Subcircuit-'+str(count)]) count = count + 1 def usermanual(self): @@ -266,4 +271,8 @@ class DockArea(QtGui.QMainWindow): dock['User Manual-'+str(count)].setFocus() dock['User Manual-'+str(count)].raise_() - count = count + 1 \ No newline at end of file + count = count + 1 + + def closeDock (self): + for dockwidget in self.obj_appconfig.dock_dict[self.obj_appconfig.current_project['ProjectName']]: + dockwidget.close() diff --git a/src/frontEnd/ProjectExplorer.py b/src/frontEnd/ProjectExplorer.py index e2091523..146b6d0f 100644 --- a/src/frontEnd/ProjectExplorer.py +++ b/src/frontEnd/ProjectExplorer.py @@ -47,7 +47,8 @@ class ProjectExplorer(QtGui.QWidget): parentnode = QtGui.QTreeWidgetItem(self.treewidget, [pathlist[-1], parents]) for files in children: childnode = QtGui.QTreeWidgetItem(parentnode, [files, os.path.join(parents,files)]) - self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']] = [] + self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']] = [] + self.oj_appconfig.dock_dict[self.obj_appconfig.current_project['ProjectName']] = [] def openMenu(self, position): @@ -103,7 +104,9 @@ class ProjectExplorer(QtGui.QWidget): self.textwindow.show() else: self.obj_appconfig.current_project["ProjectName"]= str(self.filePath) - self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']] = [] + self.obj_appconfig.proc_dict[self.obj_appconfig.current_project['ProjectName']] = [] + if self.obj_appconfig.current_project['ProjectName'] not in self.obj_appconfig.dock_dict: + self.obj_appconfig.dock_dict[self.obj_appconfig.current_project['ProjectName']] = [] def enable_save(self): self.save.setEnabled(True) -- cgit