summaryrefslogtreecommitdiff
path: root/src/frontEnd/Workspace.py
blob: e52801e7c08cbf5a6be04cce9f2f2d6a29cb306b (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
#===============================================================================
#
#          FILE: Workspace.py
# 
#         USAGE: --- 
# 
#   DESCRIPTION: This define all configuration used in Application. 
# 
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: Fahim Khan, fahim.elex@gmail.com
#  ORGANIZATION: ecSim team at FOSSEE, IIT Bombay.
#       CREATED: Wednesday 05 February 2015 
#      REVISION:  ---
#===============================================================================
from PyQt4 import QtCore, QtGui
from configuration.Appconfig import Appconfig

import os


class Workspace(QtGui.QWidget):
    """
    Start workspace gui
    """
    def __init__(self):
        super(Workspace, self).__init__()
           
        self.obj = Appconfig()
        
        #Initializing Workspace directory for project
        self.initWorkspace()
        
            
    def initWorkspace(self):
        print "Calling workspace"
        self.note = QtGui.QTextEdit(self)
        self.workspace_label = QtGui.QLabel(self)
        self.worspace_loc = QtGui.QLineEdit(self)
            
        #Add text to text edit,label and line edit
        self.note.append(self.obj.workspace_text)
        self.workspace_label.setText("Workspace:")
        self.worspace_loc.setText(self.obj.home)
          
        #Buttons
        self.browsebtn = QtGui.QPushButton('Browse')
        self.browsebtn.clicked.connect(self.browseLocation)
        self.okbtn = QtGui.QPushButton('OK')
        self.okbtn.clicked.connect(self.createWorkspace)
        self.cancelbtn = QtGui.QPushButton('Cancel')
        self.cancelbtn.clicked.connect(self.defaultWorkspace)
            
        #Set Geometry
        #Need to set Geometry properly
        self.note.setGeometry(QtCore.QRect(0, 0, 400, 100))
        self.workspace_label.setGeometry(QtCore.QRect(10, 130, 81, 17))
        self.worspace_loc.setGeometry(QtCore.QRect(100, 150, 200, 100))
        self.browsebtn.setGeometry(QtCore.QRect(290, 120, 98, 27))
        self.okbtn.setGeometry(QtCore.QRect(290, 250, 98, 27))
        self.cancelbtn.setGeometry(QtCore.QRect(180, 250, 98, 27))
              
            
            
        #Layout
        self.hbox = QtGui.QHBoxLayout()
        self.hbox.addWidget(self.note)
            
        self.grid = QtGui.QGridLayout()
        self.grid.addChildLayout(self.hbox)
         
            
        self.grid.addWidget(self.workspace_label,2,0)
        self.grid.addWidget(self.worspace_loc, 2, 1)
        self.grid.addWidget(self.browsebtn, 2, 2)
        self.grid.addWidget(self.okbtn,3,2)
        self.grid.addWidget(self.cancelbtn,3,3)
        self.setLayout(self.grid)
                     
        self.setGeometry(QtCore.QRect(200,200,400,400))
        self.setWindowTitle("Workspace Launcher")
        #self.setWindowIcon(QtGui.QIcon('logo.png'))
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
        self.note.setReadOnly(True)
        self.show()
        
           
    def defaultWorkspace(self):
        print "Default location selected" 
        self.close()
               
    def createWorkspace(self):
        print "Create workspace is called"
        self.create_workspace = str(self.worspace_loc.text())
               
        if  os.path.isdir(self.create_workspace):
            print "Already present"
            self.obj.default_workspace["workspace"] = self.create_workspace
        
        else:
            os.mkdir(self.create_workspace)
            self.obj.default_workspace["workspace"] = self.create_workspace
        self.close()
        
        
            
    def browseLocation(self):
        print "Browse Location called"
        self.workspace_directory = QtGui.QFileDialog.getExistingDirectory()
        print "Path file :", self.workspace_directory
        self.worspace_loc.setText(self.workspace_directory)