示例#1
0
    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)
示例#2
0
    def __init__(self, parent=None, editingCentral=False):
        QtGui.QSplitter.__init__(self, QtCore.Qt.Vertical, parent)
        self.__splitter = QtGui.QSplitter(QtCore.Qt.Horizontal, self)

        self.__profileExplorer = ProfileViewer(None)
        self.__curveOverview = CurvePanel()
        self.__curveEdit = Curve2DEditor(self.__splitter)
        self.__curveEdit.position = 0.0  #additional attribute needed to refresh the edited curve.

        self.__addonConf = AddOnControlWidget(self.__profileExplorer, self)

        # -- curve panel conf --
        self.__curveEdit.sphere = interpolated_profile.sg.Sphere(radius=0.002)
        self.__curveEdit.accessorType[NurbsCurve] = ProfileEditor.NurbsAccessor

        # -- profile explorer conf --
        self.__profileExplorer.factor = [1, 1, 2]
        self.__profileExplorer.userSlices.enabled = True
        self.__profileExplorer.visualSections.enabled = True
        self.__profileExplorer.visualSections.baseAlpha = 0.5
        self.__profileExplorer.grids.enabled = True
        self.__profileExplorer.grids.xzGrid = True
        self.__profileExplorer.grids.zScale = True

        # -- signal binding --
        self.__curveOverview.curveEditRequested.connect(
            self.__on_curve_edit_request)
        self.__curveOverview.curveDeleteRequested.connect(
            self.__on_curve_delete_request)
        self.__curveOverview.curveMoveRequested.connect(
            self.__on_curve_move_request)
        self.__profileExplorer.positionChanged.connect(
            self.__on_position_changed)
        self.__profileExplorer.userSectionHighlighted.connect(
            self.__on_user_section_highlight)
        self.__profileExplorer.userSectionHighlighted.connect(
            self.__curveOverview.highlight_curve_at_position)
        # !!! Do not bind this one as valueChanged can be anything
        # !!! and that our custom curvePanel.curveAccessor directly
        # !!! edits the interpolated profile.
        # self.__curveEdit.connect(self.__curveEdit, QtCore.SIGNAL("valueChanged()"), self.__on_curve_edited)

        # -- layout --
        l = QtGui.QBoxLayout(QtGui.QBoxLayout.TopToBottom)
        l.addWidget(
            self.__profileExplorer if not editingCentral else self.__curveEdit)
        l.addWidget(self.__curveOverview)
        l.setContentsMargins(0, 0, 0, 0)
        explorerAndCurveOverview = QtGui.QWidget(self.__splitter)
        explorerAndCurveOverview.setLayout(l)
        self.__splitter.addWidget(self.__addonConf)
        self.__splitter.addWidget(explorerAndCurveOverview)
        self.__splitter.addWidget(
            self.__curveEdit if not editingCentral else self.__profileExplorer)
        self.__splitter.setSizes([0, explorerAndCurveOverview.width(), 0])
        self.addWidget(self.__splitter)

        # -- latest position of profile explorer
        # -- cursor that matched a user defined curve.
        self.__editedPosition = None
示例#3
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)
示例#4
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()
示例#5
0
def qt_container(container, **kwargs):
    widget = QtGui.QWidget()
    layout = QtGui.QFormLayout(widget)
    widget.editor = {}
    widget.control = {}
    for control in container.controls():
        editor = qt_editor(control, 'hline')
        if editor:
            widget.editor[control] = weakref.ref(editor)
            widget.control[control.name] = control
            layout.addRow(control.alias, editor)
    return widget
