Skip to content

Commit c9bcd60

Browse files
author
marco
committedDec 5, 2011
Remove addItem methods of composer view. Use the ones from composition instead
1 parent 8999de6 commit c9bcd60

File tree

4 files changed

+84
-194
lines changed

4 files changed

+84
-194
lines changed
 

‎python/gui/qgscomposerview.sip

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -49,21 +49,6 @@ class QgsComposerView: QGraphicsView
4949
void setComposition( QgsComposition* c );
5050
/**Returns the composition or 0 in case of error*/
5151
QgsComposition* composition();
52-
53-
/**Adds label to the graphics scene and advices composer to create a widget for it (through signal)*/
54-
void addComposerLabel( QgsComposerLabel* label);
55-
/**Adds map to the graphics scene and advices composer to create a widget for it (through signal)*/
56-
void addComposerMap( QgsComposerMap* map );
57-
/**Adds scale bar to the graphics scene and advices composer to create a widget for it (through signal)*/
58-
void addComposerScaleBar( QgsComposerScaleBar* scaleBar );
59-
/**Adds legend to the graphics scene and advices composer to create a widget for it (through signal)*/
60-
void addComposerLegend( QgsComposerLegend* legend );
61-
/**Adds picture to the graphics scene and advices composer to create a widget for it (through signal)*/
62-
void addComposerPicture( QgsComposerPicture* picture );
63-
/**Adds a composer shape to the graphics scene and advices composer to create a widget for it (through signal)*/
64-
void addComposerShape( QgsComposerShape* shape );
65-
/**Adds a composer table to the graphics scene and advices composer to create a widget for it (through signal)*/
66-
void addComposerTable( QgsComposerAttributeTable* table );
6752

6853
/**Returns the composer main window*/
6954
QMainWindow* composerWindow();

‎src/app/composer/qgscomposer.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1572,10 +1572,6 @@ void QgsComposer::addComposerLegend( QgsComposerLegend* legend )
15721572
}
15731573

15741574
QgsComposerLegendWidget* lWidget = new QgsComposerLegendWidget( legend );
1575-
if ( sender() ) //only update if created from GUI (not after XML read)
1576-
{
1577-
lWidget->updateLegend();
1578-
}
15791575
mItemWidgetMap.insert( legend, lWidget );
15801576
}
15811577

‎src/gui/qgscomposerview.cpp

Lines changed: 84 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -137,50 +137,68 @@ void QgsComposerView::mousePressEvent( QMouseEvent* e )
137137
break;
138138

139139
case AddLabel:
140-
{
141-
QgsComposerLabel* newLabelItem = new QgsComposerLabel( composition() );
142-
newLabelItem->setText( tr( "Quantum GIS" ) );
143-
newLabelItem->adjustSizeToText();
144-
newLabelItem->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), newLabelItem->rect().width(), newLabelItem->rect().height() ) );
145-
addComposerLabel( newLabelItem );
146-
emit actionFinished();
147-
}
148-
break;
140+
if ( composition() )
141+
{
142+
QgsComposerLabel* newLabelItem = new QgsComposerLabel( composition() );
143+
newLabelItem->setText( tr( "Quantum GIS" ) );
144+
newLabelItem->adjustSizeToText();
145+
newLabelItem->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), newLabelItem->rect().width(), newLabelItem->rect().height() ) );
146+
composition()->addComposerLabel( newLabelItem );
147+
emit actionFinished();
148+
pushAddRemoveCommand( newLabelItem, tr( "Label added" ) );
149+
}
150+
break;
149151

150152
case AddScalebar:
151-
{
152-
QgsComposerScaleBar* newScaleBar = new QgsComposerScaleBar( composition() );
153-
newScaleBar->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), 20, 20 ) );
154-
addComposerScaleBar( newScaleBar );
155-
emit actionFinished();
156-
}
157-
break;
153+
if ( composition() )
154+
{
155+
QgsComposerScaleBar* newScaleBar = new QgsComposerScaleBar( composition() );
156+
newScaleBar->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), 20, 20 ) );
157+
composition()->addComposerScaleBar( newScaleBar );
158+
QList<const QgsComposerMap*> mapItemList = composition()->composerMapItems();
159+
if ( mapItemList.size() > 0 )
160+
{
161+
newScaleBar->setComposerMap( mapItemList.at( 0 ) );
162+
}
163+
newScaleBar->applyDefaultSize(); //4 segments, 1/5 of composer map width
164+
emit actionFinished();
165+
pushAddRemoveCommand( newScaleBar, tr( "Scale bar added" ) );
166+
}
167+
break;
158168

