Esempio n. 1
0
    def __init__(self, session, system, errors):
        QWidget.__init__(self)
        self._session_ = session
        self._errors_ = errors
        self.system = system

        session.sources_changed.connect(self.update_model)

        self.tree = QTreeView()
        self.buttons_bar = QFrame()
        self.add_folder = QPushButton()
        self.add_folder.setIcon(self.style().standardIcon(
            QStyle.SP_FileDialogNewFolder))
        self.add_folder.setToolTip('Add folder')

        self.add_page = QPushButton()
        #self.add_page.setIcon(self.style().standardIcon(QStyle.SP_FileIcon))
        self.add_page.setIcon(icons.get('add_file'))
        self.add_page.setToolTip('Add new page')
        self.add_page.clicked.connect(self.showNewPageWindow)

        self.delete_button = QPushButton()
        self.delete_button.setIcon(self.style().standardIcon(
            QStyle.SP_TrashIcon))
        self.delete_button.setToolTip('Delete selected page/folder')

        self._update_buttons_state_()
        self.source_selection_changed.connect(self._update_buttons_state_)

        self._do_layout_()
Esempio n. 2
0
 def __init__(self, propertiesRepo, propertyName, gap=10, editWidth=100):
     QWidget.__init__(self)
     lt = QHBoxLayout()
     self.label = QLabel(propertyName)
     self.edit = PropertyLineEdit(propertiesRepo, propertyName)
     self.edit.setFixedWidth(editWidth)
     lt.addWidget(self.label)
     lt.addStretch(gap)
     lt.addWidget(self.edit)
     self.setLayout(lt)
Esempio n. 3
0
    def __init__(self, session, settings):
        QWidget.__init__(self)

        self._settings_ = settings
        self._session_ = session
        self.visible_files = []
        self.selected_file = None

        self.list = QListWidget()
        self.list.itemSelectionChanged.connect(self._handle_selection_)

        self.buttons_bar = QFrame()

        self.insert_button = QPushButton()
        self.insert_button.setIcon(icons.get('insert_image'))
        self.insert_button.setToolTip('Insert as image')
        self.insert_button.clicked.connect(self._do_insert_)

        self.add_files_button = QPushButton()
        self.add_files_button.setIcon(self.style().standardIcon(
            QStyle.SP_DialogOpenButton))
        self.add_files_button.setToolTip('Import images to repository')
        self.add_files_button.clicked.connect(self._open_import_)

        self.screenshot_button = QPushButton()
        self.screenshot_button.setIcon(icons.get('screenshot'))
        self.screenshot_button.setToolTip('Take screenshot')
        self.screenshot_button.clicked.connect(self.startScreenshot)

        self.delete_button = QPushButton()
        self.delete_button.setIcon(self.style().standardIcon(
            QStyle.SP_TrashIcon))
        self.delete_button.setToolTip('Delete selected images')
        self.delete_button.clicked.connect(self._delete_selection_)

        self.edit_image = QPushButton()
        self.edit_image.setToolTip('Edit image')
        self.edit_image.setIcon(icons.get('edit-image'))
        self.edit_image.clicked.connect(self._open_edit_window_)

        self.screenshot_selector = WindowRegionSelector()
        self.screenshot_selector.on_take_screenshot.connect(
            self.takeScreenshot)
        self.screenshot_selector.on_quit.connect(self.moveWindowBack)

        self._revalidate_()

        self._do_layout_()
Esempio n. 4
0
    def showProperties(self, item):

        for i in reversed(range(self.editLayout.count())):
            self.editLayout.itemAt(i).widget().setParent(None)

        self.leftPanel.setVisible(item is not None)

        if item is None:
            return

        # close = QPushButton('x')
        # close.clicked.connect(lambda: self.scene.emptyPress())
        # l = QHBoxLayout()
        # l.addStretch(1)
        # l.addWidget(close)
        # w = QWidget()
        # w.setLayout(l)
        # self.editLayout.addWidget(w)

        from properties import PropertyWidget
        from widgets import horizontalSeparator, hoverActiveButton

        for p in item.properties():
            rowW = PropertyWidget(item.properties(), p.name)
            rowW.edit.setStyleSheet(EditImageWindow.editStyle)
            rowW.edit.setMaximumWidth(80)
            self.editLayout.addWidget(rowW)

        if isinstance(item, RectSelectionItem):
            insetInput = QLineEdit()
            insetInput.setStyleSheet(EditImageWindow.editStyle)
            insetInput.setValidator(QIntValidator())
            insetInput.setMaximumWidth(40)
            insetInput.setText('1')
            insetInput.setTextMargins(6, 0, 0, 0)
            rowLt = QHBoxLayout()
            bt = hoverActiveButton("Insert Insets")
            bt.clicked.connect(
                lambda: self.appendInsets(int(insetInput.text()), item))

            rowLt.addWidget(insetInput)
            rowLt.addStretch(10)
            rowLt.addWidget(bt)
            panel = QWidget()
            panel.setLayout(rowLt)

            self.editLayout.addWidget(horizontalSeparator())
            self.editLayout.addWidget(panel)
Esempio n. 5
0
 def __init__(self, parent=None):
     super(MainWindow, self).__init__(parent)
     self.setWindowTitle('Numeron Network')
     self.setFixedSize(600, 700)
     self.window = Window(self)
     _widget = QWidget()
     _layout = QVBoxLayout(_widget)
     _layout.addWidget(self.window)
     self.setCentralWidget(_widget)