示例#6
0
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'
示例#7
0
    def __set_curves(self):
        self.__refreshTimout.stop()
        crvs = self.__crvs
        if len(crvs) == len(self.__curveViews):  #refresh the existing views
            for i in range(len(crvs)):
                pos, c = crvs[i]
                v = self.__curveViews[i]
                v.setCurve(c)
                v.pos = pos
                self.__curveLabels[i].setValue(pos)
        else:  #recreate them
            del self.__curveViews[:]
            del self.__curveLabels[:]
            scrolledWidget = QtGui.QWidget(self)
            layout = QtGui.QBoxLayout(self.orientation)
            scrolledWidget.setLayout(layout)

            # -- used to lock the bounding cross section line edits --
            minPos = min(crvs, key=lambda x: x[0])[0]
            maxPos = max(crvs, key=lambda x: x[0])[0]

            for pos, c in crvs:
                frame = QtGui.QFrame(scrolledWidget)
                frame.setFrameShape(QtGui.QFrame.Panel)
                frame.setFrameShadow(QtGui.QFrame.Raised)
                subLay = QtGui.QBoxLayout(QtGui.QBoxLayout.TopToBottom)
                frame.setLayout(subLay)

                w = CurvePanel.SimpleCurve2DView(pos, c, frame)
                w.clicked.connect(self.curveEditRequested)
                w.deleteRequested.connect(self.curveDeleteRequested)

                label = QtGui.QDoubleSpinBox()
                label.setRange(-100000., 100000.)
                label.setValue(pos)
                label.setAlignment(QtCore.Qt.AlignHCenter)
                sender = SenderWidget(label, float, self)
                if pos in [minPos, maxPos]:
                    label.setEnabled(False)
                else:
                    sender.valueChanged.connect(self.__on_label_changed)

                subLay.addWidget(w, QtCore.Qt.AlignHCenter)
                subLay.addWidget(label, QtCore.Qt.AlignHCenter)
                layout.addWidget(frame)
                self.__curveViews.append(w)
                self.__curveLabels.append(label)
            self.setWidget(scrolledWidget)
示例#8
0
    def __init__(self, explorer, parent=None):
        QtGui.QScrollArea.__init__(self, parent)

        # -- reference to the profile explorer
        self.__exp = weakref.proxy(explorer)
        self.setSizePolicy(QtGui.QSizePolicy.Preferred,
                           QtGui.QSizePolicy.Maximum)
        # -- Layout --
        self.__subWidget = QtGui.QWidget(
        )  # A QScrollArea needs an inner widget to scroll.
        self.__layout = QtGui.QBoxLayout(QtGui.QBoxLayout.TopToBottom)
        # -- internals --
        self.__widmap = {
        }  #map a widget instance to an addon path "addon_name.attribute_name" and the opposite way too.
        self.__addOns = {}  #map an addon name to an addon instance.
        self.build_gui()  #browse the addon list and build the GUI.
        self.__subWidget.setLayout(self.__layout)
        self.setWidget(self.__subWidget)
示例#9
0
    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)
示例#10
0
    def _set_config(self, config):
        # TODO
        # Manage memory (are children widgets destroyed when tabwidget.clear ?)
        # Once it is sure all widget are totally cleaned and destroyed,
        # we can move it to public method to allow to change config dynamically
        self._config = config
        sections = config.sections()

        self.tabwidget.clear()

        for section in sections:
            if section not in self.hidden_sections:
                self._option_values[section] = []
                tab = QtGui.QWidget(self.tabwidget)
                self.tabwidget.addTab(tab, section)
                layout = QtGui.QFormLayout(tab)
                options = config.options(section)
                for option_name in options:
                    value = config.get(section, option_name)
                    control, widget = Widget(option_name, value)
                    self._option_values[section].append(control)
                    layout.addRow(option_name, widget)
示例#11
0
    def test():
        model1 = DataFactory('data/model.py')
        pmw.open_data(model1)

    from openalea.oalab.shell import get_shell_class
    from openalea.core.service.ipython import interpreter as interpreter_

    # Set interpreter
    interpreter = interpreter_()
    interpreter.user_ns['interp'] = interpreter
    interpreter.user_ns.update(locals())
    interpreter.user_ns['pmw'] = pmw
    interpreter.user_ns['data'] = DataFactory

    # Set Shell Widget
    widget = QtGui.QWidget()
    layout = QtGui.QHBoxLayout(widget)

    shellwdgt = get_shell_class()(interpreter)

    layout.addWidget(pmw)
    layout.addWidget(shellwdgt)

    layout.setSpacing(0)
    layout.setContentsMargins(0, 0, 0, 0)

    widget.show()
    widget.raise_()

    if instance is None:
        app.exec_()
示例#12
0
    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
示例#13
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)