def __init__(self): View.__init__(self) # Special layout objects self.top_line = TopLine() self.corner_stone = CornerStone() # Visual Objects we are tracking self._block_items = TypedDict(int, BlockItem) self._band_items = TypedDict(int, BandItem) self._snap_items = TypedDict(str, SnapItem)
def __init__(self, filename): super(FabrikView, self).__init__(None) View.__init__(self) # Qt properties - Enable click-n-drag paning and initialize Scene self.setDragMode(QGraphicsView.ScrollHandDrag) self.setScene(QGraphicsScene(self)) # Enable for debuging self.setViewportUpdateMode(QGraphicsView.FullViewportUpdate) # Add the LayoutManagerWidget to the scene self.layout_manager = FabrikLayoutManagerWidget(self, filename) self.scene().addItem(self.layout_manager) # Hook up the signals and slots self.__update_view_signal.connect(self.layout_manager.link) self.__add_block_item_signal.connect(self.layout_manager.add_block_item) self.__remove_block_item_signal.connect(self.layout_manager.remove_block_item) self.__set_block_item_settings_signal.connect(self.layout_manager.set_block_item_settings) self.__set_block_item_attributes_signal.connect(self.layout_manager.set_block_item_attributes) self.__add_band_item_signal.connect(self.layout_manager.add_band_item) self.__remove_band_item_signal.connect(self.layout_manager.remove_band_item) self.__set_band_item_settings_signal.connect(self.layout_manager.set_band_item_settings) self.__set_band_item_attributes_signal.connect(self.layout_manager.set_band_item_attributes) self.__add_snap_item_signal.connect(self.layout_manager.add_snap_item) self.__remove_snap_item_signal.connect(self.layout_manager.remove_snap_item) self.__set_snap_item_settings_signal.connect(self.layout_manager.set_snap_item_settings) self.__set_snap_item_attributes_signal.connect(self.layout_manager.set_snap_item_attributes) self.__add_hook_item_signal.connect(self.layout_manager.add_hook_item) self.__remove_hook_item_signal.connect(self.layout_manager.remove_hook_item) self.__set_hook_item_settings_signal.connect(self.layout_manager.set_hook_item_settings) self.__set_hook_item_attributes_signal.connect(self.layout_manager.set_hook_item_attributes) self.__add_flow_item_signal.connect(self.layout_manager.add_flow_item) self.__remove_flow_item_signal.connect(self.layout_manager.remove_flow_item) self.__set_flow_item_settings_signal.connect(self.layout_manager.set_flow_item_settings) self.__set_flow_item_attributes_signal.connect(self.layout_manager.set_flow_item_attributes) self.resize(1024, 768) self.show()