mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-31 00:06:02 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			175 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /** \ingroup core
 | |
|  * Widget to display the composer items. Manages the composer tools and the
 | |
|  * mouse/key events.
 | |
|  * Creates the composer items according to the current map tools and keeps track
 | |
|  * of the rubber band item.
 | |
|  */
 | |
| class QgsComposerView : QGraphicsView
 | |
| {
 | |
| %TypeHeaderCode
 | |
| #include "qgscomposerview.h"
 | |
| %End
 | |
| 
 | |
| %ConvertToSubClassCode
 | |
|   if (sipCpp->inherits("QgsComposerView"))
 | |
|     sipType = sipType_QgsComposerView;
 | |
|   else
 | |
|     sipType = NULL;
 | |
| %End
 | |
| 
 | |
|   public:
 | |
| 
 | |
|     /** Current tool*/
 | |
|     enum Tool
 | |
|     {
 | |
|       Select,          // Select/Move item
 | |
|       AddArrow,        // add arrow
 | |
|       AddHtml,
 | |
|       AddMap,          // add new map
 | |
|       AddLegend,       // add vector legend
 | |
|       AddLabel,        // add label
 | |
|       AddScalebar,     // add scalebar
 | |
|       AddPicture,      // add raster/vector picture
 | |
|       AddRectangle,
 | |
|       AddEllipse,
 | |
|       AddTriangle,
 | |
|       AddTable,        // add attribute table
 | |
|       AddAttributeTable,
 | |
|       MoveItemContent, // move content of item (e.g. content of map)
 | |
|       Pan,
 | |
|       Zoom
 | |
|     };
 | |
| 
 | |
|     enum ClipboardMode
 | |
|     {
 | |
|       ClipboardModeCut,
 | |
|       ClipboardModeCopy
 | |
|     };
 | |
| 
 | |
|     enum PasteMode
 | |
|     {
 | |
|       PasteModeCursor,
 | |
|       PasteModeCenter,
 | |
|       PasteModeInPlace
 | |
|     };
 | |
| 
 | |
|     enum ToolStatus
 | |
|     {
 | |
|       Inactive,
 | |
|       Active,
 | |
|       ActiveUntilMouseRelease
 | |
|     };
 | |
| 
 | |
|     QgsComposerView( QWidget* parent /TransferThis/ = 0, const char* name = 0, const Qt::WindowFlags& f = 0 );
 | |
| 
 | |
|     /** Add an item group containing the selected items*/
 | |
|     void groupItems();
 | |
| 
 | |
|     /** Ungroups the selected items*/
 | |
|     void ungroupItems();
 | |
| 
 | |
|     /** Cuts or copies the selected items*/
 | |
|     void copyItems( ClipboardMode mode );
 | |
| 
 | |
|     /** Pastes items from clipboard*/
 | |
|     void pasteItems( PasteMode mode );
 | |
| 
 | |
|     /** Deletes selected items*/
 | |
|     void deleteSelectedItems();
 | |
| 
 | |
|     /** Selects all items*/
 | |
|     void selectAll();
 | |
| 
 | |
|     /** Deselects all items*/
 | |
|     void selectNone();
 | |
| 
 | |
|     /** Inverts current selection*/
 | |
|     void selectInvert();
 | |
| 
 | |
|     QgsComposerView::Tool currentTool() const;
 | |
|     void setCurrentTool( QgsComposerView::Tool t );
 | |
| 
 | |
|     /** Sets the composition for the view. If the composition is being set manually and not by a QgsComposer, then this must
 | |
|      * be set BEFORE adding any items to the composition.
 | |
|      */
 | |
|     void setComposition( QgsComposition* c /KeepReference/ );
 | |
| 
 | |
|     /** Returns the composition or 0 in case of error*/
 | |
|     QgsComposition* composition();
 | |
| 
 | |
|     /** Returns the composer main window*/
 | |
|     QMainWindow* composerWindow();
 | |
| 
 | |
|     void setPaintingEnabled( bool enabled );
 | |
|     bool paintingEnabled() const;
 | |
| 
 | |
|     /** Update rulers with current scene rect*/
 | |
|     void updateRulers();
 | |
| 
 | |
|     void setHorizontalRuler( QgsComposerRuler* r );
 | |
|     void setVerticalRuler( QgsComposerRuler* r );
 | |
| 
 | |
|     /** Set zoom level, where a zoom level of 1.0 corresponds to 100%*/
 | |
|     void setZoomLevel( double zoomLevel );
 | |
| 
 | |
|     /** Scales the view in a safe way, by limiting the acceptable range
 | |
|      * of the scale applied.
 | |
|      * @param scale factor to scale view by
 | |
|      * @note added in QGIS 2.16
 | |
|      */
 | |
|     void scaleSafe( double scale );
 | |
| 
 | |
|     /** Sets whether a preview effect should be used to alter the view's appearance
 | |
|      * @param enabled Set to true to enable the preview effect on the view
 | |
|      * @note added in 2.3
 | |
|      * @see setPreviewMode
 | |
|      */
 | |
|     void setPreviewModeEnabled( bool enabled );
 | |
|     /** Sets the preview mode which should be used to modify the view's appearance. Preview modes are only used
 | |
|      * if setPreviewMode is set to true.
 | |
|      * @param mode PreviewMode to be used to draw the view
 | |
|      * @note added in 2.3
 | |
|      * @see setPreviewModeEnabled
 | |
|      */
 | |
|     void setPreviewMode( QgsPreviewEffect::PreviewMode mode );
 | |
| 
 | |
|   protected:
 | |
|     void mousePressEvent( QMouseEvent* );
 | |
|     void mouseReleaseEvent( QMouseEvent* );
 | |
|     void mouseMoveEvent( QMouseEvent* );
 | |
|     void mouseDoubleClickEvent( QMouseEvent* e );
 | |
| 
 | |
|     void keyPressEvent( QKeyEvent * e );
 | |
|     void keyReleaseEvent( QKeyEvent * e );
 | |
| 
 | |
|     void wheelEvent( QWheelEvent* event );
 | |
| 
 | |
|     void paintEvent( QPaintEvent* event );
 | |
| 
 | |
|     void hideEvent( QHideEvent* e );
 | |
|     void showEvent( QShowEvent* e );
 | |
| 
 | |
|     void resizeEvent( QResizeEvent* event );
 | |
|     void scrollContentsBy( int dx, int dy );
 | |
|   signals:
 | |
|     /** Is emitted when selected item changed. If 0, no item is selected*/
 | |
|     void selectedItemChanged( QgsComposerItem* selected );
 | |
|     /** Is emitted when a composer item has been removed from the scene*/
 | |
|     void itemRemoved( QgsComposerItem* );
 | |
|     /** Current action (e.g. adding composer map) has been finished. The purpose of this signal is that
 | |
|      QgsComposer may set the selection tool again*/
 | |
|     void actionFinished();
 | |
|     /** Is emitted when mouse cursor coordinates change*/
 | |
|     void cursorPosChanged( QPointF );
 | |
|     /** Is emitted when the view zoom changes*/
 | |
|     void zoomLevelChanged();
 | |
| 
 | |
|     /** Emitted before composerview is shown*/
 | |
|     void composerViewShow( QgsComposerView* );
 | |
|     /** Emitted before composerview is hidden*/
 | |
|     void composerViewHide( QgsComposerView* );
 | |
| 
 | |
|     /** Emitted when the composition is set for the view*/
 | |
|     void compositionSet( QgsComposition* );
 | |
| };
 |