mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-31 00:06:02 -04:00 
			
		
		
		
	- update methods of existing classes - add comment to methods missing in the sip bindings - split up collective sip files into single files and use same directory structure in python/ as in src/ - add a lot of missing classes (some might not make sense because of missing python methods in those classes) - remove some non-existing methods from the header files - add scripts/sipdiff - replace some usages of std::vector and std::set with QVector/QSet
		
			
				
	
	
		
			298 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			298 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /** \ingroup MapComposer
 | |
|  *  \class QgsComposerMap
 | |
|  *  \brief Object representing map window.
 | |
|  */
 | |
| // NOTE: QgsComposerMapBase must be first, otherwise does not compile
 | |
| class QgsComposerMap : QgsComposerItem
 | |
| {
 | |
| %TypeHeaderCode
 | |
| #include <qgscomposermap.h>
 | |
| %End
 | |
| 
 | |
|   public:
 | |
|     /** Constructor. */
 | |
|     QgsComposerMap( QgsComposition *composition /TransferThis/, int x, int y, int width, int height );
 | |
|     /** Constructor. Settings are read from project. */
 | |
|     QgsComposerMap( QgsComposition *composition /TransferThis/ );
 | |
|     ~QgsComposerMap();
 | |
| 
 | |
|     /** return correct graphics item type. Added in v1.7 */
 | |
|     virtual int type() const;
 | |
| 
 | |
|     /** \brief Preview style  */
 | |
|     enum PreviewMode
 | |
|     {
 | |
|       Cache = 0,   // Use raster cache
 | |
|       Render,      // Render the map
 | |
|       Rectangle    // Display only rectangle
 | |
|     };
 | |
| 
 | |
|     enum GridStyle
 | |
|     {
 | |
|       Solid = 0, //solid lines
 | |
|       Cross //only draw line crossings
 | |
|     };
 | |
| 
 | |
|     enum GridAnnotationPosition
 | |
|     {
 | |
|       InsideMapFrame = 0,
 | |
|       OutsideMapFrame,
 | |
|       Disabled
 | |
|     };
 | |
| 
 | |
|     enum GridAnnotationDirection
 | |
|     {
 | |
|       Horizontal = 0,
 | |
|       Vertical,
 | |
|       HorizontalAndVertical,
 | |
|       BoundaryDirection
 | |
|     };
 | |
| 
 | |
|     enum GridAnnotationFormat
 | |
|     {
 | |
|       Decimal = 0,
 | |
|       DegreeMinute,
 | |
|       DegreeMinuteSecond
 | |
|     };
 | |
| 
 | |
|     enum GridFrameStyle
 | |
|     {
 | |
|       NoGridFrame = 0,
 | |
|       Zebra //black / white pattern
 | |
|     };
 | |
| 
 | |
|     /**Enum for different frame borders*/
 | |
|     enum Border
 | |
|     {
 | |
|       Left,
 | |
|       Right,
 | |
|       Bottom,
 | |
|       Top
 | |
|     };
 | |
| 
 | |
|     /**This function is deprecated*/
 | |
|     void draw( QPainter *painter, const QgsRectangle& extent, const QSize& size, int dpi ) /Deprecated/;
 | |
| 
 | |
|     /** \brief Draw to paint device
 | |
|         @param painter painter
 | |
|         @param extent map extent
 | |
|         @param size size in scene coordinates
 | |
|         @param dpi scene dpi
 | |
|         @param forceWidthScale force wysiwyg line widths / marker sizes
 | |
|     */
 | |
|     void draw( QPainter *painter, const QgsRectangle& extent, const QSizeF& size, double dpi, double* forceWidthScale = 0 );
 | |
| 
 | |
|     /** \brief Reimplementation of QCanvasItem::paint - draw on canvas */
 | |
|     void paint( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget );
 | |
| 
 | |
|     /** \brief Create cache image */
 | |
|     void cache();
 | |
| 
 | |
|     /** \brief Get identification number*/
 | |
|     int id() const;
 | |
| 
 | |
|     /**True if a draw is already in progress*/
 | |
|     bool isDrawing() const;
 | |
| 
 | |
|     /** resizes an item in x- and y direction (canvas coordinates)*/
 | |
|     void resize( double dx, double dy );
 | |
| 
 | |
|     /**Move content of map
 | |
|        @param dx move in x-direction (item and canvas coordinates)
 | |
|        @param dy move in y-direction (item and canvas coordinates)*/
 | |
|     void moveContent( double dx, double dy );
 | |
| 
 | |
|     /**Zoom content of map
 | |
|      @param delta value from wheel event that describes magnitude and direction (positive /negative number)
 | |
|     @param x x-coordinate of mouse position in item coordinates
 | |
|     @param y y-coordinate of mouse position in item coordinates*/
 | |
|     void zoomContent( int delta, double x, double y );
 | |
| 
 | |
|     /**Sets new scene rectangle bounds and recalculates hight and extent*/
 | |
|     void setSceneRect( const QRectF& rectangle );
 | |
| 
 | |
|     /** \brief Scale */
 | |
|     double scale() const;
 | |
| 
 | |
|     /**Sets new scale and changes only mExtent*/
 | |
|     void setNewScale( double scaleDenominator );
 | |
| 
 | |
|     /**Sets new Extent and changes width, height (and implicitely also scale)*/
 | |
|     void setNewExtent( const QgsRectangle& extent );
 | |
| 
 | |
|     PreviewMode previewMode() const;
 | |
|     void setPreviewMode( PreviewMode m );
 | |
| 
 | |
|     /**Getter for flag that determines if the stored layer set should be used or the current layer set of the qgis mapcanvas
 | |
|     @note this function was added in version 1.2*/
 | |
|     bool keepLayerSet() const;
 | |
|     /**Setter for flag that determines if the stored layer set should be used or the current layer set of the qgis mapcanvas
 | |
|     @note this function was added in version 1.2*/
 | |
|     void setKeepLayerSet( bool enabled );
 | |
| 
 | |
|     /**Getter for stored layer set that is used if mKeepLayerSet is true
 | |
|     @note this function was added in version 1.2*/
 | |
|     QStringList layerSet() const;
 | |
|     /**Setter for stored layer set that is used if mKeepLayerSet is true
 | |
|     @note this function was added in version 1.2*/
 | |
|     void setLayerSet( const QStringList& layerSet );
 | |
|     /**Stores the current layer set of the qgis mapcanvas in mLayerSet*/
 | |
|     void storeCurrentLayerSet();
 | |
| 
 | |
|     // Set cache outdated
 | |
|     void setCacheUpdated( bool u = false );
 | |
| 
 | |
|     QgsRectangle extent() const;
 | |
| 
 | |
|     const QgsMapRenderer* mapRenderer() const;
 | |
| 
 | |
|     /**Sets offset values to shift image (useful for live updates when moving item content)*/
 | |
|     void setOffset( double xOffset, double yOffset );
 | |
| 
 | |
|     /**True if composer map renders a WMS layer*/
 | |
|     bool containsWMSLayer() const;
 | |
| 
 | |
|     /** stores state in Dom node
 | |
|      * @param elem is Dom element corresponding to 'Composer' tag
 | |
|      * @param doc Dom document
 | |
|      */
 | |
|     bool writeXML( QDomElement& elem, QDomDocument & doc ) const;
 | |
| 
 | |
|     /** sets state from Dom document
 | |
|      * @param itemElem is Dom node corresponding to 'ComposerMap' tag
 | |
|      * @param doc is Dom document
 | |
|      */
 | |
|     bool readXML( const QDomElement& itemElem, const QDomDocument& doc );
 | |
| 
 | |
|     /**Enables a coordinate grid that is shown on top of this composermap.
 | |
|         @note this function was added in version 1.4*/
 | |
|     void setGridEnabled( bool enabled );
 | |
|     bool gridEnabled() const;
 | |
| 
 | |
|     /**Sets coordinate grid style to solid or cross
 | |
|         @note this function was added in version 1.4*/
 | |
|     void setGridStyle( GridStyle style );
 | |
|     GridStyle gridStyle() const;
 | |
| 
 | |
|     /**Sets coordinate interval in x-direction for composergrid.
 | |
|         @note this function was added in version 1.4*/
 | |
|     void setGridIntervalX( double interval );
 | |
|     double gridIntervalX() const;
 | |
| 
 | |
|     /**Sets coordinate interval in y-direction for composergrid.
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setGridIntervalY( double interval );
 | |
|     double gridIntervalY() const;
 | |
| 
 | |
|     /**Sets x-coordinate offset for composer grid
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setGridOffsetX( double offset );
 | |
|     double gridOffsetX() const;
 | |
| 
 | |
|     /**Sets y-coordinate offset for composer grid
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setGridOffsetY( double offset );
 | |
|     double gridOffsetY() const;
 | |
| 
 | |
|     /**Sets the pen to draw composer grid
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setGridPen( const QPen& p );
 | |
|     QPen gridPen() const;
 | |
| 
 | |
|     /**Sets with of grid pen
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setGridPenWidth( double w );
 | |
| 
 | |
|     /**Sets the color of the grid pen
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setGridPenColor( const QColor& c );
 | |
| 
 | |
|     /**Sets font for grid annotations
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setGridAnnotationFont( const QFont& f );
 | |
|     QFont gridAnnotationFont() const;
 | |
| 
 | |
|     /**Sets coordinate precision for grid annotations
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setGridAnnotationPrecision( int p );
 | |
|     int gridAnnotationPrecision() const;
 | |
| 
 | |
|     /**Sets flag if grid annotation should be shown
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setShowGridAnnotation( bool show );
 | |
|     bool showGridAnnotation() const;
 | |
| 
 | |
|     void setGridAnnotationPosition( GridAnnotationPosition p, QgsComposerMap::Border border );
 | |
|     GridAnnotationPosition gridAnnotationPosition( QgsComposerMap::Border border ) const;
 | |
| 
 | |
|     /**Sets distance between map frame and annotations
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setAnnotationFrameDistance( double d );
 | |
|     double annotationFrameDistance() const;
 | |
| 
 | |
|     void setGridAnnotationDirection( GridAnnotationDirection d, QgsComposerMap::Border border );
 | |
|     GridAnnotationDirection gridAnnotationDirection( QgsComposerMap::Border border ) const;
 | |
| 
 | |
|     void setGridAnnotationFormat( GridAnnotationFormat f );
 | |
|     GridAnnotationFormat gridAnnotationFormat() const;
 | |
| 
 | |
|     /**Set grid frame style (NoGridFrame or Zebra)
 | |
|         @note: this function was added in version 1.9*/
 | |
|     void setGridFrameStyle( GridFrameStyle style );
 | |
|     GridFrameStyle gridFrameStyle() const;
 | |
| 
 | |
|     /**Set grid frame width
 | |
|         @note: this function was added in version 1.9*/
 | |
|     void setGridFrameWidth( double w );
 | |
|     double gridFrameWidth() const;
 | |
| 
 | |
|     /**In case of annotations, the bounding rectangle can be larger than the map item rectangle
 | |
|     @note this function was added in version 1.4*/
 | |
|     QRectF boundingRect() const;
 | |
|     /**Updates the bounding rect of this item. Call this function before doing any changes related to annotation out of the map rectangle
 | |
|     @note this function was added in version 1.4*/
 | |
|     void updateBoundingRect();
 | |
| 
 | |
|     /**Sets length of the cros segments (if grid style is cross)
 | |
|     @note this function was added in version 1.4*/
 | |
|     void setCrossLength( double l );
 | |
|     double crossLength();
 | |
| 
 | |
|     void setMapRotation( double r );
 | |
| 
 | |
|     void updateItem();
 | |
| 
 | |
|     /**Sets canvas pointer (necessary to query and draw map canvas items)*/
 | |
|     void setMapCanvas( QGraphicsView* canvas /Transfer/ );
 | |
| 
 | |
|     void setDrawCanvasItems( bool b );
 | |
|     bool drawCanvasItems() const;
 | |
| 
 | |
|     /**Returns the conversion factor map units -> mm*/
 | |
|     double mapUnitsToMM() const;
 | |
| 
 | |
|     /**Sets overview frame map. -1 disables the overview frame
 | |
|     @note: this function was added in version 1.9*/
 | |
|     void setOverviewFrameMap( int mapId );
 | |
|     /**Returns id of overview frame (or -1 if no overfiew frame)
 | |
|     @note: this function was added in version 1.9*/
 | |
|     int overviewFrameMapId() const;
 | |
| 
 | |
|     void setOverviewFrameMapSymbol( QgsFillSymbolV2* symbol /Transfer/ );
 | |
|     QgsFillSymbolV2* overviewFrameMapSymbol();
 | |
| 
 | |
|     /**Sets mId to a number not yet used in the composition. mId is kept if it is not in use.
 | |
|         Usually, this function is called before adding the composer map to the composition*/
 | |
|     void assignFreeId();
 | |
| 
 | |
|   signals:
 | |
|     void extentChanged();
 | |
| 
 | |
|   public slots:
 | |
| 
 | |
|     /**Called if map canvas has changed*/
 | |
|     void updateCachedImage( );
 | |
|     /**Call updateCachedImage if item is in render mode*/
 | |
|     void renderModeUpdateCachedImage();
 | |
| };
 |