QColor QGIView::getSelectColor() { Base::Reference<ParameterGrp> hGrp = getParmGroupCol(); App::Color fcColor; fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00FF0000)); m_colSel = fcColor.asValue<QColor>(); return m_colSel; }
QColor QGVPage::getBackgroundColor() { Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter() .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); App::Color fcColor; fcColor.setPackedValue(hGrp->GetUnsigned("Background", 0x70707000)); return fcColor.asValue<QColor>(); }
void PropertyColor::setPyObject(PyObject *value) { App::Color cCol; if (PyTuple_Check(value) && PyTuple_Size(value) == 3) { PyObject* item; item = PyTuple_GetItem(value,0); if (PyFloat_Check(item)) cCol.r = (float)PyFloat_AsDouble(item); else throw Base::Exception("Type in tuple must be float"); item = PyTuple_GetItem(value,1); if (PyFloat_Check(item)) cCol.g = (float)PyFloat_AsDouble(item); else throw Base::Exception("Type in tuple must be float"); item = PyTuple_GetItem(value,2); if (PyFloat_Check(item)) cCol.b = (float)PyFloat_AsDouble(item); else throw Base::Exception("Type in tuple must be float"); } else if (PyTuple_Check(value) && PyTuple_Size(value) == 4) { PyObject* item; item = PyTuple_GetItem(value,0); if (PyFloat_Check(item)) cCol.r = (float)PyFloat_AsDouble(item); else throw Base::Exception("Type in tuple must be float"); item = PyTuple_GetItem(value,1); if (PyFloat_Check(item)) cCol.g = (float)PyFloat_AsDouble(item); else throw Base::Exception("Type in tuple must be float"); item = PyTuple_GetItem(value,2); if (PyFloat_Check(item)) cCol.b = (float)PyFloat_AsDouble(item); else throw Base::Exception("Type in tuple must be float"); item = PyTuple_GetItem(value,3); if (PyFloat_Check(item)) cCol.a = (float)PyFloat_AsDouble(item); else throw Base::Exception("Type in tuple must be float"); } else if (PyLong_Check(value)) { cCol.setPackedValue(PyLong_AsUnsignedLong(value)); } else { std::string error = std::string("type must be int or tuple of float, not "); error += value->ob_type->tp_name; throw Py::TypeError(error); } setValue( cCol ); }
App::Color Cell::decodeColor(const std::string & color, const App::Color & defaultColor) { if (color.size() == 7 || color.size() == 9) { App::Color c; if (color[0] != '#') return defaultColor; unsigned int value = strtoul(color.c_str() + 1, 0, 16); if (color.size() == 7) value = (value << 8) | 0xff; c.setPackedValue(value); return c; } else return defaultColor; }
QColor QGCustomText::getNormalColor() { QColor result; QGIView *parent; QGraphicsItem* qparent = parentItem(); if (qparent == nullptr) { parent = nullptr; } else { parent = dynamic_cast<QGIView *> (qparent); } if (parent != nullptr) { result = parent->getNormalColor(); } else { Base::Reference<ParameterGrp> hGrp = getParmGroup(); App::Color fcColor; fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000)); result = fcColor.asValue<QColor>(); } return result; }