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): QtGui.QWidget.__init__(self) c = self.palette().color(self.backgroundRole()) self._default_color = str((c.red(), c.green(), c.blue())) self.canvas = MplCanvas() self.manager = FigureManagerQT(self.canvas, MplFigureWidget.count) self.mpl_toolbar = NavigationToolbar2QT(self.canvas, None) self.mpl_toolbar.setStyleSheet("background-color: rgb%s;" % self._default_color) self.mpl_toolbar.hide() MplFigureWidget.count += 1 all_widgets.append(self) self.setToolTip("Figure %d" % self.manager.num) self.setFrameShape(QtGui.QFrame.Box) self.setFrameShadow(QtGui.QFrame.Plain) self.setContentsMargins(1, 1, 1, 1) self._layout = QtGui.QVBoxLayout(self) self._layout.addWidget(self.canvas) self._layout.setContentsMargins(1, 1, 1, 1)
def __init__(self, name, orientation=QtCore.Qt.Horizontal): super(Group, self).__init__() self.setToolTip(name) self.setObjectName('Group') self.name = name self.row_number = 2 self.orientation = orientation if orientation == QtCore.Qt.Horizontal: self.layout = QtGui.QHBoxLayout() self.layout.setAlignment(QtCore.Qt.AlignLeft) else: self.layout = QtGui.QVBoxLayout() self.layout.setAlignment(QtCore.Qt.AlignTop) self.setLayout(self.layout) if orientation == QtCore.Qt.Horizontal: self._group_big = SubGroupH() self._group_small = SubGroupGrid() else: self._group_big = SubGroupV() self._group_small = SubGroupV() self.layout.addWidget(self._group_big) self.layout.addWidget(self._group_small) self.fine_tune()
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 start_qt(factory, node): """ Start Qt, and open widget of factory, node :param factory: todo :param node: todo """ from openalea.vpltk.qt import QtGui, QtCore app = QtGui.QApplication(sys.argv) # CTRL+C binding import signal signal.signal(signal.SIGINT, signal.SIG_DFL) dialog = QtGui.QDialog() widget = factory.instantiate_widget(node, autonomous=True) dialog.setAttribute(QtCore.Qt.WA_DeleteOnClose) widget.setParent(dialog) vboxlayout = QtGui.QVBoxLayout(dialog) vboxlayout.setContentsMargins(3, 3, 3, 3) vboxlayout.setSpacing(5) vboxlayout.addWidget(widget) dialog.setWindowTitle(factory.name) dialog.show() app.exec_()
def __init__(self, node, parent): QtGui.QDialog.__init__(self, parent) NodeWidget.__init__(self, node) layout = QtGui.QVBoxLayout() self.setLayout(layout) self.btGroup = QtGui.QButtonGroup() self.btGroup.setExclusive(True) self.widgets = [] self.notify(node, ("input_modified", 0))
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 __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 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 __init__(self): QtGui.QWidget.__init__(self) layout = QtGui.QVBoxLayout(self) self.view = ProjectBrowserView() self._transfer_view_signals() self.model = self.view.model() layout.addWidget(self.view) layout.setContentsMargins(0, 0, 0, 0) self._create_actions() self._create_menus()
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent=parent) self.figure = Figure() self.canvas = FigureCanvas(self.figure) self.setLayout(QtGui.QVBoxLayout()) layout = self.layout() layout.setSpacing(0) layout.setMargin(0) layout.addWidget(self.canvas) self.setFocusPolicy( QtCore.Qt.StrongFocus) # strong = keyboard & mouse focus
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, node, parent): QtGui.QDialog.__init__(self, parent) NodeWidget.__init__(self, node) #self.browser = QtGui.QTextBrowser() layout = QtGui.QVBoxLayout() #layout.addWidget(self.browser) self.setLayout(layout) self.in_list = [] self.widgets = [] self.notify(node, ("input_modified", 0))
def __init__(self, items, parent=None): QtGui.QDialog.__init__(self, parent, QtCore.Qt.WindowOkButtonHint| QtCore.Qt.WindowCancelButtonHint) self.setWindowTitle("Select a tool") self.__l = QtGui.QVBoxLayout() self.__itemList = QtGui.QListWidget() self.__buttons = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok| QtGui.QDialogButtonBox.Cancel) self.__l.addWidget(self.__itemList) self.__l.addWidget(self.__buttons) self.setLayout(self.__l) self.__itemList.addItems(items) self.__buttons.accepted.connect(self.accept) self.__buttons.rejected.connect(self.reject)
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): 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, 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): 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, siblings=[], parent=None): QtGui.QWidget.__init__(self, parent) statusTip = """CTRL+F to search for a node""" self.setStatusTip(statusTip) self.__lay = QtGui.QVBoxLayout() self.__lay.setContentsMargins(2,2,2,2) self.__lay.setSpacing(2) self.__searchField = QtGui.QLineEdit() self.__treeView = NodeFactoryTreeView(siblings) self.__lay.addWidget(self.__searchField) self.__lay.addWidget(self.__treeView) self.__searchField.hide() self.__searchField.installEventFilter(self) self.setLayout(self.__lay)
def __init__(self, parent=None): super(PackageSearchWidget, self).__init__(parent=parent) self.result_widget = OALabSearchView(parent) self.search_model = SearchModel() self.result_widget.setModel(self.search_model) self.search_lineEdit = QtGui.QLineEdit(self) self.search_lineEdit.editingFinished.connect(self.search_node) layout = QtGui.QVBoxLayout() layout.addWidget(self.search_lineEdit) layout.addWidget(self.result_widget) self.setLayout(layout) self.result_widget.clicked.connect( self.on_package_manager_focus_change)
def __init__(self, parent=None): """ Widget to change settings. """ super(PreferenceWidget, self).__init__(parent) self.setWindowTitle("OpenAleaLab Preferences") self.resize(600, 300) mainlayout = QtGui.QVBoxLayout(self) self.tabwidget = QtGui.QTabWidget(self) mainlayout.addWidget(self.tabwidget) config = settings.Settings() self._config = None self._option_values = {} self._set_config(config)
def __init__(self): QtGui.QWidget.__init__(self) self._im_view = PixmapStackView() self._label = ScalableLabel() self._layout = QtGui.QVBoxLayout(self) self._layout.addWidget(self._label) self._label.setMouseTracking(True) self._last_mouse_x = 0 self._last_mouse_y = 0 self.connect(self._label, QtCore.SIGNAL("mouse_press"), self.mouse_pressed) self.connect(self._label, QtCore.SIGNAL("mouse_move"), self.mouse_pressed) self.axis = 2 self.inc = 1 # index increment self._palette_name = None
def __init__(self, parent=None): super(RichTextEditor, self).__init__(parent) self.completer = DictionaryCompleter(parent=self) self.editor = self._default_editor(parent=self) self.editor.textChanged.connect(self.textChanged.emit) # self.editor.setCompleter(self.completer) self.goto_widget = GoToWidget(parent=self.editor) self.search_widget = SearchWidget(parent=self.editor) self.layout = QtGui.QVBoxLayout() self.layout.setContentsMargins(0, 0, 0, 0) self.layout.addWidget(self.editor) self.layout.addWidget(self.search_widget) self.setLayout(self.layout) self.search_widget.hide()
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._sia = None self._cell_meshes = {} self._mesh = {} self._mesh_matching = {} self._current = None # self._default_manager = self._create_manager() self.interpreter = get_interpreter() self.interpreter.locals['tissue_analysis_control'] = self self._layout = QtGui.QVBoxLayout(self) # self._layout.addWidget(self._cb_world_object) if self.style == self.StyleTableView: self._view = None # 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 __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 on_controls_selected(self, controls): if self._widget_edit: widget = self._widget_edit() widget.close() self._widget_edit = None del widget if not controls: return widget = QtGui.QWidget() widget.setAttribute(QtCore.Qt.WA_DeleteOnClose) layout = QtGui.QVBoxLayout(widget) for control in controls: subwidget = qt_editor(control, shape='large', preferred=control.widget) layout.addWidget(subwidget) self.addWidget(widget) self._widget_edit = weakref.ref(widget)
def __init__(self, parent, name, panelmanager=None): super(LPyPanelWidget, self).__init__(None) self.panelmanager = panelmanager self.setObjectName(name.replace(' ', '_')) self.setName(name) self.verticalLayout = QtGui.QVBoxLayout(parent) self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName(name + "verticalLayout") self.objectpanel = QtGui.QScrollArea(parent) self.view = ObjectListDisplay(self, panelmanager) self.view.dock = self # ? self.objectpanel.setWidget(self.view) self.objectpanel.setWidgetResizable(True) self.objectpanel.setObjectName(name + "panelarea") self.verticalLayout.addWidget(self.objectpanel) self.objectNameEdit = QtGui.QLineEdit(self) self.objectNameEdit.setObjectName(name + "NameEdit") self.verticalLayout.addWidget(self.objectNameEdit) self.objectNameEdit.hide() self.setLayout(self.verticalLayout) QtCore.QObject.connect(self.view, QtCore.SIGNAL('valueChanged(int)'), self.__updateStatus) QtCore.QObject.connect(self.view, QtCore.SIGNAL('AutomaticUpdate()'), self.__transmit_autoupdate) QtCore.QObject.connect(self.view, QtCore.SIGNAL('selectionChanged(int)'), self.endNameEditing) QtCore.QObject.connect(self.view, QtCore.SIGNAL('renameRequest(int)'), self.displayName) QtCore.QObject.connect(self.objectNameEdit, QtCore.SIGNAL('editingFinished()'), self.updateName) self.dockNameEdition = False self.nameEditorAutoHide = True self.setAcceptDrops(True)
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): QtGui.QWidget.__init__(self) AbstractListener.__init__(self) layout = QtGui.QVBoxLayout(self) self.view = ProjectManagerView() self.model = self.view.model() layout.addWidget(self.view) layout.setContentsMargins(0, 0, 0, 0) self.pm = ProjectManager() self.menu_available_projects = QtGui.QMenu(u'Available Projects') self.actionNewProj = self.view.actionNewProj self.actionOpenProj = self.view.actionOpenProj group = "Project" self._actions = [ [group, "Manage Project", self.view.actionNewProj, 0], [group, "Manage Project", self.view.actionOpenProj, 0], [group, "Manage Project", self.view.actionSaveProj, 0], # [group, "Manage Project", self.view.actionSaveProjAs, 1], [group, "Manage Project", self.view.actionCloseProj, 0], # [group, "Manage Project", self.view.actionEditMeta, 1], # ["Project", "Manage Project", self.actionRenameProject, 1], ] self._actions += self.view._actions # Menu used to display all available projects. # This menu is filled dynamically each time this menu is opened self.menu_available_projects = QtGui.QMenu(u'Available Projects') self.menu_available_projects.aboutToShow.connect( self._update_available_project_menu) self.action_available_project = { } # Dict used to know what project corresponds to triggered action self.pm.register_listener(self)
def __init__(self, widget, parent=None, buttons=None): QtGui.QDialog.__init__(self, parent) _bbox = QtGui.QDialogButtonBox if buttons is None: buttons = _bbox.Ok | _bbox.Cancel self.setContentsMargins(0, 0, 0, 0) self.setModal(True) self.bbox = _bbox(buttons) self.bbox.accepted.connect(self.accept) self.bbox.rejected.connect(self.reject) ok = self.bbox.button(_bbox.Ok) if ok: ok.setDefault(True) layout = QtGui.QVBoxLayout(self) layout.setSpacing(0) layout.setContentsMargins(0, 5, 0, 5) layout.addWidget(widget) layout.addWidget(self.bbox)