Пример #1
0
            def actions(self):
                actionDefault = QtGui.QAction(
                    QtGui.QIcon(":/images/resources/layout_blue.png"),
                    "Load Default", self.mainwindow)
                actionRestorePref = QtGui.QAction(
                    QtGui.QIcon(":/images/resources/layout_green.png"),
                    "Load Prefered", self.mainwindow)
                actionSetPref = QtGui.QAction(
                    QtGui.QIcon(":/images/resources/layout_red.png"),
                    "Save Prefered", self.mainwindow)

                QtCore.QObject.connect(actionDefault,
                                       QtCore.SIGNAL('triggered(bool)'),
                                       self.mainwindow.defaultSettings)
                QtCore.QObject.connect(actionRestorePref,
                                       QtCore.SIGNAL('triggered(bool)'),
                                       self.mainwindow.preferedSettings)
                QtCore.QObject.connect(
                    actionSetPref, QtCore.SIGNAL('triggered(bool)'),
                    self.mainwindow.registerPreferedSettings)

                _actions = [["Help", "Window Layout", actionDefault, 1],
                            ["Help", "Window Layout", actionRestorePref, 1],
                            ["Help", "Window Layout", actionSetPref, 1]]
                return _actions
Пример #2
0
            def actions(self):
                minilab = QtGui.QAction(
                    QtGui.QIcon(":/images/resources/openalealogo.png"),
                    "MiniLab", self.mainwindow)
                lab3d = QtGui.QAction(
                    QtGui.QIcon(":/images/resources/openalealogo.png"),
                    "3DLab", self.mainwindow)
                plantlab = QtGui.QAction(
                    QtGui.QIcon(":/images/resources/openalealogo.png"),
                    "PlantLab", self.mainwindow)
                tissuelab = QtGui.QAction(
                    QtGui.QIcon(":/images/resources/openalealogo.png"),
                    "TissueLab", self.mainwindow)

                QtCore.QObject.connect(minilab,
                                       QtCore.SIGNAL('triggered(bool)'),
                                       self.mainwindow._mini)
                QtCore.QObject.connect(lab3d, QtCore.SIGNAL('triggered(bool)'),
                                       self.mainwindow._lab3d)
                QtCore.QObject.connect(plantlab,
                                       QtCore.SIGNAL('triggered(bool)'),
                                       self.mainwindow._plant)
                QtCore.QObject.connect(tissuelab,
                                       QtCore.SIGNAL('triggered(bool)'),
                                       self.mainwindow._tissue)

                _actions = [["Extension", "Select an Extension", minilab, 0],
                            ["Extension", "Select an Extension", lab3d, 0],
                            ["Extension", "Select an Extension", plantlab, 0],
                            ["Extension", "Select an Extension", tissuelab, 0]]
                return None
Пример #3
0
    def __init__(self, session=None, controller=None, parent=None):
        super(HelpWidget, self).__init__(parent=parent)
        self.setAccessibleName("HelpWidget")

        actionHelpOpenAlea = QtGui.QAction(
            QtGui.QIcon(":/images/resources/openalealogo.png"),
            "OpenAlea WebSite", self)
        actionHelpGForge = QtGui.QAction(
            QtGui.QIcon(":/images/resources/git.png"), "Submit Issues", self)
        actionHelpTasks = QtGui.QAction(
            QtGui.QIcon(":/images/resources/gforge.png"), "See Tasks", self)
        actionEditPref = QtGui.QAction(
            QtGui.QIcon(":/images/resources/node.png"), "Preferences", self)

        self.connect(actionHelpOpenAlea, QtCore.SIGNAL('triggered(bool)'),
                     self.openWebsiteOpenalea)
        self.connect(actionHelpGForge, QtCore.SIGNAL('triggered(bool)'),
                     self.openOALabIssues)
        self.connect(actionHelpTasks, QtCore.SIGNAL('triggered(bool)'),
                     self.openOALabTasks)
        actionEditPref.triggered.connect(self.open_preferences)

        self._actions = [
            ["Help", "Website", actionHelpOpenAlea, 0],
            ["Help", "Website", actionHelpGForge, 0],
            ["Help", "Settings", actionEditPref, 0],
        ]
        self.setText(default_text)
        register_helper(self)
