Пример #1
0
QStringList MainWindow::exec(const QString &pExe,
							 const QString &pDir)
{
	QProcess lProcess;
	lProcess.setProcessChannelMode(QProcess::MergedChannels);

	if(!pDir.isEmpty())
	{
		lProcess.setWorkingDirectory(pDir);
	}
	lProcess.start(pExe);

	if(!lProcess.waitForFinished())
	{
		return QStringList() << lProcess.errorString();
	}

	//! TODO: find a better way to do this!
	QList<QByteArray> lTempLines = lProcess.readAll().split('\n');
	QStringList lStringList;
	for(int i=0;i<lTempLines.size();i++)
	{
		QString lLine(lTempLines[i]);
		if(lLine.isEmpty())
			continue;

		lStringList.append(lLine);
	}

	return lStringList;
}
Пример #2
0
void Button::createTexture(void) {
   Kernel *kernel = Kernel::getInstance();

   if ((_cTexture = kernel->getWidgetTexture(BUTTON)) != NULL) return;

   ColorRGBA colorBotao1(250, 250, 250, 255);
   ColorRGBA colorBotao2(210, 210, 210, 255);

   ColorRGBA colorOver(220, 220, 220, 100);
   ColorRGBA colorClick(colorOver[0] - 100, colorOver[1] - 100, colorOver[2] - 100, colorOver[3]);

   // create texture object
   _cTexture = new ComponentTexture(8, 16);
   kernel->setWidgetTexture(BUTTON, _cTexture);

   _cTexture->setTextureEnvMode(GL_MODULATE);

   // left up
   MatrixTemplate<ColorRGBA> lUp(3, 3, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(lUp, Point(0,1), ColorRGBA(144,144,144,230));
   Texture2D::drawPoint(lUp, Point(1,1), ColorRGBA(144,144,144,230));
   Texture2D::drawPoint(lUp, Point(1,0), ColorRGBA(144,144,144,230));

   Texture2D::drawPoint(lUp, Point(1,2), ColorRGBA(202,202,202,200));
   Texture2D::drawPoint(lUp, Point(2,2), ColorRGBA(240,240,240,240));
   Texture2D::drawPoint(lUp, Point(2,1), ColorRGBA(202,202,202,200));

   _cTexture->addTexture(Point(0,0), lUp);

   // right up
   MatrixTemplate<ColorRGBA> rUp(3, 3, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(rUp, Point(1, 1), ColorRGBA(144,144,144,230));
   Texture2D::drawPoint(rUp, Point(1, 0), ColorRGBA(144,144,144,230));
   Texture2D::drawPoint(rUp, Point(2, 1), ColorRGBA(144,144,144,230));

   Texture2D::drawPoint(rUp, Point(1, 2), ColorRGBA(202,202,202,200));
   Texture2D::drawPoint(rUp, Point(0, 2), ColorRGBA(240,240,240,240));
   Texture2D::drawPoint(rUp, Point(0, 1), ColorRGBA(202,202,202,200));

   _cTexture->addTexture(Point(0,3), rUp);

   // left down
   MatrixTemplate<ColorRGBA> lDown(3, 3, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(lDown, Point(0,1), ColorRGBA(144,144,144,230));
   Texture2D::drawPoint(lDown, Point(1,1), ColorRGBA(144,144,144,230));
   Texture2D::drawPoint(lDown, Point(1,2), ColorRGBA(144,144,144,230));

   Texture2D::drawPoint(lDown, Point(1,0), ColorRGBA(202,202,202,200));
   Texture2D::drawPoint(lDown, Point(2,0), ColorRGBA(240,240,240,240));
   Texture2D::drawPoint(lDown, Point(2,1), ColorRGBA(202,202,202,200));

   _cTexture->addTexture(Point(0,6), lDown);

   // right down
   MatrixTemplate<ColorRGBA> rDown(3, 3, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(rDown, Point(1,2), ColorRGBA(144,144,144,230));
   Texture2D::drawPoint(rDown, Point(2,1), ColorRGBA(144,144,144,230));
   Texture2D::drawPoint(rDown, Point(1,1), ColorRGBA(144,144,144,230));

   Texture2D::drawPoint(rDown, Point(1,0), ColorRGBA(202,202,202,200));
   Texture2D::drawPoint(rDown, Point(0,0), ColorRGBA(240,240,240,240));
   Texture2D::drawPoint(rDown, Point(0,1), ColorRGBA(202,202,202,200));

   _cTexture->addTexture(Point(0,9), rDown);

   // normal middle
   MatrixTemplate<ColorRGBA> nMiddle(1, 16, ColorRGBA(0,0,0,0));
   for (int i = 0, j = 15; i < 8; i++, j--) {
      Texture2D::drawPoint(nMiddle, Point(0,i), colorBotao1 - i * 2);
      Texture2D::drawPoint(nMiddle, Point(0,j), colorBotao2 - i * 2);
   }
   _cTexture->addTexture(Point(3,0), nMiddle);

   // over middle
   MatrixTemplate<ColorRGBA> oMiddle(1, 1, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(oMiddle, Point(0,0), colorOver);

   _cTexture->addTexture(Point(4,0), oMiddle);

   // click middle
   MatrixTemplate<ColorRGBA> cMiddle(1, 1, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(cMiddle, Point(0,0), colorClick);

   _cTexture->addTexture(Point(5,0), cMiddle);

   // up line
   MatrixTemplate<ColorRGBA> uLine(1, 2, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(uLine, Point(0,0), ColorRGBA(112,112,112,255));
   Texture2D::drawPoint(uLine, Point(0,1), ColorRGBA(255,255,255,255));

   _cTexture->addTexture(Point(6,0), uLine);

   // down line
   MatrixTemplate<ColorRGBA> dLine(1, 2, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(dLine, Point(0,0), ColorRGBA(255,255,255,255));
   Texture2D::drawPoint(dLine, Point(0,1), ColorRGBA(112,112,112,255));

   _cTexture->addTexture(Point(7,0), dLine);

   // left line
   MatrixTemplate<ColorRGBA> lLine(2, 1, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(lLine, Point(0,0), ColorRGBA(112,112,112,255));
   Texture2D::drawPoint(lLine, Point(1,0), ColorRGBA(255,255,255,255));

   _cTexture->addTexture(Point(6,2), lLine);

   // right line
   MatrixTemplate<ColorRGBA> rLine(2, 1, ColorRGBA(0,0,0,0));
   Texture2D::drawPoint(rLine, Point(1,0), ColorRGBA(112,112,112,255));
   Texture2D::drawPoint(rLine, Point(0,0), ColorRGBA(255,255,255,255));

   _cTexture->addTexture(Point(6,3), rLine);

   // generate texture
   _cTexture->createTexture();
}