コード例 #1
0
void ColorPaletteWidget::clickAddColorButton()
{
    QColor prevColor = Qt::white;

    if ( currentColourNumber() > -1 )
    {
        prevColor = core()->object()->getColour(currentColourNumber()).colour;
    }

    bool ok;
    QRgb qrgba = QColorDialog::getRgba( prevColor.rgba(), &ok, this );
    if ( ok )
    {
        ColourRef ref = ColourRef(QColor::fromRgba(qrgba));
        bool ok;
        QString text = QInputDialog::getText(this,
            tr("Colour name"),
            tr("Colour name:"),
            QLineEdit::Normal,
            QString(tr("Colour %1")).arg( ui->colorListWidget->count()),
            &ok );
        if (ok)
        {
            ref.name = text;
            core()->object()->addColour(ref);
            refreshColorList();
            core()->color()->setColor( core()->object()->getColourCount() - 1 );
        }
    }
}
コード例 #2
0
ファイル: object.cpp プロジェクト: kushdua/ece1724-pencil
bool Object::importPalette(QString filePath) {
	QFile* file = new QFile(filePath);
	if (!file->open(QFile::ReadOnly)) {
		//QMessageBox::warning(this, "Warning", "Cannot read file");
		return false;
	}
	
	QDomDocument doc;
	doc.setContent(file);
	
	myPalette.clear();
	QDomElement docElem = doc.documentElement();
	QDomNode tag = docElem.firstChild();
	while(!tag.isNull()) {
		QDomElement e = tag.toElement(); // try to convert the node to an element.
		if(!e.isNull()) {
			QString name = e.attribute("name");
			int r = e.attribute("red").toInt();
			int g = e.attribute("green").toInt();
			int b = e.attribute("blue").toInt();
			myPalette.append( ColourRef( QColor(r, g, b), name) );
			//qDebug() << name << r << g << b << endl; // the node really is an element.
		}
		tag = tag.nextSibling();
	}
    return true;
}
コード例 #3
0
ファイル: object.cpp プロジェクト: kushdua/ece1724-pencil
void Object::loadDefaultPalette() {
	myPalette.clear();
	addColour(  ColourRef(QColor(Qt::black), QString("Black"))  );
	addColour(  ColourRef(QColor(Qt::red), QString("Red"))  );
	addColour(  ColourRef(QColor(Qt::darkRed), QString("Dark Red"))  );
	addColour(  ColourRef(QColor(255,128,0), QString("Orange"))  );
	addColour(  ColourRef(QColor(128,64,0), QString("Dark Orange"))  );
	addColour(  ColourRef(QColor(Qt::yellow), QString("Yellow"))  );
	addColour(  ColourRef(QColor(Qt::darkYellow), QString("Dark Yellow"))  );
	addColour(  ColourRef(QColor(Qt::green), QString("Green"))  );
	addColour(  ColourRef(QColor(Qt::darkGreen), QString("Dark Green"))  );
	addColour(  ColourRef(QColor(Qt::cyan), QString("Cyan"))  );
	addColour(  ColourRef(QColor(Qt::darkCyan), QString("Dark Cyan"))  );
	addColour(  ColourRef(QColor(Qt::blue), QString("Blue"))  );
	addColour(  ColourRef(QColor(Qt::darkBlue), QString("Dark Blue"))  );
	addColour(  ColourRef(QColor(255,255,255), QString("White"))  );
	addColour(  ColourRef(QColor(220,220,229), QString("Very Light Grey"))  );
	addColour(  ColourRef(QColor(Qt::lightGray), QString("Light Grey"))  );
	addColour(  ColourRef(QColor(Qt::gray), QString("Grey"))  );
	addColour(  ColourRef(QColor(Qt::darkGray), QString("Dark Grey"))  );
	addColour(  ColourRef(QColor(255,227,187), QString("Light Skin"))  );
	addColour(  ColourRef(QColor(221,196,161), QString("Light Skin - shade"))  );
	addColour(  ColourRef(QColor(255,214,156), QString("Skin"))  );
	addColour(  ColourRef(QColor(207,174,127), QString("Skin - shade"))  );
	addColour(  ColourRef(QColor(255,198,116), QString("Dark Skin"))  );
	addColour(  ColourRef(QColor(227,177,105), QString("Dark Skin - shade"))  );
}
コード例 #4
0
ファイル: object.cpp プロジェクト: kushdua/ece1724-pencil
void Object::addColour(QColor colour) {
	addColour( ColourRef(colour, "Colour "+QString::number(myPalette.size()) ) );
}