Пример #1
0
BotFight::BotFight(QWidget *parent):
    QWidget(parent),
    name("Bot fight"),
    mapEditor(NULL),
    visualisation(NULL),
    loadMapBtn(new QPushButton("Load...")),
    reloadMapBtn(new QPushButton("Reload map")),
    startMapEditorBtn(new QPushButton("Edit map"))
{
    setWindowTitle(name + " - " + "Empty map");

    connect(loadMapBtn, SIGNAL(clicked()), this, SLOT(loadFromFile()));
    connect(reloadMapBtn, SIGNAL(clicked()), this, SLOT(reloadMap()));
    connect(startMapEditorBtn, SIGNAL(clicked()), this, SLOT(editMap()));

    QHBoxLayout *mapControls = new QHBoxLayout();
    mapControls->addWidget(loadMapBtn);
    mapControls->addWidget(reloadMapBtn);
    mapControls->addWidget(startMapEditorBtn);
    mapControls->addStretch(1);



    mainLayout = new QGridLayout();
    setVisualisation(new Visualisation(QVector<QVector<QPointF> > ()));
    mainLayout->addLayout(mapControls, 1, 0);
    mainLayout->setSizeConstraint(QLayout::SetFixedSize);

    setLayout(mainLayout);
}
Пример #2
0
Map::Map(QWidget *parent) : QWebView(parent), pendingRequests(0)
{
    manager = new QNetworkAccessManager(this);
    connect(manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(replyFinished(QNetworkReply*)));
    connect(this,SIGNAL(reloadMap()),this,SLOT(loadCoordinates()));

   //load(QUrl("qrc:/www/html/index.html"));
   load(QUrl("file:///C:/Users/Antonio/Documents/Faculdade/TCC/Sw/MissionGroundStation/GroundStation/index.html"));

}
Пример #3
0
void GoogleMapChart::replyFinished(QNetworkReply *reply){
    QString replyStr( reply->readAll() );
    QStringList coordinateStrList = replyStr.split(",");

    if(coordinateStrList.size() == 4){
        QPointF coordinate( coordinateStrList[2].toFloat(),coordinateStrList[3].toFloat() );
        coordinates << coordinate;
    }

    --pendingRequests;
    if(pendingRequests < 1)
        emit(reloadMap());
}
Пример #4
0
GoogleMapChart::GoogleMapChart(QWidget *parent) : QWebView(parent), pendingRequests(0)
{
    this->setWindowState(Qt::WindowFullScreen);

    manager = new QNetworkAccessManager(this);
    connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
    connect(this,SIGNAL(reloadMap()), this,SLOT(loadCoordinates()));
    timer = new QTimer(this);
    timer->setInterval(400);
    connect(timer, SIGNAL(timeout()), this, SLOT(moveBoat()));
    connect(timer, SIGNAL(timeout()), this, SLOT(loadCoordinates()));
    setCoordinates(65.019442,25.402193 );
}
Пример #5
0
void QGoogleMap::reply(QNetworkReply *rep) {

    QString replyStr( rep->readAll() );
    QStringList coordinateStrList = replyStr.split(",");

    if( coordinateStrList.size() == 4) {
        QPointF coordinate( coordinateStrList[2].toFloat(),coordinateStrList[3].toFloat() );
        coord << coordinate;
    }
    --pendingReq;
    if( pendingReq<1 )
        emit( reloadMap());
}
Пример #6
0
void Map::update(sf::RenderWindow &window,int valSprite, sf::Vector2u mouseMove, string ground, Level* lvl)
{
    if (sf::Mouse::isButtonPressed(sf::Mouse::Left))
    {
        sf::Vector2i position = sf::Mouse::getPosition(window);
        //Récupération du numero du tile avec la souris
        //x = position.x/32
        //y = position.y/32
        if ((position.x+mouseMove.x) >= 0 && (position.y+mouseMove.y) >= 0 && position.x+mouseMove.x <= _largeurMap*32 && position.y+mouseMove.y <= _hauteurMap*32)
        {
            //_mapArray[(position.x+mouseMove.x)/32+((position.y+mouseMove.y)/32)*_largeurMap] = valSprite;
            if (ground == "f")
            {
                std::cout << "Fore modifie" << std::endl;
                _tabForeground[(position.x+mouseMove.x)/32+((position.y+mouseMove.y)/32)*_largeurMap] = valSprite+1;
                lvl->setForeground(reloadMap());
            }
            else if (ground =="b1")
            {
                std::cout << "b1 modifie" << std::endl;
                _tabBackgroundLv1[(position.x+mouseMove.x)/32+((position.y+mouseMove.y)/32)*_largeurMap] = valSprite+1;
                lvl->setbackgroundLv1(reloadBackground("Lv1"));
            }
            else if (ground == "b2")
            {
                std::cout << "b2 modifie" << std::endl;
                _tabBackgroundLv2[(position.x+mouseMove.x)/32+((position.y+mouseMove.y)/32)*_largeurMap] = valSprite+1;
                lvl->setbackgroundLv2(reloadBackground("Lv2"));
            }



            /*_tabMap[(position.x+mouseMove.x)/32+((position.y+mouseMove.y)/32)*_largeurMap] = valSprite;
            sf::Vertex* quad = &_vertices[((position.x+mouseMove.x)/32 + (position.y+mouseMove.y)/32 * _largeurMap) * 4];
            int tu = valSprite % (_tileset.getSize().x / largeurTile);
            int tv = valSprite / (_tileset.getSize().x / largeurTile);
            // on d�finit ses quatre coordonn�es de texture
            quad[0].texCoords = sf::Vector2f(tu * largeurTile, tv * hauteurTile);
            quad[1].texCoords = sf::Vector2f((tu + 1) * largeurTile, tv * hauteurTile);
            quad[2].texCoords = sf::Vector2f((tu + 1) * largeurTile, (tv + 1) * hauteurTile);
            quad[3].texCoords = sf::Vector2f(tu * largeurTile, (tv + 1) * hauteurTile);*/
        }
    }
    //load();
}
Пример #7
0
int QGoogleMap::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QWebView::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: reloadMap(); break;
        case 1: reply((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
        case 2: geocode((*reinterpret_cast< const QString(*)>(_a[1]))); break;
        case 3: loadCoord(); break;
        case 4: clearCoord(); break;
        default: ;
        }
        _id -= 5;
    }
    return _id;
}
Пример #8
0
BOOL CALLBACK DocumentMap::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_INITDIALOG :
        {
			HWND hwndScintilla = (HWND)::SendMessage(_hParent, NPPM_CREATESCINTILLAHANDLE, 0, (LPARAM)_hSelf);
			_pScintillaEditView = (ScintillaEditView *)::SendMessage(_hParent, NPPM_INTERNAL_GETSCINTEDTVIEW, 0, (LPARAM)hwndScintilla);
			_pScintillaEditView->execute(SCI_SETZOOM, (WPARAM)-10, 0);
			_pScintillaEditView->execute(SCI_SETVSCROLLBAR, FALSE, 0);
			_pScintillaEditView->execute(SCI_SETHSCROLLBAR, FALSE, 0);

			_pScintillaEditView->showIndentGuideLine(false);
			_pScintillaEditView->display();

			reloadMap();

			_vzDlg.init(::GetModuleHandle(NULL), _hSelf);
			_vzDlg.doDialog();
			(NppParameters::getInstance())->SetTransparent(_vzDlg.getHSelf(), 50); // 0 <= transparancy < 256

			setSyntaxLiliting();

			_pScintillaEditView->showMargin(0, false);
			_pScintillaEditView->showMargin(1, false);
			_pScintillaEditView->showMargin(2, false);
			_pScintillaEditView->showMargin(3, false);

            return TRUE;
        }

        case WM_SIZE:
        {
			if (_pScintillaEditView)
			{
				int width = LOWORD(lParam);
				int height = HIWORD(lParam);

				if (_vzDlg.isCreated())
				{
					POINT pt = {0,0};
					::ClientToScreen(_hSelf, &pt);
					if (!_pScintillaEditView->isWrap())
						::MoveWindow(_pScintillaEditView->getHSelf(), 0, 0, width, height, TRUE);

					::MoveWindow(_vzDlg.getHSelf(), pt.x, pt.y, width, height, TRUE);
				}
			}
            break;
        }

		case WM_NOTIFY:
		{
			switch (((LPNMHDR)lParam)->code)
			{
				case DMN_CLOSE:
				{
					::SendMessage(_hParent, NPPM_INTERNAL_SETDOCMAPCHECK, 0, FALSE);
					_vzDlg.display(false);
					return TRUE;
				}

				case DMN_SWITCHIN:
				{
					_vzDlg.display();
					reloadMap();
					return TRUE;
				}

				case DMN_SWITCHOFF:
				{
					::SendMessage(_hParent, NPPM_INTERNAL_SETDOCMAPCHECK, 0, FALSE);
					_vzDlg.display(false);
					return TRUE;
				}

				case DMN_FLOATDROPPED:
				{
					RECT rc;
					getClientRect(rc);
					int width = rc.right - rc.left;
					int height = rc.bottom - rc.top;

					//RECT scinrc;
					//_pScintillaEditView->getClientRect(scinrc);
					//int scinrcWidth = scinrc.right - scinrc.left;
					//::MoveWindow(_pScintillaEditView->getHSelf(), 0, 0, scinrcWidth, height, TRUE);

					POINT pt = {0,0};
					::ClientToScreen(_hSelf, &pt);
					::MoveWindow(_vzDlg.getHSelf(), pt.x, pt.y, width, height, TRUE);
					scrollMap();
					return TRUE;
				}

				case NM_DBLCLK:
				{
					return TRUE;
				}

				default:
					break;

			}

		}
		return TRUE;

		case DOCUMENTMAP_SCROLL:
		{
			bool dir = (wParam != 0);
			moveMode mode = (lParam == 0)?perLine:perPage;
			scrollMap(dir, mode);
		}
		return TRUE;

		case DOCUMENTMAP_MOUSECLICKED:
		{
			int newPosY = HIWORD(lParam);
			int currentCenterPosY = _vzDlg.getCurrentCenterPosY();
			int pixelPerLine = _pScintillaEditView->execute(SCI_TEXTHEIGHT, 0);
			int jumpDistance = newPosY - currentCenterPosY;
			int nbLine2jump = jumpDistance/pixelPerLine;
			(*_ppEditView)->execute(SCI_LINESCROLL, 0, nbLine2jump);

			scrollMap();
		}
		return TRUE;

		case DOCUMENTMAP_MOUSEWHEEL:
		{
			(*_ppEditView)->mouseWheel(wParam, lParam);
		}
		return TRUE;



        default :
            return DockingDlgInterface::run_dlgProc(message, wParam, lParam);
    }
	return DockingDlgInterface::run_dlgProc(message, wParam, lParam);
}