-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4807 from nyalldawson/layout_item_registry
Create a layout item registry for item types
- Loading branch information
Showing
41 changed files
with
2,120 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/layout/qgslayout.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
class QgsLayout : QGraphicsScene | ||
{ | ||
%Docstring | ||
Base class for layouts, which can contain items such as maps, labels, scalebars, etc. | ||
.. versionadded:: 3.0 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgslayout.h" | ||
%End | ||
public: | ||
|
||
QgsLayout(); | ||
|
||
}; | ||
|
||
|
||
|
||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/layout/qgslayout.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/layout/qgslayoutitem.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
|
||
class QgsLayoutItem : QgsLayoutObject, QGraphicsRectItem | ||
{ | ||
%Docstring | ||
Base class for graphical items within a QgsLayout. | ||
.. versionadded:: 3.0 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgslayoutitem.h" | ||
%End | ||
public: | ||
|
||
QgsLayoutItem( QgsLayout *layout ); | ||
%Docstring | ||
Constructor for QgsLayoutItem, with the specified parent ``layout``. | ||
%End | ||
|
||
virtual void paint( QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget ); | ||
|
||
%Docstring | ||
Handles preparing a paint surface for the layout item and painting the item's | ||
content. Derived classes must not override this method, but instead implement | ||
the pure virtual method QgsLayoutItem.draw. | ||
%End | ||
|
||
protected: | ||
|
||
virtual void drawDebugRect( QPainter *painter ); | ||
%Docstring | ||
Draws a debugging rectangle of the item's current bounds within the specified | ||
painter. | ||
@param painter destination QPainter | ||
%End | ||
|
||
virtual void draw( QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget ) = 0; | ||
%Docstring | ||
Draws the item's contents on a specified ``painter``. | ||
%End | ||
|
||
}; | ||
|
||
|
||
|
||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/layout/qgslayoutitem.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/layout/qgslayoutitemregistry.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
class QgsLayoutItemAbstractMetadata | ||
{ | ||
%Docstring | ||
Stores metadata about one layout item class. | ||
.. note:: | ||
|
||
In C++ you can use QgsSymbolLayerMetadata convenience class. | ||
.. versionadded:: 3.0 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgslayoutitemregistry.h" | ||
%End | ||
public: | ||
|
||
QgsLayoutItemAbstractMetadata( int type, const QString &visibleName ); | ||
%Docstring | ||
Constructor for QgsLayoutItemAbstractMetadata with the specified class ``type`` | ||
and ``visibleName``. | ||
%End | ||
|
||
virtual ~QgsLayoutItemAbstractMetadata(); | ||
|
||
int type() const; | ||
%Docstring | ||
Returns the unique item type code for the layout item class. | ||
:rtype: int | ||
%End | ||
|
||
virtual QIcon icon() const; | ||
%Docstring | ||
Returns an icon representing the layout item type. | ||
:rtype: QIcon | ||
%End | ||
|
||
QString visibleName() const; | ||
%Docstring | ||
Returns a translated, user visible name for the layout item class. | ||
:rtype: str | ||
%End | ||
|
||
virtual QgsLayoutItem *createItem( QgsLayout *layout, const QVariantMap &properties ) = 0 /Factory/; | ||
%Docstring | ||
Creates a layout item of this class for a specified ``layout``, given the map of ``properties``. | ||
:rtype: QgsLayoutItem | ||
%End | ||
|
||
virtual QWidget *createItemWidget() /Factory/; | ||
%Docstring | ||
Creates a configuration widget for layout items of this type. Can return None if no configuration GUI is required. | ||
:rtype: QWidget | ||
%End | ||
|
||
virtual void resolvePaths( QVariantMap &properties, const QgsPathResolver &pathResolver, bool saving ); | ||
%Docstring | ||
Resolve paths in the item's ``properties`` (if there are any paths). | ||
When ``saving`` is true, paths are converted from absolute to relative, | ||
when ``saving`` is false, paths are converted from relative to absolute. | ||
This ensures that paths in project files can be relative, but in item | ||
instances the paths are always absolute. | ||
%End | ||
|
||
}; | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
class QgsLayoutItemRegistry : QObject | ||
{ | ||
%Docstring | ||
Registry of available layout item types. | ||
|
||
QgsLayoutItemRegistry is not usually directly created, but rather accessed through | ||
QgsApplication.layoutItemRegistry(). | ||
|
||
.. versionadded:: 3.0 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgslayoutitemregistry.h" | ||
%End | ||
public: | ||
|
||
enum ItemType | ||
{ | ||
LayoutItem, | ||
|
||
// known | ||
LayoutPage, | ||
|
||
// item | ||
PluginItem, | ||
}; | ||
|
||
QgsLayoutItemRegistry( QObject *parent = 0 ); | ||
%Docstring | ||
Creates a registry and populates it with standard item types. | ||
|
||
QgsLayoutItemRegistry is not usually directly created, but rather accessed through | ||
QgsApplication.layoutItemRegistry(). | ||
%End | ||
|
||
~QgsLayoutItemRegistry(); | ||
|
||
|
||
QgsLayoutItemAbstractMetadata *itemMetadata( int type ) const; | ||
%Docstring | ||
Returns the metadata for the specified item ``type``. Returns None if | ||
a corresponding type was not found in the registry. | ||
:rtype: QgsLayoutItemAbstractMetadata | ||
%End | ||
|
||
bool addLayoutItemType( QgsLayoutItemAbstractMetadata *metadata /Transfer/ ); | ||
%Docstring | ||
Registers a new layout item type. Takes ownership of the metadata instance. | ||
:rtype: bool | ||
%End | ||
|
||
QgsLayoutItem *createItem( int type, QgsLayout *layout, const QVariantMap &properties = QVariantMap() ) const /Factory/; | ||
%Docstring | ||
Creates a new instance of a layout item given the item ``type``, target ``layout`` and ``properties``. | ||
:rtype: QgsLayoutItem | ||
%End | ||
|
||
QWidget *createItemWidget( int type ) const /Factory/; | ||
%Docstring | ||
Creates a new instance of a layout item configuration widget for the specified item ``type``. | ||
:rtype: QWidget | ||
%End | ||
|
||
void resolvePaths( int type, QVariantMap &properties, const QgsPathResolver &pathResolver, bool saving ) const; | ||
%Docstring | ||
Resolve paths in properties of a particular symbol layer. | ||
This normally means converting relative paths to absolute paths when loading | ||
and converting absolute paths to relative paths when saving. | ||
%End | ||
|
||
QMap< int, QString> itemTypes() const; | ||
%Docstring | ||
Returns a map of available item types to translated name. | ||
:rtype: QMap< int, str> | ||
%End | ||
|
||
signals: | ||
|
||
void typeAdded( int type, const QString &name ); | ||
%Docstring | ||
Emitted whenever a new item type is added to the registry, with the specified | ||
``type`` and visible ``name``. | ||
%End | ||
|
||
private: | ||
QgsLayoutItemRegistry( const QgsLayoutItemRegistry &rh ); | ||
}; | ||
|
||
|
||
|
||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/layout/qgslayoutitemregistry.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/layout/qgslayoutobject.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
|
||
class QgsLayoutObject: QObject | ||
{ | ||
%Docstring | ||
A base class for objects which belong to a layout. | ||
.. versionadded:: 3.0 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgslayoutobject.h" | ||
%End | ||
public: | ||
|
||
QgsLayoutObject( QgsLayout *layout ); | ||
%Docstring | ||
Constructor for QgsLayoutObject, with the specified parent ``layout``. | ||
.. note:: | ||
|
||
While ownership of a QgsLayoutObject is not passed to the layout, | ||
classes which are derived from QgsLayoutObject (such as QgsLayoutItem) | ||
may transfer their ownership to a layout upon construction. | ||
%End | ||
|
||
|
||
QgsLayout *layout(); | ||
%Docstring | ||
Returns the layout the object is attached to. | ||
:rtype: QgsLayout | ||
%End | ||
|
||
protected: | ||
|
||
|
||
}; | ||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/layout/qgslayoutobject.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.