Пример #4
0
    def __init__(self):
        HasName.__init__(self, self.__name__)
        CanBeStarted.__init__(self)

        # -- icon--
        self.__icon = None
        if QtCore.QCoreApplication.instance():
            if self.__icon_rc__:
                self.__icon = QtGui.QIcon(self.__icon_rc__)
            else:
                self.__icon = QtGui.QIcon()
Пример #5
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(576, 522)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            MainWindow.sizePolicy().hasHeightForWidth())
        MainWindow.setSizePolicy(sizePolicy)
        MainWindow.setMinimumSize(QtCore.QSize(100, 150))
        self.im_view = QtGui.QWidget(MainWindow)
        self.im_view.setMinimumSize(QtCore.QSize(50, 50))
        self.im_view.setObjectName("im_view")
        self.horizontalLayout = QtGui.QHBoxLayout(self.im_view)
        self.horizontalLayout.setObjectName("horizontalLayout")
        MainWindow.setCentralWidget(self.im_view)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.toolbar = QtGui.QToolBar(MainWindow)
        self.toolbar.setObjectName("toolbar")
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolbar)
        self.action_close = QtGui.QAction(MainWindow)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/image/close.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.action_close.setIcon(icon)
        self.action_close.setObjectName("action_close")
        self.action_snapshot = QtGui.QAction(MainWindow)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/image/snapshot.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.action_snapshot.setIcon(icon1)
        self.action_snapshot.setObjectName("action_snapshot")
        self.action_rotate_left = QtGui.QAction(MainWindow)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/image/rotate_left.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.action_rotate_left.setIcon(icon2)
        self.action_rotate_left.setObjectName("action_rotate_left")
        self.action_rotate_right = QtGui.QAction(MainWindow)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/image/rotate_right.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.action_rotate_right.setIcon(icon3)
        self.action_rotate_right.setObjectName("action_rotate_right")
        self.toolbar.addAction(self.action_close)
        self.toolbar.addAction(self.action_snapshot)
        self.toolbar.addAction(self.action_rotate_left)
        self.toolbar.addAction(self.action_rotate_right)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
Пример #6
0
 def project_icon(self, project):
     # Propose icon by default.
     # If project have another one, use it
     icon_project = QtGui.QIcon(":/images/resources/openalea_icon2.png")
     icon = icon_project
     if hasattr(project, "icon"):
         icon_name = project.icon
         if len(icon_name):
             if icon_name[0] is not ":":
                 # local icon
                 icon_name = project.path / icon_name
                 # else native icon from oalab.gui.resources
             icon = QtGui.QIcon(icon_name)
     return icon
Пример #7
0
def get_icon2(item):
    """ Return Icon object depending of the type of item """
    if(isinstance(item, Package)):
        # Try to load package specific icon
        icon = item.metainfo.get("icon", None)
        if(icon):
            icon = os.path.join(item.path, icon)
            return QtGui.QIcon(icon)
        # Standard icon
        return icon_dict[type(item)]
    # Get icon from dictionary
    elif(icon_dict.has_key(type(item))):
        return icon_dict[type(item)]
    else:
        return QtGui.QIcon(":/icons/pseudopkg.png")
