svh_reset_gui.py
Go to the documentation of this file.
00001 # -- BEGIN LICENSE BLOCK ----------------------------------------------
00002 # This file is part of the SCHUNK SVH Driver suite.
00003 #
00004 # This program is free software licensed under the LGPL
00005 # (GNU LESSER GENERAL PUBLIC LICENSE Version 3).
00006 # You can find a copy of this license in LICENSE folder in the top
00007 # directory of the source code.
00008 #
00009 # Copyright 2014 SCHUNK Mobile Greifsysteme GmbH, Lauffen/Neckar Germany
00010 # Copyright 2014 FZI Forschungszentrum Informatik, Karlsruhe, Germany
00011 #
00012 # -- END LICENSE BLOCK ------------------------------------------------
00013 
00014 import os
00015 import rospy
00016 import rospkg
00017 
00018 from qt_gui.plugin import Plugin
00019 from python_qt_binding import loadUi
00020 from python_qt_binding.QtGui import QWidget
00021 from python_qt_binding import QtGui
00022 from std_msgs.msg import Int8, Empty 
00023 
00024 class SVHResetGui(Plugin):
00025 
00026     def __init__(self, context):
00027         super(SVHResetGui, self).__init__(context)
00028         # Give QObjects reasonable names
00029         self.setObjectName('TrajectoryDesigner')
00030 
00031         # Process standalone plugin command-line arguments
00032         from argparse import ArgumentParser
00033         parser = ArgumentParser()
00034         # Add argument(s) to the parser.
00035         parser.add_argument("-q", "--quiet", action="store_true",
00036                       dest="quiet",
00037                       help="Put plugin in silent mode")
00038         args, unknowns = parser.parse_known_args(context.argv())
00039 
00040         # Create QWidget
00041         self._widget = QWidget()
00042         
00043         rp = rospkg.RosPack()
00044         ui_file = os.path.join(rp.get_path('schunk_svh_driver'), 'resource', 'SVHResetGui.ui')
00045         loadUi(ui_file, self._widget)
00046         self._widget.setObjectName('SVHResetGuiUI')
00047         if context.serial_number() > 1:
00048             self._widget.setWindowTitle(self._widget.windowTitle() + (' (%d)' % context.serial_number()))
00049         # Add widget to the user interface
00050         context.add_widget(self._widget)
00051         
00052         self._widget.connect_button.clicked[bool].connect(self.ConnectButton)
00053         self._widget.reset_button.clicked[bool].connect(self.ResetButton)
00054         self._widget.enable_button.clicked[bool].connect(self.EnableButton)
00055   
00056         self._widget.finger_select_box.addItem("All",-1)
00057         self._widget.finger_select_box.addItem("Thumb Flexion",0)
00058         self._widget.finger_select_box.addItem("Thumb Opposition",1)
00059         self._widget.finger_select_box.addItem("Index Finger Distal",2)
00060         self._widget.finger_select_box.addItem("Index Finger Proximal",3)
00061         self._widget.finger_select_box.addItem("Middle Finger Distal",4)
00062         self._widget.finger_select_box.addItem("Middle Finger Proximal",5)
00063         self._widget.finger_select_box.addItem("Ring Finger",6)
00064         self._widget.finger_select_box.addItem("Pinky Finger",7)
00065         self._widget.finger_select_box.addItem("Finger Spread",8)
00066         
00067         self.reset_pub = rospy.Publisher('svh_controller/reset_channel',  Int8, queue_size=1)
00068         self.enable_pub = rospy.Publisher('svh_controller/enable_channel', Int8, queue_size=1)
00069         self.connect_pub = rospy.Publisher('svh_controller/connect',  Empty, queue_size=1)
00070         
00071         
00072     def ConnectButton(self):
00073         self.connect_pub.publish(Empty())
00074         print "ConnectButton\n"
00075 
00076     def ResetButton(self):
00077         selected = self._widget.finger_select_box.itemData(self._widget.finger_select_box.currentIndex())
00078         self.reset_pub.publish(Int8(selected))
00079         print "Reset\n" + str(selected)
00080 
00081 
00082     def EnableButton(self):
00083         selected = self._widget.finger_select_box.itemData(self._widget.finger_select_box.currentIndex())
00084         self.enable_pub.publish(Int8(selected))
00085         print "Enabled\n" + str(selected)
00086         


schunk_svh_driver
Author(s): Georg Heppner
autogenerated on Fri Aug 28 2015 12:59:19