def __init__(self, banner_path=None, content=None): QtGui.QWidget.__init__(self) if banner_path is None: banner_path = shared_data(openalea.oalab, 'icons/logo/banner.png') self._lay = QtGui.QVBoxLayout(self) p = QtGui.QSizePolicy self._banner = QtGui.QLabel() self._banner.setStyleSheet("QLabel { background-color : #ffffff;}") banner = QtGui.QPixmap(banner_path) size = banner.size() self._banner.setPixmap(banner) self._content = QWebView() if hasattr(self._content, "setReadOnly"): self._content.setReadOnly(True) self._content.setHtml(content) self._footer = QtGui.QLabel() self._footer.setStyleSheet("QLabel { background-color : #459454;}") self._lay.addWidget(self._banner) self._lay.addWidget(self._content) self._lay.addWidget(self._footer) self._lay.setContentsMargins(0, 0, 0, 0) self._lay.setSpacing(0)
def __init__(self, parent=None, session=None): super(SearchWidget, self).__init__(parent) self._editor = parent self.hiden = True self.setMinimumSize(100, 100) self.setWindowTitle("Search") self.actionSearch = QtGui.QAction("Search Next", self) self.actionBackSearch = QtGui.QAction("Search Previous", self) self.actionReplace = QtGui.QAction("Replace All", self) self.lineEdit = QtGui.QLineEdit() self.lineEditReplace = QtGui.QLineEdit() self.textSearch = QtGui.QLabel("Search :") self.textReplaceBy = QtGui.QLabel("Replace by :") self.btnNext = QtGui.QToolButton() self.btnPrev = QtGui.QToolButton() self.btnReplace = QtGui.QToolButton() self.btnReplace.setMinimumSize(100, 40) self.btnNext.setMinimumSize(100, 40) self.btnPrev.setMinimumSize(100, 40) self.btnReplace.setDefaultAction(self.actionReplace) self.btnPrev.setDefaultAction(self.actionBackSearch) self.btnNext.setDefaultAction(self.actionSearch) self.caseBtn = QtGui.QCheckBox("Match Case") self.wholeBtn = QtGui.QCheckBox( "Whole Word (Disabled if case sensitive)") QtCore.QObject.connect(self.actionBackSearch, QtCore.SIGNAL('triggered(bool)'), self.searchBack) QtCore.QObject.connect(self.actionSearch, QtCore.SIGNAL('triggered(bool)'), self.search) QtCore.QObject.connect(self.actionReplace, QtCore.SIGNAL('triggered(bool)'), self.replaceall) QtCore.QObject.connect(self.lineEdit, QtCore.SIGNAL('returnPressed()'), self.search) layout = QtGui.QGridLayout() layout.setAlignment(QtCore.Qt.AlignLeft) layout.addWidget(self.textSearch, 0, 0) layout.addWidget(self.lineEdit, 0, 1, 1, 2) layout.addWidget(self.textReplaceBy, 1, 0) layout.addWidget(self.lineEditReplace, 1, 1, 1, 2) layout.addWidget(self.caseBtn, 2, 0) layout.addWidget(self.wholeBtn, 2, 1) layout.addWidget(self.btnReplace, 3, 0) layout.addWidget(self.btnPrev, 3, 1) layout.addWidget(self.btnNext, 3, 2) self.setLayout(layout)
def __init__(self, project, parent=None): super(Preview, self).__init__(parent) wanted_size = 50 self.project = project layout = QtGui.QGridLayout() icon_name = ":/images/resources/openalea_icon2.png" if len(project.icon): if project.icon[0] is not ":": # local icon icon_name = project.path / project.icon # else native icon from oalab.gui.resources image = QtGui.QImage(icon_name) label = QtGui.QLabel() label.setPixmap(QtGui.QPixmap(image)) size = image.size() if size.height() > wanted_size or size.width() > wanted_size: # Auto-rescale if image is bigger than wanted_size x wanted_size label.setScaledContents(True) label.setMinimumSize(wanted_size, wanted_size) label.setMaximumSize(wanted_size, wanted_size) layout.addWidget(label, 0, 0) layout.addWidget( QtGui.QLabel("<b><FONT SIZE = 40>" + pretty_print(project.name) + "<\b>"), 0, 1) i = 1 for label in Project.DEFAULT_METADATA: layout.addWidget(QtGui.QLabel(label), i, 0) # GBY Review: # QLabel expects a QString and QString is equivalent to unicode # so you must convert str to unicode to support non ASCII characters correctly (for example accent in author's name) # If project meta-info encoding is utf-8, you can write projet.author.decode('utf-8') # Just put accents or greek characters in test data to check such problems # GBY Review: if amount of metainfo grows, QTextEdit can be more convenient layout.addWidget( QtGui.QLabel(pretty_print(getattr(project, label))), i, 1) i += 1 layout.addWidget(QtGui.QLabel("Items:"), i, 0, 1, 2) model_list = QtGui.QTextEdit() layout.addWidget(model_list, i + 1, 0, 1, 2) model_list.setText(html_item_summary(project)) open_button = QtGui.QPushButton("Open this project") open_button.clicked.connect(self.on_project_opened) layout.addWidget(open_button, i + 2, 0) self.setLayout(layout)
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, proj=None, parent=None): super(CreateProjectWidget, self).__init__(parent) self.pm = ProjectManager() self.widget_metadata = QtGui.QWidget() self.widget_path = QtGui.QWidget() layout_path = QtGui.QFormLayout(self.widget_path) # Name and path if proj is None: date = strftime("%Y-%m-%d_%H-%M-%S", gmtime()) name = 'project_%s' % date if not proj else proj.name projectdir = self.pm.defaultdir else: name = proj.name projectdir = proj.path.parent self.editor_name = widget('IStr', name) self.editor_projectdir = widget('IDirStr', projectdir) layout_path.addRow(QtGui.QLabel('Name'), self.editor_name) layout_path.addRow(QtGui.QLabel('Project Directory'), self.editor_projectdir) layout_path.setLabelAlignment(QtCore.Qt.AlignLeft) # Metadata self._metadata = {} layout_metadata = QtGui.QFormLayout(self.widget_metadata) layout_metadata.setLabelAlignment(QtCore.Qt.AlignLeft) for cat, metadata in Project.DEFAULT_METADATA.iteritems(): label = QtGui.QLabel(metadata.name.capitalize().replace('_', ' ')) editor = widget(metadata.interface, metadata.value) editor.setSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.Preferred) self._metadata[cat] = editor layout_metadata.addRow(label, editor) if proj: for key in proj.DEFAULT_METADATA: self._metadata[key].setValue(proj.metadata[key]) title = "Edit '%s' metadata" % proj.name else: title = "New Project" layout = QtGui.QVBoxLayout(self) layout.addWidget(QtGui.QLabel(title)) layout.addWidget(self.widget_path) layout.addWidget(self.widget_metadata)
def __init__(self): QtGui.QWidget.__init__(self) layout = QtGui.QFormLayout(self) self.e_min = QtGui.QLineEdit('0') self.e_max = QtGui.QLineEdit('100') text = 'Can be an int (for instance -5) or empty (no limits)' self.e_min.setToolTip(text) self.e_min.setWhatsThis(text) self.e_max.setToolTip(text) self.e_max.setWhatsThis(text) layout.addRow(QtGui.QLabel('Minimum'), self.e_min) layout.addRow(QtGui.QLabel('Maximum'), self.e_max)
def build_gui(self): """ Build the GUI from the list of addons """ for addon in self.__exp._addons: name = addon.name() self.__addOns[name] = addon # -- addon gui layout -- box = QtGui.QGroupBox(name, self.__subWidget) subLayout = QtGui.QGridLayout() varDict = addon.variable_dict() varNames = sorted(varDict.iterkeys(), lambda x, y: -1 if x == "enabled" else cmp(x, y)) for key in varNames: t, v = varDict[key] w = self.make_widget(t, v, self) if not w: continue row = subLayout.rowCount() subLayout.addWidget(QtGui.QLabel(key), row, 0) subLayout.addWidget(w.inner, row, 1) path = name + "." + key self.__widmap[w] = path self.__widmap[path] = w addon.add_callback(key, self.__on_addon_changed) box.setLayout(subLayout) self.__layout.addWidget(box)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent=parent) self._current = None self._layout = QtGui.QGridLayout(self) p = QtGui.QSizePolicy self._explorer = ManagerExplorerView() self._explorer.item_changed.connect(self._on_item_changed) self._explorer.setSizePolicy(p(p.MinimumExpanding, p.MinimumExpanding)) self._filter_box = FilterBox() self._filter_box.filter_changed.connect(self._on_filter_changed) self._switcher = WidgetSwitcher(parent=self) self._switcher.setSizePolicy(p(p.MinimumExpanding, p.MinimumExpanding)) self._layout.addWidget(QtGui.QLabel("Group by ..."), 0, 0) self._layout.addWidget(self._filter_box, 0, 1) self._layout.addWidget(self._explorer, 1, 0, 1, 2) self._layout.addWidget(self._switcher, 1, 2) self.resize(800, 600)
def __init__(self, project, size=200, parent=None): super(ProjectPushButton, self).__init__(parent) wanted_size = size self.setMinimumSize(wanted_size, wanted_size) self.setMaximumSize(wanted_size, wanted_size) self.project = project layout = QtGui.QGridLayout(self) icon_path = project.icon_path icon_name = icon_path if icon_path else ":/images/resources/openalealogo.png" text = pretty_print(project.name) pixmap = QtGui.QPixmap(icon_name).scaled(size, size) label = QtGui.QLabel() label.setScaledContents(True) painter = QtGui.QPainter() painter.begin(pixmap) painter.setPen(QtCore.Qt.darkGreen) qsize = pixmap.size() ytext = 0.85 * qsize.height() painter.drawText(0, ytext, qsize.width(), 0.2 * qsize.height(), QtCore.Qt.AlignHCenter, text) painter.end() label.setPixmap(pixmap) layout.addWidget(label, 0, 0)
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 dockWidget(self, identifier, widget, name=None, allowed_area=None, position=None, alias=None): if name is None: name = identifier.capitalize() if allowed_area is None: allowed_area = QtCore.Qt.LeftDockWidgetArea | QtCore.Qt.RightDockWidgetArea | QtCore.Qt.TopDockWidgetArea | QtCore.Qt.BottomDockWidgetArea if position is None: position = QtCore.Qt.LeftDockWidgetArea if alias: dock_widget = QtGui.QDockWidget(alias, self) else: dock_widget = QtGui.QDockWidget(name, self) dock_widget.setObjectName("%sPanel" % identifier) dock_widget.setAllowedAreas(allowed_area) dock_widget.setWidget(widget) # Remove title bar dock_widget.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures) title_bar = QtGui.QLabel() dock_widget.setTitleBarWidget(title_bar) self.addDockWidget(position, dock_widget) return dock_widget
def thumbnail(self): """ Return a widget to visualize object """ self.widg = QtGui.QLabel() self.widg.setText(self.value) return self.widg
def __init__(self): QtGui.QWidget.__init__(self) self._show_toolbar = Control('toolbar', interface='IBool', value=False, label='Show Toolbar') self._show_title = Control('title', interface='IBool', value=False, label='Show Applet Title') self._props = QControlContainer() self._props.controlValueChanged.connect(self._on_prop_changed) self._props.add_control(self._show_toolbar) self._props.add_control(self._show_title) self._edit_mode = False self._applet = None self._layout = QtGui.QVBoxLayout(self) self._l_title = QtGui.QLabel('No applet selected') self._l_title.hide() self._menu = ContextualMenu() p = QtGui.QSizePolicy self._l_title.setSizePolicy(p(p.MinimumExpanding, p.Maximum)) self._l_title.setAlignment(QtCore.Qt.AlignVCenter) self._layout.setAlignment(self._l_title, QtCore.Qt.AlignVCenter) self._layout.addWidget(self._l_title) self._layout.addWidget(self._menu) self._create_actions() self.fine_tune()
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): QtGui.QWidget.__init__(self) layout = QtGui.QFormLayout(self) self.e_min = QtGui.QLineEdit('0.0') self.e_max = QtGui.QLineEdit('1.0') self.e_step = QtGui.QLineEdit('0.01') text = 'Can be a float (for instance -0.5) or empty (no limits)' self.e_min.setToolTip(text) self.e_min.setWhatsThis(text) self.e_max.setToolTip(text) self.e_max.setWhatsThis(text) text = 'Must be a positive float (for instance 0.1)' self.e_step.setToolTip(text) self.e_step.setWhatsThis(text) layout.addRow(QtGui.QLabel('Minimum'), self.e_min) layout.addRow(QtGui.QLabel('Maximum'), self.e_max) layout.addRow(QtGui.QLabel('Step'), self.e_step)
def delete(self): project, category, name = self.selected_data() if project: if category in project.categories: data = project.get(category, name) confirm = QtGui.QLabel('Remove %s ?' % data.path) dialog = ModalDialog(confirm) if dialog.exec_(): project.remove(category, data) data.path.remove() self.item_removed.emit(project, category, data)
def password(): _widget = QtGui.QWidget() _layout = QtGui.QVBoxLayout(_widget) _password = QtGui.QLineEdit() _password.setEchoMode(QtGui.QLineEdit.Password) _layout.addWidget(QtGui.QLabel("Password ?")) _layout.addWidget(_password) dialog = ModalDialog(_widget) if dialog.exec_(): return _password.text()
def raw_input_dialog(prompt=None, size=None): _widget = QtGui.QWidget() _layout = QtGui.QVBoxLayout(_widget) _line = QtGui.QLineEdit() _layout.addWidget(QtGui.QLabel("Input ?")) _layout.addWidget(_line) dialog = ModalDialog(_widget) if dialog.exec_() and _line.text(): return _line.text() else: return u'\n'
def delete(self): project, category, name = self.selected_data() if project: if category in project.DEFAULT_CATEGORIES: data = project.get(category, name) confirm = QtGui.QLabel('Remove %s ?' % data.path) dialog = ModalDialog(confirm) if dialog.exec_(): project.remove(category, data) data.path.remove() if self.paradigm_container: self.paradigm_container.close_data(data)
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, 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, 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, control, edit_mode='edit'): QtGui.QWidget.__init__(self) self.setupUi(self) text = 'interface: %s, preferred widget: %s, edit mode: %s' % ( control.interface, control.widget, edit_mode) self.l_title.setText(text) self._control = control self._qcontainer = QControlContainer() self._qcontainer.add_control(self._control) self._qcontainer.create_actions(self) # m = getattr(scontrol, '%s_qt' % edit_mode) m = getattr(scontrol, 'qt_editor') self._qtcontrols = [] valid_widget_shape = None for shape in ['vline', 'hline', 'small', 'large', 'responsive']: layout = getattr(self, 'l_%s' % shape) widget = m(self._control, shape=shape) if widget: layout.addWidget(widget) valid_widget_shape = shape self._qtcontrols.append(widget) else: layout.addWidget(QtGui.QLabel("X")) if valid_widget_shape: self._test_widget = m(self._control, shape=valid_widget_shape) self.layout_sample.addWidget(self._test_widget) self.cb_read.toggled.connect(self.on_mode_changed) self.cb_apply.toggled.connect(self.on_mode_changed) self._model = ControlModel(manager=self._qcontainer) self._view = ControlView() self._view.setModel(self._model) self._view.hideColumn(0) self.l_large_box.addWidget(self._view, 1, 1, 2, 1)
def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(288,170) self.gridLayout = QtGui.QGridLayout(Dialog) self.gridLayout.setObjectName("gridLayout") self.captionText = QtGui.QLabel(Dialog) self.captionText.setObjectName("captionText") self.gridLayout.addWidget(self.captionText,0,0,1,1) self.valueDisplay = QtGui.QTextEdit(Dialog) self.valueDisplay.setReadOnly(True) self.valueDisplay.setTabStopWidth(20) self.valueDisplay.setObjectName("valueDisplay") self.gridLayout.addWidget(self.valueDisplay,1,0,1,2) spacerItem = QtGui.QSpacerItem(330,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem,2,0,1,1) self.okButton = QtGui.QPushButton(Dialog) self.okButton.setObjectName("okButton") self.gridLayout.addWidget(self.okButton,2,1,1,1) self.retranslateUi(Dialog) QtCore.QObject.connect(self.okButton,QtCore.SIGNAL("clicked()"),Dialog.accept) QtCore.QMetaObject.connectSlotsByName(Dialog)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, None) self._layout = QtGui.QVBoxLayout(self) self._layout.setContentsMargins(0, 0, 0, 0) self.setContentsMargins(0, 0, 0, 0) self._applets = [] self._edit_mode = True self._e_title = QtGui.QLabel('') self._e_title.hide() self._tabwidget = AppletTabWidget() self._tabwidget.setContextMenuPolicy(QtCore.Qt.NoContextMenu) self._tabwidget.appletSet.connect(self.appletSet.emit) self._tabwidget.currentChanged.connect(self._on_tab_changed) self.appletSet.connect(self._on_applet_changed) self._applet_selector = AppletSelector() self._applet_selector.appletChanged.connect(self._tabwidget.user_set_applet) self._layout.addWidget(self._e_title) self._layout.addWidget(self._tabwidget) self._layout.addWidget(self._applet_selector) self._tabwidget.new_tab() applet_name = self._applet_selector.currentAppletName() if applet_name: self._tabwidget.set_applet(applet_name) self._create_menus() self._create_actions() self._fill_menus() self.set_edit_mode() self.fine_tune()
def __init__(self, parent=None): super(OutputsModel, self).__init__(parent=parent) layout = QtGui.QGridLayout(self) self.label = QtGui.QLabel("Outputs: ") self.line_output = QtGui.QLineEdit(self) self.add_button = QtGui.QPushButton("Add Output") self.add_button.clicked.connect(self.add_input) self.rm_button = QtGui.QPushButton("Remove Output") 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.line_output, 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, session, parent=None, args=None): super(QtGui.QMainWindow, self).__init__() self.session = session interp = interpreter() interp.locals['mainwindow'] = self self.areas = {} for area_name in ('inputs', 'outputs', 'shell'): self.areas[area_name] = QtGui.QTabWidget() self.dockWidget("Inputs", self.areas['inputs'], name="Inputs", position=QtCore.Qt.LeftDockWidgetArea) self.dockWidget("Outputs", self.areas['outputs'], name="Outputs", position=QtCore.Qt.RightDockWidgetArea) self.dockWidget("Shell", self.areas['shell'], name="Shell, log and history", position=QtCore.Qt.BottomDockWidgetArea) self.split = QtGui.QSplitter() self.setCentralWidget(self.split) menu_names = ('Project', 'Edit', 'Viewer', 'Help') # Classic menu self.menu_classic = {} menubar = QtGui.QMenuBar() for menu_name in menu_names: self.menu_classic[menu_name] = menubar.addMenu(menu_name) self.setMenuBar(menubar) # PanedMenu self.menu_paned = {} self.menu = PanedMenu() # Organize order of tabs for menu_name in menu_names: self.menu_paned[menu_name] = self.menu.addSpecialTab(menu_name) dock_menu = self.dockWidget("Menu", self.menu, position=QtCore.Qt.TopDockWidgetArea) dock_menu.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures) dock_menu.setContentsMargins(0, 0, 0, 0) widget = QtGui.QLabel() dock_menu.setTitleBarWidget(widget) size_policy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum) dock_menu.setSizePolicy(size_policy) # Shell self.shell = get_shell_class()(interp) interp.locals['shell'] = self.shell self.add_applet(self.shell, 'Shell', area='shell') self.applets = self._plugins = {}
__license__ = "Cecill-C" __revision__ = " $Id: __init__.py 2245 2010-02-08 17:11:34Z cokelaer $ " from openalea.vpltk.qt import QtGui from openalea.image.all import rainbow, grayscale, to_pix from numpy import array, apply_along_axis qapp = QtGui.QApplication.instance() if qapp: data = array(range(10000)).reshape((100, 100)) pal = rainbow(10000) img = pal[data] def func(pix): if pix[0] > 100: return (0, 0, 0) else: return (255, 255, 255) img = apply_along_axis(func, -1, img) pix = to_pix(img) w = QtGui.QLabel() w.setPixmap(pix) w.show()
def __init__(self, parent=None, style=None): AbstractListener.__init__(self) QtGui.QWidget.__init__(self, parent=parent) self.world = None self.name = "" self._controls = [] self._manager = ControlContainer() self.interpreter = get_interpreter() self.interpreter.locals['draco_control'] = self self._layout = QtGui.QVBoxLayout(self) self._title_img = QtGui.QWidget() title_layout = QtGui.QHBoxLayout(self._title_img) p = QtGui.QSizePolicy pixmap_dirname = shared_data(openalea.draco_stem) icon_img = QtGui.QLabel() pixmap_icon = QtGui.QPixmap( os.path.join( pixmap_dirname, "../../src/openalea/draco_stem/draco_oalab/widget/draco_icon.png" )) icon_img.setPixmap(pixmap_icon) icon_img.setScaledContents(True) icon_img.setFixedWidth(60) icon_img.setFixedHeight(60) # icon_img.setSizePolicy(p(p.Expanding, p.Maximum)) title_layout.addWidget(icon_img) # title_layout.addSpacing(20) title_img = QtGui.QLabel() pixmap_title = QtGui.QPixmap( os.path.join( pixmap_dirname, "../../src/openalea/draco_stem/draco_oalab/widget/draco_title.png" )) title_img.setPixmap(pixmap_title) title_img.setScaledContents(True) # title_img.setSizePolicy(p(p.Expanding, p.Maximum)) title_img.setFixedWidth(140) title_img.setFixedHeight(60) title_layout.addWidget(title_img) # title_layout.addSpacing(20) title_label = QtGui.QLabel( u'Dual Reconstruction\nby Adjacency\nComplex Optimization') title_label.setAlignment(QtCore.Qt.AlignCenter) # title_label.setFixedWidth(150) title_layout.addWidget(title_label) self._title_img.setFixedHeight(75) self._title_img.setSizePolicy(p(p.Expanding, p.Maximum)) self._layout.addWidget(self._title_img, 0) self._view = None self._set_manager(self._manager) self.draco = None
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(703, 681) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/icons/openalea_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) self.centralwidget = QtGui.QWidget(MainWindow) self.centralwidget.setGeometry(QtCore.QRect(0, 21, 703, 660)) self.centralwidget.setObjectName("centralwidget") self.gridLayout_4 = QtGui.QGridLayout(self.centralwidget) self.gridLayout_4.setObjectName("gridLayout_4") self.splitter = QtGui.QSplitter(self.centralwidget) self.splitter.setOrientation(QtCore.Qt.Vertical) self.splitter.setObjectName("splitter") self.tabWidget = QtGui.QTabWidget(self.splitter) self.tabWidget.setObjectName("tabWidget") self.tab = QtGui.QWidget() self.tab.setGeometry(QtCore.QRect(0, 0, 679, 373)) self.tab.setObjectName("tab") self.vboxlayout = QtGui.QVBoxLayout(self.tab) self.vboxlayout.setObjectName("vboxlayout") self.label_4 = QtGui.QLabel(self.tab) self.label_4.setOpenExternalLinks(True) self.label_4.setObjectName("label_4") self.vboxlayout.addWidget(self.label_4) self.hboxlayout = QtGui.QHBoxLayout() self.hboxlayout.setObjectName("hboxlayout") self.radioRecommended = QtGui.QRadioButton(self.tab) self.radioRecommended.setChecked(True) self.radioRecommended.setObjectName("radioRecommended") self.hboxlayout.addWidget(self.radioRecommended) self.radioAll = QtGui.QRadioButton(self.tab) self.radioAll.setObjectName("radioAll") self.hboxlayout.addWidget(self.radioAll) self.radioUpdate = QtGui.QRadioButton(self.tab) self.radioUpdate.setObjectName("radioUpdate") self.hboxlayout.addWidget(self.radioUpdate) self.radioInstalled = QtGui.QRadioButton(self.tab) self.radioInstalled.setObjectName("radioInstalled") self.hboxlayout.addWidget(self.radioInstalled) self.vboxlayout.addLayout(self.hboxlayout) self.packageList = QtGui.QListWidget(self.tab) self.packageList.setAlternatingRowColors(True) self.packageList.setSelectionMode( QtGui.QAbstractItemView.MultiSelection) self.packageList.setSortingEnabled(True) self.packageList.setObjectName("packageList") self.vboxlayout.addWidget(self.packageList) self.hboxlayout1 = QtGui.QHBoxLayout() self.hboxlayout1.setObjectName("hboxlayout1") self.checkAll = QtGui.QPushButton(self.tab) self.checkAll.setFlat(True) self.checkAll.setObjectName("checkAll") self.hboxlayout1.addWidget(self.checkAll) self.ClearAll = QtGui.QPushButton(self.tab) self.ClearAll.setFlat(True) self.ClearAll.setObjectName("ClearAll") self.hboxlayout1.addWidget(self.ClearAll) spacerItem = QtGui.QSpacerItem(521, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.hboxlayout1.addItem(spacerItem) self.vboxlayout.addLayout(self.hboxlayout1) self.hboxlayout2 = QtGui.QHBoxLayout() self.hboxlayout2.setSpacing(6) self.hboxlayout2.setContentsMargins(0, 0, 0, 0) self.hboxlayout2.setObjectName("hboxlayout2") self.proceedButton = QtGui.QPushButton(self.tab) self.proceedButton.setObjectName("proceedButton") self.hboxlayout2.addWidget(self.proceedButton) self.refreshButton = QtGui.QPushButton(self.tab) self.refreshButton.setObjectName("refreshButton") self.hboxlayout2.addWidget(self.refreshButton) self.vboxlayout.addLayout(self.hboxlayout2) self.tabWidget.addTab(self.tab, "") self.OtherEggs = QtGui.QWidget() self.OtherEggs.setGeometry(QtCore.QRect(0, 0, 679, 373)) self.OtherEggs.setObjectName("OtherEggs") self.vboxlayout1 = QtGui.QVBoxLayout(self.OtherEggs) self.vboxlayout1.setObjectName("vboxlayout1") self.label = QtGui.QLabel(self.OtherEggs) self.label.setOpenExternalLinks(True) self.label.setObjectName("label") self.vboxlayout1.addWidget(self.label) self.hboxlayout3 = QtGui.QHBoxLayout() self.hboxlayout3.setObjectName("hboxlayout3") self.requestEdit = QtGui.QLineEdit(self.OtherEggs) self.requestEdit.setObjectName("requestEdit") self.hboxlayout3.addWidget(self.requestEdit) self.fileButton = QtGui.QPushButton(self.OtherEggs) self.fileButton.setObjectName("fileButton") self.hboxlayout3.addWidget(self.fileButton) self.vboxlayout1.addLayout(self.hboxlayout3) spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.vboxlayout1.addItem(spacerItem1) self.hboxlayout4 = QtGui.QHBoxLayout() self.hboxlayout4.setObjectName("hboxlayout4") self.customInstallButton = QtGui.QPushButton(self.OtherEggs) self.customInstallButton.setObjectName("customInstallButton") self.hboxlayout4.addWidget(self.customInstallButton) self.vboxlayout1.addLayout(self.hboxlayout4) self.tabWidget.addTab(self.OtherEggs, "") self.tab_2 = QtGui.QWidget() self.tab_2.setGeometry(QtCore.QRect(0, 0, 679, 373)) self.tab_2.setObjectName("tab_2") self.vboxlayout2 = QtGui.QVBoxLayout(self.tab_2) self.vboxlayout2.setObjectName("vboxlayout2") self.label_2 = QtGui.QLabel(self.tab_2) self.label_2.setObjectName("label_2") self.vboxlayout2.addWidget(self.label_2) self.locationList = QtGui.QListWidget(self.tab_2) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.locationList.sizePolicy().hasHeightForWidth()) self.locationList.setSizePolicy(sizePolicy) self.locationList.setObjectName("locationList") self.vboxlayout2.addWidget(self.locationList) self.hboxlayout5 = QtGui.QHBoxLayout() self.hboxlayout5.setSpacing(6) self.hboxlayout5.setContentsMargins(0, 0, 0, 0) self.hboxlayout5.setObjectName("hboxlayout5") self.addLocButton = QtGui.QPushButton(self.tab_2) self.addLocButton.setObjectName("addLocButton") self.hboxlayout5.addWidget(self.addLocButton) self.removeLocButton = QtGui.QPushButton(self.tab_2) self.removeLocButton.setObjectName("removeLocButton") self.hboxlayout5.addWidget(self.removeLocButton) self.vboxlayout2.addLayout(self.hboxlayout5) self.tabWidget.addTab(self.tab_2, "") self.customPackagePage = QtGui.QWidget() self.customPackagePage.setGeometry(QtCore.QRect(0, 0, 679, 373)) self.customPackagePage.setObjectName("customPackagePage") self.gridLayout_2 = QtGui.QGridLayout(self.customPackagePage) self.gridLayout_2.setObjectName("gridLayout_2") self.label_5 = QtGui.QLabel(self.customPackagePage) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_5.sizePolicy().hasHeightForWidth()) self.label_5.setSizePolicy(sizePolicy) self.label_5.setObjectName("label_5") self.gridLayout_2.addWidget(self.label_5, 0, 0, 1, 5) self.label_6 = QtGui.QLabel(self.customPackagePage) self.label_6.setObjectName("label_6") self.gridLayout_2.addWidget(self.label_6, 1, 0, 1, 1) self.customPackageNameEdit = QtGui.QLineEdit(self.customPackagePage) self.customPackageNameEdit.setObjectName("customPackageNameEdit") self.gridLayout_2.addWidget(self.customPackageNameEdit, 1, 1, 1, 4) self.label_7 = QtGui.QLabel(self.customPackagePage) self.label_7.setObjectName("label_7") self.gridLayout_2.addWidget(self.label_7, 2, 0, 1, 1) self.customPackageVersionEdit = QtGui.QLineEdit(self.customPackagePage) self.customPackageVersionEdit.setObjectName("customPackageVersionEdit") self.gridLayout_2.addWidget(self.customPackageVersionEdit, 2, 1, 1, 1) spacerItem2 = QtGui.QSpacerItem(291, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.gridLayout_2.addItem(spacerItem2, 2, 2, 1, 2) self.label_8 = QtGui.QLabel(self.customPackagePage) self.label_8.setObjectName("label_8") self.gridLayout_2.addWidget(self.label_8, 3, 0, 1, 1) self.customPackageDirEdit = QtGui.QLineEdit(self.customPackagePage) self.customPackageDirEdit.setObjectName("customPackageDirEdit") self.gridLayout_2.addWidget(self.customPackageDirEdit, 3, 1, 1, 3) self.customPackageDirButton = QtGui.QPushButton(self.customPackagePage) self.customPackageDirButton.setObjectName("customPackageDirButton") self.gridLayout_2.addWidget(self.customPackageDirButton, 3, 4, 1, 1) self.customCppPackageFrame = QtGui.QGroupBox(self.customPackagePage) self.customCppPackageFrame.setEnabled(True) self.customCppPackageFrame.setCheckable(True) self.customCppPackageFrame.setChecked(False) self.customCppPackageFrame.setObjectName("customCppPackageFrame") self.gridLayout_3 = QtGui.QGridLayout(self.customCppPackageFrame) self.gridLayout_3.setSpacing(1) self.gridLayout_3.setContentsMargins(4, 1, 4, 1) self.gridLayout_3.setObjectName("gridLayout_3") self.label_9 = QtGui.QLabel(self.customCppPackageFrame) self.label_9.setObjectName("label_9") self.gridLayout_3.addWidget(self.label_9, 0, 0, 1, 1) self.customPackageIncludeEdit = QtGui.QLineEdit( self.customCppPackageFrame) self.customPackageIncludeEdit.setObjectName("customPackageIncludeEdit") self.gridLayout_3.addWidget(self.customPackageIncludeEdit, 0, 1, 1, 1) self.customPackageIncludeButton = QtGui.QPushButton( self.customCppPackageFrame) self.customPackageIncludeButton.setObjectName( "customPackageIncludeButton") self.gridLayout_3.addWidget(self.customPackageIncludeButton, 0, 2, 1, 1) self.label_11 = QtGui.QLabel(self.customCppPackageFrame) self.label_11.setObjectName("label_11") self.gridLayout_3.addWidget(self.label_11, 1, 0, 1, 1) self.customPackageLibEdit = QtGui.QLineEdit(self.customCppPackageFrame) self.customPackageLibEdit.setObjectName("customPackageLibEdit") self.gridLayout_3.addWidget(self.customPackageLibEdit, 1, 1, 1, 1) self.customPackageLibButton = QtGui.QPushButton( self.customCppPackageFrame) self.customPackageLibButton.setObjectName("customPackageLibButton") self.gridLayout_3.addWidget(self.customPackageLibButton, 1, 2, 1, 1) self.label_13 = QtGui.QLabel(self.customCppPackageFrame) self.label_13.setObjectName("label_13") self.gridLayout_3.addWidget(self.label_13, 2, 0, 1, 1) self.customPackageBinEdit = QtGui.QLineEdit(self.customCppPackageFrame) self.customPackageBinEdit.setObjectName("customPackageBinEdit") self.gridLayout_3.addWidget(self.customPackageBinEdit, 2, 1, 1, 1) self.customPackageBinButton = QtGui.QPushButton( self.customCppPackageFrame) self.customPackageBinButton.setObjectName("customPackageBinButton") self.gridLayout_3.addWidget(self.customPackageBinButton, 2, 2, 1, 1) self.gridLayout_2.addWidget(self.customCppPackageFrame, 4, 0, 1, 5) self.customPythonPackageFrame = QtGui.QGroupBox(self.customPackagePage) self.customPythonPackageFrame.setEnabled(True) self.customPythonPackageFrame.setCheckable(True) self.customPythonPackageFrame.setChecked(False) self.customPythonPackageFrame.setObjectName("customPythonPackageFrame") self.gridLayout = QtGui.QGridLayout(self.customPythonPackageFrame) self.gridLayout.setSpacing(2) self.gridLayout.setContentsMargins(4, 0, 2, 4) self.gridLayout.setObjectName("gridLayout") self.label_12 = QtGui.QLabel(self.customPythonPackageFrame) self.label_12.setObjectName("label_12") self.gridLayout.addWidget(self.label_12, 0, 0, 1, 1) self.customPythonPackageEdit = QtGui.QLineEdit( self.customPythonPackageFrame) self.customPythonPackageEdit.setObjectName("customPythonPackageEdit") self.gridLayout.addWidget(self.customPythonPackageEdit, 0, 1, 1, 1) self.customPythonPackageButton = QtGui.QPushButton( self.customPythonPackageFrame) self.customPythonPackageButton.setObjectName( "customPythonPackageButton") self.gridLayout.addWidget(self.customPythonPackageButton, 0, 2, 1, 1) self.pythonNamespaceFrame = QtGui.QGroupBox( self.customPythonPackageFrame) self.pythonNamespaceFrame.setCheckable(True) self.pythonNamespaceFrame.setChecked(False) self.pythonNamespaceFrame.setObjectName("pythonNamespaceFrame") self.horizontalLayout = QtGui.QHBoxLayout(self.pythonNamespaceFrame) self.horizontalLayout.setSpacing(2) self.horizontalLayout.setContentsMargins(4, 1, 4, 4) self.horizontalLayout.setObjectName("horizontalLayout") self.label_10 = QtGui.QLabel(self.pythonNamespaceFrame) self.label_10.setObjectName("label_10") self.horizontalLayout.addWidget(self.label_10) self.namespaceEdit = QtGui.QLineEdit(self.pythonNamespaceFrame) self.namespaceEdit.setObjectName("namespaceEdit") self.horizontalLayout.addWidget(self.namespaceEdit) self.gridLayout.addWidget(self.pythonNamespaceFrame, 1, 1, 1, 1) self.gridLayout_2.addWidget(self.customPythonPackageFrame, 5, 0, 1, 5) spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.gridLayout_2.addItem(spacerItem3, 6, 1, 1, 2) self.customResetButton = QtGui.QPushButton(self.customPackagePage) self.customResetButton.setObjectName("customResetButton") self.gridLayout_2.addWidget(self.customResetButton, 6, 3, 1, 1) self.customApplyButton = QtGui.QPushButton(self.customPackagePage) self.customApplyButton.setObjectName("customApplyButton") self.gridLayout_2.addWidget(self.customApplyButton, 6, 4, 1, 1) self.tabWidget.addTab(self.customPackagePage, "") self.layoutWidget = QtGui.QWidget(self.splitter) self.layoutWidget.setObjectName("layoutWidget") self.vboxlayout3 = QtGui.QVBoxLayout(self.layoutWidget) self.vboxlayout3.setObjectName("vboxlayout3") self.label_3 = QtGui.QLabel(self.layoutWidget) self.label_3.setObjectName("label_3") self.vboxlayout3.addWidget(self.label_3) self.logText = QtGui.QTextEdit(self.layoutWidget) self.logText.setReadOnly(True) self.logText.setObjectName("logText") self.vboxlayout3.addWidget(self.logText) self.gridLayout_4.addWidget(self.splitter, 0, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtGui.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 703, 21)) self.menubar.setObjectName("menubar") self.menuAuthentification = QtGui.QMenu(self.menubar) self.menuAuthentification.setObjectName("menuAuthentification") self.menu_File = QtGui.QMenu(self.menubar) self.menu_File.setObjectName("menu_File") self.menuHelp = QtGui.QMenu(self.menubar) self.menuHelp.setObjectName("menuHelp") MainWindow.setMenuBar(self.menubar) self.actionCookie_Session = QtGui.QAction(MainWindow) self.actionCookie_Session.setObjectName("actionCookie_Session") self.action_Quit = QtGui.QAction(MainWindow) self.action_Quit.setObjectName("action_Quit") self.action_About = QtGui.QAction(MainWindow) self.action_About.setObjectName("action_About") self.action_Web = QtGui.QAction(MainWindow) self.action_Web.setObjectName("action_Web") self.menuAuthentification.addAction(self.actionCookie_Session) self.menu_File.addAction(self.action_Quit) self.menuHelp.addAction(self.action_About) self.menuHelp.addAction(self.action_Web) self.menubar.addAction(self.menu_File.menuAction()) self.menubar.addAction(self.menuAuthentification.menuAction()) self.menubar.addAction(self.menuHelp.menuAction()) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) MainWindow.setTabOrder(self.tabWidget, self.radioRecommended) MainWindow.setTabOrder(self.radioRecommended, self.radioAll) MainWindow.setTabOrder(self.radioAll, self.radioUpdate) MainWindow.setTabOrder(self.radioUpdate, self.radioInstalled) MainWindow.setTabOrder(self.radioInstalled, self.packageList) MainWindow.setTabOrder(self.packageList, self.checkAll) MainWindow.setTabOrder(self.checkAll, self.ClearAll) MainWindow.setTabOrder(self.ClearAll, self.proceedButton) MainWindow.setTabOrder(self.proceedButton, self.refreshButton) MainWindow.setTabOrder(self.refreshButton, self.logText) MainWindow.setTabOrder(self.logText, self.requestEdit) MainWindow.setTabOrder(self.requestEdit, self.fileButton) MainWindow.setTabOrder(self.fileButton, self.customInstallButton) MainWindow.setTabOrder(self.customInstallButton, self.locationList) MainWindow.setTabOrder(self.locationList, self.addLocButton) MainWindow.setTabOrder(self.addLocButton, self.removeLocButton)