File tree 4 files changed +99
-0
lines changed
4 files changed +99
-0
lines changed Original file line number Diff line number Diff line change @@ -121,6 +121,26 @@ class QgisInterface : QObject
121
121
/**Return mainwindows / composer views of running composer instances (currently only one)*/
122
122
virtual QList<QgsComposerView*> activeComposers() = 0;
123
123
124
+ /** Create a new composer
125
+ * @param title window title for new composer (one will be generated if empty)
126
+ * @return pointer to composer's view
127
+ * @note new composer window will be shown and activated (added in 1.9)
128
+ */
129
+ virtual QgsComposerView* createNewComposer( QString title = QString( "" ) ) = 0;
130
+
131
+ /** Duplicate an existing parent composer from composer view
132
+ * @param composerView pointer to existing composer view
133
+ * @param title window title for duplicated composer (one will be generated if empty)
134
+ * @return pointer to duplicate composer's view
135
+ * @note dupicate composer window will be hidden until loaded, then shown and activated (added in 1.9)
136
+ */
137
+ virtual QgsComposerView* duplicateComposer( QgsComposerView* composerView, QString title = QString( "" ) ) = 0;
138
+
139
+ /** Deletes parent composer of composer view, after closing composer window
140
+ * @note (added in 1.9)
141
+ */
142
+ virtual void deleteComposer( QgsComposerView* composerView ) = 0;
143
+
124
144
/** Return changeable options built from settings and/or defaults
125
145
* @note (added in 1.9)
126
146
*/
Original file line number Diff line number Diff line change 26
26
#include " qgisappstylesheet.h"
27
27
#include " qgisapp.h"
28
28
#include " qgscomposer.h"
29
+ #include " qgscomposerview.h"
29
30
#include " qgsmaplayer.h"
30
31
#include " qgsmaplayerregistry.h"
31
32
#include " qgsmapcanvas.h"
@@ -290,6 +291,44 @@ QList<QgsComposerView*> QgisAppInterface::activeComposers()
290
291
return composerViewList;
291
292
}
292
293
294
+ QgsComposerView* QgisAppInterface::createNewComposer ( QString title )
295
+ {
296
+ QgsComposer* composerObj = 0 ;
297
+ composerObj = qgis->createNewComposer ( title );
298
+ if ( composerObj )
299
+ {
300
+ return composerObj->view ();
301
+ }
302
+ return 0 ;
303
+ }
304
+
305
+ QgsComposerView* QgisAppInterface::duplicateComposer ( QgsComposerView* composerView, QString title )
306
+ {
307
+ QgsComposer* composerObj = 0 ;
308
+ composerObj = qobject_cast<QgsComposer *>( composerView->composerWindow () );
309
+ if ( composerObj )
310
+ {
311
+ QgsComposer* dupComposer = qgis->duplicateComposer ( composerObj, title );
312
+ if ( dupComposer )
313
+ {
314
+ return dupComposer->view ();
315
+ }
316
+ }
317
+ return 0 ;
318
+ }
319
+
320
+ void QgisAppInterface::deleteComposer ( QgsComposerView* composerView )
321
+ {
322
+ composerView->composerWindow ()->close ();
323
+
324
+ QgsComposer* composerObj = 0 ;
325
+ composerObj = qobject_cast<QgsComposer *>( composerView->composerWindow () );
326
+ if ( composerObj )
327
+ {
328
+ qgis->deleteComposer ( composerObj );
329
+ }
330
+ }
331
+
293
332
QMap<QString, QVariant> QgisAppInterface::defaultStyleSheetOptions ()
294
333
{
295
334
return qgis->styleSheetBuilder ()->defaultOptions ();
Original file line number Diff line number Diff line change @@ -125,6 +125,26 @@ class QgisAppInterface : public QgisInterface
125
125
126
126
QList<QgsComposerView*> activeComposers ();
127
127
128
+ /* * Create a new composer
129
+ * @param title window title for new composer (one will be generated if empty)
130
+ * @return pointer to composer's view
131
+ * @note new composer window will be shown and activated (added in 1.9)
132
+ */
133
+ QgsComposerView* createNewComposer ( QString title = QString( " " ) );
134
+
135
+ /* * Duplicate an existing parent composer from composer view
136
+ * @param composerView pointer to existing composer view
137
+ * @param title window title for duplicated composer (one will be generated if empty)
138
+ * @return pointer to duplicate composer's view
139
+ * @note dupicate composer window will be hidden until loaded, then shown and activated (added in 1.9)
140
+ */
141
+ QgsComposerView* duplicateComposer ( QgsComposerView* composerView, QString title = QString( " " ) );
142
+
143
+ /* * Deletes parent composer of composer view, after closing composer window
144
+ * @note (added in 1.9)
145
+ */
146
+ void deleteComposer ( QgsComposerView* composerView );
147
+
128
148
/* * Return changeable options built from settings and/or defaults
129
149
* @note (added in 1.9)
130
150
*/
Original file line number Diff line number Diff line change @@ -166,6 +166,26 @@ class GUI_EXPORT QgisInterface : public QObject
166
166
/* *Return mainwindows / composer views of running composer instances (currently only one)*/
167
167
virtual QList<QgsComposerView*> activeComposers () = 0;
168
168
169
+ /* * Create a new composer
170
+ * @param title window title for new composer (one will be generated if empty)
171
+ * @return pointer to composer's view
172
+ * @note new composer window will be shown and activated (added in 1.9)
173
+ */
174
+ virtual QgsComposerView* createNewComposer ( QString title = QString( " " ) ) = 0;
175
+
176
+ /* * Duplicate an existing parent composer from composer view
177
+ * @param composerView pointer to existing composer view
178
+ * @param title window title for duplicated composer (one will be generated if empty)
179
+ * @return pointer to duplicate composer's view
180
+ * @note dupicate composer window will be hidden until loaded, then shown and activated (added in 1.9)
181
+ */
182
+ virtual QgsComposerView* duplicateComposer ( QgsComposerView* composerView, QString title = QString( " " ) ) = 0;
183
+
184
+ /* * Deletes parent composer of composer view, after closing composer window
185
+ * @note (added in 1.9)
186
+ */
187
+ virtual void deleteComposer ( QgsComposerView* composerView ) = 0;
188
+
169
189
/* * Return changeable options built from settings and/or defaults
170
190
* @note (added in 1.9)
171
191
*/
You can’t perform that action at this time.
0 commit comments