Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Merge pull request #52376 from nirvn/sensors_framework_3
Sensors GUI registry and configuration widgets
- Loading branch information
Showing
29 changed files
with
1,629 additions
and
11 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
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
156 changes: 156 additions & 0 deletions
156
python/gui/auto_generated/sensor/qgssensorguiregistry.sip.in
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,156 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/gui/sensor/qgssensorguiregistry.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
class QgsSensorAbstractGuiMetadata | ||
{ | ||
%Docstring(signature="appended") | ||
Stores GUI metadata about one sensor class. | ||
|
||
This is a companion to :py:class:`QgsSensorAbstractMetadata`, storing only | ||
the components related to the GUI behavior of sensor. | ||
|
||
.. note:: | ||
|
||
In C++ you can use :py:class:`QgsSensorGuiMetadata` convenience class. | ||
|
||
.. versionadded:: 3.32 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgssensorguiregistry.h" | ||
%End | ||
public: | ||
|
||
QgsSensorAbstractGuiMetadata( const QString &type, const QString &visibleName ); | ||
%Docstring | ||
Constructor for QgsSensorAbstractGuiMetadata with the specified class ``type``. | ||
|
||
``visibleName`` should be set to a translated, user visible name identifying the corresponding sensor type. | ||
%End | ||
|
||
virtual ~QgsSensorAbstractGuiMetadata(); | ||
|
||
QString type() const; | ||
%Docstring | ||
Returns the unique type code for the sensor class. | ||
%End | ||
|
||
QString visibleName() const; | ||
%Docstring | ||
Returns a translated, user visible name identifying the corresponding sensor. | ||
%End | ||
|
||
virtual QIcon creationIcon() const; | ||
%Docstring | ||
Returns an icon representing creation of the sensor type. | ||
%End | ||
|
||
|
||
virtual QgsAbstractSensorWidget *createSensorWidget( QgsAbstractSensor *sensor ) /TransferBack/; | ||
%Docstring | ||
Creates a configuration widget for an ``sensor`` of this type. Can return ``None`` if no configuration GUI is required. | ||
%End | ||
|
||
virtual QgsAbstractSensor *createSensor( QObject *parent ) /TransferBack/; | ||
%Docstring | ||
Creates an instance of the corresponding sensor type. | ||
%End | ||
|
||
}; | ||
|
||
|
||
|
||
class QgsSensorGuiRegistry : QObject | ||
{ | ||
%Docstring(signature="appended") | ||
Registry of available sensor GUI behavior. | ||
|
||
:py:class:`QgsSensorGuiRegistry` is not usually directly created, but rather accessed through | ||
:py:func:`QgsGui.sensorGuiRegistry()`. | ||
|
||
This acts as a companion to :py:class:`QgsSensorRegistry`, handling only | ||
the components related to the GUI behavior of sensors. | ||
|
||
.. versionadded:: 3.32 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgssensorguiregistry.h" | ||
%End | ||
public: | ||
|
||
QgsSensorGuiRegistry( QObject *parent = 0 ); | ||
%Docstring | ||
Creates a new empty sensor GUI registry. | ||
|
||
QgsSensorGuiRegistry is not usually directly created, but rather accessed through | ||
:py:func:`QgsGui.sensorGuiRegistry()`. | ||
%End | ||
~QgsSensorGuiRegistry(); | ||
|
||
|
||
bool populate(); | ||
%Docstring | ||
Populates the registry with standard sensor types. If called on a non-empty registry | ||
then this will have no effect and will return ``False``. | ||
%End | ||
|
||
QgsSensorAbstractGuiMetadata *sensorMetadata( const QString &type ) const; | ||
%Docstring | ||
Returns the metadata for the specified sensor ``type``. Returns ``None`` if | ||
a corresponding sensor type was not found in the registry. | ||
%End | ||
|
||
bool addSensorGuiMetadata( QgsSensorAbstractGuiMetadata *metadata /Transfer/ ); | ||
%Docstring | ||
Registers the GUI metadata for a new sensor type. Takes ownership of the metadata instance. | ||
%End | ||
|
||
|
||
QgsAbstractSensor *createSensor( const QString &type, QObject *parent = 0 ) const /TransferBack/; | ||
%Docstring | ||
Creates a new instance of a sensor given the ``type``. | ||
%End | ||
|
||
QgsAbstractSensorWidget *createSensorWidget( QgsAbstractSensor *sensor ) const /TransferBack/; | ||
%Docstring | ||
Creates a new instance of a sensor configuration widget for the specified ``sensor``. The | ||
``sensor`` doesn't need to live for the duration of the widget, it is only used when creating | ||
the configuration widget to match a sensor type and initiate the widget to match the | ||
``sensor`` settings. | ||
%End | ||
|
||
QMap<QString, QString> sensorTypes() const; | ||
%Docstring | ||
Returns a list of sensor types handled by the registry. | ||
%End | ||
|
||
signals: | ||
|
||
void sensorAdded( const QString &type, const QString &name ); | ||
%Docstring | ||
Emitted whenever a new sensor type is added to the registry, with the specified | ||
``type``. | ||
%End | ||
|
||
private: | ||
QgsSensorGuiRegistry( const QgsSensorGuiRegistry &rh ); | ||
}; | ||
|
||
|
||
|
||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/gui/sensor/qgssensorguiregistry.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,72 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/gui/sensor/qgssensorwidget.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
|
||
|
||
class QgsAbstractSensorWidget : QWidget | ||
{ | ||
%Docstring(signature="appended") | ||
Base class for widgets which allow control over the properties of sensors. | ||
|
||
.. versionadded:: 3.32 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgssensorwidget.h" | ||
%End | ||
public: | ||
|
||
QgsAbstractSensorWidget( QWidget *parent /TransferThis/ = 0 ); | ||
%Docstring | ||
Constructor for QgsAbstractSensorWidget. | ||
|
||
:param parent: parent widget | ||
%End | ||
|
||
virtual QgsAbstractSensor *createSensor() = 0 /Factory/; | ||
%Docstring | ||
Creates a new sensor matching the settings defined in the widget. | ||
%End | ||
|
||
virtual bool updateSensor( QgsAbstractSensor *sensor ) = 0; | ||
%Docstring | ||
Updates an existing ``sensor`` to match the settings defined in the widget. If | ||
``True`` is returned, the ``sensor`` was successfully updated. | ||
|
||
If ``False`` is returned, then the widget could not successfully update | ||
the ``sensor``. | ||
%End | ||
|
||
virtual bool setSensor( QgsAbstractSensor *sensor ) = 0; | ||
%Docstring | ||
Sets the widget settings to match a given ``sensor``. If ``True`` is returned, ``sensor`` | ||
was an acceptable type and the widget has been updated to match | ||
the ``sensor``'s properties. | ||
|
||
If ``False`` is returned, then the widget could not be successfully updated | ||
to show the properties of ``sensor``. | ||
%End | ||
|
||
signals: | ||
|
||
void changed(); | ||
%Docstring | ||
Emitted whenever configuration changes happened on this sensor configuration. | ||
%End | ||
}; | ||
|
||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/gui/sensor/qgssensorwidget.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
Oops, something went wrong.