mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-03 00:14:12 -05: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* );
 | 
						|
};
 |