Пример #8
0
def obj_icon(obj_lst,
             rotation=0,
             size=(64, 64),
             default=None,
             paths=None,
             save_filepath=None,
             packages=None):
    if not isinstance(obj_lst, (list, tuple)):
        obj_lst = [obj_lst]

    _obj_icon = None
    for obj in obj_lst:
        if hasattr(obj, 'icon'):
            _obj_icon = obj.icon
            break

    if _obj_icon:
        icon = qicon(_obj_icon,
                     default=default,
                     paths=paths,
                     save_filepath=save_filepath,
                     packages=packages)
    else:
        icon = qicon(None,
                     default,
                     save_filepath=save_filepath,
                     packages=packages)

    if rotation:
        pix = icon.pixmap(*size)
        transform = QtGui.QTransform()
        transform.rotate(rotation)
        pix = pix.transformed(transform)
        icon = QtGui.QIcon(pix)
    return icon
Пример #9
0
class Data(HasName):
    """"""

    # -- PROPERTIES --
    obj          = property(lambda x:x.__obj)
    registerable = property(lambda x:True)
    mimetype     = property(lambda x:x.__mimetype)
    icon         = property(lambda x:x.__dt.icon if x.__dt else QtGui.QIcon())
    factory_name = property(lambda x:x.__dt.name)
    type         = property(lambda x:"b")
    hidden       = property(lambda x:x.__dt.hidden)

    def __init__(self, name, obj, **kwargs):
        HasName.__init__(self, name)
        self.__obj     = obj
        self.__mimetype = None
        self.__props    = kwargs.copy()
        self.__dt = None

    def get_inner_property(self, key):
        return self.__props.get(key)

    def __set_data_type(self, dt, mimetype):
        assert isinstance(dt, DataFactory)
        self.__dt = dt
        self.__mimetype = mimetype

    def to_stream(self, stream):
        self.__dt.data_to_stream(self, stream)
Пример #10
0
def qicon(filename):
    if filename is None:
        return QtGui.QIcon(get_shared_data('icons/oxygen_application-x-desktop.png'))
    if filename.startswith(':/'):
        return QtGui.QIcon(filename)
    else:
        path = Path(filename)
        if not path.isfile():
            path = get_shared_data(filename)
            if path is None:
                path = get_shared_data('icons/%s' % filename)

        if path:
            return QtGui.QIcon(path)
        else:
            return QtGui.QIcon(":/images/resources/%s" % filename)
Пример #11
0
    def _update_available_project_menu(self):
        """
        Discover all projects and generate an action for each one.
        Then connect this action to _on_open_project_triggered
        """
        self.pm.discover()
        self.menu_available_projects.clear()
        self.action_available_project.clear()

        all_projects = {}  # dict parent dir -> list of Project objects
        for project in self.pm.projects:
            all_projects.setdefault(project.projectdir, []).append(project)

        for projectdir, projects in all_projects.iteritems():
            title = unicode(projectdir.name)
            if title == 'data':
                title = 'Examples'
            menu = QtGui.QMenu(title, self.menu_available_projects)
            for project in projects:
                icon_path = project.icon_path
                icon_name = icon_path if icon_path else ":/images/resources/openalealogo.png"
                action = QtGui.QAction(QtGui.QIcon(icon_name), project.name,
                                       self.menu_available_projects)
                action.triggered.connect(self._on_open_project_triggered)
                menu.addAction(action)
                self.action_available_project[action] = project
            self.menu_available_projects.addMenu(menu)
        return self.menu_available_projects
Пример #12
0
 def connect_paradigm_container(self):
     # Connect actions from self.paradigms to menu (newPython, newLpy,...)
     for applet in self.paradigms.values():
         action = QtGui.QAction(QtGui.QIcon(applet.icon),
                                "New " + applet.default_name, self)
         action.triggered.connect(self.new_file)
         self.paradigms_actions.append(action)
         self._new_file_actions[action] = applet.default_name
         self._actions.append(["Project", "Manage", action, 1], )
Пример #13
0
    def __init__(self):
        AbstractListener.__init__(self)
        super(WorldBrowser, self).__init__()
        self.world = None

        QtCore.QObject.connect(self.tree, QtCore.SIGNAL('doubleClicked(const QModelIndex&)'), self.show_world_object)

        actionClearWorld = QtGui.QAction(QtGui.QIcon(":/images/resources/plant.png"), "Clear World", self)
        actionClearWorld.triggered.connect(self.clear)
        self._actions = [["Project", "World", actionClearWorld, 0]]

        add_drop_callback(self, 'openalea/interface.IImage', self.drop_object)
