summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/configuration/Appconfig.py3
-rwxr-xr-xsrc/frontEnd/Application.py7
-rw-r--r--src/frontEnd/DockArea.py23
-rw-r--r--src/frontEnd/ProjectExplorer.py7
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)