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)
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)
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()