Пример #14
0
    def __init__(self, parent=None):
        super(HistoryWidget, self).__init__(parent=parent)
        Highlighter(self)
        self.setAccessibleName("HistoryWidget")
        self.setText("")
        self.setLineWrapMode(QtGui.QTextEdit.NoWrap)

        clear_action = QtGui.QAction(
            QtGui.QIcon(":/images/resources/editraise.png"), "Clear History",
            self)
        QtCore.QObject.connect(clear_action, QtCore.SIGNAL('triggered(bool)'),
                               self.clear)
        self._actions = [["Edit", "History", clear_action, 0]]
Пример #15
0
def qicon(filename,
          default=None,
          paths=None,
          save_filepath=None,
          packages=None):
    if isinstance(filename, QtGui.QIcon):
        return filename

    if not filename:
        if default is None:
            default = get_shared_data('icons/oxygen_application-x-desktop.png')
        return qicon(default, default, save_filepath=save_filepath)
    elif filename.startswith(':/'):
        pixmap = QtGui.QPixmap(filename).scaled(
            *DEFAULT_SCALE, aspectRatioMode=QtCore.Qt.KeepAspectRatio)
        icon = QtGui.QIcon(pixmap)
        if save_filepath:
            icon.addFile(save_filepath)
            pixmap.save(save_filepath)
        return icon
    else:
        if packages is None:
            packages = [openalea.core, openalea.oalab]
        found = icon_path(filename,
                          default=default,
                          paths=paths,
                          packages=packages)
        if found:
            pixmap = QtGui.QPixmap(found).scaled(
                *DEFAULT_SCALE, aspectRatioMode=QtCore.Qt.KeepAspectRatio)
            icon = QtGui.QIcon(pixmap)
            if save_filepath:
                icon.addFile(save_filepath)
                pixmap.save(save_filepath)
            return icon
        else:
            return qicon(":/images/resources/%s" % filename,
                         save_filepath=save_filepath)
Пример #16
0
    def refresh(self):
        self.clear()
        project = self._project
        if project is None:
            return

        icons = dict(
            project=QtGui.QIcon(":/images/resources/openalea_icon2.png"),
            src=QtGui.QIcon(":/images/resources/filenew.png"),
            control=QtGui.QIcon(":/images/resources/node.png"),
            world=QtGui.QIcon(":/images/resources/plant.png"),
            startup=QtGui.QIcon(":/images/resources/editredo.png"),
            data=qicon("Crystal_Clear_filesystem_folder_grey_open.png"),
            doc=QtGui.QIcon(":/images/resources/book.png"),
            cache=QtGui.QIcon(":/images/resources/editcopy.png"),
            model=qicon("icons/Crystal_Clear_app_kservices.png"),
            lib=QtGui.QIcon(":/images/resources/codefile-red.png"),
        )

        name = project.name
        parentItem = self.invisibleRootItem()
        item = QtGui.QStandardItem(project.label)
        self._root_item = name

        item.setIcon(obj_icon(project, default=icons['project'], paths=[project.path]))
        parentItem.appendRow(item)

        for category in project.categories:
            item2 = QtGui.QStandardItem(category)
            item.appendRow(item2)

            if category in icons:
                item2.setIcon(icons[category])

            if not hasattr(project, category):
                continue

            data_dict = getattr(project, category)

            names = data_dict.keys()
            for name in sorted(names):
                data = data_dict[name]
                item3 = QtGui.QStandardItem(name)
                item3.setIcon(obj_icon(data, packages=[openalea.oalab]))
                item3.setData((category, data))
                item2.appendRow(item3)
