00001 #ifndef FUNCTION_PARAMETERS_DIALOG_H 00002 #define FUNCTION_PARAMETERS_DIALOG_H 00003 00004 #include <QDialog> 00005 #include <QString> 00006 #include <vector> 00007 #include "CustomDelegate.h" 00008 00009 class QTableWidget; 00010 00011 namespace Aseba 00012 { 00015 00017 class FunctionParametersDialog : public QDialog 00018 { 00019 Q_OBJECT 00020 00021 public: 00023 FunctionParametersDialog(const QString &name, const std::vector<unsigned> ¶meters); 00025 std::vector<unsigned> getParameters() const; 00026 00027 private slots: 00028 void addParameter(); 00029 void deleteParameter(); 00030 void argumentSelectionChanged(); 00031 void cellClicked(int row, int column); 00032 00033 private: 00035 void addEntry(int value); 00036 00037 SpinBoxDelegate spinBoxDelegate; 00038 QTableWidget *parametersTable; 00039 QPushButton *addParameterButton; 00040 QPushButton *delParameterButton; 00041 }; 00042 00044 } 00045 00046 #endif