16 #ifndef QGSLAYOUTITEMGUIREGISTRY_H 
   17 #define QGSLAYOUTITEMGUIREGISTRY_H 
   24 #include <QGraphicsItem>  
   53       FlagNoCreationTools = 1 << 1,  
 
   55     Q_DECLARE_FLAGS( Flags, Flag )
 
   69       , mIsNodeBased( isNodeBased )
 
   70       , mName( visibleName )
 
   79     int type()
 const { 
return mType; }
 
   84     Flags 
flags()
 const { 
return mFlags; }
 
   89     QString 
groupId()
 const { 
return mGroupId; }
 
  157     bool mIsNodeBased = 
false;
 
  201                               bool isNodeBased = 
false,
 
  202                               QgsLayoutItemAbstractGuiMetadata::Flags flags = QgsLayoutItemAbstractGuiMetadata::Flags(),
 
  205       , mIcon( creationIcon )
 
  206       , mWidgetFunc( pfWidget )
 
  207       , mRubberBandFunc( pfRubberBand )
 
  208       , mCreateFunc( pfCreateFunc )
 
  290     void newItemAddedToLayout( 
QgsLayoutItem *item, 
const QVariantMap &properties );
 
  323     QgsLayoutItemGuiGroup( 
const QString &
id = QString(), 
const QString &name = QString(), 
const QIcon &icon = QIcon() )
 
  397     int metadataIdForItemType( 
int type ) 
const;
 
  450     void newItemAddedToLayout( 
int metadataId, 
QgsLayoutItem *item, 
const QVariantMap &properties = QVariantMap() );
 
  485     QAbstractGraphicsShapeItem *createNodeItemRubberBand( 
int metadataId, 
QgsLayoutView *view ) 
SIP_SKIP;
 
  490     QList< int > itemMetadataIds() 
const;
 
  505     QMap< int, QgsLayoutItemAbstractGuiMetadata *> mMetadata;
 
  507     QMap< QString, QgsLayoutItemGuiGroup > mItemGroups;
 
static QIcon getThemeIcon(const QString &name, const QColor &fillColor=QColor(), const QColor &strokeColor=QColor())
Helper to get a theme icon.
Stores GUI metadata about a group of layout item classes.
QString id
Unique (untranslated) group ID string.
QIcon icon
Icon for group.
QgsLayoutItemGuiGroup(const QString &id=QString(), const QString &name=QString(), const QIcon &icon=QIcon())
Constructor for QgsLayoutItemGuiGroup.
QString name
Translated group name.
Registry of available layout item GUI behavior.
QgsLayoutItemGuiRegistry & operator=(const QgsLayoutItemGuiRegistry &rh)=delete
QgsLayoutItemGuiRegistry cannot be copied.
QgsLayoutItemGuiRegistry(const QgsLayoutItemGuiRegistry &rh)=delete
QgsLayoutItemGuiRegistry cannot be copied.
void typeAdded(int metadataId)
Emitted whenever a new item type is added to the registry, with the specified metadataId.
Base class for graphical items within a QgsLayout.
QgsLayoutViewRubberBand is an abstract base class for temporary rubber band items in various shapes,...
A graphical widget to display and interact with QgsLayouts.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
std::function< void(QgsLayoutItem *, const QVariantMap &)> QgsLayoutItemAddedToLayoutFunc
Layout item added to layout callback.
std::function< QgsLayoutViewRubberBand *(QgsLayoutView *)> QgsLayoutItemRubberBandFunc
Layout rubber band creation function.
std::function< QAbstractGraphicsShapeItem *(QgsLayoutView *)> QgsLayoutNodeItemRubberBandFunc
Layout node based rubber band creation function.
std::function< QgsLayoutItemBaseWidget *(QgsLayoutItem *)> QgsLayoutItemWidgetFunc
Layout item configuration widget creation function.
std::function< QgsLayoutItem *(QgsLayout *)> QgsLayoutItemCreateFunc
Layout item creation function.