def __init__(self, jointController, footstepDriver): self.jointController = jointController self.footstepDriver = footstepDriver loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddNavigation.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.ui.captureButton.connect("clicked()", self.onCaptureButton) self.ui.visualizeButton.connect("clicked()", self.onVisualizeButton) self.ui.planButton.connect("clicked()", self.onPlanButton) self.ui.reversePlanButton.connect("clicked()", self.onReversePlanButton) self.ui.initAtZeroButton.connect("clicked()", self.onInitAtZeroButton) self.ui.restartNavButton.connect("clicked()", self.onRestartNavButton) self.ui.showMapButton.connect("clicked()", self.onShowMapButton) self.ui.hideMapButton.connect("clicked()", self.onHideMapButton) self.ui.disableLaserButton.connect("clicked()", self.onDisableLaserButton) self.ui.enableLaserButton.connect("clicked()", self.onEnableLaserButton) self.ui.startNewMapButton.connect("clicked()", self.onStartNewMapButton) self.ui.useNewMapButton.connect("clicked()", self.onUseNewMapButton) # Data Variables: self.goal = dict() self.init_frame = None self.octomap_cloud = None
def __init__(self, planPlayback, playbackRobotModel, playbackJointController, robotStateModel, robotStateJointController, manipPlanner): self.planPlayback = planPlayback self.playbackRobotModel = playbackRobotModel self.playbackJointController = playbackJointController self.robotStateModel = robotStateModel self.robotStateJointController = robotStateJointController self.manipPlanner = manipPlanner manipPlanner.connectPlanCommitted(self.onPlanCommitted) manipPlanner.connectUseSupports(self.updateButtonColor) self.autoPlay = True self.useOperationColors() self.planFramesObj = None self.plan = None self.poseInterpolator = None self.startTime = 0.0 self.endTime = 1.0 self.animationTimer = TimerCallback() self.animationTimer.targetFps = 60 self.animationTimer.callback = self.updateAnimation self.animationClock = SimpleTimer() loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddPlaybackPanel.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) uifile.close() self.ui = WidgetDict(self.widget.children()) self.ui.viewModeCombo.connect('currentIndexChanged(const QString&)', self.viewModeChanged) self.ui.playbackSpeedCombo.connect( 'currentIndexChanged(const QString&)', self.playbackSpeedChanged) self.ui.interpolationCombo.connect( 'currentIndexChanged(const QString&)', self.interpolationChanged) self.ui.samplesSpinBox.connect('valueChanged(int)', self.numberOfSamplesChanged) self.ui.playbackSlider.connect('valueChanged(int)', self.playbackSliderValueChanged) self.ui.animateButton.connect('clicked()', self.animateClicked) self.ui.hideButton.connect('clicked()', self.hideClicked) self.ui.executeButton.connect('clicked()', self.executeClicked) self.ui.executeButton.setShortcut(QtGui.QKeySequence('Ctrl+Return')) self.ui.stopButton.connect('clicked()', self.stopClicked) self.ui.executeButton.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.ui.executeButton.connect( 'customContextMenuRequested(const QPoint&)', self.showExecuteContextMenu) self.setPlan(None) self.hideClicked()
def __init__(self, view): self.view = view loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddFrameVisualization.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.botFrameUpdater = BotFrameUpdater(self.ui.botFramesListWidget) robotModel = om.findObjectByName('robot state model') self.linkFrameUpdater = LinkFrameUpdater(robotModel, self.ui.linkFramesListWidget) self.eventFilter = PythonQt.dd.ddPythonEventFilter() self.ui.scrollArea.installEventFilter(self.eventFilter) self.eventFilter.addFilteredEventType(QtCore.QEvent.Resize) self.eventFilter.connect('handleEvent(QObject*, QEvent*)', self.onEvent) PythonQt.dd.ddGroupBoxHider(self.ui.botFramesGroup) PythonQt.dd.ddGroupBoxHider(self.ui.linkFramesGroup) self.updateTimer = TimerCallback(targetFps=60) self.updateTimer.callback = self.updateFrames self.updateTimer.start()
def __init__(self, robotSystem): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddJointCommandPanel.ui') assert uifile.open(uifile.ReadOnly) self.robotSystem = robotSystem self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.ui.streamingButton.connect('clicked()', self.onStreamingClicked) self.ui.resetButton.connect('clicked()', self.onResetClicked) self.ui.hidePreviewButton.connect('clicked()', self.onHidePreviewClicked) self.ui.previewSlider.connect('valueChanged(int)', self.onPreviewSliderChanged) self.ui.speedSpinBox.connect('valueChanged(double)', self.onSpeedChanged) self.ui.steeringButton.connect('clicked()', self.onSteeringButtonClicked) self.ui.throttleButton.connect('clicked()', self.onThrottleButtonClicked) self.hidePreviewModels() self.throttleControlEnabled = False self.steeringControlEnabled = False
def __init__(self, prescribedVelocitiesBC): self.prescribedVelocitiesBC = prescribedVelocitiesBC uiFileName = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ui", "PrescribedVelocitiesBoundaryConditionEditorWidget.ui") self.ui = QtUiTools.QUiLoader().load(QtCore.QFile(str(uiFileName))) self.figure = PrescribedVelocitiesFigure() plotLayout = self.ui.findChild(PythonQt.QtCore.QObject, "plotLayout") plotFrame = self.ui.findChild(PythonQt.QtCore.QObject, "plotFrame") self.navigationToolbar = NavigationToolbar(self.figure, plotFrame) plotLayout.addWidget(self.navigationToolbar) plotLayout.addWidget(self.figure) loadWaveformButton = self.ui.findChild(PythonQt.QtCore.QObject, "loadWaveformButton") loadWaveformButton.connect('clicked(bool)', self.loadWaveform) self.numberOfSamplesSpinBox = self.ui.findChild(PythonQt.QtCore.QObject, "numberOfSamplesSpinBox") self.numberOfSamplesSpinBox.connect('valueChanged(int)', self._computeSmoothedWaveform) self.smoothnessSlider = self.ui.findChild(PythonQt.QtCore.QObject, "smoothnessSlider") self.smoothnessSlider.connect('valueChanged(int)', self._computeSmoothedWaveform) if self.prescribedVelocitiesBC.firstFilteredCoef < 0: # Support for converted old mitk scenes self.prescribedVelocitiesBC.firstFilteredCoef = int( self._findLastNonZeroCoef()[0] * (self.prescribedVelocitiesBC.firstFilteredCoef / -100.0)) self._updatePlot(self.prescribedVelocitiesBC.numberOfSamples, self.prescribedVelocitiesBC.firstFilteredCoef)
def __init__(self): #Loading filename = os.path.join(os.environ['SPARTAN_SOURCE_DIR'], 'apps/chris/ddGroundTruthAnnotationPanel.ui') loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(filename) assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) uifile.close() #UI elements self.ui = WidgetDict(self.widget.children()) self.view = app.getCurrentRenderView() self.ui.enabledCheck.connect('toggled(bool)', self.onEnabledCheckBox) self.ui.clearButton.connect('clicked()', self.onClear) self.ui.saveScene.connect('clicked()', self.saveCurrentScene) self.ui.align.connect('clicked()', self.vtkICP) self.eventFilter = MyEventFilter(view, self) self.annotation = vis.PolyDataItem('annotation', self.makeSphere((0, 0, 0)), view) self.annotation.setProperty('Color', [0, 1, 0]) self.annotation.actor.SetPickable(False) self.annotation.actor.SetUserTransform(vtk.vtkTransform()) self.setEnabled(False) #State self.pickPoints = [] self.objects = [] self.isModifyingBoundingBox = False #init folders self.getRootFolder() self.getModelObjectsFolder() self.getTransformedObjectsFolder()
def __init__(self, view, affordanceManager, jointController=None): self.view = view self.affordanceManager = affordanceManager self.jointController = jointController loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(":/ui/ddAffordancePanel.ui") assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.ui.affordanceListWidget.hide() self.ui.spawnBoxButton.connect("clicked()", self.onSpawnBox) self.ui.spawnSphereButton.connect("clicked()", self.onSpawnSphere) self.ui.spawnCylinderButton.connect("clicked()", self.onSpawnCylinder) self.ui.spawnCapsuleButton.connect("clicked()", self.onSpawnCapsule) self.ui.spawnRingButton.connect("clicked()", self.onSpawnRing) self.ui.spawnMeshButton.connect("clicked()", self.onSpawnMesh) self.eventFilter = PythonQt.dd.ddPythonEventFilter() self.ui.scrollArea.installEventFilter(self.eventFilter) self.eventFilter.addFilteredEventType(QtCore.QEvent.Resize) self.eventFilter.connect("handleEvent(QObject*, QEvent*)", self.onEvent)
def showDialog(mainWindow): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/vvResources/vvAboutDialog.ui') if not uifile.open(uifile.ReadOnly): print("Canno't open the ui for the about dialog.") return dialog = loader.load(uifile, mainWindow) uifile.close() dialog.setModal(True) def w(name): for widget in dialog.children(): if widget.objectName == name: return widget image = w('splashLabel') splash = image.pixmap.scaled(image.pixmap.width()/2.0, image.pixmap.height()/2.0) image.setPixmap(splash) image.adjustSize() appName = mainWindow.windowTitle.split(" ")[0] appVersionTag = mainWindow.windowTitle.split(" ")[1] appBitTag = mainWindow.windowTitle.split(" ")[2] dialog.windowTitle = "About " + appName + " ..." copyrightText = '''<h1>{0} {1} {2}</h1><br/> Copyright (c) 2017, Velodyne Lidar, Copyright (c) 2017, Kitware<br /> Provided by <a href="http://velodynelidar.com/">Velodyne Lidar</a>, coded by <a href="https://www.kitware.com/">Kitware</a>.<br /> <br /> Sample Data Repository: <a href="http://midas3.kitware.com/midas/community/29">http://midas3.kitware.com/midas/community/29</a> '''.format(appName, appVersionTag, appBitTag) w('copyrightLabel').setText(copyrightText) textBoxContent = '''<h4>Want more ? Ask Kitware !</h4> Kitware Inc. is a leading provider of open-source software systems for technical and scientific computing. We are the developers of VeloView, providing real-time interactive visualization of live captured 3D LiDAR data from Velodyne's sensors. We create customized solutions providing detection and tracking of people, street signs, lane markings, vehicles, industrial machinery, and building facades from within VeloView or using combinations of point cloud and video data. We also provide Lidar-based SLAM algorithms for other Velodyne's integrators. We work with customers to create tailored solutions using proven open-source technologies, avoiding vendor lock-in and leveraging our world-leading experience in visualization, computer vision, high-performance computing, and test-driven high-quality software process.<br /> <br /> <br /> Have a look at <a href="https://www.kitware.com/our-expertise/">our expertise</a>, and for more information, please contact us: <a href="mailto:[email protected]?subject=Contact+about+VeloView">[email protected]</a> ''' w('detailsLabel').setText(textBoxContent) button = w('closeButton') closeIcon = QtGui.QApplication.style().standardIcon(QtGui.QStyle.SP_DialogCloseButton) button.setIcon(closeIcon) button.connect(button, QtCore.SIGNAL('clicked()'), dialog, QtCore.SLOT('close()')) dialog.adjustSize() dialog.setFixedSize(dialog.size) dialog.exec_()
def __init__(self, view): self.view = view self.trackerManager = cameracontrol.CameraTrackerManager() self.trackerManager.setView(view) loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddCameraControlPanel.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.ui.targetNameLabel.setText('None') self.ui.setTargetButton.connect('clicked()', self.onSetTarget) for modeName in list(self.trackerManager.trackers.keys()): self.ui.trackModeCombo.addItem(modeName) self.ui.trackModeCombo.connect('currentIndexChanged(const QString&)', self.onTrackModeChanged) self.ui.controlFrame.setEnabled(False) l = self.ui.propertiesFrame.layout() self.propertiesPanel = PythonQt.dd.ddPropertiesPanel() self.propertiesPanel.setBrowserModeToWidget() l.addWidget(self.propertiesPanel) self.panelConnector = None self.objectPicker = pointpicker.ObjectPicker(self.view) self.objectPicker.callbackFunc = self.onPickObject self.objectPicker.abortFunc = self.onAbortPick self.picking = False om.getDefaultObjectModel().connectObjectClicked(self.onTreeClicked)
def __init__(self, view, affordanceManager, ikServer, jointController, raycastDriver): self.view = view self.affordanceManager = affordanceManager self.ikServer = ikServer self.jointController = jointController self.raycastDriver = raycastDriver loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddAffordancePanel.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.ui.affordanceListWidget.hide() self.ui.spawnBoxButton.connect('clicked()', self.onSpawnBox) self.ui.spawnSphereButton.connect('clicked()', self.onSpawnSphere) self.ui.spawnCylinderButton.connect('clicked()', self.onSpawnCylinder) self.ui.spawnCapsuleButton.connect('clicked()', self.onSpawnCapsule) self.ui.spawnRingButton.connect('clicked()', self.onSpawnRing) self.ui.spawnMeshButton.connect('clicked()', self.onSpawnMesh) self.ui.getRaycastTerrainButton.connect('clicked()', self.onGetRaycastTerrain) self.eventFilter = PythonQt.dd.ddPythonEventFilter() self.ui.scrollArea.installEventFilter(self.eventFilter) self.eventFilter.addFilteredEventType(QtCore.QEvent.Resize) self.eventFilter.connect('handleEvent(QObject*, QEvent*)', self.onEvent) self.updateTimer = TimerCallback(targetFps=30) self.updateTimer.callback = self.updatePanel self.updateTimer.start()
def __init__(self, materialData): self.materialData = materialData uiPath = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ui") uiFileName = os.path.join(uiPath, "SingleMaterialEditorWidget.ui") l = QtUiTools.QUiLoader() l.setWorkingDirectory(QtCore.QDir(uiPath)) self.ui = l.load(QtCore.QFile(str(uiFileName))) findChild = lambda name: self.ui.findChild(PythonQt.QtCore.QObject, name) self.scriptTextEditor = findChild("scriptTextEdit") self.highlighter = PythonHighlighter.PythonHighlighter(self.scriptTextEditor) self.scriptTextEditor.setText(materialData.scriptData) self.scriptTextEditor.connect('textChanged()', self.saveScriptText) self.helpButton = findChild("helpButton") self.helpButton.connect('clicked(bool)', self.showHelpTooltip) self.inputVariableComboBox = findChild("inputVariableComboBox") self.inputVariableComboBox.setCurrentIndex(self.materialData.tableData.inputVariableType) self.inputVariableComboBox.connect('currentIndexChanged(int)', self.setInputVariableType) self.representationComboBox = findChild("representationComboBox") self.customMaterialFrame = findChild("customMaterialFrame") self.overrideCheckBox = findChild("overrideCheckBox") if materialData.representation == RepresentationType.Constant: self.customMaterialFrame.hide() else: self.overrideCheckBox.setChecked(True) self.representationComboBox.setCurrentIndex(materialData.representation) self.overrideCheckBox.connect('toggled(bool)', self.enableRepresentationOverride) self.representationComboBox.connect('currentIndexChanged(int)', self.setRepresentationByComboBoxIndex) self.materialNameLineEdit = findChild("materialNameLineEdit") self.materialNameLineEdit.setText(materialData.name) self.tableWidget = findChild("tableWidget") findChild("addRowBeforeButton").connect('clicked(bool)', self.addRowBefore) findChild("addRowAfterButton").connect('clicked(bool)', self.addRowAfter) findChild("removeRowsButton").connect('clicked(bool)', self.removeRows) findChild("loadTableButton").connect('clicked(bool)', self.loadTableFromFile) findChild("saveTableButton").connect('clicked(bool)', self.saveTableToFile) class DoubleValueDelegate(QtGui.QItemDelegate): def createEditor(self, parent, option, index): le = QtGui.QLineEdit(parent) le.setValidator(QtGui.QDoubleValidator(le)) return le self.doubleValueDelegate = DoubleValueDelegate() self.tableWidget.setItemDelegate(self.doubleValueDelegate) self.fillingTable = False self.fillTableFromData() self.tableWidget.model().connect('dataChanged(QModelIndex, QModelIndex)', self.fillDataFromTable) self.tableWidget.model().connect('rowsRemoved(QModelIndex, int, int)', self.fillDataFromTable)
def __init__(self): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(":/ui/ddRobotPoseGui.ui") assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) uifile.close() self.ui = WidgetDict(self.widget.children()) self.widget.setWindowTitle("Robot Pose Utility") self.messageBoxWarning = functools.partial( QtGui.QMessageBox.warning, self.widget ) self.messageBoxQuestion = functools.partial( QtGui.QMessageBox.question, self.widget ) self.messageBoxInput = functools.partial( QtGui.QInputDialog.getText, self.widget ) assert directorConfigFile is not None self.configFile = os.path.join( os.path.dirname(directorConfigFile), getDirectorConfig()["postureDatabaseFile"], ) if not self.checkConfigFile(): return self.setup() self.restoreSettings()
def __init__(self, netlistBC): self.netlistBC = netlistBC uiPath = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ui") uiFileName = os.path.join(uiPath, "NetlistBCEditorWidget.ui") l = QtUiTools.QUiLoader() l.setWorkingDirectory(QtCore.QDir(uiPath)) self.ui = l.load(QtCore.QFile(str(uiFileName))) netlistEditorLaunchButton = self.ui.findChild(PythonQt.QtCore.QObject, "launchEditorButton") netlistEditorLaunchButton.connect('clicked(bool)', self.launchEditor) netlistLoadFileButton = self.ui.findChild(PythonQt.QtCore.QObject, "loadCircuitButton") netlistLoadFileButton.connect('clicked(bool)', self.loadCircuit) netlistLoadScriptButton = self.ui.findChild(PythonQt.QtCore.QObject, "loadAdjustmentScriptButton") netlistLoadScriptButton.connect('clicked(bool)', self.loadAdjustmentScript) netlistLoadAdditionalDatFileButton = self.ui.findChild(PythonQt.QtCore.QObject, "loadDataFileButton") netlistLoadAdditionalDatFileButton.connect('clicked(bool)', self.loadAdditionalDatFile) removeButton = self.ui.findChild(PythonQt.QtCore.QObject, "removeButton") removeButton.connect('clicked(bool)', self.removeSelected) self.fileContentsViewer = self.ui.findChild(PythonQt.QtCore.QObject, "scriptContestTextEdit") self.scriptListTable = self.ui.findChild(PythonQt.QtCore.QObject, "scriptListTable") self.scriptListTable.connect('currentCellChanged(int, int, int, int)', self.showContents) self.recreateSavedState()
def createUI(self): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddCameraPanel.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.widget.setWindowTitle("Camera Visualizer") self.ui.gridLayout_2.setSpacing(0) self.ui.gridLayout_2.setMargin(0) view = self.createCameraView('CAMERACHEST_LEFT') frame1Layout = QtGui.QVBoxLayout(self.ui.frame1) frame1Layout.setSpacing(0) frame1Layout.setMargin(0) frame1Layout.addWidget(view) view = self.createCameraView('MULTISENSE_CAMERA_LEFT') frame2Layout = QtGui.QVBoxLayout(self.ui.frame2) frame2Layout.setSpacing(0) frame2Layout.setMargin(0) frame2Layout.addWidget(view) view = self.createCameraView('CAMERACHEST_RIGHT') frame3Layout = QtGui.QVBoxLayout(self.ui.frame3) frame3Layout.setSpacing(0) frame3Layout.setMargin(0) frame3Layout.addWidget(view)
def __init__(self, lDriver, rDriver, robotStateModel, robotStateJointController, view): self.robotStateModel = robotStateModel self.robotStateJointController = robotStateJointController self.drivers = {} self.drivers['left'] = lDriver self.drivers['right'] = rDriver self.storedCommand = {'left': None, 'right': None} loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddHandControl.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self._updateBlocked = True self.widget.advanced.sendButton.setEnabled(True) # Store calibration for wrist f/t sensors self.wristftvis = WristForceTorqueVisualizer(robotStateModel, robotStateJointController, view) # connect the callbacks self.widget.basic.openButton.clicked.connect(self.openClicked) self.widget.basic.closeButton.clicked.connect(self.closeClicked) self.widget.basic.waitOpenButton.clicked.connect(self.waitOpenClicked) self.widget.basic.waitCloseButton.clicked.connect(self.waitCloseClicked) self.widget.advanced.sendButton.clicked.connect(self.sendClicked) self.widget.advanced.calibrateButton.clicked.connect(self.calibrateClicked) self.widget.advanced.setModeButton.clicked.connect(self.setModeClicked) self.widget.advanced.regraspButton.clicked.connect(self.regraspClicked) self.widget.advanced.dropButton.clicked.connect(self.dropClicked) self.widget.advanced.repeatRateSpinner.valueChanged.connect(self.rateSpinnerChanged) self.ui.fingerControlButton.clicked.connect(self.fingerControlButton) self.widget.sensors.rightTareButton.clicked.connect(self.wristftvis.tareRightFT) self.widget.sensors.leftTareButton.clicked.connect(self.wristftvis.tareLeftFT) self.widget.sensors.rightCalibButton.clicked.connect(self.wristftvis.calibRightFT) self.widget.sensors.leftCalibButton.clicked.connect(self.wristftvis.calibLeftFT) self.widget.sensors.rightCalibClearButton.clicked.connect(self.wristftvis.calibRightClearFT) self.widget.sensors.leftCalibClearButton.clicked.connect(self.wristftvis.calibLeftClearFT) self.widget.sensors.rightVisCheck.clicked.connect(self.updateWristFTVis) self.widget.sensors.leftVisCheck.clicked.connect(self.updateWristFTVis) self.widget.sensors.torqueVisCheck.clicked.connect(self.updateWristFTVis) PythonQt.dd.ddGroupBoxHider(self.ui.sensors) PythonQt.dd.ddGroupBoxHider(self.ui.fingerControl) # Bug fix... for some reason one slider is set as disabled self.ui.fingerASlider.setEnabled(True) # create a timer to repeat commands self.updateTimer = TimerCallback() self.updateTimer.callback = self.updatePanel self.updateTimer.targetFps = 3 self.updateTimer.start()
def loadUi(filename): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(filename) assert uifile.open(uifile.ReadOnly) widget = loader.load(uifile) ui = WidgetDict(widget.children()) return widget, ui
def __init__(self, planningUtils, robotStateModel, robotStateJointController, teleopRobotModel, teleopJointController, ikPlanner, manipPlanner, affordanceManager, showPlanFunction, hidePlanFunction, footDriver): self.planningUtils = planningUtils self.robotStateModel = robotStateModel self.robotStateJointController = robotStateJointController self.teleopRobotModel = teleopRobotModel self.teleopJointController = teleopJointController self.ikPlanner = ikPlanner self.manipPlanner = manipPlanner self.affordanceManager = affordanceManager self.showPlanFunction = showPlanFunction self.hidePlanFunction = hidePlanFunction self.footDriver = footDriver loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddMotionPlanningPanel.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) # Check motion planning mode self.ui.mpModeButton.connect('clicked()', self.onMotionPlanningMode) # End-pose planning self.ui.handCombo.connect('currentIndexChanged(const QString&)', self.onHandChanged) self.ui.baseComboBox.connect('currentIndexChanged(const QString&)', self.onBaseConstraintChanged) self.ui.backComboBox.connect('currentIndexChanged(const QString&)', self.onBackConstraintChanged) self.ui.feetComboBox.connect('currentIndexChanged(const QString&)', self.onFeetConstraintChanged) self.ui.otherHandComboBox.connect( 'currentIndexChanged(const QString&)', self.onOtherHandConstraintChanged) self.ui.fpButton.connect('clicked()', self.onSearchFinalPose) if 'kneeJointLimits' in drcargs.getDirectorConfig(): self.kneeJointLimits = drcargs.getDirectorConfig( )['kneeJointLimits'] self.constraintSet = None self.palmOffsetDistance = 0.0 # Foot step planning self.placer = None self.ui.walkingPlanButton.connect('clicked()', self.onWalkingPlan) self.ui.teleportRobotButton.connect('clicked()', self.onTeleportRobotToStanceFrame) # Motion Planning self.ui.motionPlanButton.connect('clicked()', self.onMotionPlan) self.deactivate()
def __init__(self, filename, windowTitle=None): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/' + filename) assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) if windowTitle is not None: self.widget.setWindowTitle(windowTitle)
def loadUi(self): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddVideoPlayer.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) uifile.close() self.ui = WidgetDict(self.widget.children())
def __init__(self, driver): self.driver = driver loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddAtlasDriverPanel.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.widget.setWindowTitle('Atlas Driver Panel') self.ui = WidgetDict(self.widget.children()) # Main Panel self.ui.calibrateEncodersButton.connect('clicked()', self.onCalibrateEncoders) self.ui.prepButton.connect('clicked()', self.onPrep) self.ui.combinedStandButton.connect('clicked()', self.onCombinedStand) self.ui.stopButton.connect('clicked()', self.onStop) self.ui.freezeButton.connect('clicked()', self.onFreeze) self.ui.calibrateNullBiasButton.connect('clicked()', self.onCalibrateNullBias) self.ui.calibrateElectricArmsButton.connect( 'clicked()', self.onCalibrateElectricArms) self.ui.initNavButton.connect('clicked()', self.onInitNav) self.ui.standButton.connect('clicked()', self.onStand) self.ui.mitStandButton.connect('clicked()', self.onMITStand) self.ui.userButton.connect('clicked()', self.onUser) self.ui.manipButton.connect('clicked()', self.onManip) self.ui.recoveryOnButton.connect('clicked()', self.driver.sendRecoveryEnable) self.ui.recoveryOffButton.connect('clicked()', self.driver.sendRecoveryDisable) self.ui.bracingOnButton.connect('clicked()', self.driver.sendBracingEnable) self.ui.bracingOffButton.connect('clicked()', self.driver.sendBracingDisable) for psi in [1000, 1500, 2000, 2400, 2650]: self.ui.__dict__['setPressure' + str(psi) + 'Button'].connect( 'clicked()', partial(self.driver.sendDesiredPumpPsi, psi)) self.ui.sendCustomPressureButton.connect('clicked()', self.sendCustomPressure) self.setupElectricArmCheckBoxes() PythonQt.dd.ddGroupBoxHider(self.ui.calibrationGroupBox) PythonQt.dd.ddGroupBoxHider(self.ui.pumpStatusGroupBox) PythonQt.dd.ddGroupBoxHider(self.ui.electricArmStatusGroupBox) self.updateTimer = TimerCallback(targetFps=5) self.updateTimer.callback = self.updatePanel self.updateTimer.start() self.updatePanel()
def __init__(self, materials): self.materials = materials uiFileName = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ui", "MaterialEditorWidget.ui") self.ui = QtUiTools.QUiLoader().load(QtCore.QFile(str(uiFileName))) self.materialsWidget = self.ui self.singleMaterialEditors = [SingleMaterialEditor(m) for m in self.materials] for e in self.singleMaterialEditors: self.materialsWidget.layout().addWidget(e.ui) self.materialsWidget.layout().addStretch()
def __init__(self, view, imageWidget): self.view = view self.imageWidget = imageWidget loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(":/ui/ddScreenGrabber.ui") assert uifile.open(uifile.ReadOnly) self.frameCount = 0 self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.ui.lockViewSizeCheck.connect("clicked()", self.onLockViewSize) self.ui.screenshotOutputBrowseButton.connect( "clicked()", self.onChooseScreenshotOutputDir ) self.ui.movieOutputBrowseButton.connect( "clicked()", self.onChooseMovieOutputDir ) self.ui.saveScreenshotButton.connect("clicked()", self.onSaveScreenshot) self.ui.recordMovieButton.connect("clicked()", self.onRecordMovie) self.ui.viewSizeCombo.connect( "currentIndexChanged(const QString&)", self.updateViewSize ) self.ui.viewHeightSpin.connect("valueChanged(int)", self.onViewSizeChanged) self.ui.viewWidthSpin.connect("valueChanged(int)", self.onViewSizeChanged) self.ui.imageWidgetWidthSpin.connect( "valueChanged(int)", self.onimageWidgetWidthChanged ) self.ui.showMainImageCheck.connect( "clicked()", self.onShowMainImageCheckChanged ) self.updateViewSize() self.onLockViewSize() self.recordTimer = QtCore.QTimer() self.recordTimer.connect("timeout()", self.onRecordTimer) self.fpsCounter = FPSCounter() self.eventFilter = PythonQt.dd.ddPythonEventFilter() self.ui.scrollArea.installEventFilter(self.eventFilter) self.eventFilter.addFilteredEventType(QtCore.QEvent.Resize) self.eventFilter.connect("handleEvent(QObject*, QEvent*)", self.onEvent)
def __init__(self, windowTitle='Task Panel'): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddTaskUserPanel.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.widget.setWindowTitle(windowTitle) self.manualButtons = {} self.imageViewLayout = QtGui.QHBoxLayout(self.ui.imageFrame) self._setupParams() self._setupPropertiesPanel() self._initTaskPanel()
def showDialog(mainWindow, grid): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/VelodyneHDLPlugin/vvGridAdjustmentDialog.ui') if not uifile.open(uifile.ReadOnly): print 'error opening file' return dialog = loader.load(uifile, mainWindow) uifile.close() def w(name): for widget in dialog.children(): if widget.objectName == name: return widget w('SensorUpX').setValue(grid.Normal[0]) w('SensorUpY').setValue(grid.Normal[1]) w('SensorUpZ').setValue(grid.Normal[2]) w('SensorOriginX').setValue(-grid.Origin[0]) w('SensorOriginY').setValue(-grid.Origin[1]) w('SensorOriginZ').setValue(-grid.Origin[2]) w('GridResolution').setValue(grid.Scale) w('GridWidth').setValue(grid.Scale * grid.GridSize) accepted = dialog.exec_() if not accepted: return False grid.Normal = [ w('SensorUpX').value, w('SensorUpY').value, w('SensorUpZ').value ] grid.Origin = [ -w('SensorOriginX').value, -w('SensorOriginY').value, -w('SensorOriginZ').value ] grid.Scale = w('GridResolution').value grid.GridSize = int( math.ceil(w('GridWidth').value / w('GridResolution').value)) return True
def __init__(self, jointController, footstepDriver): self.jointController = jointController self.footstepDriver = footstepDriver loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddMapping.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.ui.startMappingButton.connect("clicked()", self.onStartMappingButton) self.ui.stopMappingButton.connect("clicked()", self.onStopMappingButton) self.ui.showMapButton.connect("clicked()", self.onShowMapButton) self.ui.hideMapButton.connect("clicked()", self.onHideMapButton) self.queue = PythonQt.dd.ddBotImageQueue(lcmUtils.getGlobalLCMThread()) self.queue.init(lcmUtils.getGlobalLCMThread(), drcargs.args().config_file)
def __init__(self, multisenseDriver, neckDriver): self.multisenseDriver = multisenseDriver self.neckDriver = neckDriver self.neckPitchChanged = False self.multisenseChanged = False loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddMultisense.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.updateTimer = TimerCallback(targetFps=2) self.updateTimer.callback = self.updatePanel self.updateTimer.start() self.widget.headCamGainSpinner.setEnabled(False) self.widget.headCamExposureSpinner.setEnabled(False) #connect the callbacks self.widget.neckPitchSpinner.valueChanged.connect(self.neckPitchChange) self.widget.spinRateSpinner.valueChanged.connect(self.spinRateChange) self.widget.scanDurationSpinner.valueChanged.connect( self.scanDurationChange) self.widget.headCamFpsSpinner.valueChanged.connect( self.headCamFpsChange) self.widget.headCamGainSpinner.valueChanged.connect( self.headCamGainChange) self.widget.headCamExposureSpinner.valueChanged.connect( self.headCamExposureChange) self.widget.headAutoGainCheck.clicked.connect( self.headCamAutoGainChange) self.widget.ledOnCheck.clicked.connect(self.ledOnCheckChange) self.widget.ledBrightnessSpinner.valueChanged.connect( self.ledBrightnessChange) self.widget.sendButton.clicked.connect(self.sendButtonClicked) self.updatePanel()
def __init__(self, driver, robotModel, jointController, irisDriver): self.driver = driver self.robotModel = robotModel self.jointController = jointController loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddFootsteps.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.placer = None self.irisDriver = irisDriver self.region_seed_frames = [] self.ui = WidgetDict(self.widget.children()) self.ui.walkingGoalButton.connect("clicked()", self.onNewWalkingGoal) self.ui.walkingPlanButton.connect("clicked()", self.onShowWalkingPlan) self.ui.stopButton.connect("clicked()", self.onStop) self.ui.simulateDrakeButton.connect("clicked()", self.onSimulateDrake) self.ui.haltSimulationDrakeButton.connect("clicked()", self.onHaltSimulationDrake) self.ui.restoreDefaultsButton.connect("clicked()", lambda: self.applyDefaults()) self.ui.showWalkingVolumesCheck.connect("clicked()", self.onShowWalkingVolumes) ### BDI frame logic self.ui.hideBDIButton.setVisible(False) self.ui.showBDIButton.setVisible(False) self.ui.hideBDIButton.connect("clicked()", self.onHideBDIButton) self.ui.showBDIButton.connect("clicked()", self.onShowBDIButton) self.ui.newRegionSeedButton.connect("clicked()", self.onNewRegionSeed) self.ui.autoIRISSegmentationButton.connect("clicked()", self.onAutoIRISSegmentation) self._setupPropertiesPanel()
def __init__(self): loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddSensorDataRequest.ui') assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self._updateBlocked = True self.groups = {} self.registerType('camHead', data_request_t.CAMERA_IMAGE_HEAD_LEFT) self.registerType('camChestLeft', data_request_t.CAMERA_IMAGE_LCHEST) self.registerType('camChestRight', data_request_t.CAMERA_IMAGE_RCHEST) self.registerType('mapSceneHeight', data_request_t.HEIGHT_MAP_SCENE) self.registerType('mapSceneDepth', data_request_t.DEPTH_MAP_SCENE) self.registerType('mapWorkspaceDepth', data_request_t.DEPTH_MAP_WORKSPACE_C) self.registerType('mapFusedStereoHeight', data_request_t.FUSED_HEIGHT) self.widget.applyAllButton.clicked.connect(self.applyAllButtonClicked)
def __init__(self, view): self.view = view loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(':/ui/ddScreenGrabber.ui') assert uifile.open(uifile.ReadOnly) self.frameCount = 0 self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) self.ui.syncFrameRateToDrawMessageCheck.connect('clicked()', self.onSyncFrameRateToDrawMessages) self.ui.lockViewSizeCheck.connect('clicked()', self.onLockViewSize) self.ui.screenshotOutputBrowseButton.connect('clicked()', self.onChooseScreenshotOutputDir) self.ui.movieOutputBrowseButton.connect('clicked()', self.onChooseMovieOutputDir) self.ui.saveScreenshotButton.connect('clicked()', self.onSaveScreenshot) self.ui.recordMovieButton.connect('clicked()', self.onRecordMovie) self.ui.viewSizeCombo.connect('currentIndexChanged(const QString&)', self.updateViewSize) self.ui.viewHeightSpin.connect('valueChanged(int)', self.onViewSizeChanged) self.ui.viewWidthSpin.connect('valueChanged(int)', self.onViewSizeChanged) self.updateViewSize() self.onLockViewSize() self.recordTimer = QtCore.QTimer() self.recordTimer.connect('timeout()', self.onRecordTimer) self.fpsCounter = FPSCounter() self.eventFilter = PythonQt.dd.ddPythonEventFilter() self.ui.scrollArea.installEventFilter(self.eventFilter) self.eventFilter.addFilteredEventType(QtCore.QEvent.Resize) self.eventFilter.connect('handleEvent(QObject*, QEvent*)', self.onEvent) self.subscribers = lcmUtils.addSubscriber('DRAKE_VIEWER_DRAW', lcmrl.viewer_draw_t, self.onViewerDraw)
def __init__(self, view, robotSystem): self.view = view loader = QtUiTools.QUiLoader() uifile = QtCore.QFile(":/ui/ddFrameVisualization.ui") assert uifile.open(uifile.ReadOnly) self.widget = loader.load(uifile) self.ui = WidgetDict(self.widget.children()) # self.botFrameUpdater = BotFrameUpdater(self.ui.botFramesListWidget) self.linkFrameUpdater = LinkFrameUpdater(robotSystem.robotStateModel, self.ui.linkFramesListWidget) self.eventFilter = PythonQt.dd.ddPythonEventFilter() self.ui.scrollArea.installEventFilter(self.eventFilter) self.ui.allFramesCheckBox.connect("stateChanged(int)", self.toggleAllFrames) self.eventFilter.addFilteredEventType(QtCore.QEvent.Resize) self.eventFilter.connect("handleEvent(QObject*, QEvent*)", self.onEvent)