예제 #1
0
    def __init__(self, parent=None):
        QtWidgets.QGraphicsView.__init__(self, parent)
        self.scene = QtWidgets.QGraphicsScene(self)
        self.scene.setSceneRect(0, 0, 700, 500)

        # self.simple_group = QtWidgets.QGraphicsItemGroup()
        # self.simple_group.addToGroup(self.simple_entity_widget)
        # self.simple_group.addToGroup(self.simple_entity_widget2)
        # self.simple_group.addToGroup(self.simple_arrow)
        # self.simple_group.setFlag(QtWidgets.QGraphicsItem.ItemIsMovable)
        # self.simple_group.setFlag(QtWidgets.QGraphicsItem.ItemIsSelectable)
        # self.scene.addItem(self.simple_group)

        e = EntityExtractor()
        # C:\PythonProjects\CppDesignViewer\EntityRepo
        repo = e.search_classes('../EntityRepo/test_simple_file.cpp')
        entity_tree = EntityTrees()
        entity_tree.form_trees_from_repository(repo)
        roots = entity_tree.get_root_nodes()
        tree_widget_list = list()

        prev_widget_x = 10
        prev_widget_y = 0

        for root in roots:
            tree_widget_list.append(TreeWidget(root))
            tree_widget_list[-1].setPos(QPointF(prev_widget_x, prev_widget_y))
            h = tree_widget_list[-1].sizeHint(Qt.SizeHint.PreferredSize).height()
            prev_widget_y += h + 5
            self.scene.addItem(tree_widget_list[-1])

        print("sizeHint = ", tree_widget_list[0].sizeHint(Qt.SizeHint.MinimumSize)) #, QtCore.QSizeF(100, 100)
        print("sizeHint = ", tree_widget_list[0].sizeHint(Qt.SizeHint.MaximumSize))
        print("sizeHint = ", tree_widget_list[0].sizeHint(Qt.SizeHint.PreferredSize))



        # tree = TestTreeWidget().combine_trees((3, "left tree"), (2, "center tree"), (2, "right tree"))
        # tree_widget = TreeWidget()
        # tree_widget.build_from_root(tree)
        # self.scene.addItem(tree_widget)

        self.setScene(self.scene)
        self.timer = QtCore.QTimer()
        self.timer.setInterval(1000)
        self.timer.timeout.connect(self.timeout_slot)
        # self.timer.start()
        self.time_counter = 0
        self.time_increment = 1
예제 #2
0
    def __init__(self, context):
        """
        Initializes the Plugin
        """

        super(ArniGuiDetail, self).__init__(context)
        self.setObjectName('arni_gui_detail')

        # Process standalone plugin command-line arguments
        from argparse import ArgumentParser

        parser = ArgumentParser()
        # Add argument(s) to the parser.
        parser.add_argument("-q",
                            "--quiet",
                            action="store_true",
                            dest="quiet",
                            help="Put plugin in silent mode")
        args, unknowns = parser.parse_known_args(context.argv())
        if not args.quiet:
            print 'arguments: ', args
            print 'unknowns: ', unknowns

        self.__model = ROSModel()

        self.__selection_widget = SelectionWidget(self.__model)
        context.add_widget(self.__selection_widget)

        self.__tree_widget = TreeWidget(self.__model, self.__selection_widget,
                                        self)
        context.add_widget(self.__tree_widget)
        self.__tree_widget.connect_slots()
        self.__tree_widget.show_erroneous_check_box.setCheckState(0)

        self.__selection_widget.connect_slots()

        #: is handeld here for the widget communication
        self.__tree_widget.item_tree_view.clicked.connect(
            self.__on_item_in_item_tree_view_clicked)
예제 #3
0
 def setUp(self):
     self.tree_widget = TreeWidget()