int GLWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QGLWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: clicked(); break; case 1: selectedRobot(); break; case 2: closeSignal((*reinterpret_cast< bool(*)>(_a[1]))); break; case 3: toggleFullScreen((*reinterpret_cast< bool(*)>(_a[1]))); break; case 4: robotTurnedOnOff((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break; case 5: moveRobot(); break; case 6: resetRobot(); break; case 7: selectRobot(); break; case 8: moveCurrentRobot(); break; case 9: resetCurrentRobot(); break; case 10: moveBall(); break; case 11: changeCameraMode(); break; case 12: yellowRobotsMenuTriggered((*reinterpret_cast< QAction*(*)>(_a[1]))); break; case 13: blueRobotsMenuTriggered((*reinterpret_cast< QAction*(*)>(_a[1]))); break; case 14: switchRobotOnOff(); break; case 15: moveRobotHere(); break; case 16: moveBallHere(); break; case 17: lockCameraToRobot(); break; case 18: lockCameraToBall(); break; default: ; } _id -= 19; } return _id; }
GLWidget::GLWidget(QWidget *parent,ConfigWidget* _cfg) : QGLWidget(parent) { frames = 0; state = 0; first_time = true; cfg = _cfg; forms[0] = new RobotsFomation(-1); //outside forms[1] = new RobotsFomation(-2); //outside forms[2] = new RobotsFomation(1); //inside type 1 forms[3] = new RobotsFomation(2); //inside type 2 forms[4] = new RobotsFomation(3); //inside type 1 forms[5] = new RobotsFomation(4); //inside type 2 ssl = new SSLWorld(this,cfg,forms[2],forms[2]); Current_robot = 0; Current_team = 0; cammode = 0; setMouseTracking(true); blueRobotsMenu = new QMenu("&Blue Robots"); yellowRobotsMenu = new QMenu("&Yellow Robots"); blueRobotsMenu->addAction(tr("Put all inside with formation 1")); blueRobotsMenu->addAction(tr("Put all inside with formation 2")); blueRobotsMenu->addAction(tr("Put all outside")); blueRobotsMenu->addAction(tr("Put all out of field")); yellowRobotsMenu->addAction(tr("Put all inside with formation 1")); yellowRobotsMenu->addAction(tr("Put all inside with formation 2")); yellowRobotsMenu->addAction(tr("Put all outside")); yellowRobotsMenu->addAction(tr("Put all out of field")); robpopup = new QMenu(this); moveRobotAct = new QAction(tr("&Locate robot"),this); selectRobotAct = new QAction(tr("&Select robot"),this); resetRobotAct = new QAction(tr("&Reset robot"),this); onOffRobotAct = new QAction(tr("Turn &off"),this); lockToRobotAct = new QAction(tr("Loc&k camera to this robot"),this); robpopup->addAction(moveRobotAct); robpopup->addAction(resetRobotAct); robpopup->addAction(onOffRobotAct); robpopup->addAction(lockToRobotAct); robpopup->addMenu(blueRobotsMenu); robpopup->addMenu(yellowRobotsMenu); moveBallAct = new QAction(tr("&Locate ball"),this); lockToBallAct = new QAction(tr("Loc&k camera to ball"),this); ballpopup = new QMenu(this); ballpopup->addAction(moveBallAct); ballpopup->addAction(lockToBallAct); moveRobotHereAct = new QAction(tr("Locate current &robot here"),this); moveBallHereAct = new QAction(tr("Locate &ball here"),this); mainpopup = new QMenu(this); mainpopup->addAction(moveBallHereAct); mainpopup->addAction(moveRobotHereAct); cameraMenu = new QMenu("&Camera"); changeCamModeAct=new QAction(tr("Change &mode"),this); changeCamModeAct->setShortcut(QKeySequence("C")); cameraMenu->addAction(changeCamModeAct); cameraMenu->addAction(lockToRobotAct); cameraMenu->addAction(lockToBallAct); mainpopup->addMenu(cameraMenu); mainpopup->addMenu(blueRobotsMenu); mainpopup->addMenu(yellowRobotsMenu); connect(moveRobotAct, SIGNAL(triggered()), this, SLOT(moveRobot())); connect(selectRobotAct, SIGNAL(triggered()), this, SLOT(selectRobot())); connect(resetRobotAct, SIGNAL(triggered()), this, SLOT(resetRobot())); connect(moveBallAct, SIGNAL(triggered()), this, SLOT(moveBall())); connect(onOffRobotAct, SIGNAL(triggered()), this, SLOT(switchRobotOnOff())); connect(yellowRobotsMenu,SIGNAL(triggered(QAction*)),this,SLOT(yellowRobotsMenuTriggered(QAction*))); connect(blueRobotsMenu,SIGNAL(triggered(QAction*)),this,SLOT(blueRobotsMenuTriggered(QAction*))); connect(moveBallHereAct, SIGNAL(triggered()),this , SLOT(moveBallHere())); connect(moveRobotHereAct, SIGNAL(triggered()),this , SLOT(moveRobotHere())); connect(lockToRobotAct, SIGNAL(triggered()), this, SLOT(lockCameraToRobot())); connect(lockToBallAct, SIGNAL(triggered()), this, SLOT(lockCameraToBall())); connect(changeCamModeAct,SIGNAL(triggered()),this,SLOT(changeCameraMode())); setFocusPolicy(Qt::StrongFocus); fullScreen = false; ctrl = false; alt = false; kickingball = false; kickpower = 3.0; }