diff --git a/resources/function_help/$map b/resources/function_help/$map new file mode 100644 index 00000000000..2df33a72e25 --- /dev/null +++ b/resources/function_help/$map @@ -0,0 +1,16 @@ +
$map+ +
$map → "overview_map" (within a composer item)+ + diff --git a/src/core/composer/qgscomposermap.cpp b/src/core/composer/qgscomposermap.cpp index 2119358b502..c831937aa9d 100644 --- a/src/core/composer/qgscomposermap.cpp +++ b/src/core/composer/qgscomposermap.cpp @@ -28,6 +28,7 @@ #include "qgsscalecalculator.h" #include "qgsvectorlayer.h" #include "qgspallabeling.h" +#include "qgsexpression.h" #include "qgslabel.h" #include "qgslabelattributes.h" @@ -226,6 +227,9 @@ void QgsComposerMap::draw( QPainter *painter, const QgsRectangle& extent, const bool bkLayerCaching = s.value( "/qgis/enable_render_caching", false ).toBool(); s.setValue( "/qgis/enable_render_caching", false ); + //update $map variable. Use QgsComposerItem's id since that is user-definable + QgsExpression::setSpecialColumn( "$map", QgsComposerItem::id() ); + if ( forceWidthScale ) //force wysiwyg line widths / marker sizes { theMapRenderer.render( painter, forceWidthScale ); diff --git a/src/gui/qgsmapcanvas.cpp b/src/gui/qgsmapcanvas.cpp index e475af62105..08ed4b3ca2b 100644 --- a/src/gui/qgsmapcanvas.cpp +++ b/src/gui/qgsmapcanvas.cpp @@ -417,6 +417,9 @@ void QgsMapCanvas::refresh() mDrawing = true; + //update $map variable to canvas + QgsExpression::setSpecialColumn( "$map", tr( "canvas" ) ); + if ( mRenderFlag && !mFrozen ) { clear();
+$map → "canvas" (within the main QGIS main canvas)