Пример #1
0
    def __init__(self, canvas):
        QDockWidget.__init__(self)
        self.canvas = canvas
        self.in_query = False

        # Set up the user interface from Designer.
        self.ui = Ui_IfsttarRoutingDock()
        self.ui.setupUi(self)

        self.ui.criterionBox.addWidget(
            CriterionChooser(self.ui.criterionBox, True))

        # set roadmap's header
        self.ui.roadmapTable.setHorizontalHeader(QHeaderView(Qt.Horizontal))
        self.ui.roadmapTable.setHorizontalHeaderLabels(
            ["", "Direction", "Costs"])

        # add the origin chooser
        self.ui.origin = StepSelector(self.ui.verticalLayout,
                                      "Origin",
                                      dock=self)
        self.ui.verticalLayout.insertWidget(0, self.ui.origin)
        self.ui.origin.set_canvas(self.canvas)

        # add the Destination chooser
        dest = StepSelector(self.ui.stepBox,
                            "Destination",
                            coordinates_only=False,
                            dock=self)
        dest.coordinates_changed.connect(self.update_pinpoints)
        dest.set_canvas(self.canvas)
        self.ui.stepBox.addWidget(dest)

        # set the minimum height of the scroll area to "one stepselector"
        self.ui.scrollArea.setMinimumHeight(dest.sizeHint().height())

        # set pin points updater
        self.ui.origin.coordinates_changed.connect(self.update_pinpoints)
        self.ui.origin.dock = self

        # add the private parking chooser
        self.parkingChooser = StepSelector(self.ui.queryPage,
                                           "Private parking location",
                                           coordinates_only=True,
                                           dock=self)
        self.parkingChooser.set_canvas(self.canvas)
        self.parkingEnabledBox = QCheckBox(self.ui.queryPage)
        self.parkingEnabledBox.stateChanged.connect(self.on_toggle_parking)
        self.parkingEnabledBox.setCheckState(Qt.Unchecked)
        self.ui.parkingLayout.addWidget(self.parkingEnabledBox)
        self.ui.parkingLayout.addWidget(self.parkingChooser)

        # set parking location updater
        self.parkingChooser.coordinates_changed.connect(self.update_parking)
        self.parkingChooser.dock = self