コード例 #1
0
ファイル: translationinterface.cpp プロジェクト: smyhu/taot
void TranslationInterface::translate()
{
    if (m_srcText.isEmpty()) {
        emit error(tr("Please, enter the source text"));
        return;
    }

    resetTranslation();

#ifdef WITH_ANALYTICS
    if (m_privacyLevel == NoPrivacy) {
        QVariantMap props;
        fillTranslationProperties(props);
        m_analytics->trackEvent("Translation", props);
    }
#endif

    if (!m_service->translate(m_sourceLanguage->language(),
                              m_targetLanguage->language(),
                              m_srcText)) {
        emit error(m_service->errorString());
        return;
    }

    setBusy(true);
}
コード例 #2
0
ファイル: translationinterface.cpp プロジェクト: smyhu/taot
void TranslationInterface::selectSourceLanguage(int index)
{
    const Language lang = m_sourceLanguages->get(index);
    if (m_sourceLanguage && m_sourceLanguage->language() == lang)
        return;

    resetTranslation();
    delete m_sourceLanguage;
    m_sourceLanguage = new LanguageItem(lang, index);
    m_settings->beginGroup(m_service->uid() + "/SourceLanguage");
    m_settings->setValue("Info", m_service->serializeLanguageInfo(lang.info));
    m_settings->endGroup();
    emit sourceLanguageChanged();

    if (m_service->targetLanguagesDependOnSourceLanguage()) {
        m_targetLanguages->setLanguageList(m_service->targetLanguages(lang));
        if (!m_service->targetLanguages(lang).contains(m_targetLanguage->language())) {
            const int i = m_service->targetLanguages(lang).indexOf(m_service->defaultLanguagePair()
                                                                   .second);
            selectTargetLanguage(i < 0 ? 0 : i);
        } else {
            m_targetLanguage->setIndex(m_targetLanguages->indexOf(m_targetLanguage->language()));
            emit targetLanguageChanged();
        }
    }
}
コード例 #3
0
ファイル: translationinterface.cpp プロジェクト: smyhu/taot
void TranslationInterface::setSourceText(const QString &sourceText)
{
    if (m_srcText == sourceText)
        return;
    resetTranslation();
    m_srcText = sourceText;
    emit sourceTextChanged();
}
コード例 #4
0
ファイル: translationinterface.cpp プロジェクト: smyhu/taot
void TranslationInterface::swapLanguages()
{
    const Language oldsrc = m_service->isAutoLanguage(m_sourceLanguage->language())
                            ? m_detectedLanguage
                            : m_sourceLanguage->language();
    resetTranslation();

    selectSourceLanguage(m_sourceLanguages->indexOf(m_targetLanguage->language()));
    selectTargetLanguage(m_targetLanguages->indexOf(oldsrc));
}
コード例 #5
0
void ViewerState::valueUpdate(ComboBox& comboBox, const std::string& selectedValue) {
	if (comboBox == "modelCombo") {
		p_modelViewer->loadModel(selectedValue);

		resetTranslation();
		p_textureCombo->setSelected("Untextured");

		// Set optimal settings
		if (selectedValue == "Teapot") {
			p_toggleClockwise->setTicked(true);
			p_scaleAll->setIndex(10);
			p_transZ->setIndex(25);
		}
		else if (selectedValue == "Cube") {
			p_toggleClockwise->setTicked(false);
			p_scaleAll->setIndex(100);
			p_transZ->setIndex(75);
		}
		else if (selectedValue == "Cone") {
			p_toggleClockwise->setTicked(false);
			p_scaleAll->setIndex(100);
			p_transZ->setIndex(75);
			p_textureCombo->setSelected("Cone");
		}
		else if (selectedValue == "Teddy") {
			p_toggleClockwise->setTicked(false);
			p_transZ->setIndex(25);
		}
		else if (selectedValue == "Crate") {
			p_toggleClockwise->setTicked(true);
			p_transZ->setIndex(25);
			p_textureCombo->setSelected("Crate");
		}
		else if (selectedValue == "TARDIS") {
			p_toggleClockwise->setTicked(false);
			p_transZ->setIndex(60);
		}
		else if (selectedValue == "Death star") {
			p_toggleClockwise->setTicked(false);
			p_transZ->setIndex(60);
		}
	}
	else {
		if (selectedValue == "Untextured") {
			p_modelViewer->setTexture("");
		}
		else {
			p_modelViewer->setTexture(selectedValue);
		}
	}
}
コード例 #6
0
ファイル: translationinterface.cpp プロジェクト: smyhu/taot
void TranslationInterface::selectTargetLanguage(int index)
{
    const Language lang = m_targetLanguages->get(index);
    if (m_targetLanguage && m_targetLanguage->language() == lang)
        return;

    resetTranslation();
    delete m_targetLanguage;
    m_targetLanguage = new LanguageItem(lang, index);
    m_settings->beginGroup(m_service->uid() + "/TargetLanguage");
    m_settings->setValue("Info", m_service->serializeLanguageInfo(lang.info));
    m_settings->endGroup();
    emit targetLanguageChanged();
}
コード例 #7
0
KinematicMotion::KinematicMotion() {
    translationVector = new double[3];
    resetTranslation();
    rotationMatrix = new double[9];
    resetRotation();
}
コード例 #8
0
//--------------------------------------------------
void Skybox::render(bool activateShaders)
{
	Shader::disable();
	//configuration:
	float skySize = 30000.0f;
	float sunOrbit = 28000.0f;
	float orbitBias = 0.05f;
	float orbitRotation = 0.1f;
	int numberOfStars = 1000;

	//Rotate the sun ----------------------------------------
	Vector3f sunPosition = Vector3f(sunOrbit, 0.0f, 0.0f);

	Matrix3f m3 = Matrix3f::createRotationAroundAxis(0.0f, orbitRotation * 2.0f * (float)M_PI, 0.0f);
	Matrix3f m1 = Matrix3f::createRotationAroundAxis(0.0f, 0.0f, dayTime * 2.0f * (float)M_PI);
	Matrix3f m2 = Matrix3f::createRotationAroundAxis(orbitBias * 2.0f * (float)M_PI, 0.0f, 0.0f);

	sunPosition = m1 * sunPosition;
	sunPosition = m2 * sunPosition;
	sunPosition = m3 * sunPosition;

	//direction:
	sunDirection = sunPosition;
	sunDirection.normalize();

	//sky colors:
	Vector4f blue = Vector4f(0.2f, 0.4f, 0.8f, 1.0f);
	Vector4f white = Vector4f(0.52f, 0.63f, 0.87f, 1.0f);

	Vector4f orange = Vector4f(0.75f, 0.35f, 0.0f, 1.0f);
	Vector4f red = Vector4f(0.85f, 0.15f, 0.0f, 1.0f);

	Vector4f black = Vector4f(0.0f, 0.0f, 0.0f, 0.0f);

	//mix sky colors:
	Vector4f color1 = Vector4f(0.0f, 0.0f, 0.0f, 0.0f);
	Vector4f color2 = Vector4f(0.0f, 0.0f, 0.0f, 0.0f);
	float d = sunDirection.y;

	if (d >= 0.3f)
	{
		color1 = blue;
		color2 = white;
	}
	else
	{
		if (d >= 0.2f)
		{
			color1 = blue * (d - 0.2f) * 10.0f + orange * (1 - (d - 0.2f) * 10.0f);
			color2 = white * (d - 0.2f) * 10.0f + red * (1 - (d - 0.2f) * 10.0f);
		}
		else
		{
			color1 = orange * d * 5.0f + black * (1 - d * 5.0f);
			color2 = red * d * 5.0f  + black * (1 - d * 5.0f);
		}
	}

	//weapon (this is an easter egg)
	/*glPushMatrix();
	glLoadIdentity();
	glRotatef(20.0, 0, 0, 1);
	glRotatef(-20.0, 1, 0, 0);
	glTranslatef(20.0, 10.0, -50.0);
	weapon->showS();
	glPopMatrix();*/

	//draw everything ------------------------------------------
	glPushMatrix();
	glPushAttrib(GL_ENABLE_BIT);

	glDisable(GL_LIGHTING);
	glDisable(GL_TEXTURE_2D);
	glEnable(GL_POINT_SMOOTH);

	resetTranslation();
	drawStars(numberOfStars);
	drawSky(skySize, color1, color2);
	drawSun(sunPosition);

	//restore matrix and attributes
	glPopAttrib();
	glPopMatrix();
	Shader::useDefaultShader();
}