/*
* Copyright ( C ) 2010 - 2013 Groupement d ' Intérêt Public pour l ' Education Numérique en Afrique ( GIP ENA )
*
* This file is part of Open - Sankoré .
*
* Open - Sankoré is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , version 3 of the License ,
* with a specific linking exception for the OpenSSL project ' s
* " OpenSSL " library ( or with modified versions of it that use the
* same license as the " OpenSSL " library ) .
*
* Open - Sankoré is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with Open - Sankoré . If not , see < http : //www.gnu.org/licenses/>.
*/
# include "UBGraphicsGroupContainerItemDelegate.h"
# include <QtGui>
# include "UBGraphicsScene.h"
# include "gui/UBResources.h"
# include "domain/UBGraphicsDelegateFrame.h"
# include "domain/UBGraphicsGroupContainerItem.h"
# include "board/UBBoardController.h"
# include "core/memcheck.h"
UBGraphicsGroupContainerItemDelegate : : UBGraphicsGroupContainerItemDelegate ( QGraphicsItem * pDelegated , QObject * parent ) :
UBGraphicsItemDelegate ( pDelegated , parent , GF_COMMON | GF_RESPECT_RATIO ) , mDestroyGroupButton ( 0 )
{
}
UBGraphicsGroupContainerItem * UBGraphicsGroupContainerItemDelegate : : delegated ( )
{
return dynamic_cast < UBGraphicsGroupContainerItem * > ( mDelegated ) ;
}
void UBGraphicsGroupContainerItemDelegate : : decorateMenu ( QMenu * menu )
{
mLockAction = menu - > addAction ( tr ( " Locked " ) , this , SLOT ( lock ( bool ) ) ) ;
QIcon lockIcon ;
lockIcon . addPixmap ( QPixmap ( " :/images/locked.svg " ) , QIcon : : Normal , QIcon : : On ) ;
lockIcon . addPixmap ( QPixmap ( " :/images/unlocked.svg " ) , QIcon : : Normal , QIcon : : Off ) ;
mLockAction - > setIcon ( lockIcon ) ;
mLockAction - > setCheckable ( true ) ;
mShowOnDisplayAction = mMenu - > addAction ( tr ( " Visible on Extended Screen " ) , this , SLOT ( showHide ( bool ) ) ) ;
mShowOnDisplayAction - > setCheckable ( true ) ;
QIcon showIcon ;
showIcon . addPixmap ( QPixmap ( " :/images/eyeOpened.svg " ) , QIcon : : Normal , QIcon : : On ) ;
showIcon . addPixmap ( QPixmap ( " :/images/eyeClosed.svg " ) , QIcon : : Normal , QIcon : : Off ) ;
mShowOnDisplayAction - > setIcon ( showIcon ) ;
}
void UBGraphicsGroupContainerItemDelegate : : buildButtons ( )
{
UBGraphicsItemDelegate : : buildButtons ( ) ;
}
bool UBGraphicsGroupContainerItemDelegate : : mousePressEvent ( QGraphicsSceneMouseEvent * event )
{
Q_UNUSED ( event )
delegated ( ) - > deselectCurrentItem ( ) ;
return false ;
}
bool UBGraphicsGroupContainerItemDelegate : : mouseMoveEvent ( QGraphicsSceneMouseEvent * event )
{
Q_UNUSED ( event )
return false ;
}
bool UBGraphicsGroupContainerItemDelegate : : mouseReleaseEvent ( QGraphicsSceneMouseEvent * event )
{
Q_UNUSED ( event )
return false ;
}