Esempio n. 1
0
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.parent = parent
        #This variables are used to save the splitter sizes before hide
        self._splitterMainSizes = None
        self._splitterAreaSizes = None
        self.lateralPanel = None

        hbox = QHBoxLayout(self)
        hbox.setContentsMargins(0, 0, 0, 0)
        hbox.setSpacing(0)
        #Create Splitters to divide the UI in: MainPanel, Explorer, Misc
        self._splitterArea = QSplitter(Qt.Horizontal)
        self._splitterMain = QSplitter(Qt.Vertical)

        #Create scrollbar for follow mode
        self.scrollBar = QScrollBar(Qt.Vertical, self)
        self.scrollBar.setFixedWidth(20)
        self.scrollBar.setToolTip('Follow Mode: Scroll the Editors together')
        self.scrollBar.hide()
        self.connect(self.scrollBar, SIGNAL("valueChanged(int)"),
                     self.move_follow_scrolls)

        #Add to Main Layout
        hbox.addWidget(self.scrollBar)
        hbox.addWidget(self._splitterArea)
    def __init__(self, master):
        self.master = master
        super(PositionControlItems, self).__init__()

        nscales = 4
        master.scale_azimuth, master.scale_elevation, master.scale_roll = [
            QDial() for i in range(nscales - 1)
        ]
        master.scale_stereodepth = QScrollBar(Qt.Horizontal)
        label_azimuth, label_elevation, label_roll, label_stereodepth = [
            QLabel() for i in range(nscales)
        ]
        master.button_zoomin, master.button_zoomout, master.button_resetcamera = [
            QPushButton() for i in range(3)
        ]
        label_stereodepth = QLabel("Stereo depth")

        for button, buttontext in zip(
            (master.button_zoomin, master.button_zoomout,
             master.button_resetcamera), ("Zoom In", "Zoom Out", "Reset")):
            button.setText(buttontext)

        layout = QGridLayout()
        for index, label, labeltext in zip(
                range(nscales), (label_azimuth, label_elevation, label_roll),
            ("Azimuth", "Elevation", "Roll")):
            label.setText(labeltext)
            label.setAlignment(Qt.AlignRight)

        layout.addWidget(master.button_zoomin, 0, 7)
        layout.addWidget(master.button_zoomout, 0, 8)

        for index, scale in enumerate(
            (master.scale_azimuth, master.scale_elevation, master.scale_roll)):
            scale.setMinimum(-179)
            scale.setMaximum(180)
            scale.setValue(0)
            scale.setMaximumSize(QSize(60, 60))

        for index, comp in enumerate(
            (label_azimuth, master.scale_azimuth, label_elevation,
             master.scale_elevation, label_roll, master.scale_roll)):
            layout.addWidget(comp, 0, index, 2, 1)

        layout.addWidget(master.button_resetcamera, 1, 8)

        master.scale_stereodepth.setValue(20)
        master.scale_stereodepth.setMinimum(10)
        master.scale_stereodepth.setMaximum(100)
        layout.addWidget(label_stereodepth, 0, 6)
        layout.addWidget(master.scale_stereodepth, 1, 6)

        layout.setMargin(0)
        layout.setHorizontalSpacing(20)
        layout.setVerticalSpacing(0)

        for col, val in enumerate((1, 2, 1, 2, 1, 2, 4, 4, 4)):
            layout.setColumnStretch(col, val)

        self.setLayout(layout)