159169
case AddLegend:
160170
{
161-
QgsComposerLegend* newLegend = new QgsComposerLegend( composition() );
162-
newLegend->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), newLegend->rect().width(), newLegend->rect().height() ) );
163-
addComposerLegend( newLegend );
164-
emit actionFinished();
171+
if ( composition() )
172+
{
173+
QgsComposerLegend* newLegend = new QgsComposerLegend( composition() );
174+
newLegend->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), newLegend->rect().width(), newLegend->rect().height() ) );
175+
composition()->addComposerLegend( newLegend );
176+
newLegend->updateLegend();
177+
emit actionFinished();
178+
pushAddRemoveCommand( newLegend, tr( "Legend added" ) );
179+
}
165180
break;
166181
}
167182
case AddPicture:
168-
{
169-
QgsComposerPicture* newPicture = new QgsComposerPicture( composition() );
170-
newPicture->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), 30, 30 ) );
171-
addComposerPicture( newPicture );
172-
emit actionFinished();
183+
if ( composition() )
184+
{
185+
QgsComposerPicture* newPicture = new QgsComposerPicture( composition() );
186+
newPicture->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), 30, 30 ) );
187+
composition()->addComposerPicture( newPicture );
188+
emit actionFinished();
189+
pushAddRemoveCommand( newPicture, tr( "Picture added" ) );
190+
}
173191
break;
174-
}
175192
case AddTable:
176-
{
177-
QgsComposerAttributeTable* newTable = new QgsComposerAttributeTable( composition() );
178-
newTable->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), 50, 50 ) );
179-
addComposerTable( newTable );
180-
emit actionFinished();
193+
if ( composition() )
194+
{
195+
QgsComposerAttributeTable* newTable = new QgsComposerAttributeTable( composition() );
196+
newTable->setSceneRect( QRectF( snappedScenePoint.x(), snappedScenePoint.y(), 50, 50 ) );
197+
composition()->addComposerTable( newTable );
198+
emit actionFinished();
199+
pushAddRemoveCommand( newTable, tr( "Table added" ) );
200+
}
181201
break;
182-
}
183-
184202
default:
185203
break;
186204
}
@@ -225,39 +243,41 @@ void QgsComposerView::mouseReleaseEvent( QMouseEvent* e )
225243
break;
226244
}
227245
case AddArrow:
228-
{
229-
QPointF scenePoint = mapToScene( e->pos() );
230-
QPointF snappedScenePoint = composition()->snapPointToGrid( scenePoint );
231-
QgsComposerArrow* composerArrow = new QgsComposerArrow( mRubberBandStartPos, QPointF( snappedScenePoint.x(), snappedScenePoint.y() ), composition() );
232-
addComposerArrow( composerArrow );
233-
scene()->removeItem( mRubberBandLineItem );
234-
delete mRubberBandLineItem;
235-
mRubberBandLineItem = 0;
236-
emit actionFinished();
246+
if ( composition() )
247+
{
248+
QPointF scenePoint = mapToScene( e->pos() );
249+
QPointF snappedScenePoint = composition()->snapPointToGrid( scenePoint );
250+
QgsComposerArrow* composerArrow = new QgsComposerArrow( mRubberBandStartPos, QPointF( snappedScenePoint.x(), snappedScenePoint.y() ), composition() );
251+
composition()->addComposerArrow( composerArrow );
252+
scene()->removeItem( mRubberBandLineItem );
253+
delete mRubberBandLineItem;
254+
mRubberBandLineItem = 0;
255+
emit actionFinished();
256+
pushAddRemoveCommand( composerArrow, tr( "Arrow added" ) );
257+
}
237258
break;
238-
}
239259