Пример #17
0
def init_global_icons():
    global icon_dict
    if(not icon_dict):
        # dict to do a switch
        icon_dict = {
            PseudoGroup : QtGui.QIcon(":/icons/category.png"),
            CompositeNodeFactory : QtGui.QIcon(":/icons/diagram.png"),
            NodeFactory : QtGui.QIcon(":/icons/node.png"),
            DataFactory : QtGui.QIcon(":/icons/data.png"),
            UserPackage : QtGui.QIcon(":/icons/usrpkg.png"),
            Package :  QtGui.QIcon(":/icons/pkg.png"),
            }
Пример #18
0
def obj_icon(obj, rotation=0, size=(64, 64), applet=None):
    if hasattr(applet, 'icon'):
        applet_icon = applet.icon
    else:
        applet_icon = None

    if applet_icon:
        icon = qicon(applet_icon)
    elif hasattr(obj, 'icon'):
        icon = qicon(obj.icon)
    else:
        icon = qicon('oxygen_application-x-desktop.png')

    if rotation:
        pix = icon.pixmap(*size)
        transform = QtGui.QTransform()
        transform.rotate(rotation)
        pix = pix.transformed(transform)
        icon = QtGui.QIcon(pix)
    return icon
Пример #19
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)
Пример #20
0
    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)
Пример #21
0
    def refresh(self):
        self.clear()
        project = self._project
        if project is None:
            return

        icons = dict(
            project=QtGui.QIcon(":/images/resources/openalea_icon2.png"),
            src=QtGui.QIcon(":/images/resources/filenew.png"),
            control=QtGui.QIcon(":/images/resources/node.png"),
            world=QtGui.QIcon(":/images/resources/plant.png"),
            startup=QtGui.QIcon(":/images/resources/editredo.png"),
            data=QtGui.QIcon(":/images/resources/fileopen.png"),
            doc=QtGui.QIcon(":/images/resources/book.png"),
            cache=QtGui.QIcon(":/images/resources/editcopy.png"),
            model=QtGui.QIcon(":/images/resources/new.png"),
            lib=QtGui.QIcon(":/images/resources/codefile-red.png"),
        )

        name = project.name
        parentItem = self.invisibleRootItem()
        item = QtGui.QStandardItem(name)
        self._root_item = name

        item.setIcon(self.project_icon(project))
        parentItem.appendRow(item)

        for category in project.DEFAULT_CATEGORIES:
            item2 = QtGui.QStandardItem(category)
            item.appendRow(item2)

            if category in icons:
                item2.setIcon(icons[category])

            if not hasattr(project, category):
                continue

            data_dict = getattr(project, category)

            names = data_dict.keys()
            for name in sorted(names):
                data = data_dict[name]
                item3 = QtGui.QStandardItem(name)
                if hasattr(data, 'icon'):
                    data_icon_path = data.icon
                else:
                    data_icon_path = ''
                item3.setIcon(QtGui.QIcon(data_icon_path))
                item3.setData((category, data))
                item2.appendRow(item3)
