class GraphicsWidget(QWidget): def __init__(self): QWidget.__init__(self, None) self.view = GV(self) self.scene = GS(self.view, self) self.view.setScene(self.scene) self.prevPoint = QPoint() layout = QHBoxLayout() layout.addWidget(self.view) self.setLayout(layout) self.controller = None def fit_view(self): self.view._scale_fit() def add_box(self, name, color="black", position=QPointF(0, 0)): b = Box(position=position, scene=self.scene, name=name, color=color) return b #Controller Functions def set_controller(self, controller): self.controller = controller def get_controller(self): return self.controller def drop_event(self, event): #Send an event to a controller print "Demo Graphics View: Drop Event"
class FPGABusView(GraphicsWidget): def __init__(self, parent, status, actions): self.status = status self.actions = actions #Create a view self.view = GraphicsView(parent) #Create a scene self.scene = GraphicsScene(self.view, status, actions, self) super (FPGABusView, self).__init__(self.view, self.scene) self.boxes = {} self.show() self.fi = parent def fit_in_view(self): self.view.fit_in_view() def clear(self): #self.status.Verbose( "Clearing the FPGA Image") #print "Items: %s" % str(self.view.items()) self.scene.clear() self.boxes = {} self.scene.clear_links() def update(self): super (FPGABusView, self).update() self.scene.auto_update_all_links() self.view._scale_fit() #self.scene.update(self.scene.sceneRect()) #self.scene.invalidate(self.scene.sceneRect()) def sizeHint (self): size = QSize() size.setWidth(600) return size
class GraphicsWidget (QWidget): def __init__(self): QWidget.__init__(self, None) self.view = GV(self) self.scene = GS(self.view, self) self.view.setScene(self.scene) self.prevPoint = QPoint() layout = QHBoxLayout() layout.addWidget(self.view) self.setLayout(layout) self.controller = None def fit_view(self): self.view._scale_fit() def add_box(self, name, color = "black", position = QPointF(0, 0)): b = Box(position = position, scene = self.scene, name = name, color = color) return b #Controller Functions def set_controller(self, controller): self.controller = controller def get_controller(self): return self.controller def drop_event(self, event): #Send an event to a controller print "Demo Graphics View: Drop Event"
def __init__(self, parent, actions): self.actions = actions self.view = GraphicsView(parent) self.scene = GraphicsScene(self.view, self.actions) super(VisualizerView, self).__init__(self.view, self.scene) self.boxes = {} self.show()
def __init__(self): QWidget.__init__(self, None) self.view = GV(self) self.scene = GS(self.view, self) self.view.setScene(self.scene) self.prevPoint = QPoint() layout = QHBoxLayout() layout.addWidget(self.view) self.setLayout(layout) self.controller = None
def __init__(self, parent, status, actions): self.status = status self.actions = actions #Create a view self.view = GraphicsView(parent) #Create a scene self.scene = GraphicsScene(self.view, status, actions, self) super (FPGABusView, self).__init__(self.view, self.scene) self.boxes = {} self.show() self.fi = parent
def __init__(self, parent, actions, status): self.status = status self.actions = actions #Create a view self.view = GraphicsView(parent, self.actions, self.status) #Create a scene self.scene = GraphicsScene(self.view, status, actions, self) super (NysaBusView, self).__init__(self.view, self.scene) self.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Preferred) self.boxes = {} #self.show() self.fi = parent
def initUI(self): self.layout = QVBoxLayout() self.layout.setContentsMargins(0, 0, 0, 0) self.setLayout(self.layout) # crate graphics scene self.scene = Scene() # create graphics view self.view = GraphicsView(self.scene.grScene, self) self.layout.addWidget(self.view)
def __init__(self, actions, status): super (BuildFlowView, self).__init__() self.actions = actions self.status = status layout = QHBoxLayout() self.view = GraphicsView(self.actions, self.status, self) self.scene = GraphicsScene(self.actions, self.status, self.view, self) self.view.setScene(self.scene) layout.addWidget(self.view) self.setLayout(layout) self.builders = {} self.initialize_view()
class VisualizerView(GraphicsWidget): def __init__(self, parent, actions): self.actions = actions self.view = GraphicsView(parent) self.scene = GraphicsScene(self.view, self.actions) super(VisualizerView, self).__init__(self.view, self.scene) self.boxes = {} self.show() def clear(self): #print "Items: %s" % str(self.view.items()) self.scene.clear() self.boxes = {} self.scene.clear_links() def update(self): super (VisualizerViewer, self).update() self.view._scale_fit() def sizeHint (self): size = QSize() size.setWidth(600) return size
def __init__(self, view = None, scene = None): QWidget.__init__(self, None) if view is None: self.view = GV(self) else: self.view = view if scene is None: self.scene = GS(self.view, self) else: self.scene = scene self.view.setScene(self.scene) self.prevPoint = PyQt4.QtCore.QPoint() layout = QHBoxLayout() layout.addWidget(self.view) self.setLayout(layout) self.controller = None
class NysaBusView(GraphicsWidget): def __init__(self, parent, actions, status): self.status = status self.actions = actions #Create a view self.view = GraphicsView(parent, self.actions, self.status) #Create a scene self.scene = GraphicsScene(self.view, status, actions, self) super (NysaBusView, self).__init__(self.view, self.scene) self.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Preferred) self.boxes = {} #self.show() self.fi = parent def fit_in_view(self): self.view.fit_in_view() def set_controller(self, controller): self.view.set_controller(controller) self.scene.set_controller(controller) def clear(self): #self.status.Verbose( "Clearing the FPGA Image") #print "Items: %s" % str(self.view.items()) self.scene.clear() self.boxes = {} self.scene.clear_links() def update(self): super (NysaBusView, self).update() self.view._scale_fit() #self.scene.update(self.scene.sceneRect()) #self.scene.invalidate(self.scene.sceneRect()) def sizeHint (self): size = QSize() size.setWidth(600) return size def get_scene(self): return self.scene
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1000, 800) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget) self.verticalLayout.setContentsMargins(2, 2, 2, 2) self.verticalLayout.setSpacing(2) self.verticalLayout.setObjectName("verticalLayout") self.graphicsView = GraphicsView(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.graphicsView.sizePolicy().hasHeightForWidth()) self.graphicsView.setSizePolicy(sizePolicy) self.graphicsView.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.graphicsView.setAcceptDrops(False) brush = QtGui.QBrush(QtGui.QColor(150, 150, 150)) brush.setStyle(QtCore.Qt.SolidPattern) self.graphicsView.setBackgroundBrush(brush) self.graphicsView.setRenderHints(QtGui.QPainter.Antialiasing | QtGui.QPainter.SmoothPixmapTransform | QtGui.QPainter.TextAntialiasing) self.graphicsView.setDragMode(QtWidgets.QGraphicsView.ScrollHandDrag) self.graphicsView.setObjectName("graphicsView") self.verticalLayout.addWidget(self.graphicsView) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1000, 21)) self.menubar.setAcceptDrops(False) self.menubar.setObjectName("menubar") self.menuFile = QtWidgets.QMenu(self.menubar) self.menuFile.setAcceptDrops(False) self.menuFile.setObjectName("menuFile") self.menuEdit = QtWidgets.QMenu(self.menubar) self.menuEdit.setObjectName("menuEdit") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.toolBar = QtWidgets.QToolBar(MainWindow) self.toolBar.setIconSize(QtCore.QSize(30, 30)) self.toolBar.setObjectName("toolBar") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar) self.dockWidgetFile = QtWidgets.QDockWidget(MainWindow) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.dockWidgetFile.sizePolicy().hasHeightForWidth()) self.dockWidgetFile.setSizePolicy(sizePolicy) self.dockWidgetFile.setMinimumSize(QtCore.QSize(160, 97)) self.dockWidgetFile.setObjectName("dockWidgetFile") self.dockWidgetContents = QtWidgets.QWidget() self.dockWidgetContents.setObjectName("dockWidgetContents") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.dockWidgetContents) self.verticalLayout_2.setContentsMargins(2, 2, 2, 2) self.verticalLayout_2.setSpacing(2) self.verticalLayout_2.setObjectName("verticalLayout_2") self.tableViewFile = QtWidgets.QTableView(self.dockWidgetContents) self.tableViewFile.setMinimumSize(QtCore.QSize(150, 0)) self.tableViewFile.setAcceptDrops(True) self.tableViewFile.setDragDropOverwriteMode(False) self.tableViewFile.setObjectName("tableViewFile") self.verticalLayout_2.addWidget(self.tableViewFile) self.dockWidgetFile.setWidget(self.dockWidgetContents) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dockWidgetFile) self.dockWidgetStanp = QtWidgets.QDockWidget(MainWindow) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.dockWidgetStanp.sizePolicy().hasHeightForWidth()) self.dockWidgetStanp.setSizePolicy(sizePolicy) self.dockWidgetStanp.setMinimumSize(QtCore.QSize(300, 200)) self.dockWidgetStanp.setObjectName("dockWidgetStanp") self.dockWidgetContents_2 = QtWidgets.QWidget() self.dockWidgetContents_2.setObjectName("dockWidgetContents_2") self.verticalLayout_3 = QtWidgets.QVBoxLayout( self.dockWidgetContents_2) self.verticalLayout_3.setContentsMargins(2, 2, 2, 2) self.verticalLayout_3.setSpacing(2) self.verticalLayout_3.setObjectName("verticalLayout_3") self.tableViewStamp = QtWidgets.QTableView(self.dockWidgetContents_2) self.tableViewStamp.setAlternatingRowColors(True) self.tableViewStamp.setObjectName("tableViewStamp") self.tableViewStamp.verticalHeader().setDefaultSectionSize(50) self.tableViewStamp.verticalHeader().setMinimumSectionSize(50) self.verticalLayout_3.addWidget(self.tableViewStamp) self.dockWidgetStanp.setWidget(self.dockWidgetContents_2) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dockWidgetStanp) self.dockWidget = QtWidgets.QDockWidget(MainWindow) self.dockWidget.setObjectName("dockWidget") self.dockWidgetContents_3 = QtWidgets.QWidget() self.dockWidgetContents_3.setObjectName("dockWidgetContents_3") self.verticalLayout_6 = QtWidgets.QVBoxLayout( self.dockWidgetContents_3) self.verticalLayout_6.setContentsMargins(2, 2, 2, 2) self.verticalLayout_6.setSpacing(2) self.verticalLayout_6.setObjectName("verticalLayout_6") self.tabWidget = QtWidgets.QTabWidget(self.dockWidgetContents_3) self.tabWidget.setObjectName("tabWidget") self.tab_circle_stamp = QtWidgets.QWidget() self.tab_circle_stamp.setObjectName("tab_circle_stamp") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.tab_circle_stamp) self.verticalLayout_4.setContentsMargins(2, 2, 2, 2) self.verticalLayout_4.setSpacing(2) self.verticalLayout_4.setObjectName("verticalLayout_4") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setSpacing(2) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label = QtWidgets.QLabel(self.tab_circle_stamp) font = QtGui.QFont() font.setPointSize(10) self.label.setFont(font) self.label.setObjectName("label") self.horizontalLayout_2.addWidget(self.label) self.doubleSpinBox_height = QtWidgets.QDoubleSpinBox( self.tab_circle_stamp) self.doubleSpinBox_height.setMinimumSize(QtCore.QSize(0, 24)) font = QtGui.QFont() font.setPointSize(10) self.doubleSpinBox_height.setFont(font) self.doubleSpinBox_height.setDecimals(1) self.doubleSpinBox_height.setMaximum(99999.0) self.doubleSpinBox_height.setProperty("value", 30.0) self.doubleSpinBox_height.setObjectName("doubleSpinBox_height") self.horizontalLayout_2.addWidget(self.doubleSpinBox_height) self.label_2 = QtWidgets.QLabel(self.tab_circle_stamp) font = QtGui.QFont() font.setPointSize(10) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.horizontalLayout_2.addWidget(self.label_2) self.doubleSpinBox_width = QtWidgets.QDoubleSpinBox( self.tab_circle_stamp) self.doubleSpinBox_width.setMinimumSize(QtCore.QSize(0, 24)) font = QtGui.QFont() font.setPointSize(10) self.doubleSpinBox_width.setFont(font) self.doubleSpinBox_width.setDecimals(1) self.doubleSpinBox_width.setMaximum(99999.0) self.doubleSpinBox_width.setProperty("value", 30.0) self.doubleSpinBox_width.setObjectName("doubleSpinBox_width") self.horizontalLayout_2.addWidget(self.doubleSpinBox_width) self.verticalLayout_4.addLayout(self.horizontalLayout_2) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setSpacing(2) self.gridLayout.setObjectName("gridLayout") self.lineEdit_3 = QtWidgets.QLineEdit(self.tab_circle_stamp) self.lineEdit_3.setMinimumSize(QtCore.QSize(0, 24)) font = QtGui.QFont() font.setPointSize(10) self.lineEdit_3.setFont(font) self.lineEdit_3.setObjectName("lineEdit_3") self.gridLayout.addWidget(self.lineEdit_3, 2, 0, 1, 1) self.lineEdit = QtWidgets.QLineEdit(self.tab_circle_stamp) self.lineEdit.setMinimumSize(QtCore.QSize(0, 24)) font = QtGui.QFont() font.setPointSize(10) self.lineEdit.setFont(font) self.lineEdit.setObjectName("lineEdit") self.gridLayout.addWidget(self.lineEdit, 0, 0, 1, 1) self.lineEdit_2 = QtWidgets.QLineEdit(self.tab_circle_stamp) self.lineEdit_2.setMinimumSize(QtCore.QSize(0, 24)) font = QtGui.QFont() font.setPointSize(10) self.lineEdit_2.setFont(font) self.lineEdit_2.setObjectName("lineEdit_2") self.gridLayout.addWidget(self.lineEdit_2, 1, 0, 1, 1) self.doubleSpinBox = QtWidgets.QDoubleSpinBox(self.tab_circle_stamp) self.doubleSpinBox.setMinimumSize(QtCore.QSize(0, 24)) font = QtGui.QFont() font.setPointSize(10) self.doubleSpinBox.setFont(font) self.doubleSpinBox.setDecimals(1) self.doubleSpinBox.setMaximum(9999.0) self.doubleSpinBox.setProperty("value", 6.5) self.doubleSpinBox.setObjectName("doubleSpinBox") self.gridLayout.addWidget(self.doubleSpinBox, 0, 1, 1, 1) self.doubleSpinBox_2 = QtWidgets.QDoubleSpinBox(self.tab_circle_stamp) self.doubleSpinBox_2.setMinimumSize(QtCore.QSize(0, 24)) font = QtGui.QFont() font.setPointSize(10) self.doubleSpinBox_2.setFont(font) self.doubleSpinBox_2.setDecimals(1) self.doubleSpinBox_2.setProperty("value", 5.0) self.doubleSpinBox_2.setObjectName("doubleSpinBox_2") self.gridLayout.addWidget(self.doubleSpinBox_2, 1, 1, 1, 1) self.doubleSpinBox_3 = QtWidgets.QDoubleSpinBox(self.tab_circle_stamp) self.doubleSpinBox_3.setMinimumSize(QtCore.QSize(0, 24)) font = QtGui.QFont() font.setPointSize(10) self.doubleSpinBox_3.setFont(font) self.doubleSpinBox_3.setDecimals(1) self.doubleSpinBox_3.setProperty("value", 6.5) self.doubleSpinBox_3.setObjectName("doubleSpinBox_3") self.gridLayout.addWidget(self.doubleSpinBox_3, 2, 1, 1, 1) self.verticalLayout_4.addLayout(self.gridLayout) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setSpacing(2) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.toolButton_2 = QtWidgets.QToolButton(self.tab_circle_stamp) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/remixicon/file-transfer-line.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_2.setIcon(icon) self.toolButton_2.setIconSize(QtCore.QSize(30, 30)) self.toolButton_2.setAutoRaise(True) self.toolButton_2.setObjectName("toolButton_2") self.horizontalLayout_3.addWidget(self.toolButton_2) self.toolButton = QtWidgets.QToolButton(self.tab_circle_stamp) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/remixicon/refresh-line.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton.setIcon(icon1) self.toolButton.setIconSize(QtCore.QSize(30, 30)) self.toolButton.setAutoRaise(True) self.toolButton.setObjectName("toolButton") self.horizontalLayout_3.addWidget(self.toolButton) self.toolButton_3 = QtWidgets.QToolButton(self.tab_circle_stamp) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/remixicon/crop-line.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_3.setIcon(icon2) self.toolButton_3.setIconSize(QtCore.QSize(30, 30)) self.toolButton_3.setAutoRaise(True) self.toolButton_3.setObjectName("toolButton_3") self.horizontalLayout_3.addWidget(self.toolButton_3) self.toolButton_4 = QtWidgets.QToolButton(self.tab_circle_stamp) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/remixicon/drag-move-2-fill.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_4.setIcon(icon3) self.toolButton_4.setIconSize(QtCore.QSize(30, 30)) self.toolButton_4.setAutoRaise(True) self.toolButton_4.setObjectName("toolButton_4") self.horizontalLayout_3.addWidget(self.toolButton_4) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem) self.verticalLayout_4.addLayout(self.horizontalLayout_3) self.graphicsView_circle_stamp = GraphicsView(self.tab_circle_stamp) self.graphicsView_circle_stamp.setDragMode( QtWidgets.QGraphicsView.ScrollHandDrag) self.graphicsView_circle_stamp.setObjectName( "graphicsView_circle_stamp") self.verticalLayout_4.addWidget(self.graphicsView_circle_stamp) self.tabWidget.addTab(self.tab_circle_stamp, "") self.tab_sqare_stamp = QtWidgets.QWidget() self.tab_sqare_stamp.setObjectName("tab_sqare_stamp") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.tab_sqare_stamp) self.verticalLayout_5.setContentsMargins(2, 2, 2, 2) self.verticalLayout_5.setSpacing(2) self.verticalLayout_5.setObjectName("verticalLayout_5") self.graphicsView_sqare_stamp = GraphicsView(self.tab_sqare_stamp) self.graphicsView_sqare_stamp.setObjectName("graphicsView_sqare_stamp") self.verticalLayout_5.addWidget(self.graphicsView_sqare_stamp) self.tabWidget.addTab(self.tab_sqare_stamp, "") self.verticalLayout_6.addWidget(self.tabWidget) self.dockWidget.setWidget(self.dockWidgetContents_3) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(1), self.dockWidget) self.actionOpen = QtWidgets.QAction(MainWindow) icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(":/remixicon/file-line.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionOpen.setIcon(icon4) self.actionOpen.setObjectName("actionOpen") self.actionSave = QtWidgets.QAction(MainWindow) icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/remixicon/save-3-line.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionSave.setIcon(icon5) self.actionSave.setObjectName("actionSave") self.action_select_range = QtWidgets.QAction(MainWindow) self.action_select_range.setIcon(icon2) self.action_select_range.setObjectName("action_select_range") self.action_drag_item = QtWidgets.QAction(MainWindow) self.action_drag_item.setIcon(icon3) self.action_drag_item.setObjectName("action_drag_item") self.menuFile.addAction(self.actionOpen) self.menuFile.addAction(self.actionSave) self.menuEdit.addAction(self.action_select_range) self.menuEdit.addAction(self.action_drag_item) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuEdit.menuAction()) self.toolBar.addAction(self.actionOpen) self.toolBar.addAction(self.actionSave) self.toolBar.addSeparator() self.toolBar.addAction(self.action_select_range) self.toolBar.addAction(self.action_drag_item) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(0) self.tableViewFile.clicked['QModelIndex'].connect( MainWindow.preview_pdf) self.graphicsView.customContextMenuRequested['QPoint'].connect( self.graphicsView.exec_context_menu) self.toolButton.clicked.connect(MainWindow.preview_circle_stamp) self.toolButton_2.clicked.connect(MainWindow.set_stamp) self.actionSave.triggered.connect(MainWindow.save_files) self.actionOpen.triggered.connect(MainWindow.open_files) self.action_drag_item.triggered.connect( self.graphicsView.setScrollHandDragMode) self.action_select_range.triggered.connect( self.graphicsView.setRubberBandDragMode) self.toolButton_3.clicked.connect( self.graphicsView_circle_stamp.setRubberBandDragMode) self.toolButton_4.clicked.connect( self.graphicsView_circle_stamp.setScrollHandDragMode) QtCore.QMetaObject.connectSlotsByName(MainWindow)
class BuildFlowView(QWidget): def __init__(self, actions, status): super (BuildFlowView, self).__init__() self.actions = actions self.status = status layout = QHBoxLayout() self.view = GraphicsView(self.actions, self.status, self) self.scene = GraphicsScene(self.actions, self.status, self.view, self) self.view.setScene(self.scene) layout.addWidget(self.view) self.setLayout(layout) self.builders = {} self.initialize_view() def set_controller(self, controller): self.controller = controller self.actions.update_view.connect(self.update_view) def update_view(self): self.set_status(GEN_ID, BUILD_STATUS.ready) def initialize_view(self): #Add project generator box project_gen = BuildBox(self.scene, GEN_POS, GEN_NAME, GEN_ID, GEN_COLOR, GEN_DESC, GEN_RECT) #Add the synthesis box synthesis = BuildBox(self.scene, SYNTHESIZER_POS, SYNTHESIZER_NAME, SYNTHESIZER_ID, SYNTHESIZER_COLOR, SYNTHESIZER_DESC, SYNTHESIZER_RECT) #Add the translate box translate = BuildBox(self.scene, TRANSLATOR_POS, TRANSLATOR_NAME, TRANSLATOR_ID, TRANSLATOR_COLOR, TRANSLATOR_DESC, TRANSLATOR_RECT) #Add the map box mapper = BuildBox(self.scene, MAP_POS, MAP_NAME, MAP_ID, MAP_COLOR, MAP_DESC, MAP_RECT) #Add the par box par = BuildBox(self.scene, PAR_POS, PAR_NAME, PAR_ID, PAR_COLOR, PAR_DESC, PAR_RECT) #Add the bitgen box bitgen = BuildBox(self.scene, BITGEN_POS, BITGEN_NAME, BITGEN_ID, BITGEN_COLOR, BITGEN_DESC, BITGEN_RECT) downloader = BuildBox(self.scene, DOWNLOADER_POS, DOWNLOADER_NAME, DOWNLOADER_ID, DOWNLOADER_COLOR, DOWNLOADER_DESC, DOWNLOADER_RECT) #Add the trce box trce = BuildBox(self.scene, TRACE_POS, TRACE_NAME, TRACE_ID, TRACE_COLOR, TRACE_DESC, TRACE_RECT) #Add the link between generator and synthesis l = project_gen.add_link(synthesis, from_side = st.bottom, to_side = st.top) l.set_directed(True) #Add the link between synthesis and translate l = synthesis.add_link(translate) l.set_directed(True) #Add the link between translate and map l = translate.add_link(mapper) l.set_directed(True) #Add the link between map and par l = mapper.add_link(par) l.set_directed(True) #Add the link between par and bitgen l = par.add_link(bitgen) l.set_directed(True) #Add the link between par and trce l = par.add_link(trce) l.set_directed(True) #Add the downloader l = bitgen.add_link(downloader) l.set_directed(True) self.builders[GEN_ID] = project_gen self.builders[SYNTHESIZER_ID] = synthesis self.builders[TRANSLATOR_ID] = translate self.builders[MAP_ID] = mapper self.builders[PAR_ID] = par self.builders[BITGEN_ID] = bitgen self.builders[TRACE_ID] = trce self.builders[DOWNLOADER_ID] = downloader def reset_status(self): #self.builders[GEN_ID].set_status(BUILD_STATUS.unknown) self.set_status(GEN_ID, BUILD_STATUS.ready) self.builders[SYNTHESIZER_ID].set_status(BUILD_STATUS.unknown) self.builders[TRANSLATOR_ID].set_status(BUILD_STATUS.unknown) self.builders[MAP_ID].set_status(BUILD_STATUS.unknown) self.builders[PAR_ID].set_status(BUILD_STATUS.unknown) self.builders[BITGEN_ID].set_status(BUILD_STATUS.unknown) self.builders[TRACE_ID].set_status(BUILD_STATUS.unknown) self.builders[DOWNLOADER_ID].set_status(BUILD_STATUS.unknown) def set_status(self, builder, status): self.builders[builder].set_status(status) def get_status(self, builder): return self.builders[builder].get_status() def set_build_callback(self, build_cb): for builder in self.builders: self.builders[builder].set_build_callback(build_cb)
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 800) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.toolButton = QtWidgets.QToolButton(self.centralwidget) self.toolButton.setIconSize(QtCore.QSize(32, 32)) self.toolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButton.setAutoRaise(False) self.toolButton.setObjectName("toolButton") self.horizontalLayout.addWidget(self.toolButton) self.toolButton_2 = QtWidgets.QToolButton(self.centralwidget) self.toolButton_2.setIconSize(QtCore.QSize(32, 32)) self.toolButton_2.setToolButtonStyle( QtCore.Qt.ToolButtonTextBesideIcon) self.toolButton_2.setAutoRaise(False) self.toolButton_2.setObjectName("toolButton_2") self.horizontalLayout.addWidget(self.toolButton_2) self.toolButton_3 = QtWidgets.QToolButton(self.centralwidget) self.toolButton_3.setObjectName("toolButton_3") self.horizontalLayout.addWidget(self.toolButton_3) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1) self.treeView = QtWidgets.QTreeView(self.centralwidget) self.treeView.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.treeView.setAcceptDrops(True) self.treeView.setEditTriggers( QtWidgets.QAbstractItemView.AnyKeyPressed | QtWidgets.QAbstractItemView.DoubleClicked | QtWidgets.QAbstractItemView.EditKeyPressed | QtWidgets.QAbstractItemView.SelectedClicked) self.treeView.setDragEnabled(True) self.treeView.setDragDropMode(QtWidgets.QAbstractItemView.InternalMove) self.treeView.setAlternatingRowColors(True) self.treeView.setSelectionMode( QtWidgets.QAbstractItemView.ExtendedSelection) self.treeView.setSelectionBehavior( QtWidgets.QAbstractItemView.SelectItems) self.treeView.setExpandsOnDoubleClick(False) self.treeView.setObjectName("treeView") self.gridLayout.addWidget(self.treeView, 1, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21)) self.menubar.setObjectName("menubar") self.menuFile = QtWidgets.QMenu(self.menubar) self.menuFile.setObjectName("menuFile") self.menuImport = QtWidgets.QMenu(self.menuFile) self.menuImport.setObjectName("menuImport") self.menuExport = QtWidgets.QMenu(self.menuFile) self.menuExport.setObjectName("menuExport") self.menuEdit = QtWidgets.QMenu(self.menubar) self.menuEdit.setObjectName("menuEdit") self.menuSettings = QtWidgets.QMenu(self.menubar) self.menuSettings.setObjectName("menuSettings") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.dockWidget = QtWidgets.QDockWidget(MainWindow) self.dockWidget.setObjectName("dockWidget") self.dockWidgetContents = QtWidgets.QWidget() self.dockWidgetContents.setObjectName("dockWidgetContents") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.dockWidgetContents) self.verticalLayout_2.setObjectName("verticalLayout_2") self.graphicsView = GraphicsView(self.dockWidgetContents) self.graphicsView.setObjectName("graphicsView") self.verticalLayout_2.addWidget(self.graphicsView) self.dockWidget.setWidget(self.dockWidgetContents) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidget) self.dockWidget_2 = QtWidgets.QDockWidget(MainWindow) self.dockWidget_2.setObjectName("dockWidget_2") self.dockWidgetContents_2 = QtWidgets.QWidget() self.dockWidgetContents_2.setObjectName("dockWidgetContents_2") self.gridLayout_2 = QtWidgets.QGridLayout(self.dockWidgetContents_2) self.gridLayout_2.setObjectName("gridLayout_2") self.label_2 = QtWidgets.QLabel(self.dockWidgetContents_2) self.label_2.setObjectName("label_2") self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_2.addItem(spacerItem1, 5, 0, 1, 1) self.label = QtWidgets.QLabel(self.dockWidgetContents_2) self.label.setObjectName("label") self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1) self.toolButton_4 = QtWidgets.QToolButton(self.dockWidgetContents_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.toolButton_4.sizePolicy().hasHeightForWidth()) self.toolButton_4.setSizePolicy(sizePolicy) self.toolButton_4.setObjectName("toolButton_4") self.gridLayout_2.addWidget(self.toolButton_4, 4, 1, 1, 1) self.lineEdit = QtWidgets.QLineEdit(self.dockWidgetContents_2) self.lineEdit.setObjectName("lineEdit") self.gridLayout_2.addWidget(self.lineEdit, 2, 1, 1, 1) self.lineEdit_2 = QtWidgets.QLineEdit(self.dockWidgetContents_2) self.lineEdit_2.setObjectName("lineEdit_2") self.gridLayout_2.addWidget(self.lineEdit_2, 3, 1, 1, 1) self.label_3 = QtWidgets.QLabel(self.dockWidgetContents_2) self.label_3.setObjectName("label_3") self.gridLayout_2.addWidget(self.label_3, 3, 0, 1, 1) self.comboBox = QtWidgets.QComboBox(self.dockWidgetContents_2) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.gridLayout_2.addWidget(self.comboBox, 0, 1, 1, 1) self.label_4 = QtWidgets.QLabel(self.dockWidgetContents_2) self.label_4.setObjectName("label_4") self.gridLayout_2.addWidget(self.label_4, 1, 0, 1, 1) self.comboBox_2 = QtWidgets.QComboBox(self.dockWidgetContents_2) self.comboBox_2.setObjectName("comboBox_2") self.comboBox_2.addItem("") self.comboBox_2.addItem("") self.gridLayout_2.addWidget(self.comboBox_2, 1, 1, 1, 1) self.dockWidget_2.setWidget(self.dockWidgetContents_2) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidget_2) self.actionSave = QtWidgets.QAction(MainWindow) self.actionSave.setObjectName("actionSave") self.actionAppendChild = QtWidgets.QAction(MainWindow) self.actionAppendChild.setObjectName("actionAppendChild") self.actionDelete = QtWidgets.QAction(MainWindow) self.actionDelete.setObjectName("actionDelete") self.actionSettings = QtWidgets.QAction(MainWindow) self.actionSettings.setObjectName("actionSettings") self.actionImportJSON = QtWidgets.QAction(MainWindow) self.actionImportJSON.setObjectName("actionImportJSON") self.actionImportCSV = QtWidgets.QAction(MainWindow) self.actionImportCSV.setObjectName("actionImportCSV") self.actionExportJSON = QtWidgets.QAction(MainWindow) self.actionExportJSON.setObjectName("actionExportJSON") self.actionExportCSV = QtWidgets.QAction(MainWindow) self.actionExportCSV.setObjectName("actionExportCSV") self.actionOpen = QtWidgets.QAction(MainWindow) self.actionOpen.setObjectName("actionOpen") self.actionImpoertImage = QtWidgets.QAction(MainWindow) self.actionImpoertImage.setObjectName("actionImpoertImage") self.menuImport.addAction(self.actionImportJSON) self.menuImport.addAction(self.actionImportCSV) self.menuImport.addAction(self.actionImpoertImage) self.menuExport.addAction(self.actionExportJSON) self.menuExport.addAction(self.actionExportCSV) self.menuFile.addAction(self.actionOpen) self.menuFile.addAction(self.actionSave) self.menuFile.addAction(self.menuImport.menuAction()) self.menuFile.addAction(self.menuExport.menuAction()) self.menuEdit.addAction(self.actionAppendChild) self.menuEdit.addAction(self.actionDelete) self.menuSettings.addAction(self.actionSettings) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuEdit.menuAction()) self.menubar.addAction(self.menuSettings.menuAction()) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)