from sfa.util.version import version_core
from sface.version import version_dict
+from sface.sficreate import CreateWindow, RemoveWindow
+
static_labels = {
'slice' : [
"Sface : %s (%s)" % (version_dict()['code_tag'], version_dict()['code_url']),
glayout = QGridLayout()
row = 0
for (field,msg) in config.field_labels():
-
+
if static_labels.has_key(field):
labels=static_labels[field]
if not isinstance(labels,list): labels = [ labels, ]
row += 1
hlayout = QHBoxLayout()
- hlayout.addStretch()
- def conf_button (action,label):
+ def bottom_button (action,label,align):
button=QPushButton(label, self)
button.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
- hlayout.addWidget(button)
+ hlayout.addWidget(button,0,align)
hlayout.addSpacing(10)
self.connect(button, SIGNAL('clicked()'), getattr(self,action))
- conf_button ('load','Load Conf. Dir')
+ bottom_button ('load','Load Config Dir',Qt.AlignLeft)
# the config dir edit dialog
- edit=QLineEdit (config.get_dirname(),self)
- self.store_local('config_dirname',edit)
- edit.setAttribute(Qt.WA_MacShowFocusRect, 0)
- edit.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Maximum)
- self.connect(edit,SIGNAL ('returnPressed()'), self.load)
- hlayout.addWidget (edit)
+ confdir=QLineEdit (config.get_dirname(),self)
+ self.store_local('config_dirname',confdir)
+ confdir.setAttribute(Qt.WA_MacShowFocusRect, 0)
+ confdir.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Maximum)
+ confdir.setStyleSheet("QLineEdit { width: 200px; }")
+ self.connect(confdir,SIGNAL ('returnPressed()'), self.load)
+ hlayout.addWidget (confdir,0,Qt.AlignLeft)
hlayout.addSpacing(10)
- conf_button ('apply','Apply Only'),
- conf_button ('save','Apply && Save')
+ hlayout.addStretch()
+ bottom_button ('deleteSlice', 'Delete Slice', Qt.AlignRight),
+ bottom_button ('createSlice', 'Create New Slice', Qt.AlignRight),
+ bottom_button ('apply','Apply Only',Qt.AlignRight),
+ bottom_button ('save','Apply && Save',Qt.AlignRight)
layout = QVBoxLayout()
layout.addLayout(glayout)
self.setLayout(layout)
self.inited=True
+ def createSlice(self):
+ dlg = CreateWindow(parent=self)
+ dlg.exec_()
+ if (dlg.sliceWasCreated):
+ self.slice.setText(dlg.getHrn())
+ self.save()
+
+ def deleteSlice(self):
+ dlg = RemoveWindow(hrn = config.getSlice(), parent=self)
+ dlg.exec_()
def apply(self):
- print 'applying'
for field in config.fields():
widget=getattr(self,field)
if isinstance(widget,QCheckBox):
# switch to another config dir
def load(self):
# obtain new dor somehow
-
+
edit=self.retrieve_local('config_dirname')
newdir=str(edit.text())
newdir+='/'