INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

simplepathdesigntablewidget.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 Alex Brooks, Alexei Makarenko, Tobias Kaupp
00005  *
00006  * This copy of Orca is licensed to you under the terms described in
00007  * the LICENSE file included in this distribution.
00008  *
00009  */
00010 
00011 #ifndef SIMPLEPATHDESIGN_TABLE_H
00012 #define SIMPLEPATHDESIGN_TABLE_H
00013 
00014 #include <vector>
00015 #include <QWidget>
00016 #include <QTableWidget>
00017 
00018 #include <hydroqguipath/pathutils.h>
00019 
00020 class QSpinBox;
00021 
00022 namespace hydroqguielementutil {
00023     class IHumanManager;
00024 }
00025 
00026 namespace hydroqguipath {
00027     
00028 class SimplePathDesignTable;
00029 class IPathInput;
00030 class PathDesignScreen;
00031 
00037 class SimplePathDesignTableWidget : public QWidget
00038 {
00039     Q_OBJECT
00040     
00041     public:
00042         SimplePathDesignTableWidget ( IPathInput *pathInput,
00043                                       GuiPath    &guiPath,
00044                                       PathDesignScreen &designScreen,
00045                                       double maxApproachSpeedSetting,
00046                                       double distToleranceSetting,
00047                                       hydroqguielementutil::IHumanManager &humanManager );
00048         virtual ~SimplePathDesignTableWidget();
00049     
00050     private:
00051         IPathInput *pathInput_;
00052         SimplePathDesignTable *wpTable_;
00053         hydroqguipath::PathDesignScreen &designScreen_;
00054         void readSettings();
00055         void writeSettings();
00056         
00057     public slots:
00058         void refreshTable();
00059     
00060     private slots:
00061         void savePath();
00062         void loadPath();
00063         void loadPreviousPath();
00064 //         void sendPath();
00065 //         void cancelPath();
00066         void updateMaxApproachSpeedSetting(double);
00067         void updateDistToleranceSetting(double);
00068     
00069 };
00070 
00071 class SimplePathDesignTable : public QTableWidget
00072 {
00073     Q_OBJECT
00074             
00075     public:
00076         SimplePathDesignTable( QWidget     *parent,
00077                                IPathInput  *pathInput,
00078                                GuiPath     &guiPath,
00079                                hydroqguielementutil::IHumanManager &humanManager );
00080         void refreshTable();
00081         
00082     private:
00083         
00084         IPathInput *pathInput_;
00085         GuiPath &guiPath_;
00086         hydroqguielementutil::IHumanManager &humanManager_;
00087         
00088         // not part of the path representation
00089         std::vector<float> velocities_;
00090         
00091         // lock up the cellUpdate signal: it should only be emitted if the user changes cell entries
00092         // not if we programmatically change them (as in refreshTable)
00093         bool isLocked_;
00094     
00095     private slots:
00096         
00097         // called after user interaction
00098         void updateDataStorage(int row, int column);
00099         void setWaypointFocus(int row, int column);
00100         void setWaypointFocus(int currentRow, int currentColumn, int previousRow, int previousColumn);
00101         
00102 };
00103 
00104 }
00105 
00106 #endif
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5