/* greedyColoring(): Color a given graph with greedy approach. */ void Graph::greedyColoring() { map<string,Vertex*>::iterator itr; int size,color; noOfColors=0; for(itr=vertices.begin();itr!=vertices.end();itr++) { Vertex *v=itr->second; vector<string>adjList=v->getAdjList(); size=v->adjListSize(); vector<bool>colorList(size+1); for(int i=0;i<size;i++) { color=vertices[adjList[i]]->getColor(); colorList[color]=true; } for(int i=1;i<size+1;i++) { if(!colorList[i]) { v->setColor(i); break; } } if(v->getColor()==0) v->setColor(colorList.size()); if(v->getColor()>noOfColors) noOfColors=v->getColor(); } }
int ColorBox::colorIndex(const QColor& c) { if (!isValidColor(c)) return 0; return colorList().indexOf(c); }
QColor ColorBox::color(int colorIndex) { QList<QColor> colorsList = colorList(); if (colorIndex >= 0 && colorIndex < colorsList.size()) return colorsList[colorIndex]; return Qt::black; // default color is black. }
void ColorBox::init() { QList<QColor> indexedColors = colorList(); QStringList color_names = colorNames(); QPixmap icon = QPixmap(28, 16); QRect r = QRect(0, 0, 27, 15); QPainter p; p.begin(&icon); for (int i = 0; i < indexedColors.size(); i++){ p.setBrush(QBrush(indexedColors[i])); p.drawRect(r); this->addItem(icon, color_names[i]); } p.end(); }
QIcon ConsoleChannel::colorIcon(const QString& name) { /* Return immediately with a rainbow icon -- if appropriate */ if (name.toLower().contains("rainbow") || name.toLower().contains("cw") == true) { return QIcon(":/rainbow.png"); } else if (name.toLower().contains("cto") == true) { QColor color(255, 201, 0); QPixmap pm(32, 32); pm.fill(color); return QIcon(pm); } else if (name.toLower().contains("ctb") == true) { QColor color(0, 128, 190); QPixmap pm(32, 32); pm.fill(color); return QIcon(pm); } else if (name.toLower().contains("uv") == true) { QColor color(37, 0, 136); QPixmap pm(32, 32); pm.fill(color); return QIcon(pm); } #ifdef Q_WS_X11 QColor::setAllowX11ColorNames(true); #endif QStringList colorList(QColor::colorNames()); QString colname; QColor color; int index; colname = name.toLower().remove(QRegExp("[0-9]")).remove(' '); index = colorList.indexOf(colname); if (index != -1) { color.setNamedColor(colname); } else { QString re("("); QListIterator <QString> it(name.toLower().split(" ")); while (it.hasNext() == true) { re += it.next(); if (it.hasNext() == true) re += "|"; } re += ")"; QRegExp regex(re, Qt::CaseInsensitive); index = colorList.indexOf(regex); if (index != -1) color.setNamedColor(colorList.at(index)); } if (color.isValid() == true) { QPixmap pm(32, 32); pm.fill(color); return QIcon(pm); } else { return QIcon(); } }
bool ColorBox::isValidColor(const QColor& color) { return colorList().contains(color); }