79 lines
2.1 KiB
C++
79 lines
2.1 KiB
C++
|
#ifndef _CONTROLLER_CONFIG_UTIL_HXX_
|
||
|
#define _CONTROLLER_CONFIG_UTIL_HXX_
|
||
|
|
||
|
#include <QWidget>
|
||
|
#include <QPushButton>
|
||
|
|
||
|
/* TODO(bunnei): ImplementMe
|
||
|
|
||
|
#include "config.h"
|
||
|
|
||
|
class GStickConfig : public QWidget
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
// change_receiver needs to have a OnKeyConfigChanged(common::Config::Control, int, const QString&) slot!
|
||
|
GStickConfig(common::Config::Control leftid, common::Config::Control rightid, common::Config::Control upid, common::Config::Control downid, QObject* change_receiver, QWidget* parent = NULL);
|
||
|
|
||
|
signals:
|
||
|
void LeftChanged();
|
||
|
void RightChanged();
|
||
|
void UpChanged();
|
||
|
void DownChanged();
|
||
|
|
||
|
private:
|
||
|
QPushButton* left;
|
||
|
QPushButton* right;
|
||
|
QPushButton* up;
|
||
|
QPushButton* down;
|
||
|
|
||
|
QPushButton* clear;
|
||
|
};
|
||
|
|
||
|
class GKeyConfigButton : public QPushButton
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
// TODO: change_receiver also needs to have an ActivePortChanged(const common::Config::ControllerPort&) signal
|
||
|
// change_receiver needs to have a OnKeyConfigChanged(common::Config::Control, int, const QString&) slot!
|
||
|
GKeyConfigButton(common::Config::Control id, const QIcon& icon, const QString& text, QObject* change_receiver, QWidget* parent);
|
||
|
GKeyConfigButton(common::Config::Control id, const QString& text, QObject* change_receiver, QWidget* parent);
|
||
|
|
||
|
signals:
|
||
|
void KeyAssigned(common::Config::Control id, int key, const QString& text);
|
||
|
|
||
|
private slots:
|
||
|
void OnActivePortChanged(const common::Config::ControllerPort& config);
|
||
|
|
||
|
void OnClicked();
|
||
|
|
||
|
void keyPressEvent(QKeyEvent* event); // TODO: bGrabbed?
|
||
|
void mousePressEvent(QMouseEvent* event);
|
||
|
|
||
|
private:
|
||
|
common::Config::Control id;
|
||
|
bool inputGrabbed;
|
||
|
|
||
|
QString old_text;
|
||
|
};
|
||
|
|
||
|
class GButtonConfigGroup : public QWidget
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
// change_receiver needs to have a OnKeyConfigChanged(common::Config::Control, int, const QString&) slot!
|
||
|
GButtonConfigGroup(const QString& name, common::Config::Control id, QObject* change_receiver, QWidget* parent = NULL);
|
||
|
|
||
|
private:
|
||
|
GKeyConfigButton* config_button;
|
||
|
|
||
|
common::Config::Control id;
|
||
|
};
|
||
|
|
||
|
*/
|
||
|
|
||
|
#endif // _CONTROLLER_CONFIG_HXX_
|