def __init__(self, world={}, parent=None): super(InputsModel, self).__init__(parent=parent) self.world = world layout = QtGui.QGridLayout(self) self.label = QtGui.QLabel("Inputs: ") self.combo_input = QtGui.QComboBox(self) self.combo_input.addItems(world.keys()) self.add_button = QtGui.QPushButton("Add Input") self.add_button.clicked.connect(self.add_input) self.rm_button = QtGui.QPushButton("Remove Input") self.rm_button.clicked.connect(self.rm_input) self.ok_button = QtGui.QPushButton("Ok") self.ok_button.clicked.connect(self.print_current) layout.addWidget(self.label, 0, 0) layout.addWidget(self.combo_input, 0, 1) # layout.addWidget(self.add_button, 0, 2) # layout.addWidget(self.rm_button, 0, 3) # layout.addWidget(self.ok_button, 10, 0) self.setLayout(layout)
def __init__(self, name, categories, dtypes, project=None, parent=None): super(ParadigmInfoSelector, self).__init__(parent=parent) self._valid = True self.project = project self.categories = categories self.dtypes = dtypes layout = QtGui.QFormLayout(self) self.l_categories = QtGui.QLabel( "Select in which category you want to add this file: ") self.l_dtypes = QtGui.QLabel("Data type") self.l_name = QtGui.QLabel("Name: ") self.l_notes = QtGui.QLabel("Note:") self.l_info = QtGui.QLabel("All is ok") # Category selector if len(self.categories) > 1: self.cb_categories = QtGui.QComboBox(self) self.cb_categories.addItems(categories) if 'model' in categories: self.cb_categories.setCurrentIndex(categories.index('model')) self.cb_categories.currentIndexChanged.connect(self.check) layout.addRow(self.l_categories, self.cb_categories) if len(self.dtypes) > 1: # Dtype selector self.cb_dtypes = QtGui.QComboBox(self) self.cb_dtypes.addItems(dtypes) self.cb_dtypes.setCurrentIndex(0) self.cb_dtypes.currentIndexChanged.connect(self.check_data) layout.addRow(self.l_dtypes, self.cb_dtypes) self.line = QtGui.QLineEdit(name) self.line.textChanged.connect(self.check) layout.addRow(self.l_name, self.line) layout.addRow(self.l_notes, self.l_info) self.setLayout(layout) self.check()
def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.setMinimumSize(500, 400) self.showMaximized() self.setWindowTitle("Second Nature") self.setWindowFlags(QtCore.Qt.Window) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.logger = sn_logger self.__applets = [] self.__extInitialised = False # -- main menu bar -- self._mainMenuBar = QtGui.QMenuBar(self) self._projectMenu = self._mainMenuBar.addMenu("&Project") self.setMenuBar(self._mainMenuBar) # -- project menu -- qpm = QActiveProjectManager() self._projectMenu.addAction(qpm.get_action_new()) self._projectMenu.addAction(qpm.get_action_open()) self._projectMenu.addAction(qpm.get_action_save()) self._projectMenu.addAction(qpm.get_action_close()) # -- a default central widget-- self.__centralStack = QtGui.QStackedWidget(self) # -- status bar -- self._statusBar = QtGui.QStatusBar(self) self._layoutMode = QtGui.QComboBox(self) self._statusBar.addPermanentWidget(self._layoutMode) self._layoutMode.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents) self.__currentLayout = None self._statusBar.setStyleSheet("QStatusBar{background-color: " +\ "qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, "+\ "stop:0 rgba(135,135,135,255), " +\ "stop:0.1 rgba(175,175,175,255), " +\ "stop:1 rgba(200, 200, 200, 255));}") # -- add all those guys to the main window (self) -- self.setMenuBar(self._mainMenuBar) self.setStatusBar(self._statusBar) self.setCentralWidget(self.__centralStack) self.__projMan = ProjectManager() if not self.__projMan.has_active_project(): self.__projMan.new_active_project("New Project") # -- connections -- self.__projMan.active_project_changed.connect(self.__on_active_project_set) AppletFactoryManager().applet_created.connect(self.add_applet) LayoutManager().item_list_changed.connect(self.__onLayoutListChanged) self._layoutMode.activated[int].connect(self.__onLayoutChosen) self._layoutMode.currentIndexChanged[int].connect(self.__onLayoutChosen)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self._layout = QtGui.QHBoxLayout(self) self.setContentsMargins(0, 0, 0, 0) self._layout.setContentsMargins(0, 0, 0, 0) self._cb_groupby = QtGui.QComboBox() self._cb_groupby.currentIndexChanged.connect( self._on_current_index_changed) self._layout.addWidget(self._cb_groupby)
def __init__(self): QtGui.QWidget.__init__(self) self.layout = QtGui.QVBoxLayout(self) self.view = ControlGraphicsView() self.cb_edit_mode = QtGui.QComboBox() for mode in [ 'User mode (change values)', 'Designer mode (place widgets)' ]: self.cb_edit_mode.addItem(mode) self.layout.addWidget(self.view) self.layout.addWidget(self.cb_edit_mode) self.cb_edit_mode.currentIndexChanged.connect(self._mode_changed)
def __init__(self, node, parent): QtGui.QDialog.__init__(self, parent) NodeWidget.__init__(self, node) self.gridlayout = QtGui.QGridLayout(self) self.gridlayout.setContentsMargins(3, 3, 3, 3) self.gridlayout.setSpacing(5) self.package_lineedit_label = QtGui.QLabel('1. Set the package', self) self.gridlayout.addWidget(self.package_lineedit_label, 0, 0) self.package_lineedit = QtGui.QLineEdit(self) self.gridlayout.addWidget(self.package_lineedit, 0, 1, 1, 3) self.connect(self.package_lineedit, QtCore.SIGNAL("textChanged()"), self.package_changed) self.datadir_lineedit = QtGui.QLineEdit(self) self.datadir_lineedit.setReadOnly(True) self.gridlayout.addWidget(self.datadir_lineedit, 1, 1, 1, 3) self.metadata_textedit = QtGui.QTextEdit('', self) self.metadata_textedit.setReadOnly(True) self.metadata_textedit.setTextInteractionFlags( QtCore.Qt.TextBrowserInteraction) self.gridlayout.addWidget(self.metadata_textedit, 2, 1, 1, 3) self.glob_lineedit_label = QtGui.QLabel( '2.Filter the data: (e.g., *.dat)', self) self.gridlayout.addWidget(self.glob_lineedit_label, 3, 0) self.glob_lineedit = QtGui.QLineEdit(self) self.gridlayout.addWidget(self.glob_lineedit, 3, 1, 1, 2) self.connect(self.glob_lineedit, QtCore.SIGNAL("textChanged()"), self.glob_changed) self.filenames_combobox_label = QtGui.QLabel( '3. Select the data file:', self) self.gridlayout.addWidget(self.filenames_combobox_label, 4, 0) self.filenames_combobox = QtGui.QComboBox(self) self.connect(self.filenames_combobox, QtCore.SIGNAL("activated()"), self.filename_changed) self.gridlayout.addWidget(self.filenames_combobox, 4, 1, 1, 3) self.setWindowTitle("SharedDatabrowser") self.setGeometry(250, 200, 350, 550) self.updating = False self.notify(node, ("input_modified", 0)) self.notify(node, ("caption_modified", node.get_caption()))
def __init__(self): QtGui.QWidget.__init__(self) self.colormap_bar = QColormapBar() self.colormap_bar.setMinimumHeight(20) self.colormap_bar.setMinimumWidth(120) self.colormap_name = "grey" # self.label = QtGui.QLabel(self) # self.label.setText("Colormap") self.combobox = QtGui.QComboBox(self) # self.setMinimumHeight(50) colormap_names = [] # colormaps_path = Path(shared_data(tissuelab, 'colormaps/grey.lut')).parent colormaps_path = shared_data(tissuelab) / 'colormaps' for colormap_file in colormaps_path.walkfiles('*.lut'): colormap_name = str(colormap_file.name[:-4]) colormap_names.append(colormap_name) colormap_names.sort() # map between string and combobox index self.map_index = {} for s in colormap_names: self.combobox.addItem(s) self.map_index[s] = self.combobox.count() - 1 self.combobox.setCurrentIndex(self.map_index[self.colormap_name]) # Fill background to avoid to see text or widget behind self.setAutoFillBackground(True) AbstractQtControlWidget.__init__(self) self.combobox.currentIndexChanged.connect(self.updateColormap) self.colormap_bar.valueChanged.connect(self.valueChanged) layout = QtGui.QHBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) # line = QtGui.QHBoxLayout(self) # line.setContentsMargins(0, 0, 0, 0) # line.addWidget(self.label) # line.addWidget(self.combobox) # layout.addLayout(line) layout.addWidget(self.combobox) layout.addWidget(self.colormap_bar) self.value_changed_signal = self.valueChanged
def __init__(self, lst, labels=None): QtGui.QWidget.__init__(self) if labels is None: labels = {} self._layout = QtGui.QVBoxLayout(self) self._cb = QtGui.QComboBox() self._lst = lst for i, mimetype in enumerate(self._lst): self._cb.addItem(labels.get(mimetype, mimetype)) self._layout.addWidget(QtGui.QLabel("Drop as ...")) self._layout.addWidget(self._cb)
def __init__(self, filename="", categories=None, dtypes=None, parent=None): super(SelectCategory, self).__init__(parent=parent) if categories is None: categories = Project.DEFAULT_CATEGORIES.keys() if dtypes is None: dtypes = [ plugin.default_name for plugin in iter_plugins('oalab.paradigm_applet') ] dtypes.append('Other') self.categories = categories layout = QtGui.QFormLayout(self) self.label = QtGui.QLabel( "Select in which category you want to add this file: ") self.l_dtypes = QtGui.QLabel("Data type") self.label2 = QtGui.QLabel("New filename: ") self.combo = QtGui.QComboBox(self) self.combo.addItems(categories) if 'model' in categories: self.combo.setCurrentIndex(categories.index('model')) self.combo_dtypes = QtGui.QComboBox(self) self.combo_dtypes.addItems(dtypes) self.combo_dtypes.setCurrentIndex(0) self.line = QtGui.QLineEdit(filename) layout.addRow(self.label, self.combo) layout.addRow(self.l_dtypes, self.combo_dtypes) layout.addRow(self.label2, self.line) self.setLayout(layout)
def __init__(self, parent=None): QtGui.QWidget.__init__(self) layout = QtGui.QHBoxLayout(self) self.palette_select = QtGui.QComboBox() for palname in palette_names: self.palette_select.addItem(palname) #axis self.axis = QtGui.QComboBox() self.axis.addItem("Z-axis") self.axis.addItem("Y-axis") self.axis.addItem("X-axis") #slider self.img_slider = QtGui.QSlider(QtCore.Qt.Horizontal) self.img_slider.setEnabled(False) layout.addWidget(self.palette_select) layout.addWidget(self.img_slider) layout.addWidget(self.axis) self._viewer = None
def __init__(self): QtGui.QWidget.__init__(self) layout = QtGui.QVBoxLayout(self) self.pb_select = QtGui.QPushButton('select') self.cb_category = QtGui.QComboBox() self.e_size = QtGui.QLineEdit("400x400") for category in ['oalab.lab', 'oalab.applet']: self.cb_category.addItem(category) self.pb_select.clicked.connect(self.select) layout.addWidget(self.cb_category) layout.addWidget(self.e_size) layout.addWidget(self.pb_select)
def __init__(self): QtGui.QWidget.__init__(self) layout = QtGui.QVBoxLayout(self) self.pb_select = QtGui.QPushButton('select') self.cb_category = QtGui.QComboBox() self.e_size = QtGui.QLineEdit("400x400") for manager, group in managers: self.cb_category.addItem(group, manager) self.pb_select.clicked.connect(self.select) layout.addWidget(self.cb_category) layout.addWidget(self.e_size) layout.addWidget(self.pb_select)
def __init__(self, parent=None): QtGui.QWidget.__init__(self) self._layout = QtGui.QVBoxLayout(self) p = QtGui.QSizePolicy self._cb_layout = QtGui.QComboBox() self._cb_layout.setSizePolicy(p(p.MinimumExpanding, p.Maximum)) self._stack = QtGui.QStackedWidget() self._cb_layout.activated.connect(self._stack.setCurrentIndex) self._layout.addWidget(self._cb_layout) self._layout.addWidget(self._stack) self._cb_layout.hide()
def __init__(self, parent=None): ManagerExplorer.__init__(self, parent) self._explorer.set_default_item_icon(DEFAULT_ICON) self.set_criteria(self.criteria) self._cb_group = QtGui.QComboBox() prefixes = ['openalea', 'oalab', 'vpltk'] for group in sorted(iter_groups()): match = False for prefix in prefixes: if group.startswith(prefix): match = True break if match: self._cb_group.addItem(group) self._cb_group.currentIndexChanged.connect(self._on_group_changed) self._layout.addWidget(self._cb_group, 0, 2) self._on_group_changed(0)
def __init__(self, parent=None, style=None): AbstractListener.__init__(self) QtGui.QWidget.__init__(self, parent=parent) self.world = None self.model = WorldModel() if style is None: style = self.DEFAULT_STYLE self.style = style self._manager = {} self._cb_world_object = QtGui.QComboBox() p = QtGui.QSizePolicy self._cb_world_object.setSizePolicy(p(p.Expanding, p.Maximum)) self._cb_world_object.currentIndexChanged.connect( self._selected_object_changed) self._current = None self._default_manager = self._create_manager() self.interpreter = get_interpreter() self.interpreter.locals['world_control'] = self actionClearWorld = QtGui.QAction( QtGui.QIcon(":/images/resources/plant.png"), "Clear World", self) actionClearWorld.triggered.connect(self.clear) self._actions = [["Project", "World", actionClearWorld, 0]] self._layout = QtGui.QVBoxLayout(self) self._layout.addWidget(self._cb_world_object) if self.style == self.StyleTableView: self._view = ControlManagerWidget(manager=self._default_manager) self._layout.addWidget(self._view) elif self.style == self.StylePanel: self._view = None self._set_manager(self._default_manager) else: raise NotImplementedError('style %s' % self.style)
def get_toolbar(self): """ create the toobar for this editor """ tb = QtGui.QToolBar(self) # load = self._create_action(description='Load dataset', function=self.load_dataset, dialog='open') # run = self._create_action(description='run rhizoscan', function=self.run_pipeline, keys=['Ctrl+R']) load = self._get_action(description='Load dataset', function=self.load_dataset, dialog='open') run = self._get_action(description='run rhizoscan', function=self.run_pipeline, keys=['Ctrl+R']) cbox = QtGui.QComboBox(parent=tb) self.dataset_cb = cbox tb.addAction(load) tb.addWidget(cbox) tb.addAction(run) return tb
def __init__(self, models, model_name="", parent=None): super(RenameModel, self).__init__(parent=parent) self.models = models layout = QtGui.QGridLayout(self) self.label = QtGui.QLabel("Select model you want to rename: ") self.label2 = QtGui.QLabel("Write new name: ") self.combo = QtGui.QComboBox(self) self.combo.addItems(self.models) if not model_name: model_name = self.models[0] self.combo.setCurrentIndex(self.models.index(model_name)) self.line = QtGui.QLineEdit(str(model_name)) # self.ok_button = QtGui.QPushButton("Ok") layout.addWidget(self.label, 0, 0) layout.addWidget(self.combo, 0, 1) layout.addWidget(self.label2, 1, 0) layout.addWidget(self.line, 1, 1) # layout.addWidget(self.ok_button, 2, 0, 2, 2) self.setLayout(layout)
def __init__(self, parent=None): QtGui.QWidget.__init__(self) self.setContentsMargins(0, 0, 0, 0) self._layout = QtGui.QHBoxLayout(self) self._layout.setContentsMargins(0, 0, 0, 0) self._cb_applets = QtGui.QComboBox() self._applet_label = [] # list of label sorted by name self._applet_plugins = {} # label -> plugin class self._cb_applets.addItem('Select applet') for plugin in plugins('oalab.applet'): self._applet_label.append(plugin.label) self._applet_plugins[plugin.label] = plugin self._applet_label.sort() for label in self._applet_label: plugin_class = self._applet_plugins[label] self._cb_applets.addItem(obj_icon(plugin_class), label) self._layout.addWidget(self._cb_applets) self.setCurrentApplet('') self._cb_applets.currentIndexChanged.connect(self._on_current_applet_changed)
def __init__(self, node, parent): """ @param node @param parent """ QtGui.QWidget.__init__(self, parent) NodeWidget.__init__(self, node) # -- imitate DefaultNodeWidget : refactor DefaultNodeWidget??? -- # this is because we reuse the same code from DefaultNodeWidget # to build the UI. self.widgets = [] self.empty = True # -- end of imitate DefaultNodeWidget -- # -- own custom layout self.setMinimumSize(100, 20) # self.setSizePolicy(QtGui.QSizePolicy.Preferred, # QtGui.QSizePolicy.Preferred) self._mainLayout = QtGui.QVBoxLayout(self) self._mainLayout.setSizeConstraint(QtGui.QLayout.SetMinimumSize) self._mainLayout.setContentsMargins(3, 3, 3, 3) self._mainLayout.setSpacing(2) # -- the method name selection group box -- # self.__methodGBox = QtGui.QGroupBox("Method to wrap") # self.__methodGBox.setSizePolicy(QtGui.QSizePolicy.Preferred, # QtGui.QSizePolicy.Preferred) self._mainLayout.addWidget(self.__methodGBox, 0, QtCore.Qt.AlignTop) methNameLayout = QtGui.QHBoxLayout() methNameLayout.setContentsMargins(3, 3, 3, 3) methNameLayout.setSpacing(2) methNameLabel = QtGui.QLabel("Method name:") self.__methodComboBox = QtGui.QComboBox() self.__lockChoice = QtGui.QPushButton() style = QtGui.QApplication.style() self.__lockChoice.setCheckable(True) self.__lockChoice.setIcon( style.standardIcon(QtGui.QStyle.SP_DialogApplyButton)) self.__lockChoice.toggled.connect(self._methodChosen) methNameLayout.addWidget(methNameLabel, 0, QtCore.Qt.AlignLeft) methNameLayout.addWidget(self.__methodComboBox) methNameLayout.addWidget(self.__lockChoice, 0, QtCore.Qt.AlignLeft) self.__methodGBox.setLayout(methNameLayout) # -- The method's inputs widget -- self.__vboxlayout = QtGui.QVBoxLayout() self._mainLayout.addLayout(self.__vboxlayout, 0) # -- map between string and combobox index -- self.map_index = {} # -- initialisation -- self.notify(node, ("input_modified", 0)) self.__isInit = True toggled = bool(self.node.internal_data["methodName"] and self.node.internal_data["methodSig"]) self.__lockChoice.setChecked(toggled) self.__isInit = False