Esempio n. 6
0
    def do_layout(self):
        panel = QWidget()

        bar = self.layout_buttons()

        topBottom = QVBoxLayout()
        leftToRight = QHBoxLayout()
        leftToRight.addWidget(self.leftPanel)
        leftToRight.addStretch(10)
        topBottom.addStretch(1)
        topBottom.addLayout(leftToRight)
        topBottom.addStretch(1)
        self.view.setLayout(topBottom)

        lt = QVBoxLayout()
        lt.addWidget(bar)
        #lt.addLayout(leftToRight)
        lt.addWidget(self.view)
        panel.setLayout(lt)

        self.setCentralWidget(panel)
Esempio n. 7
0
    def __init__(self, settings):
        QWidget.__init__(self)

        self.settings = settings

        #self.editor = RstCodeEdit(color_scheme='qt' if self.settings.color_scheme == ColorScheme.defualt else 'darcula')
        self.editor = RstCodeEdit(
            color_scheme='qt' if self.settings.color_scheme ==
            ColorScheme.defualt else 'darcula')

        self.editor.setFrameStyle(QFrame.NoFrame)
        if self.settings.editor_font and len(self.settings.editor_font) > 0:
            self.editor.font_name = self.settings.editor_font

        self.text_modified = False
        self.editor.textChanged.connect(self._mark_modified_)

        self.undo = QPushButton()
        self.redo = QPushButton()

        self.content_update_timer = QTimer()
        self.content_update_timer.timeout.connect(self._check_content_change_)

        self._do_layout_()
Esempio n. 8
0
    def __init__(self, path):
        QMainWindow.__init__(self)
        self.path = path
        self.scene = ImageScene(imageUrl=path)
        self.view = ImageCanvas(self.scene)
        self.leftPanel = self.configureOverlyPanel(QWidget())
        self.editLayout = QVBoxLayout()
        self.editLayout.setSpacing(0)
        self.leftPanel.setLayout(self.editLayout)
        self.leftPanel.setVisible(False)

        self.numberIter = 1

        self.enabledOnSelection = []

        self.do_layout()

        self.scene.selectionChanged.connect(self.update_enabled)

        self.scene.on_item_edit.connect(self.showProperties)
Esempio n. 9
0
    def layout_buttons(self):
        import icons

        panel = QWidget()
        panel.setObjectName('buttons-bar')

        add_rect = QPushButton()
        add_rect.setIcon(icons.get('rectangle'))
        add_rect.setToolTip('Add Rectangle')
        add_rect.clicked.connect(self.scene.addRectElement)

        add_ellipse = QPushButton()
        add_ellipse.setIcon(icons.get('ellipse'))
        add_ellipse.setToolTip('Add Ellipse')
        add_ellipse.clicked.connect(self.scene.addEllipseElement)

        add_number = QPushButton()
        add_number.setToolTip('Add number')
        add_number.setIcon(icons.get('add_number'))
        add_number.clicked.connect(lambda: self.scene.addNumberElement(self))

        add_numbered_rect = QPushButton()
        add_numbered_rect.setToolTip('Add numbered rectangle')
        add_numbered_rect.setIcon(icons.get('add_numbered_rect'))
        add_numbered_rect.clicked.connect(
            lambda: self.scene.addNumberedRectElement(self))

        duplicate_button = QPushButton()
        duplicate_button.setToolTip('Duplicate')
        duplicate_button.setIcon(icons.get('duplicate'))
        duplicate_button.setEnabled(False)
        duplicate_button.clicked.connect(
            lambda: self.scene.duplicateSelection())
        self.enabledOnSelection.append(duplicate_button)

        delete_button = QPushButton()
        delete_button.setToolTip('Delete')
        delete_button.setIcon(self.style().standardIcon(QStyle.SP_TrashIcon))
        delete_button.setEnabled(False)
        delete_button.clicked.connect(lambda: self.scene.deleteSelected())
        self.enabledOnSelection.append(delete_button)

        spacing = QLineEdit()
        spacing.setText(str(self.scene.posConstraint.spacing))
        spacing.setValidator(QIntValidator(bottom=0))
        spacing.returnPressed.connect(
            lambda: self.scene.setSpacing(int(spacing.text())))
        spacing.setMaximumWidth(30)

        xshift = QSpinBox()
        xshift.setValue(self.scene.posConstraint.xShift)
        xshift.valueChanged.connect(lambda v: self.scene.setXGridShift(v))

        yshift = QSpinBox()
        yshift.setValue(self.scene.posConstraint.yShift)
        yshift.valueChanged.connect(lambda v: self.scene.setYGridShift(v))

        lt = QHBoxLayout()
        lt.addWidget(add_rect)
        lt.addWidget(add_ellipse)
        lt.addWidget(add_number)
        lt.addWidget(add_numbered_rect)
        lt.addSpacing(20)
        lt.addWidget(duplicate_button)
        lt.addSpacing(20)
        lt.addWidget(delete_button)
        lt.addStretch()
        lt.addWidget(QLabel('Grid Spacing'))
        lt.addWidget(spacing)
        lt.addWidget(QLabel('X Grid Shift'))
        lt.addWidget(xshift)
        lt.addWidget(QLabel('Y Grid Shift'))
        lt.addWidget(yshift)

        panel.setLayout(lt)

        return panel
Esempio n. 10
0
def horizontalSeparator():
    horizontalLineWidget = QWidget()
    horizontalLineWidget.setFixedHeight(1)
    horizontalLineWidget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
    horizontalLineWidget.setStyleSheet("background-color: #c0c0c0;")
    return horizontalLineWidget
Esempio n. 11
0
 def __init__(self):
     QWidget.__init__(self)
     StatusViewInterface.__init__(self)