Changeset View
Changeset View
Standalone View
Standalone View
src/plugins/barcode/KReportDesignerItemBarcode.cpp
Show All 30 Lines | |||||
31 | #include <QPainter> | 31 | #include <QPainter> | ||
32 | #include "kreportplugin_debug.h" | 32 | #include "kreportplugin_debug.h" | ||
33 | 33 | | |||
34 | void KReportDesignerItemBarcode::init(QGraphicsScene *scene, KReportDesigner *d) | 34 | void KReportDesignerItemBarcode::init(QGraphicsScene *scene, KReportDesigner *d) | ||
35 | { | 35 | { | ||
36 | if (scene) | 36 | if (scene) | ||
37 | scene->addItem(this); | 37 | scene->addItem(this); | ||
38 | 38 | | |||
39 | connect(m_set, SIGNAL(propertyChanged(KPropertySet&,KProperty&)), | 39 | connect(propertySet(), SIGNAL(propertyChanged(KPropertySet&,KProperty&)), | ||
40 | this, SLOT(slotPropertyChanged(KPropertySet&,KProperty&))); | 40 | this, SLOT(slotPropertyChanged(KPropertySet&,KProperty&))); | ||
41 | 41 | | |||
42 | KReportDesignerItemRectBase::init(&m_pos, &m_size, m_set, d); | | |||
43 | setMaxLength(5); | 42 | setMaxLength(5); | ||
44 | setZValue(Z); | 43 | setZ(z()); | ||
45 | 44 | | |||
46 | updateRenderText(m_itemValue->value().toString().isEmpty() ? m_format->value().toString() : QString(), m_itemValue->value().toString(), QString()); | 45 | updateRenderText(m_itemValue->value().toString().isEmpty() ? m_format->value().toString() : QString(), m_itemValue->value().toString(), QString()); | ||
47 | 46 | | |||
48 | } | 47 | } | ||
49 | // methods (constructors) | 48 | // methods (constructors) | ||
50 | KReportDesignerItemBarcode::KReportDesignerItemBarcode(KReportDesigner * rw, QGraphicsScene* scene, const QPointF &pos) | 49 | KReportDesignerItemBarcode::KReportDesignerItemBarcode(KReportDesigner * rw, QGraphicsScene* scene, const QPointF &pos) | ||
51 | : KReportDesignerItemRectBase(rw) | 50 | : KReportDesignerItemRectBase(rw, this) | ||
52 | { | 51 | { | ||
53 | Q_UNUSED(pos); | 52 | Q_UNUSED(pos); | ||
54 | init(scene, rw); | 53 | init(scene, rw); | ||
55 | setSceneRect(properRect(*rw, m_minWidthTotal*m_dpiX, m_minHeight*m_dpiY)); | 54 | setSceneRect(properRect(*rw, m_minWidthTotal*m_dpiX, m_minHeight*m_dpiY)); | ||
56 | m_name->setValue(m_reportDesigner->suggestEntityName(typeName())); | 55 | nameProperty()->setValue(designer()->suggestEntityName(typeName())); | ||
57 | } | 56 | } | ||
58 | 57 | | |||
59 | KReportDesignerItemBarcode::KReportDesignerItemBarcode(const QDomNode & element, KReportDesigner * rw, QGraphicsScene* scene) | 58 | KReportDesignerItemBarcode::KReportDesignerItemBarcode(const QDomNode & element, KReportDesigner * rw, QGraphicsScene* scene) | ||
60 | : KReportItemBarcode(element), KReportDesignerItemRectBase(rw) | 59 | : KReportItemBarcode(element), KReportDesignerItemRectBase(rw, this) | ||
61 | { | 60 | { | ||
62 | init(scene, rw); | 61 | init(scene, rw); | ||
63 | setSceneRect(m_pos.toScene(), m_size.toScene()); | 62 | setSceneRect(KReportItemBase::scenePosition(item()->position()), KReportItemBase::sceneSize(item()->size())); | ||
64 | } | 63 | } | ||
65 | 64 | | |||
66 | KReportDesignerItemBarcode* KReportDesignerItemBarcode::clone() | 65 | KReportDesignerItemBarcode* KReportDesignerItemBarcode::clone() | ||
67 | { | 66 | { | ||
68 | QDomDocument d; | 67 | QDomDocument d; | ||
69 | QDomElement e = d.createElement(QLatin1String("clone")); | 68 | QDomElement e = d.createElement(QLatin1String("clone")); | ||
70 | QDomNode n; | 69 | QDomNode n; | ||
71 | buildXML(&d, &e); | 70 | buildXML(&d, &e); | ||
Show All 28 Lines | 90 | { | |||
100 | //Draw a border so user knows the object edge | 99 | //Draw a border so user knows the object edge | ||
101 | painter->setPen(QPen(QColor(224, 224, 224))); | 100 | painter->setPen(QPen(QColor(224, 224, 224))); | ||
102 | painter->drawRect(rect()); | 101 | painter->drawRect(rect()); | ||
103 | 102 | | |||
104 | drawHandles(painter); | 103 | drawHandles(painter); | ||
105 | 104 | | |||
106 | QByteArray fmt = m_format->value().toByteArray(); | 105 | QByteArray fmt = m_format->value().toByteArray(); | ||
107 | if (fmt == "i2of5") { | 106 | if (fmt == "i2of5") { | ||
108 | renderI2of5(rect().toRect(), m_renderText, alignment(), painter); | 107 | renderI2of5(rect().toRect(), renderText(), alignment(), painter); | ||
109 | } else if (fmt == "3of9") { | 108 | } else if (fmt == "3of9") { | ||
110 | render3of9(rect().toRect(), m_renderText, alignment(), painter); | 109 | render3of9(rect().toRect(), renderText(), alignment(), painter); | ||
111 | } else if (fmt == "3of9+") { | 110 | } else if (fmt == "3of9+") { | ||
112 | renderExtended3of9(rect().toRect(), m_renderText, alignment(), painter); | 111 | renderExtended3of9(rect().toRect(), renderText(), alignment(), painter); | ||
113 | } else if (fmt == "128") { | 112 | } else if (fmt == "128") { | ||
114 | renderCode128(rect().toRect(), m_renderText, alignment(), painter); | 113 | renderCode128(rect().toRect(), renderText(), alignment(), painter); | ||
115 | } else if (fmt == "upc-a") { | 114 | } else if (fmt == "upc-a") { | ||
116 | renderCodeUPCA(rect().toRect(), m_renderText, alignment(), painter); | 115 | renderCodeUPCA(rect().toRect(), renderText(), alignment(), painter); | ||
117 | } else if (fmt == "upc-e") { | 116 | } else if (fmt == "upc-e") { | ||
118 | renderCodeUPCE(rect().toRect(), m_renderText, alignment(), painter); | 117 | renderCodeUPCE(rect().toRect(), renderText(), alignment(), painter); | ||
119 | } else if (fmt == "ean13") { | 118 | } else if (fmt == "ean13") { | ||
120 | renderCodeEAN13(rect().toRect(), m_renderText, alignment(), painter); | 119 | renderCodeEAN13(rect().toRect(), renderText(), alignment(), painter); | ||
121 | } else if (fmt == "ean8") { | 120 | } else if (fmt == "ean8") { | ||
122 | renderCodeEAN8(rect().toRect(), m_renderText, alignment(), painter); | 121 | renderCodeEAN8(rect().toRect(), renderText(), alignment(), painter); | ||
123 | } | 122 | } | ||
124 | 123 | | |||
125 | painter->setPen(Qt::black); | 124 | painter->setPen(Qt::black); | ||
126 | painter->drawText(rect(), 0, dataSourceAndObjectTypeName(itemDataSource(), | 125 | painter->drawText(rect(), 0, dataSourceAndObjectTypeName(itemDataSource(), | ||
127 | QLatin1String("barcode"))); | 126 | QLatin1String("barcode"))); | ||
128 | 127 | | |||
129 | // restore an values before we started just in case | 128 | // restore an values before we started just in case | ||
130 | painter->setPen(p); | 129 | painter->setPen(p); | ||
131 | } | 130 | } | ||
132 | 131 | | |||
133 | void KReportDesignerItemBarcode::buildXML(QDomDocument *doc, QDomElement *parent) | 132 | void KReportDesignerItemBarcode::buildXML(QDomDocument *doc, QDomElement *parent) | ||
134 | { | 133 | { | ||
135 | //kreportpluginDebug(); | 134 | //kreportpluginDebug(); | ||
136 | QDomElement entity = doc->createElement(QLatin1String("report:") + typeName()); | 135 | QDomElement entity = doc->createElement(QLatin1String("report:") + typeName()); | ||
137 | 136 | | |||
138 | // properties | 137 | // properties | ||
139 | addPropertyAsAttribute(&entity, m_name); | 138 | addPropertyAsAttribute(&entity, nameProperty()); | ||
140 | addPropertyAsAttribute(&entity, m_controlSource); | 139 | addPropertyAsAttribute(&entity, m_controlSource); | ||
141 | addPropertyAsAttribute(&entity, m_horizontalAlignment); | 140 | addPropertyAsAttribute(&entity, m_horizontalAlignment); | ||
142 | addPropertyAsAttribute(&entity, m_format); | 141 | addPropertyAsAttribute(&entity, m_format); | ||
143 | addPropertyAsAttribute(&entity, m_maxLength); | 142 | addPropertyAsAttribute(&entity, m_maxLength); | ||
144 | entity.setAttribute(QLatin1String("report:z-index"), zValue()); | 143 | entity.setAttribute(QLatin1String("report:z-index"), zValue()); | ||
145 | addPropertyAsAttribute(&entity, m_itemValue); | 144 | addPropertyAsAttribute(&entity, m_itemValue); | ||
146 | 145 | | |||
147 | // bounding rect | 146 | // bounding rect | ||
148 | buildXMLRect(doc, &entity, &m_pos, &m_size); | 147 | buildXMLRect(doc, &entity, this); | ||
149 | 148 | | |||
150 | parent->appendChild(entity); | 149 | parent->appendChild(entity); | ||
151 | } | 150 | } | ||
152 | 151 | | |||
153 | void KReportDesignerItemBarcode::slotPropertyChanged(KPropertySet &s, KProperty &p) | 152 | void KReportDesignerItemBarcode::slotPropertyChanged(KPropertySet &s, KProperty &p) | ||
154 | { | 153 | { | ||
155 | if (p.name() == "name") { | 154 | if (p.name() == "name") { | ||
156 | //For some reason p.oldValue returns an empty string | 155 | //For some reason p.oldValue returns an empty string | ||
157 | if (!m_reportDesigner->isEntityNameUnique(p.value().toString(), this)) { | 156 | if (!designer()->isEntityNameUnique(p.value().toString(), this)) { | ||
158 | p.setValue(m_oldName); | 157 | p.setValue(oldName()); | ||
159 | } else { | 158 | } else { | ||
160 | m_oldName = p.value().toString(); | 159 | setOldName(p.value().toString()); | ||
161 | } | 160 | } | ||
162 | } | 161 | } | ||
163 | 162 | | |||
164 | updateRenderText(m_itemValue->value().toString().isEmpty() ? m_format->value().toString() : QString(), m_itemValue->value().toString(), QString()); | 163 | updateRenderText(m_itemValue->value().toString().isEmpty() ? m_format->value().toString() : QString(), m_itemValue->value().toString(), QString()); | ||
165 | 164 | | |||
166 | KReportDesignerItemRectBase::propertyChanged(s, p); | 165 | KReportDesignerItemRectBase::propertyChanged(s, p); | ||
167 | if (m_reportDesigner) m_reportDesigner->setModified(true); | 166 | if (designer()) designer()->setModified(true); | ||
168 | } | 167 | } | ||
169 | 168 | | |||
170 | void KReportDesignerItemBarcode::mousePressEvent(QGraphicsSceneMouseEvent * event) | 169 | void KReportDesignerItemBarcode::mousePressEvent(QGraphicsSceneMouseEvent * event) | ||
171 | { | 170 | { | ||
172 | m_controlSource->setListData(m_reportDesigner->fieldKeys(), m_reportDesigner->fieldNames()); | 171 | m_controlSource->setListData(designer()->fieldKeys(), designer()->fieldNames()); | ||
173 | KReportDesignerItemRectBase::mousePressEvent(event); | 172 | KReportDesignerItemRectBase::mousePressEvent(event); | ||
174 | } | 173 | } |