240260
case AddShape:
241-
{
242261
if ( !mRubberBandItem || mRubberBandItem->rect().width() < 0.1 || mRubberBandItem->rect().width() < 0.1 )
243262
{
244263
scene()->removeItem( mRubberBandItem );
245264
delete mRubberBandItem;
246265
mRubberBandItem = 0;
247266
return;
248267
}
249-
250-
QgsComposerShape* composerShape = new QgsComposerShape( mRubberBandItem->transform().dx(), mRubberBandItem->transform().dy(), mRubberBandItem->rect().width(), mRubberBandItem->rect().height(), composition() );
251-
addComposerShape( composerShape );
252-
scene()->removeItem( mRubberBandItem );
253-
delete mRubberBandItem;
254-
mRubberBandItem = 0;
255-
emit actionFinished();
268+
if ( composition() )
269+
{
270+
QgsComposerShape* composerShape = new QgsComposerShape( mRubberBandItem->transform().dx(), mRubberBandItem->transform().dy(), mRubberBandItem->rect().width(), mRubberBandItem->rect().height(), composition() );
271+
composition()->addComposerShape( composerShape );
272+
scene()->removeItem( mRubberBandItem );
273+
delete mRubberBandItem;
274+
mRubberBandItem = 0;
275+
emit actionFinished();
276+
pushAddRemoveCommand( composerShape, tr( "Shape added" ) );
277+
}
256278
break;
257-
}
258279

259280
case AddMap:
260-
{
261281
if ( !mRubberBandItem || mRubberBandItem->rect().width() < 0.1 || mRubberBandItem->rect().width() < 0.1 )
262282
{
263283
if ( mRubberBandItem )
@@ -268,15 +288,17 @@ void QgsComposerView::mouseReleaseEvent( QMouseEvent* e )
268288
}
269289
return;
270290
}
271-
272-
QgsComposerMap* composerMap = new QgsComposerMap( composition(), mRubberBandItem->transform().dx(), mRubberBandItem->transform().dy(), mRubberBandItem->rect().width(), mRubberBandItem->rect().height() );
273-
addComposerMap( composerMap );
274-
scene()->removeItem( mRubberBandItem );
275-
delete mRubberBandItem;
276-
mRubberBandItem = 0;
277-
emit actionFinished();
278-
}
279-
break;
291+
if ( composition() )
292+
{
293+
QgsComposerMap* composerMap = new QgsComposerMap( composition(), mRubberBandItem->transform().dx(), mRubberBandItem->transform().dy(), mRubberBandItem->rect().width(), mRubberBandItem->rect().height() );
294+
composition()->addComposerMap( composerMap );
295+
scene()->removeItem( mRubberBandItem );
296+
delete mRubberBandItem;
297+
mRubberBandItem = 0;
298+
emit actionFinished();
299+
pushAddRemoveCommand( composerMap, tr( "Map added" ) );
300+
}
301+
break;
280302

281303
default:
282304
break;
@@ -553,102 +575,6 @@ QgsComposition* QgsComposerView::composition()
553575
return 0;
554576
}
555577

