Skip to content

Commit 9f357ab

Browse files
author
mhugent
committed
Move annotation items and widgets from gui to app
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@13190 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 466e864 commit 9f357ab

18 files changed

+36
-41
lines changed

python/gui/qgsannotationitem.sip

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ class QgsAnnotationItem: QgsMapCanvasItem
2525
QgsAnnotationItem( QgsMapCanvas* mapCanvas );
2626
virtual ~QgsAnnotationItem();
2727

28-
/**Creates an editor widget (caller takes ownership)*/
29-
virtual QDialog* createEditor() = 0;
30-
3128
void updatePosition();
3229

3330
QRectF boundingRect() const;
@@ -71,4 +68,4 @@ class QgsAnnotationItem: QgsMapCanvasItem
7168

7269
void _writeXML( QDomDocument& doc, QDomElement& itemElem ) const;
7370
void _readXML( const QDomDocument& doc, const QDomElement& annotationElem );
74-
};
71+
};

python/gui/qgsformannotationitem.sip

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ class QgsFormAnnotationItem: QObject, QgsAnnotationItem
1313
//! paint function called by map canvas
1414
void paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 );
1515

16-
/**Create a configuration dialog*/
17-
QDialog* createEditor();
18-
1916
QSizeF minimumFrameSize() const;
2017
/**Returns the optimal frame size*/
2118
QSizeF preferredFrameSize() const;
@@ -28,4 +25,4 @@ class QgsFormAnnotationItem: QObject, QgsAnnotationItem
2825

2926
void writeXML( QDomDocument& doc ) const;
3027
void readXML( const QDomDocument& doc, const QDomElement& itemElem );
31-
};
28+
};

python/gui/qgstextannotationitem.sip

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ class QgsTextAnnotationItem: QgsAnnotationItem
77
QgsTextAnnotationItem( QgsMapCanvas* canvas );
88
~QgsTextAnnotationItem();
99

10-
QDialog* createEditor();
11-
1210
/**Returns document (caller takes ownership)*/
1311
QTextDocument* document() const;
1412
/**Sets document (does not take ownership)*/
@@ -18,4 +16,4 @@ class QgsTextAnnotationItem: QgsAnnotationItem
1816
void readXML( const QDomDocument& doc, const QDomElement& itemElem );
1917

2018
void paint( QPainter* painter );
21-
};
19+
};

