Esempio n. 1
0
void Adresis::getInfoModule(Logic::TypeModule module )
{
    D_FUNCINFO;
    if(m_user.permissions()[Logic::administrador])
    {
        switch(module)
        {
        case Logic::users:
        {
            ADSelectPackage select(QStringList()<< "aduser", QStringList() << "nameuser"<< "loginuser" );
            m_connector->sendQuery(Logic::fillUserModule, select);
            break;
        }
        case Logic::spaces:
        {
            ADSelectPackage select(QStringList()<< "adspace", QStringList() << "codespace" <<"typespace" << "namespace" );
            m_connector->sendQuery(Logic::fillSpaceModule, select);
            break;
        }

        case Logic::audiovisuals:
        {
            ADSelectPackage select(QStringList()<< "adaudiovisual", QStringList() << "typeAV"<<"numberinventoryAV");
            m_connector->sendQuery(Logic::fillAudiovisualModule, select);
            break;
        }

        case Logic::reserves:
        {
            ADSelectPackage selectSpace(QStringList()<< "adspacereserve"<< "adspace", QStringList() <<"idreserve as id" <<"typereserve as type"<<"namespace as name");
            selectSpace.setWhere( "adspacereserve.idresource = adspace.codespace and isactive=true");
            m_connector->sendQuery(Logic::fillReserveModule, selectSpace);

            ADSelectPackage selectAV(QStringList()<< "adavreserve"<< "adaudiovisual", QStringList() <<"idreserve as id" << "typereserve as type"<<"typeav as name");
            selectAV.setWhere( "adavreserve.idresource = adaudiovisual.numberinventoryav and isactive=true" );
            m_connector->sendQuery(Logic::fillReserveModule, selectAV);
        }
        }
    }


    else
    {
        ADSelectPackage selectSpace(QStringList()<< "adspacereserve"<< "adspace", QStringList() <<"idreserve as id" <<"typereserve as type"<<"namespace as name");
        selectSpace.setWhere( "adspacereserve.idresource = adspace.codespace and isactive=true");
        m_connector->sendQuery(Logic::fillReserveModule, selectSpace);

        ADSelectPackage selectAV(QStringList()<< "adavreserve"<< "adaudiovisual", QStringList() <<"idreserve as id" << "typereserve as type"<<"typeav as name");
        selectAV.setWhere( "adavreserve.idresource = adaudiovisual.numberinventoryav and isactive=true" );
        m_connector->sendQuery(Logic::fillReserveModule, selectAV);
    }
}
Esempio n. 2
0
    /**
     * Verarbeitet das Touch-Event.
     */
    void handleTouchEvent() {
        // Prüfung, ob ein Tipp auf den Touchscreen erkannt und dieser noch nicht verarbeitet wurde
        if (touchEvent.isTap && touchEvent.startTime > lastTapTime) {
            // Es wurde auf den Touchscreen getippt. Es wird versucht, an der Stelle ein Feld zu
            // erzeugen.

            QCAR::Vec3F intersection;
            // Projektion der Koordinaten, auf die getippt wurde, auf die Ebene des getrackten
            // Objektes
            projectScreenPointToPlane(screenWidth, screenHeight,
                    QCAR::Vec2F(touchEvent.tapPosition.data[0], touchEvent.tapPosition.data[1]),
                    inverseProjectionMatrix, modelViewMatrix, QCAR::Vec3F(0, 0, 0),
                    QCAR::Vec3F(0, 0, 1), intersection);
            // Prüfung, ob sich an den projezierten Koordinaten bereits ein Feld befindet
            Space* space = selectSpace(QCAR::Vec2F(intersection.data[0], intersection.data[1]));
            if (space != NULL) {
                // Feld gefunden

                // normales Feld in Sonderfeld umwandeln und umgekehrt
                if (space->type == SPACE) {
                    space->type = SPECIAL_SPACE;
                } else if (space->type == SPECIAL_SPACE) {
                    space->type = SPACE;
                }
            } else if (canCreateSpace(QCAR::Vec2F(intersection.data[0], intersection.data[1]))) {
                // kein Feld gefunden, es kann ein neues erstellt werden

                // Feld erzeugen
                createSpace(QCAR::Vec2F(intersection.data[0], intersection.data[1]));
                // Weiter-Button beim Erreichen einer bestimmten Anzahl von Feldern anzeigen
                if (field.length == SPACE_COUNT_TO_SHOW_NEXT_BUTTON) {
                    showView("nextButton");
                }
                // Neustart-Button beim Erreichen einer bestimmten Anzahl von Feldern anzeigen
                if (field.length == SPACE_COUNT_TO_SHOW_RESTART_BUTTON) {
                    showView("restartButton");
                }
            }
            // Zeit des Verarbeitung manipulieren, damit dieser Tipp nicht mehr verarbeitet wird
            lastTapTime = touchEvent.startTime;
        } else if (touchEvent.isActive) {
            // Der User hat den Finger immer noch auf dem Touchscreen. Wenn der Finger über den
            // Bildschrim gezogen wird, dann wird versucht auf diesem Zieh-Pfad nacheinander Felder
            // zu erzeugen.

            // Touch-Ereignis ignorieren, wenn daraus noch ein Tipp werden könnte
            if (touchEvent.lifeTime > MAX_TAP_TIME
                    || touchEvent.startPositionLastPositionDistance > MAX_TAP_SQUARED_DISTANCE) {
                QCAR::Vec3F intersection;
                // Projektion der Koordinaten, auf denen sich der Finger befindet, auf die Ebene des
                // getrackten Objektes
                projectScreenPointToPlane(
                        screenWidth,
                        screenHeight,
                        QCAR::Vec2F(touchEvent.currentPosition.data[0],
                                touchEvent.currentPosition.data[1]), inverseProjectionMatrix,
                        modelViewMatrix, QCAR::Vec3F(0, 0, 0), QCAR::Vec3F(0, 0, 1), intersection);
                // Prüfung, ob an den projezierten Koordinaten ein Feld erzeugt werden kann
                if (canCreateSpace(QCAR::Vec2F(intersection.data[0], intersection.data[1]))) {
                    // Feld erzeugen
                    createSpace(QCAR::Vec2F(intersection.data[0], intersection.data[1]));
                    // Weiter-Button beim Erreichen einer bestimmten Anzahl von Feldern anzeigen
                    if (field.length == SPACE_COUNT_TO_SHOW_NEXT_BUTTON) {
                        showView("nextButton");
                    }
                    // Neustart-Button beim Erreichen einer bestimmten Anzahl von Feldern anzeigen
                    if (field.length == SPACE_COUNT_TO_SHOW_RESTART_BUTTON) {
                        showView("restartButton");
                    }
                }
            }
        }
    }