[Uml-devel] KDE/kdesdk/umbrello/umbrello
Ralf Habacker
ralf.habacker at gmail.com
Thu Mar 15 19:17:10 UTC 2012
SVN commit 1285790 by habacker:
Only use full node label on dot export.
M +32 -9 dotgenerator.cpp
M +5 -1 dotgenerator.h
M +1 -0 layoutgenerator.h
--- trunk/KDE/kdesdk/umbrello/umbrello/dotgenerator.cpp #1285789:1285790
@@ -124,11 +124,22 @@
*/
DotGenerator::DotGenerator()
: m_scale(72),
- m_usePosition(false)
+ m_usePosition(false),
+ m_useFullNodeLabels(true)
{
}
/**
+ * return usage of position attribute
+ *
+ * @return true if position are used
+ */
+bool DotGenerator::usePosition()
+{
+ return m_usePosition;
+}
+
+/**
* set usage of position attribute in dot file
*
* @param state The new state
@@ -139,16 +150,28 @@
}
/**
- * return usage of position attribute
+ * return usage of full node labels
*
* @return true if position are used
*/
-bool DotGenerator::usePosition()
+bool DotGenerator::useFullNodeLabels()
{
- return m_usePosition;
+ return m_useFullNodeLabels;
}
/**
+ * Set usage of full node labels.
+ * When set to true labels are extracted from the
+ * text output generated by the widget's paint method.
+ *
+ * @param state The new state
+ */
+void DotGenerator::setUseFullNodeLabels(bool state)
+{
+ m_useFullNodeLabels = state;
+}
+
+/**
* Return a list of available templates for a given scene type
*
* @param scene The diagram
@@ -296,15 +319,15 @@
key = "type::" + type;
QString label;
- if (type == "class") {
- ClassifierWidget *c = static_cast<ClassifierWidget *>(widget);
+
+ if (!useFullNodeLabels())
+ label = widget->name();
+ else {
DotPaintDevice d;
QPainter p(&d);
- c->paint(p, 0, 0);
+ widget->paint(p, 0, 0);
label = d.data().join("\\n");
}
- else
- label = widget->name();
if (m_nodeParameters.contains(key))
params << m_nodeParameters[key].split(',');
--- trunk/KDE/kdesdk/umbrello/umbrello/dotgenerator.h #1285789:1285790
@@ -25,9 +25,12 @@
public:
DotGenerator();
+ bool usePosition();
void setUsePosition(bool state);
- bool usePosition();
+ bool useFullNodeLabels();
+ void setUseFullNodeLabels(bool state);
+
static bool availableConfigFiles(UMLScene *scene, QHash<QString,QString> &configFiles);
bool readConfigFile(QString diagramType, const QString &variant = "default");
@@ -46,6 +49,7 @@
QPointF m_origin;
QString m_generator; ///< name of graphviz generator
bool m_usePosition; ///< use position tag from dot (not used yet)
+ bool m_useFullNodeLabels; ///< use full node labels
friend QDebug operator<<(QDebug out, DotGenerator &c);
};
--- trunk/KDE/kdesdk/umbrello/umbrello/layoutgenerator.h #1285789:1285790
@@ -96,6 +96,7 @@
*/
LayoutGenerator()
{
+ setUseFullNodeLabels(false);
}
/**
More information about the umbrello-devel
mailing list