src/app/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ SET(QGIS_APP_SRCS
44
qgisappinterface.cpp
55
qgsabout.cpp
66
qgsaddattrdialog.cpp
7+
qgsannotationwidget.cpp
78
qgsattributeactiondialog.cpp
89
qgsattributedialog.cpp
910
qgsattributetypedialog.cpp
@@ -17,6 +18,7 @@ SET(QGIS_APP_SRCS
1718
qgscustomprojectiondialog.cpp
1819
qgsdbfilterproxymodel.cpp
1920
qgsdbtablemodel.cpp
21+
qgsformannotationdialog.cpp
2022
qgsspatialitefilterproxymodel.cpp
2123
qgsspatialitetablemodel.cpp
2224
qgsdelattrdialog.cpp
@@ -65,6 +67,7 @@ SET(QGIS_APP_SRCS
6567
qgsprojectproperties.cpp
6668
qgsrasterlayerproperties.cpp
6769
qgssearchquerybuilder.cpp
70+
qgstextannotationdialog.cpp
6871
qgswmssourceselect.cpp
6972
qgsshortcutsmanager.cpp
7073
qgssinglesymboldialog.cpp
@@ -126,6 +129,7 @@ SET (QGIS_APP_MOC_HDRS
126129
qgisappinterface.h
127130
qgsabout.h
128131
qgsaddattrdialog.h
132+
qgsannotationwidget.h
129133
qgsattributeactiondialog.h
130134
qgsattributedialog.h
131135
qgsattributetypedialog.h
@@ -137,15 +141,14 @@ SET (QGIS_APP_MOC_HDRS
137141
qgscustomprojectiondialog.h
138142
qgsdelattrdialog.h
139143
qgsfieldcalculator.h
144+
qgsformannotationdialog.h
140145
qgsmaptoolmeasureangle.h
141146
qgsnewvectorlayerdialog.h
142147
qgsgraduatedsymboldialog.h
143148
qgshelpviewer.h
144149
qgsidentifyresults.h
145150
qgslabeldialog.h
146-
147151
qgsmanageconnectionsdialog.h
148-
149152
qgsmaptoolidentify.h
150153
qgsmaptoolsplitfeatures.h
151154
qgsmaptoolvertexedit.h
@@ -161,7 +164,6 @@ SET (QGIS_APP_MOC_HDRS
161164
qgsmaptooldeletevertex.h
162165
qgsmaptoolmovevertex.h
163166
qgsmaptoolsimplify.h
164-
165167
qgsmeasuretool.h
166168
qgsmeasuredialog.h
167169
qgsmergeattributesdialog.h
@@ -172,6 +174,7 @@ SET (QGIS_APP_MOC_HDRS
172174
qgsprojectproperties.h
173175
qgsrasterlayerproperties.h
174176
qgssearchquerybuilder.h
177+
qgstextannotationdialog.h
175178
qgswmssourceselect.h
176179
qgssinglesymboldialog.h
177180
qgssnappingdialog.h

src/app/qgsmaptoolannotation.cpp

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616
***************************************************************************/
1717

1818
#include "qgsmaptoolannotation.h"
19+
#include "qgsformannotationdialog.h"
1920
#include "qgsformannotationitem.h"
2021
#include "qgslogger.h"
2122
#include "qgsmapcanvas.h"
23+
#include "qgstextannotationdialog.h"
2224
#include "qgstextannotationitem.h"
2325
#include <QDialog>
2426
#include <QMouseEvent>
@@ -39,6 +41,28 @@ QgsAnnotationItem* QgsMapToolAnnotation::createItem( QMouseEvent* e )
3941
return 0;
4042
}
4143

44+
QDialog* QgsMapToolAnnotation::createItemEditor( QgsAnnotationItem* item )
45+
{
46+
if ( !item )
47+
{
48+
return 0;
49+
}
50+
51+
QgsTextAnnotationItem* tItem = dynamic_cast<QgsTextAnnotationItem*>( item );
52+
if ( tItem )
53+
{
54+
return new QgsTextAnnotationDialog( tItem );
55+
}
56+
57+
QgsFormAnnotationItem* fItem = dynamic_cast<QgsFormAnnotationItem*>( item );
58+
if ( fItem )
59+
{
60+
return new QgsFormAnnotationDialog( fItem );
61+
}
62+
63+
return 0;
64+
}
65+
4266
void QgsMapToolAnnotation::canvasReleaseEvent( QMouseEvent * e )
4367
{
4468
mCurrentMoveAction = QgsAnnotationItem::NoAction;
@@ -193,7 +217,7 @@ void QgsMapToolAnnotation::canvasDoubleClickEvent( QMouseEvent * e )
193217
{
194218
return;
195219
}
196-
QDialog* itemEditor = item->createEditor();
220+
QDialog* itemEditor = createItemEditor( item );
197221
if ( itemEditor )
198222
{
199223
itemEditor->exec();

src/app/qgsmaptoolannotation.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ class QgsMapToolAnnotation: public QgsMapTool
3636
protected:
3737
/**Creates a new item. To be implemented by subclasses. Returns 0 by default*/
3838
virtual QgsAnnotationItem* createItem( QMouseEvent* e );
39+
/**Creates an editor widget (caller takes ownership)*/
40+
QDialog* createItemEditor( QgsAnnotationItem* item );
3941

4042
private:
4143
/**Returns the topmost annotation item at the position (or 0 if none)*/

0 commit comments

Comments
 (0)