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

 

         

pathdesigntablewidget.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 PATHDESIGN_TABLE_H
00012 #define PATHDESIGN_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 hydroqguipath {
00023     
00024 class PathDesignTable;
00025 class IPathInput;
00026 
00032 class PathDesignTableWidget : public QWidget
00033 {
00034     Q_OBJECT
00035     
00036     public:
00037         PathDesignTableWidget ( IPathInput *pathInput,
00038                                 GuiPath    &guiPath );
00039         int numberOfLoops();
00040     
00041     private:
00042         IPathInput *pathInput_;
00043         PathDesignTable *wpTable_;
00044         QSpinBox *numLoopsSpin_;
00045         
00046     public slots:
00047         void refreshTable();
00048     
00049     private slots:
00050         void savePath();
00051         void loadPath();
00052         void loadPreviousPath();
00053         void sendPath();
00054         void cancelPath();
00055     
00056 };
00057 
00058 class PathDesignTable : public QTableWidget
00059 {
00060     Q_OBJECT
00061             
00062     public:
00063         PathDesignTable( QWidget     *parent,
00064                          IPathInput  *pathInput,
00065                          GuiPath     &guiPath );
00066         void refreshTable();
00067         void computeVelocities();
00068         
00069     private:
00070         
00071         IPathInput *pathInput_;
00072         GuiPath &guiPath_;
00073         
00074         // not part of the path representation
00075         std::vector<float> velocities_;
00076         
00077         // lock up the cellUpdate signal: it should only be emitted if the user changes cell entries
00078         // not if we programmatically change them (as in refreshTable)
00079         bool isLocked_;
00080     
00081     private slots:
00082         
00083         // called after user interaction
00084         void updateDataStorage(int row, int column);
00085         void setWaypointFocus(int row, int column);
00086         void setWaypointFocus(int currentRow, int currentColumn, int previousRow, int previousColumn);
00087         
00088 };
00089 
00090 }
00091 
00092 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5