556-
void QgsComposerView::addComposerArrow( QgsComposerArrow* arrow )
557-
{
558-
composition()->addItem( arrow );
559-
emit composerArrowAdded( arrow );
560-
scene()->clearSelection();
561-
arrow->setSelected( true );
562-
emit selectedItemChanged( arrow );
563-
pushAddRemoveCommand( arrow, tr( "Arrow added" ) );
564-
}
565-
566-
void QgsComposerView::addComposerLabel( QgsComposerLabel* label )
567-
{
568-
composition()->addItem( label );
569-
emit composerLabelAdded( label );
570-
scene()->clearSelection();
571-
label->setSelected( true );
572-
emit selectedItemChanged( label );
573-
pushAddRemoveCommand( label, tr( "Label added" ) );
574-
}
575-
576-
void QgsComposerView::addComposerMap( QgsComposerMap* map )
577-
{
578-
scene()->addItem( map );
579-
//set default preview mode to cache. Must be done here between adding composer map to scene and emiting signal
580-
map->setPreviewMode( QgsComposerMap::Cache );
581-
map->cache();
582-
emit composerMapAdded( map );
583-
scene()->clearSelection();
584-
map->setSelected( true );
585-
emit selectedItemChanged( map );
586-
pushAddRemoveCommand( map, tr( "Map added" ) );
587-
}
588-
589-
void QgsComposerView::addComposerScaleBar( QgsComposerScaleBar* scaleBar )
590-
{
591-
//take first available map
592-
QList<const QgsComposerMap*> mapItemList = composition()->composerMapItems();
593-
if ( mapItemList.size() > 0 )
594-
{
595-
scaleBar->setComposerMap( mapItemList.at( 0 ) );
596-
}
597-
scaleBar->applyDefaultSize(); //4 segments, 1/5 of composer map width
598-
scene()->addItem( scaleBar );
599-
emit composerScaleBarAdded( scaleBar );
600-
scene()->clearSelection();
601-
scaleBar->setSelected( true );
602-
emit selectedItemChanged( scaleBar );
603-
pushAddRemoveCommand( scaleBar, tr( "Scale bar added" ) );
604-
}
605-
606-
void QgsComposerView::addComposerLegend( QgsComposerLegend* legend )
607-
{
608-
//take first available map
609-
QList<const QgsComposerMap*> mapItemList = composition()->composerMapItems();
610-
if ( mapItemList.size() > 0 )
611-
{
612-
legend->setComposerMap( mapItemList.at( 0 ) );
613-
}
614-
scene()->addItem( legend );
615-
emit composerLegendAdded( legend );
616-
scene()->clearSelection();
617-
legend->setSelected( true );
618-
emit selectedItemChanged( legend );
619-
pushAddRemoveCommand( legend, tr( "Legend added" ) );
620-
}
621-
622-
void QgsComposerView::addComposerPicture( QgsComposerPicture* picture )
623-
{
624-
scene()->addItem( picture );
625-
emit composerPictureAdded( picture );
626-
scene()->clearSelection();
627-
picture->setSelected( true );
628-
emit selectedItemChanged( picture );
629-
pushAddRemoveCommand( picture, tr( "Picture added" ) );
630-
}
631-
632-
void QgsComposerView::addComposerShape( QgsComposerShape* shape )
633-
{
634-
scene()->addItem( shape );
635-
emit composerShapeAdded( shape );
636-
scene()->clearSelection();
637-
shape->setSelected( true );
638-
emit selectedItemChanged( shape );
639-
pushAddRemoveCommand( shape, tr( "Shape added" ) );
640-
}
641-
642-
void QgsComposerView::addComposerTable( QgsComposerAttributeTable* table )
643-
{
644-
scene()->addItem( table );
645-
emit composerTableAdded( table );
646-
scene()->clearSelection();
647-
table->setSelected( true );
648-
emit selectedItemChanged( table );
649-
pushAddRemoveCommand( table, tr( "Table added" ) );
650-
}
651-
652578
void QgsComposerView::removeItem( QgsComposerItem* item )
653579
{
654580
QgsComposerMap* map = dynamic_cast<QgsComposerMap *>( item );

‎src/gui/qgscomposerview.h

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -80,23 +80,6 @@ class GUI_EXPORT QgsComposerView: public QGraphicsView
8080
/**Returns the composition or 0 in case of error*/
8181
QgsComposition* composition();
8282

83-
/**Adds an arrow item to the graphics scene and advices composer to create a widget for it (through signal)*/
84-
void addComposerArrow( QgsComposerArrow* arrow );
85-
/**Adds label to the graphics scene and advices composer to create a widget for it (through signal)*/
86-
void addComposerLabel( QgsComposerLabel* label );
87-
/**Adds map to the graphics scene and advices composer to create a widget for it (through signal)*/
88-
void addComposerMap( QgsComposerMap* map );
89-
/**Adds scale bar to the graphics scene and advices composer to create a widget for it (through signal)*/
90-
void addComposerScaleBar( QgsComposerScaleBar* scaleBar );
91-
/**Adds legend to the graphics scene and advices composer to create a widget for it (through signal)*/
92-
void addComposerLegend( QgsComposerLegend* legend );
93-
/**Adds picture to the graphics scene and advices composer to create a widget for it (through signal)*/
94-
void addComposerPicture( QgsComposerPicture* picture );
95-
/**Adds a composer shape to the graphics scene and advices composer to create a widget for it (through signal)*/
96-
void addComposerShape( QgsComposerShape* shape );
97-
/**Adds a composer table to the graphics scene and advices composer to create a widget for it (through signal)*/
98-
void addComposerTable( QgsComposerAttributeTable* table );
99-
10083
/**Remove item from the graphics scene*/
10184
void removeItem( QgsComposerItem* item );
10285

0 commit comments

Comments
 (0)
Please sign in to comment.