예제 #1
0
 def __init__(self, fmt, params):
     super(ParamDialog, self).__init__()
     self.label = QLabel("Please choose a valid parameter set:")
     self.selector = QComboBox()
     self.editor = ParamTab()
     self.selector.currentIndexChanged.connect(self.setParam)
     # setup parameter list:
     self.parameters = [newParam(fmt, i) for i in availParam(fmt)]
     self.parameters.extend([i for i in params if i["type"] == fmt])
     self.selector.addItems([i['name'] for i in self.parameters])
     # layout
     ok = QPushButton("OK")
     ok.clicked.connect(self.accept)
     ok.setDefault(True)
     cancel = QPushButton("Cancel")
     cancel.clicked.connect(self.reject)
     vbox = QVBoxLayout()
     vbox.addWidget(self.label)
     vbox.addWidget(self.selector)
     vbox.addWidget(self.editor)
     hbox = QHBoxLayout()
     hbox.addWidget(cancel)
     hbox.addWidget(ok)
     vbox.addLayout(hbox)
     self.setLayout(vbox)
예제 #2
0
 def initFileMenu(self):
     fMenu = self.menuBar().addMenu("&File")
     #
     newAction = QAction("&New Molecule", self)
     newAction.setShortcut("Ctrl+N")
     newAction.triggered.connect(self.newMol)
     fMenu.addAction(newAction)
     #
     nMenu = fMenu.addMenu("From existing Molecule:")
     copyStep = QAction("&Copy single Step", self)
     copyStep.triggered.connect(self.newMol)
     nMenu.addAction(copyStep)
     copyTraj = QAction("&Copy Trajectory", self)
     copyTraj.triggered.connect(self.newMol)
     nMenu.addAction(copyTraj)
     #
     loadAction = QAction("&Load Molecule(s)", self)
     loadAction.setShortcut("Ctrl+O")
     loadAction.triggered.connect(self.loadMol)
     fMenu.addAction(loadAction)
     #
     saveAction = QAction("&Save Molecule", self)
     saveAction.setShortcut("Ctrl+S")
     saveAction.triggered.connect(self.saveMol)
     fMenu.addAction(saveAction)
     #
     fMenu.addSeparator()
     pMenu = fMenu.addMenu("New &Parameter set")
     # check for available parameter sets and add
     for guiname, cliname in _guiOutNames.items():
         p = availParam(cliname)
         if not p:
             continue
         if len(p) == 1:
             action = QAction(guiname, self)
             action.triggered.connect(self.newParam)
             pMenu.addAction(action)
         else:
             p2Menu = pMenu.addMenu(guiname)
             for i in p:
                 action = QAction(i, p2Menu)
                 action.triggered.connect(self.newParam)
                 p2Menu.addAction(action)
     #
     saveParamAction = QAction("Save Parameter set", self)
     saveParamAction.triggered.connect(self.saveParam)
     fMenu.addAction(saveParamAction)
     # Screenshot
     fMenu.addSeparator()
     scrotAction = QAction("&Screenshot", self)
     scrotAction.setShortcut("Ctrl+P")
     scrotAction.triggered.connect(self.savePic)
     fMenu.addAction(scrotAction)
     #
     fMenu.addSeparator()
     exitAction = QAction("&Exit", self)
     exitAction.setShortcut("Ctrl+Q")
     exitAction.triggered.connect(self.close)
     fMenu.addAction(exitAction)