aboutsummaryrefslogtreecommitdiff
path: root/symedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'symedit.cpp')
-rw-r--r--symedit.cpp45
1 files changed, 36 insertions, 9 deletions
diff --git a/symedit.cpp b/symedit.cpp
index 8030ddf..6e0b6f5 100644
--- a/symedit.cpp
+++ b/symedit.cpp
@@ -18,12 +18,14 @@ SymEditSettings::SymEditSettings()
{
IntValues.emplace("SnapGrid", 5);
IntValues.emplace("LineWidth", 1);
- IntValues.emplace("TextSize", 1);
IntValues.emplace("ColorIndex", 1);
IntValues.emplace("FillItem", 0);
IntValues.emplace("Alignment", 9);
IntValues.emplace("Tool", 1);
+ RealValues.emplace("SymbolSize", 5.0);
+ RealValues.emplace("TextSize", 0.0);
+
TextValues.emplace("Language", "");
TextValues.emplace("TextValue", "");
TextValues.emplace("Directory", "");
@@ -43,14 +45,16 @@ void SymEditSettings::Load()
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();
+ RealValues.at("SymbolSize") = settings.value("editor/symbol", 5.0).toDouble();
TextValues.at("Language") = settings.value("editor/lang").toString();
// IntValues.at("ColorIndex") = settings.value("editor/color", 1).toInt();
// IntValues.at("FillItem") = settings.value("editor/fill", 0).toInt();
+// RealValues.at("TextSize") = settings.value("editor/size", 0.0).toDouble();
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();
+ IntValues.at("Tool") = settings.value("editor/tool", 1).toInt();
}
//! Save settings.
@@ -67,14 +71,16 @@ void SymEditSettings::Save() const
settings.setValue("editor/snap", IntValues.at("SnapGrid"));
settings.setValue("editor/width", IntValues.at("LineWidth"));
- settings.setValue("editor/size", IntValues.at("TextSize"));
+ settings.setValue("editor/symbol", RealValues.at("SymbolSize"));
settings.setValue("editor/lang", TextValues.at("Language"));
settings.setValue("editor/color", IntValues.at("ColorIndex"));
settings.setValue("editor/fill", IntValues.at("FillItem"));
+ settings.setValue("editor/size", RealValues.at("TextSize"));
settings.setValue("editor/align", IntValues.at("Alignment"));
- settings.setValue("editor/tool", IntValues.at("Tool"));
+
settings.setValue("editor/text", TextValues.at("TextValue"));
+ settings.setValue("editor/tool", IntValues.at("Tool"));
}
//
@@ -155,6 +161,11 @@ void SymEditManager::setIntSetting(QString name, int value)
if ( Settings.IntValues.find(name) != Settings.IntValues.end() )
Settings.IntValues.at(name) = value;
}
+void SymEditManager::setRealSetting(QString name, double value)
+{
+ if ( Settings.RealValues.find(name) != Settings.RealValues.end() )
+ Settings.RealValues.at(name) = value;
+}
void SymEditManager::setTextSetting(QString name, QString value)
{
if ( Settings.TextValues.find(name) != Settings.TextValues.end() )
@@ -174,6 +185,12 @@ int SymEditManager::getIntSetting(QString name) const
return Settings.IntValues.at(name);
return 0;
}
+double SymEditManager::getRealSetting(QString name) const
+{
+ if ( Settings.RealValues.find(name) != Settings.RealValues.end() )
+ return Settings.RealValues.at(name);
+ return 0;
+}
QString SymEditManager::getTextSetting(QString name) const
{
if ( Settings.TextValues.find(name) != Settings.TextValues.end() )
@@ -231,17 +248,18 @@ bool SymEditManager::addLineItem(int operation, QPoint point, QPoint end, int va
\param operation Item operation.
\param point Text position.
\param point End position.
- \param value Text value.
+ \param text Text string.
+ \param size Text size.
\param color Color index.
\param align Text alignment.
\return True for success.
*/
-bool SymEditManager::addTextItem(int operation, QPoint point, QPoint end, QString value, int color, int align)
+bool SymEditManager::addTextItem(int operation, QPoint point, QPoint end, QString text, double size, int color, int align)
{
- if ( !value.isEmpty() )
+ if ( !text.isEmpty() )
{
undosave();
- Symbol.AddItem(static_cast<Operation::Type>(operation), point, end, value, color, align);
+ Symbol.AddItem(static_cast<Operation::Type>(operation), point, end, text, size, color, align);
return true;
}
return false;
@@ -366,6 +384,15 @@ int SymEditManager::getItemAlign(int index) const
}
return 0;
}
+double SymEditManager::getItemSize(int index) const
+{
+ if ( Symbol.GetItemCount() )
+ {
+ const auto& item = Symbol.GetItem(index);
+ return item.Size;
+ }
+ return 0.0;
+}
//@}
//! Select item nearest to point.