aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyrja <mikko@3d-system.fi>2019-07-25 15:39:57 +0300
committersyrja <mikko@3d-system.fi>2019-07-25 15:39:57 +0300
commitc4f3f55469858998105c5d35e4c905bc4dd59eff (patch)
tree2dbdd4fcd5537a50060bd3950e6d3b85dc39238b
parent7202148aeeaac7e5ed0dce3bfc501b5200314757 (diff)
downloadsymedit-c4f3f55469858998105c5d35e4c905bc4dd59eff.tar.gz
symedit-c4f3f55469858998105c5d35e4c905bc4dd59eff.zip
Added text and symbol size handling.
-rw-r--r--Editor.qml35
-rw-r--r--help/eng/tools.rst11
-rw-r--r--help/fin/tools.rst12
-rw-r--r--locale/symedit.en_GB.qmbin8084 -> 8157 bytes
-rw-r--r--locale/symedit.en_GB.ts8
-rw-r--r--locale/symedit.fi_FI.qmbin8810 -> 8887 bytes
-rw-r--r--locale/symedit.fi_FI.ts8
-rw-r--r--locale/symedit.ts6
-rwxr-xr-xlrelease.sh2
-rw-r--r--main.qml33
-rw-r--r--symbol.cpp49
-rw-r--r--symbol.h7
-rw-r--r--symedit.cpp45
-rw-r--r--symedit.h6
14 files changed, 162 insertions, 60 deletions
diff --git a/Editor.qml b/Editor.qml
index 1642742..c040f0a 100644
--- a/Editor.qml
+++ b/Editor.qml
@@ -59,14 +59,15 @@ Rectangle
{
mousex = Math.round((mouse.x - canvas.x) / scalexy / snapgrid) * snapgrid - max - offsetx
mousey = max - Math.round((mouse.y - canvas.y) / scalexy / snapgrid) * snapgrid + offsety
- if ( mousex < -max)
- mousex = -max
- else if ( mousex > max )
- mousex = max
- if ( mousey < -max )
- mousey = -max
- else if ( mousey > max )
- mousey = max
+
+ if ( mousex < -units )
+ mousex = -units
+ else if ( mousex > units )
+ mousex = units
+ if ( mousey < -units )
+ mousey = -units
+ else if ( mousey > units )
+ mousey = units
if ( down )
canvas.requestPaint()
@@ -97,7 +98,7 @@ Rectangle
{
if ( tool === Editor.Tool.TextHorizontal )
{
- if ( manager.addTextItem(Operation.Text, Qt.point(endx, endy), Qt.point(endx, endy), textvalue, colorindex, alignment) )
+ if ( manager.addTextItem(Operation.Text, Qt.point(endx, endy), Qt.point(endx, endy), textvalue, textsize, colorindex, alignment) )
{
symbol = manager.getSymbol(true)
canvas.requestPaint()
@@ -161,7 +162,7 @@ Rectangle
}
else if ( tool === Editor.Tool.TextRotated )
{
- if ( manager.addTextItem(Operation.Text, Qt.point(startx, starty), Qt.point(endx, endy), textvalue, colorindex, alignment) )
+ if ( manager.addTextItem(Operation.Text, Qt.point(startx, starty), Qt.point(endx, endy), textvalue, textsize, colorindex, alignment) )
symbol = manager.getSymbol(true)
}
}
@@ -262,11 +263,12 @@ Rectangle
}
}
- function painttext(context, string, point, end, active)
+ function painttext(context, string, point, end, size, active)
{
var currentwidth = context.lineWidth
- context.lineWidth = textsize * (preview ? zoommin : zoomscale) / 2
- var fontsize = 30 * textsize * (preview ? zoommin : zoomscale)
+ size = Math.abs(size ? size : 2.5) * (preview ? zoommin : zoomscale) / symbolsize
+ context.lineWidth = size * 10
+ var fontsize = 300 * size
context.font = fontsize.toString() + "px sans-serif"
var position = Qt.point((point.x + max + offsetx) * scalexy, (max - point.y + offsety) * scalexy)
context.translate(position.x, position.y)
@@ -361,9 +363,10 @@ Rectangle
}
else if ( operation === Operation.Text )
{
+ var size = manager.getItemSize(index);
point = manager.getItemPoint(index)
setalignment(context, manager.getItemAlign(index))
- painttext(context, manager.getItemText(index), position, point, index === active)
+ painttext(context, manager.getItemText(index), position, point, size, index === active)
}
}
}
@@ -453,9 +456,9 @@ Rectangle
{
setalignment(context, alignment)
if ( tool === Editor.Tool.TextHorizontal )
- painttext(context, textvalue, Qt.point(mousex, mousey), Qt.point(mousex, mousey), true)
+ painttext(context, textvalue, Qt.point(mousex, mousey), Qt.point(mousex, mousey), textsize, true)
else if ( tool === Editor.Tool.TextRotated )
- painttext(context, textvalue, Qt.point(startx, starty), Qt.point(mousex, mousey), true)
+ painttext(context, textvalue, Qt.point(startx, starty), Qt.point(mousex, mousey), textsize, true)
}
}
diff --git a/help/eng/tools.rst b/help/eng/tools.rst
index 64ec2c3..bd3d00e 100644
--- a/help/eng/tools.rst
+++ b/help/eng/tools.rst
@@ -108,10 +108,10 @@ Line width
Line width in editing.
-Text size
-^^^^^^^^^
+Symbol size
+^^^^^^^^^^^
-Text size in editing.
+Symbol size in editing.
Language
^^^^^^^^
@@ -137,6 +137,11 @@ Text Alignment
Text alignment value 1-12.
+Text size
+^^^^^^^^^
+
+Text size.
+
Text
^^^^
diff --git a/help/fin/tools.rst b/help/fin/tools.rst
index 25d3218..22e530b 100644
--- a/help/fin/tools.rst
+++ b/help/fin/tools.rst
@@ -108,10 +108,10 @@ Viivan leveys
Viivan leveys editoinnissa.
-Tekstin koko
-^^^^^^^^^^^^
+Symbolin koko
+^^^^^^^^^^^^^
-Tekstin koko editoinnissa.
+Symbolin koko editoinnissa.
Kieli
^^^^^
@@ -137,8 +137,12 @@ Tekstin asemointi
Tekstin asemointi 1-12.
+Tekstin koko
+^^^^^^^^^^^^
+
+Tekstin koko.
+
Teksti
^^^^^^
Symbolin teksti.
-
diff --git a/locale/symedit.en_GB.qm b/locale/symedit.en_GB.qm
index 0f5d2f6..b6d26dc 100644
--- a/locale/symedit.en_GB.qm
+++ b/locale/symedit.en_GB.qm
Binary files differ
diff --git a/locale/symedit.en_GB.ts b/locale/symedit.en_GB.ts
index 412444d..0a461bf 100644
--- a/locale/symedit.en_GB.ts
+++ b/locale/symedit.en_GB.ts
@@ -273,9 +273,9 @@
<source></source>
<translation>Line Width</translation>
</message>
- <message id="id_toolbar_text_size">
+ <message id="id_toolbar_symbol_size">
<source></source>
- <translation>Text Size</translation>
+ <translation>Symbol Size</translation>
</message>
<message id="id_toolbar_language">
<source></source>
@@ -381,6 +381,10 @@
<source></source>
<translation>12 Middle left</translation>
</message>
+ <message id="id_toolbar_text_size">
+ <source></source>
+ <translation>Text Size</translation>
+ </message>
<message id="id_toolbar_text_field">
<source></source>
<translation>Text</translation>
diff --git a/locale/symedit.fi_FI.qm b/locale/symedit.fi_FI.qm
index 571b972..af413ca 100644
--- a/locale/symedit.fi_FI.qm
+++ b/locale/symedit.fi_FI.qm
Binary files differ
diff --git a/locale/symedit.fi_FI.ts b/locale/symedit.fi_FI.ts
index b6823e2..29152f4 100644
--- a/locale/symedit.fi_FI.ts
+++ b/locale/symedit.fi_FI.ts
@@ -273,9 +273,9 @@
<source></source>
<translation>Viivan leveys</translation>
</message>
- <message id="id_toolbar_text_size">
+ <message id="id_toolbar_symbol_size">
<source></source>
- <translation>Tekstin koko</translation>
+ <translation>Symbolin koko</translation>
</message>
<message id="id_toolbar_language">
<source></source>
@@ -381,6 +381,10 @@
<source></source>
<translation>12 Puolivälissä vasemmalla</translation>
</message>
+ <message id="id_toolbar_text_size">
+ <source></source>
+ <translation>Tekstin koko</translation>
+ </message>
<message id="id_toolbar_text_field">
<source></source>
<translation>Teksti</translation>
diff --git a/locale/symedit.ts b/locale/symedit.ts
index 0ec4982..de92f40 100644
--- a/locale/symedit.ts
+++ b/locale/symedit.ts
@@ -233,7 +233,7 @@
<source></source>
<translation type="unfinished"></translation>
</message>
- <message id="id_toolbar_text_size">
+ <message id="id_toolbar_symbol_size">
<source></source>
<translation type="unfinished"></translation>
</message>
@@ -341,6 +341,10 @@
<source></source>
<translation type="unfinished"></translation>
</message>
+ <message id="id_toolbar_text_size">
+ <source></source>
+ <translation type="unfinished"></translation>
+ </message>
<message id="id_toolbar_text_field">
<source></source>
<translation type="unfinished"></translation>
diff --git a/lrelease.sh b/lrelease.sh
index 339cbf8..159233b 100755
--- a/lrelease.sh
+++ b/lrelease.sh
@@ -1,3 +1,5 @@
+# C:\Users\Mikko\Code\Qt\5.12.4\msvc2017_64\bin\lrelease.exe -idbased locale\symedit.fi_FI.ts
+
/home/mikko/Code/Qt5.12.2/5.12.2/gcc_64/bin/lrelease -idbased locale/symedit.*.ts
if [ $? -ne 0 ]; then
diff --git a/main.qml b/main.qml
index e41bd05..fa90122 100644
--- a/main.qml
+++ b/main.qml
@@ -18,12 +18,13 @@ ApplicationWindow
property int snapgrid: 1
property real linewidth: 1
- property int textsize: 1
+ property real symbolsize: 5.0
property string language: "eng"
property int colorindex: 1
property int fillitem: 0
property int alignment: 1
+ property real textsize: 2.5
property string textvalue: textfield.text
property int tool: 0
@@ -214,14 +215,14 @@ ApplicationWindow
function setWidth() { currentIndex = linewidth - 1 }
}
BarSeparator { }
- Text { text: qsTrId("id_toolbar_text_size") }
+ Text { text: qsTrId("id_toolbar_symbol_size") }
ComboBox
{
- id: sizelist
+ id: symbollist
implicitWidth: 60
- model: [ 1, 2, 3, 4, 5 ]
- onCurrentIndexChanged: { textsize = currentIndex + 1; editor.update() }
- function setSize() { currentIndex = textsize - 1 }
+ model: [ "1.0", "2.0", "3.0", "4.0", "5.0", "6.0", "7.0", "8.0", "9.0", "10.0" ]
+ onCurrentIndexChanged: { symbolsize = currentIndex + 1; editor.update() }
+ function setSize() { currentIndex = symbolsize - 1 }
}
BarSeparator { }
Text { text: qsTrId("id_toolbar_language") }
@@ -292,6 +293,17 @@ ApplicationWindow
function setAlign() { currentIndex = alignment - 1 }
}
BarSeparator { }
+ Text { text: qsTrId("id_toolbar_text_size") }
+ ComboBox
+ {
+ id: sizelist
+ implicitWidth: 60
+ model: [ "-5.0", "-4.5", "-4.0", "-3.5", "-3.0", "-2.5", "-2.0", "-1.5", "-1.0", "-0.5",
+ "0.0", "0.5", "1.0", "1.5", "2.0", "2.5", "3.0", "3.5", "4.0", "4.5", "5.0" ]
+ onCurrentIndexChanged: { textsize = currentIndex / 2 - 5; editor.update() }
+ function setSize() { currentIndex = textsize * 2 + 10 }
+ }
+ BarSeparator { }
Text { text: qsTrId("id_toolbar_text_field") }
TextField
{
@@ -349,12 +361,13 @@ ApplicationWindow
onSnapgridChanged: { manager.setIntSetting("SnapGrid", snapgrid); editor.update() }
onLinewidthChanged: { manager.setIntSetting("LineWidth", linewidth) }
- onTextsizeChanged: { manager.setIntSetting("TextSize", textsize) }
+ onSymbolsizeChanged: { manager.setRealSetting("SymbolSize", symbolsize) }
onLanguageChanged: { manager.setTextSetting("Language", language) }
onColorindexChanged: { manager.setIntSetting("ColorIndex", colorindex) }
onFillitemChanged: { manager.setIntSetting("FillItem", fillitem) }
onAlignmentChanged: { manager.setIntSetting("Alignment", alignment) }
+ onTextsizeChanged: { manager.setRealSetting("TextSize", textsize) }
onTextvalueChanged: { manager.setTextSetting("TextValue", textvalue) }
onToolChanged: { manager.setIntSetting("Tool", tool) }
@@ -368,24 +381,26 @@ ApplicationWindow
snapgrid = manager.getIntSetting("SnapGrid")
linewidth = manager.getIntSetting("LineWidth")
- textsize = manager.getIntSetting("TextSize")
+ symbolsize = manager.getRealSetting("SymbolSize")
language = manager.getTextSetting("Language")
colorindex = manager.getIntSetting("ColorIndex")
fillitem = manager.getIntSetting("FillItem")
alignment = manager.getIntSetting("Alignment")
+ textsize = manager.getRealSetting("TextSize")
textfield.text = manager.getTextSetting("TextValue")
tool = manager.getIntSetting("Tool")
snaplist.setSnap()
widthlist.setWidth()
- sizelist.setSize()
+ symbollist.setSize()
langlist.setLang()
colorlist.setColor()
filllist.setFill()
alignlist.setAlign()
+ sizelist.setSize()
symbol = manager.getSymbol(true)
diff --git a/symbol.cpp b/symbol.cpp
index 8e7c5b8..5f179de 100644
--- a/symbol.cpp
+++ b/symbol.cpp
@@ -23,7 +23,6 @@ SymEditSymbol::Item::Item() : Operation(Operation::None), Fill(0), Align(9)
}
-//@{
//! Constructor.
/*!
\param operation Item operation.
@@ -34,16 +33,26 @@ SymEditSymbol::Item::Item() : Operation(Operation::None), Fill(0), Align(9)
\param fill Item area fill.
*/
SymEditSymbol::Item::Item(Operation::Type operation, QPoint point, QPoint end, int value, int color, int fill)
- : Operation(operation), Point(point), End(end), Value(value), Color(color), Fill(fill), Align(0)
+ : Operation(operation), Point(point), End(end), Size(0.0), Value(value), Color(color), Fill(fill), Align(0)
{
}
-SymEditSymbol::Item::Item(Operation::Type operation, QPoint point, QPoint end, QString value, int color, int align)
- : Operation(operation), Point(point), End(end), Value(0), Text(value), Color(color), Fill(0), Align(align)
+
+//! Constructor.
+/*!
+ \param operation Item operation.
+ \param point Item position.
+ \param end End position.
+ \param text Text string.
+ \param size Text size.
+ \param color Item color index.
+ \param align Text alignment.
+*/
+SymEditSymbol::Item::Item(Operation::Type operation, QPoint point, QPoint end, QString text, double size, int color, int align)
+ : Operation(operation), Point(point), End(end), Text(text), Size(size), Value(0), Color(color), Fill(0), Align(align)
{
}
-//@}
//
// symbol functions
@@ -62,6 +71,7 @@ void SymEditSymbol::Load(const QString& buffer)
{
Items.clear();
QPoint position(0, 0);
+ double size = 0.0;
int color = 1, fill = 0, align = 9, angle = 0;
for ( const auto& string : buffer.split(';', QString::SkipEmptyParts) )
{
@@ -88,6 +98,8 @@ void SymEditSymbol::Load(const QString& buffer)
fill = value;
else if ( type == 'J' )
align = value;
+ else if ( type == 'S' )
+ size = string.mid(1).toDouble();
else if ( type == 'G' )
angle = value;
else if ( type == 'R' )
@@ -100,7 +112,7 @@ void SymEditSymbol::Load(const QString& buffer)
double radian = angle / 200.0 * ConstPi;
end = QPoint(static_cast<int>(cos(radian) * 100.0), static_cast<int>(sin(radian) * 100.0));
}
- Items.push_back(Item(Operation::Text, position, end, type == '!' ? string.mid(1) : string, color, align));
+ Items.push_back(Item(Operation::Text, position, end, type == '!' ? string.mid(1) : string, size, color, align));
}
}
}
@@ -132,6 +144,7 @@ QString& SymEditSymbol::Save(QString& buffer, bool rich) const
buffer.clear();
QPoint position(0, 0);
+ double size = 0.0;
int index = 0, color = 1, fill = 0, align = 9, angle = 0;
for ( const auto& item : Items )
{
@@ -175,6 +188,13 @@ QString& SymEditSymbol::Save(QString& buffer, bool rich) const
color = appendoption('C', buffer, item.Color);
if ( item.Align != align )
align = appendoption('J', buffer, item.Align);
+ if ( item.Size != size )
+ {
+// size = appendoption('S', buffer, item.Size);
+ QString value;
+ size = item.Size;
+ buffer.append('S').append(value.setNum(size)).append(';');
+ }
if ( item.Point != position )
appendpoint(buffer.append('U'), item.Point, 2);
if ( item.Text.front() != '$' && item.Text.front() != '#' )
@@ -212,7 +232,6 @@ void SymEditSymbol::Clear()
Items.clear();
}
-//@{
//! Add symbol item.
/*!
\param operation Item operation.
@@ -230,14 +249,24 @@ SymEditSymbol::Item& SymEditSymbol::AddItem(Operation::Type operation, QPoint po
Items.push_back(item);
return Items.back();
}
-SymEditSymbol::Item& SymEditSymbol::AddItem(Operation::Type operation, QPoint point, QPoint end, QString value, int color, int align)
+
+//! Add symbol item.
+/*!
+ \param operation Item operation.
+ \param point Start position.
+ \param end End position.
+ \param value Item value.
+ \param color Item color index.
+ \param fill Item area fill.
+ \return Reference to item.
+*/
+SymEditSymbol::Item& SymEditSymbol::AddItem(Operation::Type operation, QPoint point, QPoint end, QString text, double size, int color, int align)
{
- Item item(operation, point, end, value, color, align);
+ Item item(operation, point, end, text, size, color, align);
ActiveIndex = static_cast<int>(Items.size());
Items.push_back(item);
return Items.back();
}
-//@}
//! Remove item.
/*!
diff --git a/symbol.h b/symbol.h
index 992ab88..56fa0f8 100644
--- a/symbol.h
+++ b/symbol.h
@@ -33,13 +33,14 @@ public:
public:
Item();
Item(Operation::Type operation, QPoint point, QPoint end, int value, int color, int fill);
- Item(Operation::Type operation, QPoint point, QPoint end, QString value, int color, int align);
+ Item(Operation::Type operation, QPoint point, QPoint end, QString text, double size, int color, int align);
Operation::Type Operation; //!< Item operation.
QPoint Point; //!< Item coordinates.
QPoint End; //!< End coordinates.
- int Value; //!< Item value.
QString Text; //!< Text string.
+ double Size; //!< Text size.
+ int Value; //!< Item value.
int Color; //!< Color index.
int Fill; //!< Fill area.
int Align; //!< Text alignment.
@@ -50,7 +51,7 @@ public:
void Clear();
Item& AddItem(Operation::Type operation, QPoint point, QPoint end, int value, int color, int fill);
- Item& AddItem(Operation::Type operation, QPoint point, QPoint end, QString value, int color, int align);
+ Item& AddItem(Operation::Type operation, QPoint point, QPoint end, QString text, double size, int color, int align);
bool RemoveItem(int index);
int SelectItem(QPoint point) const;
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.
diff --git a/symedit.h b/symedit.h
index 873ddae..c850d51 100644
--- a/symedit.h
+++ b/symedit.h
@@ -28,6 +28,7 @@ private:
QSize Size; //!< Window size.
std::map<QString, int> IntValues; //!< Integer setting values.
+ std::map<QString, double> RealValues; //!< Real setting values.
std::map<QString, QString> TextValues; //!< String setting values.
};
@@ -51,6 +52,8 @@ public:
Q_INVOKABLE void setIntSetting(QString name, int value);
Q_INVOKABLE int getIntSetting(QString name) const;
+ Q_INVOKABLE void setRealSetting(QString name, double value);
+ Q_INVOKABLE double getRealSetting(QString name) const;
Q_INVOKABLE void setTextSetting(QString name, QString value);
Q_INVOKABLE QString getTextSetting(QString name) const;
@@ -58,7 +61,7 @@ public:
Q_INVOKABLE bool addPointItem(int operation, QPoint point, int value, int color, int fill);
Q_INVOKABLE bool addLineItem(int operation, QPoint point, QPoint end, int value, int color, int fill);
- Q_INVOKABLE bool addTextItem(int operation, QPoint point, QPoint end, QString value, int color, int align);
+ Q_INVOKABLE bool addTextItem(int operation, QPoint point, QPoint end, QString text, double size, int color, int align);
Q_INVOKABLE bool removeItem();
Q_INVOKABLE int getItemCount() const;
@@ -70,6 +73,7 @@ public:
Q_INVOKABLE int getItemColor(int index) const;
Q_INVOKABLE int getItemFill(int index) const;
Q_INVOKABLE int getItemAlign(int index) const;
+ Q_INVOKABLE double getItemSize(int index) const;
Q_INVOKABLE int selectItem(QPoint point) const;
Q_INVOKABLE bool setActiveIndex(int index);