aboutsummaryrefslogtreecommitdiff
path: root/symedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'symedit.cpp')
-rw-r--r--symedit.cpp51
1 files changed, 30 insertions, 21 deletions
diff --git a/symedit.cpp b/symedit.cpp
index 3d28e28..00ca56f 100644
--- a/symedit.cpp
+++ b/symedit.cpp
@@ -18,6 +18,7 @@ SymEditSettings::SymEditSettings()
IntValues.emplace("LineWidth", 1);
IntValues.emplace("TextSize", 1);
IntValues.emplace("SnapGrid", 5);
+ IntValues.emplace("ColorIndex", 1);
IntValues.emplace("Tool", 1);
TextValues.emplace("TextValue", "");
@@ -36,11 +37,12 @@ void SymEditSettings::Load()
TextValues.at("Directory") = settings.value("application/directory").toString();
- IntValues.at("FillItem") = settings.value("editor/fill", 0).toInt();
- IntValues.at("Alignment") = settings.value("editor/align", 9).toInt();
+ IntValues.at("SnapGrid") = settings.value("editor/snap", 5).toInt();
IntValues.at("LineWidth") = settings.value("editor/width", 1).toInt();
IntValues.at("TextSize") = settings.value("editor/size", 1).toInt();
- IntValues.at("SnapGrid") = settings.value("editor/snap", 5).toInt();
+// IntValues.at("ColorIndex") = settings.value("editor/color", 1).toInt();
+// IntValues.at("FillItem") = settings.value("editor/fill", 0).toInt();
+ IntValues.at("Alignment") = settings.value("editor/align", 9).toInt();
IntValues.at("Tool") = settings.value("editor/tool", 1).toInt();
TextValues.at("TextValue") = settings.value("editor/text").toString();
}
@@ -57,11 +59,12 @@ void SymEditSettings::Save() const
settings.setValue("application/directory", TextValues.at("Directory"));
- settings.setValue("editor/fill", IntValues.at("FillItem"));
- settings.setValue("editor/align", IntValues.at("Alignment"));
+ settings.setValue("editor/snap", IntValues.at("SnapGrid"));
settings.setValue("editor/width", IntValues.at("LineWidth"));
settings.setValue("editor/size", IntValues.at("TextSize"));
- settings.setValue("editor/snap", IntValues.at("SnapGrid"));
+ settings.setValue("editor/color", IntValues.at("ColorIndex"));
+ settings.setValue("editor/fill", IntValues.at("FillItem"));
+ settings.setValue("editor/align", IntValues.at("Alignment"));
settings.setValue("editor/tool", IntValues.at("Tool"));
settings.setValue("editor/text", TextValues.at("TextValue"));
}
@@ -181,50 +184,45 @@ QString SymEditManager::getSymbol() const
return Symbol.Save(buffer);
}
+//@{
//! Add symbol item.
/*!
\param operation Item operation.
\param point Item position.
\param value Item value.
+ \param color Item color index.
\param fill Item area fill.
\return True for success.
*/
-bool SymEditManager::addValueItem(int operation, QPoint point, int value, int fill)
+bool SymEditManager::addValueItem(int operation, QPoint point, int value, int color, int fill)
{
undosave();
- Symbol.AddItem(static_cast<Operation::Type>(operation), point, value, fill);
+ Symbol.AddItem(static_cast<Operation::Type>(operation), point, value, color, fill);
return true;
}
-
-//! Add symbol item.
-/*!
- \param operation Item operation.
- \param point Item position.
- \param value Item value.
- \param fill Item area fill.
- \return True for success.
-*/
-bool SymEditManager::addPointItem(int operation, QPoint point, QPoint value, int fill)
+bool SymEditManager::addPointItem(int operation, QPoint point, QPoint value, int color, int fill)
{
undosave();
- Symbol.AddItem(static_cast<Operation::Type>(operation), point, value, fill);
+ Symbol.AddItem(static_cast<Operation::Type>(operation), point, value, color, fill);
return true;
}
+//@}
//! Add symbol item.
/*!
\param operation Item operation.
\param point Item position.
\param value Item text value.
+ \param color Item color index.
\param align Item text alignment.
\return True for success.
*/
-bool SymEditManager::addTextItem(int operation, QPoint point, QString value, int align)
+bool SymEditManager::addTextItem(int operation, QPoint point, QString value, int color, int align)
{
if ( !value.isEmpty() )
{
undosave();
- Symbol.AddItem(static_cast<Operation::Type>(operation), point, value, align);
+ Symbol.AddItem(static_cast<Operation::Type>(operation), point, value, color, align);
return true;
}
return false;
@@ -335,6 +333,17 @@ QString SymEditManager::getItemText(int index) const
}
//
+int SymEditManager::getItemColor(int index) const
+{
+ if ( Symbol.GetItemCount() )
+ {
+ const auto& item = Symbol.GetItem(index);
+ return item.Color;
+ }
+ return 1;
+}
+
+//
int SymEditManager::getItemFill(int index) const
{
if ( Symbol.GetItemCount() )