void QgsComposerItem::drawSelectionBoxes( QPainter* p )
{

  if ( !mComposition )
  {
    return;
  }

  if ( mComposition->plotStyle() == QgsComposition::Preview )
  {
    double sizeLockSymbol = lockSymbolSize();

    if ( mItemPositionLocked )
    {
      //draw lock symbol at upper left edge. Use QImage to be independent of the graphic system
      QString lockIconPath = QgsApplication::activeThemePath() + "/mIconLock.png";
      if ( !QFile::exists( lockIconPath ) )
      {
        lockIconPath = QgsApplication::defaultThemePath() + "/mIconLock.png";
      }

      QImage lockImage( lockIconPath );
      if ( !lockImage.isNull() )
      {
        p->drawImage( QRectF( 0, 0, sizeLockSymbol, sizeLockSymbol ), lockImage, QRectF( 0, 0, lockImage.width(), lockImage.height() ) );
      }
    }
  }
}
Example #2
0
void QgsComposerItem::drawSelectionBoxes( QPainter* p )
{
    if ( !mComposition )
    {
        return;
    }

    if ( mComposition->plotStyle() == QgsComposition::Preview )
    {
        //size of symbol boxes depends on zoom level in composer view
        double rectHandlerSize = rectHandlerBorderTolerance();
        double sizeLockSymbol = lockSymbolSize();

        if ( mItemPositionLocked )
        {
            //draw lock symbol at upper left edge. Use QImage to be independent of the graphic system
            QString lockIconPath = QgsApplication::activeThemePath() + "/mIconLock.png";
            if ( !QFile::exists( lockIconPath ) )
            {
                lockIconPath = QgsApplication::defaultThemePath() + "/mIconLock.png";
            }

            QImage lockImage( lockIconPath );
            if ( !lockImage.isNull() )
            {
                p->drawImage( QRectF( 0, 0, sizeLockSymbol, sizeLockSymbol ), lockImage, QRectF( 0, 0, lockImage.width(), lockImage.height() ) );
            }
        }
        else //draw blue squares
        {
            p->setPen( QColor( 50, 100, 120, 200 ) );
            p->setBrush( QColor( 200, 200, 210, 120 ) );
            p->drawRect( QRectF( 0, 0, rectHandlerSize, rectHandlerSize ) );
            p->drawRect( QRectF( rect().width() - rectHandlerSize, 0, rectHandlerSize, rectHandlerSize ) );
            p->drawRect( QRectF( rect().width() - rectHandlerSize, rect().height() - rectHandlerSize, rectHandlerSize, rectHandlerSize ) );
            p->drawRect( QRectF( 0, rect().height() - rectHandlerSize, rectHandlerSize, rectHandlerSize ) );
        }
    }
}