Esempio n. 3
0
    def parsed(self):
        if not self.renderer.aborted and self.renderer.lrf is not None:
            width, height =  self.renderer.lrf.device_info.width, \
                                            self.renderer.lrf.device_info.height
            hdelta = self.tool_bar.height() + 3

            from PyQt4.QtGui import QScrollBar
            s = QScrollBar(self)
            scrollbar_adjust = min(s.width(), s.height())
            self.graphics_view.resize_for(width + scrollbar_adjust,
                                          height + scrollbar_adjust)

            desktop = QCoreApplication.instance().desktop()
            screen_height = desktop.availableGeometry(self).height() - 25
            height = min(screen_height, height + hdelta + scrollbar_adjust)
            self.resize(width + scrollbar_adjust, height)
            self.setWindowTitle(self.renderer.lrf.metadata.title + ' - ' +
                                __appname__)
            self.document_title = self.renderer.lrf.metadata.title
            if self.opts.profile:
                import cProfile
                lrf = self.renderer.lrf
                cProfile.runctx('self.document.render(lrf)', globals(),
                                locals(), lrf.metadata.title + '.stats')
                print 'Stats written to', self.renderer.lrf.metadata.title + '.stats'
            else:
                start = time.time()
                self.document.render(self.renderer.lrf)
                print 'Layout time:', time.time() - start, 'seconds'
            self.renderer.lrf = None

            self.graphics_view.setScene(self.document)
            self.graphics_view.show()
            self.spin_box.setRange(1, self.document.num_of_pages)
            self.slider.setRange(1, self.document.num_of_pages)
            self.spin_box.setSuffix(' of %d' % (self.document.num_of_pages, ))
            self.spin_box.updateGeometry()
            self.stack.setCurrentIndex(0)
            self.graphics_view.setFocus(Qt.OtherFocusReason)
        elif self.renderer.exception is not None:
            exception = self.renderer.exception
            print >> sys.stderr, 'Error rendering document'
            print >> sys.stderr, exception
            print >> sys.stderr, self.renderer.formatted_traceback
            msg = u'<p><b>%s</b>: ' % (
                exception.__class__.__name__, ) + unicode(
                    str(exception), 'utf8', 'replace') + u'</p>'
            msg += u'<p>Failed to render document</p>'
            msg += u'<p>Detailed <b>traceback</b>:<pre>'
            msg += self.renderer.formatted_traceback + '</pre>'
            d = ConversionErrorDialog(self, 'Error while rendering file', msg)
            d.exec_()
    def __init__(self, master):
        super(CropControlItems, self).__init__()

        nscales = 6

        master.scale_xmin, master.scale_xmax, master.scale_ymin, master.scale_ymax, master.scale_zmin, master.scale_zmax = [
            QScrollBar(Qt.Horizontal) for i in range(nscales)
        ]
        label_xmin, label_xmax, label_ymin, label_ymax, label_zmin, label_zmax = [
            QLabel() for i in range(nscales)
        ]

        master.button_resetcrop = QPushButton("Crop Reset")
        master.button_box = QPushButton("BoxWidget On/Off", )
        layout = QGridLayout()
        for index, label, labeltext, labelcolor in zip(range(nscales), (label_xmin, label_xmax, label_ymin, label_ymax, label_zmin, label_zmax), ("X min", "X max", "Y min", "Y max", "Z min", "Z max"),\
                                                       ("red", "red", "green", "green", "blue", "blue")):
            label.setText(labeltext)
            label.setStyleSheet("QLabel {color:" + labelcolor + " ; }")
            layout.addWidget(label, 0, index)

        layout.addWidget(master.button_box, 0, index + 1)

        for index, scale in enumerate(
            (master.scale_xmin, master.scale_xmax, master.scale_ymin,
             master.scale_ymax, master.scale_zmin, master.scale_zmax,
             master.button_resetcrop)):
            scale.setEnabled(False)
            layout.addWidget(scale, 1, index)

        master.button_box.setEnabled(False)

        layout.setMargin(5)
        layout.setHorizontalSpacing(20)
        layout.setVerticalSpacing(0)

        self.setLayout(layout)
Esempio n. 5
0
    def __init__(self, parent=None):
        super(_MainContainer, self).__init__(parent)
        self._parent = parent
        self.stack = QStackedLayout(self)

        #Create scrollbar for follow mode
        self.scrollBar = QScrollBar(Qt.Vertical, self)
        self.scrollBar.setFixedWidth(20)
        self.scrollBar.setToolTip(
            self.tr('Follow Mode: Scroll the Editors together'))
        self.scrollBar.hide()
        #hbox.addWidget(self.scrollBar)

        self.splitter = dynamic_splitter.DynamicSplitter()
        self.tabs = tab_widget.TabWidget(self)
        self.setAcceptDrops(True)
        self.splitter.addWidget(self.tabs)
        self.stack.addWidget(self.splitter)

        self.current_split = None
        #documentation browser
        self.docPage = None
        #Code Navigation
        self._locator = locator.Locator()
        self.__codeBack = []
        self.__codeForward = []
        self.__bookmarksFile = ''
        self.__bookmarksPos = -1
        self.__breakpointsFile = ''
        self.__breakpointsPos = -1
        self.__operations = {
            0: self._navigate_code_jumps,
            1: self._navigate_bookmarks,
            2: self._navigate_breakpoints}

        self.connect(self, SIGNAL("locateFunction(QString, QString, bool)"),
            self.locate_function)
        self.connect(self.tabs, SIGNAL("currentChanged(int)"),
            self._current_tab_changed)
        self.connect(self.tabs, SIGNAL("splitTab(QTabWidget, int, bool)"),
            self._split_this_tab)
        self.connect(self.tabs, SIGNAL("reopenTab(QString)"),
            self.open_file)
        self.connect(self.tabs, SIGNAL("syntaxChanged(QWidget, QString)"),
            self._specify_syntax)
        self.connect(self.tabs, SIGNAL("allTabsClosed()"),
            self._main_without_tabs)
        #reload file
        self.connect(self.tabs, SIGNAL("reloadFile(QWidget)"),
            self.reload_file)
        #for Save on Close operation
        self.connect(self.tabs, SIGNAL("saveActualEditor()"),
            self.save_file)
        #Navigate Code
        self.connect(self.tabs, SIGNAL("navigateCode(bool, int)"),
            self.navigate_code_history)
        # Refresh recent tabs
        self.connect(self.tabs, SIGNAL("recentTabsModified(QStringList)"),
            self._recent_files_changed)

        IDE.register_service('main_container', self)

        #Register signals connections
        connections = (
            {'target': 'menu_file',
            'signal_name': 'openFile(QString)',
            'slot': self.open_file},
            {'target': 'explorer_container',
            'signal_name': 'goToDefinition(int)',
            'slot': self.editor_go_to_line},
            {'target': 'explorer_container',
            'signal_name': 'projectClosed(QString)',
            'slot': self.close_files_from_project},
            {'target': 'explorer_container',
            'signal_name': 'pep8Activated(bool)',
            'slot': self.reset_pep8_warnings},
            {'target': 'explorer_container',
            'signal_name': 'lintActivated(bool)',
            'slot': self.reset_lint_warnings},
            )

        IDE.register_signals('main_container', connections)

        if settings.SHOW_START_PAGE:
            self.show_start_page()