00001 /*************************************************************************** 00002 * Copyright (c) 2009 Jürgen Riegel <juergen.riegel@web.de> * 00003 * * 00004 * This file is part of the FreeCAD CAx development system. * 00005 * * 00006 * This library is free software; you can redistribute it and/or * 00007 * modify it under the terms of the GNU Library General Public * 00008 * License as published by the Free Software Foundation; either * 00009 * version 2 of the License, or (at your option) any later version. * 00010 * * 00011 * This library is distributed in the hope that it will be useful, * 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00014 * GNU Library General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU Library General Public * 00017 * License along with this library; see the file COPYING.LIB. If not, * 00018 * write to the Free Software Foundation, Inc., 59 Temple Place, * 00019 * Suite 330, Boston, MA 02111-1307, USA * 00020 * * 00021 ***************************************************************************/ 00022 00023 00024 #ifndef GUI_TASKVIEW_TaskRobot6Axis_H 00025 #define GUI_TASKVIEW_TaskRobot6Axis_H 00026 00027 #include <Gui/TaskView/TaskView.h> 00028 #include <Gui/Selection.h> 00029 00030 #include <Mod/Robot/App/RobotObject.h> 00031 #include <Mod/Robot/App/TrajectoryObject.h> 00032 00033 00034 class Ui_TaskRobot6Axis; 00035 class QLineEdit; 00036 00037 namespace App { 00038 class Property; 00039 } 00040 00041 namespace Gui { 00042 class ViewProvider; 00043 } 00044 00045 namespace RobotGui { 00046 00047 00048 00049 class TaskRobot6Axis : public Gui::TaskView::TaskBox 00050 { 00051 Q_OBJECT 00052 00053 public: 00054 TaskRobot6Axis(Robot::RobotObject *pcRobotObject,QWidget *parent = 0); 00055 ~TaskRobot6Axis(); 00056 00057 void setRobot(Robot::RobotObject *pcRobotObject); 00058 00059 private Q_SLOTS: 00060 void setAxis(float A1,float A2,float A3,float A4,float A5,float A6,const Base::Placement &Tcp); 00061 void changeSliderA1(int value); 00062 void changeSliderA2(int value); 00063 void changeSliderA3(int value); 00064 void changeSliderA4(int value); 00065 void changeSliderA5(int value); 00066 void changeSliderA6(int value); 00067 void createPlacementDlg(void); 00068 00069 protected: 00070 Robot::RobotObject *pcRobot; 00071 void viewTcp(const Base::Placement pos); 00072 void viewTool(const Base::Placement pos); 00073 void setColor(int i,float angle, QLineEdit &lineEdit); 00074 private: 00075 00076 private: 00077 QWidget* proxy; 00078 Ui_TaskRobot6Axis* ui; 00079 Robot::Robot6Axis *Rob; 00080 }; 00081 00082 } //namespace PartDesignGui 00083 00084 #endif // GUI_TASKVIEW_TASKAPPERANCE_H