Пример #22
0
    def __init__(self, parent=None):
        #         super(Viewer, self).__init__()
        AbstractListener.__init__(self)
        view3D.__init__(self, parent=parent)

        self.setAccessibleName("3DViewer")
        self.setMinimumSize(100, 100)

        self.autofocus = True
        self._fps = False
        self.axis = False
        self.grid = True

        actionResetZoom = QtGui.QAction(
            QtGui.QIcon(":/images/resources/resetzoom.png"), "Home", self)
        self.actionAutoFocus = QtGui.QAction(
            QtGui.QIcon(":/images/resources/resetzoom.png"), "Auto Focus",
            self)
        self.actionAutoFocus.setCheckable(True)
        self.actionAutoFocus.setChecked(self.autofocus)
        self.actionAutoFocus.changed.connect(self._on_autofocus_changed)
        actionZoomOut = QtGui.QAction(
            QtGui.QIcon(":/images/resources/zoomout.png"), "Zoom Out", self)
        actionZoomIn = QtGui.QAction(
            QtGui.QIcon(":/images/resources/zoomin.png"), "Zoom In", self)
        actionShowAxis = QtGui.QAction(
            QtGui.QIcon(":/images/resources/axis.png"), "Show Axis", self)
        actionShowGrid = QtGui.QAction(
            QtGui.QIcon(":/images/resources/grid.png"), "Show Grid", self)
        actionRadius = QtGui.QAction(
            QtGui.QIcon(":/images/resources/growth2.png"), "Focus", self)
        actionShowFps = QtGui.QAction(
            QtGui.QIcon(":/images/resources/fps.png"), "Show FPS", self)

        actionBlack = QtGui.QAction(QtGui.QIcon(""), "Bg Black", self)
        actionWhite = QtGui.QAction(QtGui.QIcon(""), "Bg White", self)

        actionShowAxis.setShortcut(
            QtGui.QApplication.translate("MainWindow", "Ctrl+A", None,
                                         QtGui.QApplication.UnicodeUTF8))
        actionShowGrid.setShortcut(
            QtGui.QApplication.translate("MainWindow", "Ctrl+I", None,
                                         QtGui.QApplication.UnicodeUTF8))
        actionRadius.setShortcut(
            QtGui.QApplication.translate("MainWindow", "Ctrl+M", None,
                                         QtGui.QApplication.UnicodeUTF8))
        actionResetZoom.setShortcut(
            QtGui.QApplication.translate("MainWindow", "Ctrl+0", None,
                                         QtGui.QApplication.UnicodeUTF8))
        actionZoomOut.setShortcut(
            QtGui.QApplication.translate("MainWindow", "Ctrl+-", None,
                                         QtGui.QApplication.UnicodeUTF8))
        actionZoomIn.setShortcut(
            QtGui.QApplication.translate("MainWindow", "Ctrl++", None,
                                         QtGui.QApplication.UnicodeUTF8))

        QtCore.QObject.connect(actionResetZoom,
                               QtCore.SIGNAL('triggered(bool)'),
                               self.resetzoom)
        QtCore.QObject.connect(actionZoomOut, QtCore.SIGNAL('triggered(bool)'),
                               self.zoomout)
        QtCore.QObject.connect(actionZoomIn, QtCore.SIGNAL('triggered(bool)'),
                               self.zoomin)

        QtCore.QObject.connect(actionShowAxis,
                               QtCore.SIGNAL('triggered(bool)'),
                               self.show_hide_axis)
        QtCore.QObject.connect(actionShowGrid,
                               QtCore.SIGNAL('triggered(bool)'),
                               self.show_hide_grid)
        QtCore.QObject.connect(actionRadius, QtCore.SIGNAL('triggered(bool)'),
                               self.update_radius)

        QtCore.QObject.connect(actionShowFps, QtCore.SIGNAL('triggered(bool)'),
                               self.show_fps)

        QtCore.QObject.connect(actionBlack, QtCore.SIGNAL('triggered(bool)'),
                               self.set_bg_black)
        QtCore.QObject.connect(actionWhite, QtCore.SIGNAL('triggered(bool)'),
                               self.set_bg_white)

        world = World()
        world.register_listener(self)

        self._actions = [
            ["Viewer", "Zoom", actionResetZoom, 0],
            ["Viewer", "Zoom", actionZoomOut, 0],
            ["Viewer", "Zoom", actionZoomIn, 0],
            ["Viewer", "Zoom", self.actionAutoFocus, 0],
            ["Viewer", "Camera", actionShowAxis, 0],
            ["Viewer", "Camera", actionShowGrid, 0],
            ["Viewer", "Camera", actionRadius, 0],
            ["Viewer", "Camera", actionBlack, 0],
            ["Viewer", "Camera", actionWhite, 0],
            #["Viewer", "Informations", actionShowFps, 1]
        ]