summaryrefslogtreecommitdiffstats
path: root/kgantt/kgantt/KGanttRelation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kgantt/kgantt/KGanttRelation.cpp')
-rw-r--r--kgantt/kgantt/KGanttRelation.cpp168
1 files changed, 168 insertions, 0 deletions
diff --git a/kgantt/kgantt/KGanttRelation.cpp b/kgantt/kgantt/KGanttRelation.cpp
new file mode 100644
index 000000000..b9123acc2
--- /dev/null
+++ b/kgantt/kgantt/KGanttRelation.cpp
@@ -0,0 +1,168 @@
+//
+// file : KGanttRelation.cpp
+// date : 17 feb 2001
+// changed :
+// author : jh
+//
+
+
+#include "KGanttRelation.h"
+#include "KGanttItem.h"
+
+
+QPen KGanttRelation::_selectPen(QColor(255,0,0));
+
+
+KGanttRelation::KGanttRelation(KGanttItem* from, KGanttItem* to,
+ const QString& text )
+ : QObject()
+////////////////////////////////////////////////////////
+{
+ _from = from;
+ _to = to;
+ _text = text;
+ _pen = QPen(QColor(20,20,20),1);
+
+ connect(from, SIGNAL(destroyed(KGanttItem*)),
+ this, SLOT(itemDestroyed(KGanttItem*)));
+
+ connect(to, SIGNAL(destroyed(KGanttItem*)),
+ this, SLOT(itemDestroyed(KGanttItem*)));
+
+}
+
+
+
+
+KGanttRelation::~KGanttRelation()
+/////////////////
+{
+#ifdef _DEBUG_
+ printf("-> delete Relation %s \n", getText().latin1() );
+#endif
+
+ emit destroyed(this);
+
+#ifdef _DEBUG_
+ printf("<- delete Relation %s \n", getText().latin1() );
+#endif
+}
+
+
+
+KGanttItem*
+KGanttRelation::getFrom()
+{
+ return _from;
+}
+
+
+
+
+KGanttItem*
+KGanttRelation::getTo()
+/////////////////
+{
+ return _to;
+}
+
+
+
+void
+KGanttRelation::itemDestroyed(KGanttItem* /*item*/)
+{
+ delete this;
+}
+
+
+
+void
+KGanttRelation::setText(const QString& text)
+///////////////////////////////////////
+{
+ if(!_editable) return;
+ if(text != _text) {
+ _text = text;
+ emit changed(this,TextChanged);
+ }
+}
+
+
+
+void
+KGanttRelation::select(bool f)
+///////////////////////
+{
+ if(!_editable) return;
+ if(f != _selected) {
+ _selected = f;
+ if(_selected)
+ emit changed(this, Selected);
+ else
+ emit changed(this, Unselected);
+ }
+}
+
+
+
+
+void
+KGanttRelation::setPen(const QPen& pen)
+{
+ _pen = pen;
+}
+
+
+
+
+void
+KGanttRelation::dump(QTextOStream& cout, const QString& pre)
+{
+ cout << pre << "<Relation. text = [" << _text << "]>\n";
+
+ cout << pre << "| from : " << getFrom()->getText().latin1() << endl;
+ cout << pre << "| to : " << getTo()->getText().latin1() << endl;
+
+ if(_editable)
+ cout << pre << "| - editable " << endl;
+ else
+ cout << pre << "| - not editable " << endl;
+
+ if(_selected)
+ cout << pre << "| - selected " << endl;
+ else
+ cout << pre << "| - not selected " << endl;
+
+ cout << pre << "</Relation>\n";
+
+}
+
+
+QString
+KGanttRelation::ChangeAsString(Change c)
+//////////////////////////////////
+{
+ QString ret;
+
+ /*
+ if(c & StartChanged) ret += "StartChanged, ";
+ if(c & EndChanged) ret += "EndChanged, ";
+ if(c & HeightChanged) ret += "HeightChanged, ";
+ if(c & TotalHeightChanged) ret += "TotalHeightChanged, ";
+ if(c & StyleChanged) ret += "StyleChanged, ";
+ */
+ if(c & TextChanged) ret += "TextChanged, ";
+ /*
+ if(c & ModeChanged) ret += "ModeChanged, ";
+ if(c & MinChanged) ret += "MinChanged, ";
+ if(c & MaxChanged) ret += "MaxChanged, ";
+ if(c & Opened) ret += "Opened, ";
+ if(c & Closed) ret += "Closed, ";
+ if(c & Selected) ret += "Selected, ";
+ if(c & Unselected) ret += "Unselected, ";
+ if(c & Unknown) ret += "Unknown, ";
+ */
+ return ret;
+
+}
+#include "KGanttRelation.moc"