00001 /**************************************************************** 00002 * 00003 * Copyright (c) 2010 00004 * 00005 * Fraunhofer Institute for Manufacturing Engineering 00006 * and Automation (IPA) 00007 * 00008 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00009 * 00010 * Project name: care-o-bot 00011 * ROS stack name: cob_3d_environment_perception_intern 00012 * ROS package name: cob_3d_mapping_demonstrator 00013 * Description: Feature Map for storing and handling geometric features 00014 * 00015 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00016 * 00017 * Author: Georg Arbeiter, email:georg.arbeiter@ipa.fhg.de 00018 * Supervised by: Georg Arbeiter, email:georg.arbeiter@ipa.fhg.de 00019 * 00020 * Date of creation: 03/2012 00021 * ToDo: 00022 * 00023 * 00024 * 00025 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00026 * 00027 * Redistribution and use in source and binary forms, with or without 00028 * modification, are permitted provided that the following conditions are met: 00029 * 00030 * * Redistributions of source code must retain the above copyright 00031 * notice, this list of conditions and the following disclaimer. 00032 * * Redistributions in binary form must reproduce the above copyright 00033 * notice, this list of conditions and the following disclaimer in the 00034 * documentation and/or other materials provided with the distribution. 00035 * * Neither the name of the Fraunhofer Institute for Manufacturing 00036 * Engineering and Automation (IPA) nor the names of its 00037 * contributors may be used to endorse or promote products derived from 00038 * this software without specific prior written permission. 00039 * 00040 * This program is free software: you can redistribute it and/or modify 00041 * it under the terms of the GNU Lesser General Public License LGPL as 00042 * published by the Free Software Foundation, either version 3 of the 00043 * License, or (at your option) any later version. 00044 * 00045 * This program is distributed in the hope that it will be useful, 00046 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00047 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00048 * GNU Lesser General Public License LGPL for more details. 00049 * 00050 * You should have received a copy of the GNU Lesser General Public 00051 * License LGPL along with this program. 00052 * If not, see <http://www.gnu.org/licenses/>. 00053 * 00054 ****************************************************************/ 00055 00056 #ifndef RVIZ_BUTTONS_PANEL_H 00057 #define RVIZ_BUTTONS_PANEL_H 00058 00059 #include <wx/panel.h> 00060 #include <wx/button.h> 00061 #include <ros/ros.h> 00062 00063 #include <cob_script_server/ScriptAction.h> 00064 #include <actionlib/client/simple_action_client.h> 00065 00066 00067 namespace rviz 00068 { 00069 class RvizButtonsPanel : public wxPanel 00070 { 00071 public: 00072 RvizButtonsPanel(wxWindow *parent, const wxString& title); 00073 ~RvizButtonsPanel(); 00074 00075 virtual void OnStart(wxCommandEvent& event); 00076 virtual void OnStep(wxCommandEvent& event); 00077 virtual void OnStop(wxCommandEvent& event); 00078 virtual void OnReset(wxCommandEvent& event); 00079 virtual void OnClear(wxCommandEvent& event); 00080 virtual void OnRecover(wxCommandEvent& event); 00081 00082 protected: 00083 wxButton * button_start_; 00084 wxButton * button_step_; 00085 wxButton * button_stop_; 00086 wxButton * button_reset_; 00087 wxButton * button_clear_; 00088 wxButton * button_recover_; 00089 00090 actionlib::SimpleActionClient<cob_script_server::ScriptAction>* action_client_; 00091 00092 private: 00093 DECLARE_EVENT_TABLE() 00094 }; 00095 } 00096 00097 #endif //RVIZ_BUTTONS_PANEL_H