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