mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 05:00:33 +01:00
Fix : Filling color is not apply to polyline.
This commit is contained in:
@@ -523,11 +523,16 @@ void CustomElementGraphicPart::stylesFromXml(const QDomElement &qde)
|
||||
|
||||
//Check each pair of style
|
||||
QRegularExpression rx("^\\s*([a-z-]+)\\s*:\\s*([a-zA-Z-]+)\\s*$");
|
||||
foreach (QString style, styles)
|
||||
for (auto style : styles)
|
||||
{
|
||||
if (rx!=QRegularExpression(style)) continue;
|
||||
QString style_name = rx.namedCaptureGroups().at(1);
|
||||
QString style_value = rx.namedCaptureGroups().at(2);
|
||||
auto rx_match = rx.match(style);
|
||||
if (!rx_match.hasMatch()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
auto style_name = rx_match.captured(1);
|
||||
auto style_value = rx_match.captured(2);
|
||||
|
||||
if (style_name == "line-style")
|
||||
{
|
||||
if (style_value == "dashed") _linestyle = DashedStyle;
|
||||
|
||||
@@ -61,7 +61,7 @@ PartPolygon::~PartPolygon()
|
||||
*/
|
||||
void PartPolygon::paint(QPainter *painter, const QStyleOptionGraphicsItem *options, QWidget *widget)
|
||||
{
|
||||
Q_UNUSED(widget);
|
||||
Q_UNUSED(widget)
|
||||
|
||||
applyStylesToQPainter(*painter);
|
||||
|
||||
|
||||
@@ -449,10 +449,14 @@ void StyleEditor::updateForm()
|
||||
if (part)
|
||||
{
|
||||
antialiasing ->setChecked(part -> antialiased());
|
||||
outline_color ->removeItem(13); //Remove the separator for set the good index at the line below
|
||||
outline_color ->setCurrentIndex(part->color());
|
||||
outline_color ->insertSeparator(13);
|
||||
line_style ->setCurrentIndex(part -> lineStyle());
|
||||
size_weight ->setCurrentIndex(part -> lineWeight());
|
||||
filling_color ->removeItem(13); //Remove the separator for set the good index at the line below
|
||||
filling_color ->setCurrentIndex(part -> filling());
|
||||
filling_color ->insertSeparator(13);
|
||||
}
|
||||
else if (m_part_list.size())
|
||||
{
|
||||
@@ -463,7 +467,7 @@ void StyleEditor::updateForm()
|
||||
size_weight -> setCurrentIndex(first_part -> lineWeight());
|
||||
filling_color -> setCurrentIndex(first_part -> filling());
|
||||
|
||||
foreach (CustomElementGraphicPart *cegp, m_part_list)
|
||||
for (auto cegp : m_part_list)
|
||||
{
|
||||
if (first_part -> antialiased() != cegp -> antialiased()) antialiasing -> setChecked(false);
|
||||
if (first_part -> color() != cegp -> color()) outline_color -> setCurrentIndex(-1);
|
||||
|
||||
@@ -90,23 +90,25 @@ bool PolygonEditor::setPart(CustomElementPart *new_part)
|
||||
{
|
||||
if (!new_part)
|
||||
{
|
||||
if (m_part)
|
||||
{
|
||||
if (m_part) {
|
||||
disconnectChangeConnections();
|
||||
m_style->setPart(nullptr);
|
||||
}
|
||||
m_part = nullptr;
|
||||
return(true);
|
||||
}
|
||||
if (PartPolygon *part_polygon = dynamic_cast<PartPolygon *>(new_part))
|
||||
{
|
||||
if (m_part == part_polygon) return true;
|
||||
if (m_part)
|
||||
{
|
||||
if (m_part == part_polygon) {
|
||||
return true;
|
||||
}
|
||||
if (m_part) {
|
||||
disconnectChangeConnections();
|
||||
}
|
||||
m_part = part_polygon;
|
||||
updateForm();
|
||||
setUpChangeConnections();
|
||||
m_style->setPart(m_part);
|
||||
return(true);
|
||||
}
|
||||
return(false);
|
||||
|
||||
@@ -488,7 +488,7 @@ void ElementPictureFactory::parsePolygon(const QDomElement &dom, QPainter &paint
|
||||
|
||||
void ElementPictureFactory::parseText(const QDomElement &dom, QPainter &painter, ElementPictureFactory::primitives &prim) const
|
||||
{
|
||||
Q_UNUSED(prim);
|
||||
Q_UNUSED(prim)
|
||||
|
||||
if (dom.tagName() != "text") {
|
||||
return;
|
||||
@@ -571,7 +571,8 @@ void ElementPictureFactory::setPainterStyle(const QDomElement &dom, QPainter &pa
|
||||
#endif
|
||||
const QStringList styles = dom.attribute("style").split(";", Qt::SkipEmptyParts);
|
||||
#endif
|
||||
QRegularExpression rx("^(?<name>[a-z-]+):(?<value>[a-z-]+)$");
|
||||
|
||||
QRegularExpression rx("^(?<name>[a-z-]+):(?<value>[a-zA-Z-]+)$");
|
||||
if (!rx.isValid())
|
||||
{
|
||||
qWarning() <<QObject::tr("this is an error in the code")
|
||||
@@ -579,12 +580,11 @@ void ElementPictureFactory::setPainterStyle(const QDomElement &dom, QPainter &pa
|
||||
<< rx.patternErrorOffset();
|
||||
return;
|
||||
}
|
||||
for (QString style : styles) {
|
||||
QRegularExpressionMatch match = rx.match(style);
|
||||
if (!match.hasMatch())
|
||||
for (auto style : styles)
|
||||
{
|
||||
qDebug()<<"no Match"
|
||||
<<style;
|
||||
QRegularExpressionMatch match = rx.match(style);
|
||||
if (!match.hasMatch()) {
|
||||
qDebug() << "no Match" << style;
|
||||
}else {
|
||||
QString style_name = match.captured("name");
|
||||
QString style_value = match.captured("value");
|
||||
|
||||
Reference in New Issue
Block a user