summaryrefslogtreecommitdiff
path: root/src/frontEnd/DockArea.py
blob: 875b3b90a65972c99c8416d04f4a3a9a3c38194a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
from PyQt4 import QtGui,QtCore
from ngspiceSimulation.pythonPlotting import plotWindow
from ngspiceSimulation.NgspiceWidget import NgspiceWidget
from configuration.Appconfig import Appconfig
import os

dockList = ['Welcome']
count = 1 
dock = {}

class DockArea(QtGui.QMainWindow):
    
    
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.obj_appconfig = Appconfig()
                
        for dockName in dockList:
            dock[dockName] = QtGui.QDockWidget(dockName)
            dock[dockName].setWidget(QtGui.QTextEdit())
                        
            self.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock[dockName])  
                    
        #self.tabifyDockWidget(dock['Notes'],dock['Blank'])
        self.show()
    
             
    def createTestEditor(self):
        """
        This function create widget for Library Editor
        """
        global count
                
        self.testWidget = QtGui.QWidget()
        self.testArea = QtGui.QTextEdit()
        self.testLayout = QtGui.QVBoxLayout()
        self.testLayout.addWidget(self.testArea)
        
        #Adding to main Layout
        self.testWidget.setLayout(self.testLayout)
        dock['Tips-'+str(count)] = QtGui.QDockWidget('Tips-'+str(count))
        dock['Tips-'+str(count)].setWidget(self.testWidget)
        self.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock['Tips-'+str(count)])  
        self.tabifyDockWidget(dock['Welcome'],dock['Tips-'+str(count)])
        
        dock['Tips-'+str(count)].setVisible(True)
        dock['Tips-'+str(count)].setFocus()
        dock['Tips-'+str(count)].raise_()
        
        count = count + 1
        
    def plottingEditor(self):
        """
        This function create widget for interactive PythonPlotting
        """
        self.projDir = self.obj_appconfig.current_project["ProjectName"]
        self.projName = os.path.basename(self.projDir)
        #self.project = os.path.join(self.projDir,self.projName)
        
        
        global count
        self.plottingWidget = QtGui.QWidget()
                
        self.plottingLayout = QtGui.QVBoxLayout()
        self.plottingLayout.addWidget(plotWindow(self.projDir,self.projName))
        
        #Adding to main Layout
        self.plottingWidget.setLayout(self.plottingLayout)
        dock['Plotting-'+str(count)] = QtGui.QDockWidget('Plotting-'+str(count))
        dock['Plotting-'+str(count)].setWidget(self.plottingWidget)
        self.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock['Plotting-'+str(count)])  
        self.tabifyDockWidget(dock['Welcome'],dock['Plotting-'+str(count)])
        
        dock['Plotting-'+str(count)].setVisible(True)
        dock['Plotting-'+str(count)].setFocus()
        dock['Plotting-'+str(count)].raise_()
        
        count = count + 1
        
    def ngspiceEditor(self,projDir):
        """
        This function creates widget for NgSpice window
        """
        
        
        self.projDir = projDir
        self.projName = os.path.basename(self.projDir)
        self.ngspiceNetlist = os.path.join(self.projDir,self.projName+".cir.out")
        
               
        
        global count
        self.ngspiceWidget = QtGui.QWidget()
                
        self.ngspiceLayout = QtGui.QVBoxLayout()
        self.ngspiceLayout.addWidget(NgspiceWidget(self.ngspiceNetlist))
        
        #Adding to main Layout
        self.ngspiceWidget.setLayout(self.ngspiceLayout)
        dock['NgSpice-'+str(count)] = QtGui.QDockWidget('NgSpice-'+str(count))
        dock['NgSpice-'+str(count)].setWidget(self.ngspiceWidget)
        self.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock['NgSpice-'+str(count)])  
        self.tabifyDockWidget(dock['Welcome'],dock['NgSpice-'+str(count)])
        
        dock['NgSpice-'+str(count)].setVisible(True)
        dock['NgSpice-'+str(count)].setFocus()
        dock['NgSpice-'+str(count)].raise_()
        
        count = count + 1