• R/O
  • SSH
  • HTTPS

qrobosdk: コミット


コミットメタ情報

リビジョン18 (tree)
日時2008-05-18 10:54:28
作者satofumi

ログメッセージ

add wii position viewer

変更サマリ

差分

--- trunk/programs/WiiPositionGui/WiiPositionWidget.cpp (nonexistent)
+++ trunk/programs/WiiPositionGui/WiiPositionWidget.cpp (revision 18)
@@ -0,0 +1,80 @@
1+/*!
2+ \file
3+ \brief Wii の位置情報を表示
4+
5+ \author Satofumi KAMIMURA
6+
7+ $Id$
8+*/
9+
10+#include <QTimer>
11+#include <QShortcut>
12+#include "WiiPositionWidget.h"
13+
14+
15+struct WiiPositionWidget::pImpl {
16+ QTimer* redraw_timer_;
17+
18+ pImpl(WiiPositionWidget* parent) : redraw_timer_(new QTimer(parent)) {
19+ }
20+
21+ void initForm(WiiPositionWidget* parent) {
22+
23+ // 接続ボタンの処理
24+ connect(parent->connect_button_, SIGNAL(clicked(bool)),
25+ parent, SLOT(handleConnect(bool)));
26+
27+ // Wii 情報の更新用
28+ connect(redraw_timer_, SIGNAL(timeout()), parent, SLOT(updatePosition()));
29+
30+ // !!! connect_button_ で start() されるようにする
31+ //redraw_timer->start(100);
32+
33+ // Ctrl-q で終了できるようにする
34+ (void) new QShortcut(Qt::CTRL + Qt::Key_Q, parent, SLOT(close()));
35+ }
36+};
37+
38+
39+WiiPositionWidget::WiiPositionWidget(QWidget* parent)
40+ : QWidget(parent), pimpl(new pImpl(this)) {
41+ setupUi(this);
42+
43+ pimpl->initForm(this);
44+}
45+
46+
47+WiiPositionWidget::~WiiPositionWidget(void) {
48+}
49+
50+
51+
52+void WiiPositionWidget::handleConnect(bool checked) {
53+
54+ if (checked) {
55+ // 押されたとき、connect()
56+ connect_button_->setText(tr("Disconnect"));
57+ // !!!
58+
59+ pimpl->redraw_timer_->start(100);
60+
61+ } else {
62+ // 離されたとき、disconnect()
63+ connect_button_->setText(tr("Connect"));
64+ // !!!
65+
66+ pimpl->redraw_timer_->stop();
67+ }
68+}
69+
70+
71+void WiiPositionWidget::updatePosition(void) {
72+
73+ fprintf(stderr, "update.\n");
74+
75+ // Wii 情報の取得
76+ // !!!
77+
78+ // 描画情報の更新
79+ // !!!
80+}
--- trunk/programs/WiiPositionGui/main.cpp (nonexistent)
+++ trunk/programs/WiiPositionGui/main.cpp (revision 18)
@@ -0,0 +1,21 @@
1+/*!
2+ \file
3+ \brief Wii の位置、姿勢の GUI 表示プログラム
4+
5+ \author Satofumi KAMIMURA
6+
7+ $Id$
8+*/
9+
10+#include <QApplication>
11+#include "WiiPositionWidget.h"
12+
13+
14+int main(int argc, char *argv[]) {
15+
16+ QApplication app(argc, argv);
17+ WiiPositionWidget widget;
18+ widget.show();
19+
20+ return app.exec();
21+}
--- trunk/programs/WiiPositionGui/WiiPositionWidget.h (nonexistent)
+++ trunk/programs/WiiPositionGui/WiiPositionWidget.h (revision 18)
@@ -0,0 +1,31 @@
1+#ifndef WII_POSITION_WIDGET_H
2+#define WII_POSITION_WIDGET_H
3+
4+/*!
5+ \file
6+ \brief Wii の位置情報を表示
7+
8+ \author Satofumi KAMIMURA
9+
10+ $Id$
11+*/
12+
13+#include "ui_WiiPositionForm.h"
14+
15+
16+class WiiPositionWidget : public QWidget, private Ui::WiiPositionForm {
17+ Q_OBJECT;
18+
19+ struct pImpl;
20+ std::auto_ptr<pImpl> pimpl;
21+
22+private slots:
23+ void handleConnect(bool checked);
24+ void updatePosition(void);
25+
26+public:
27+ WiiPositionWidget(QWidget* parent = 0);
28+ ~WiiPositionWidget(void);
29+};
30+
31+#endif /* !WII_POSITION_WIDGET_H */
--- trunk/programs/Makefile (revision 17)
+++ trunk/programs/Makefile (revision 18)
@@ -13,3 +13,4 @@
1313 cd CdPlayer/ && (if test -f Makefile; then ${MAKE} distclean; fi)
1414 cd kanjiwar/ && ${MAKE} clean
1515 cd qpilot/ && ${MAKE} clean
16+ cd WiiPositionGui/ && (if test -f Makefile; then ${MAKE} distclean; fi)
旧リポジトリブラウザで表示