2015-12-01 10:04:20 +01:00
|
|
|
/***************************************************************************
|
|
|
|
qgsrelationeditorwidget.sip
|
|
|
|
--------------------------------------
|
|
|
|
Date : 28.11.2015
|
|
|
|
Copyright : (C) 2015 Matthias Kuhn
|
|
|
|
Email : matthias at opengis dot ch
|
|
|
|
***************************************************************************
|
|
|
|
* *
|
|
|
|
* This program 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; either version 2 of the License, or *
|
|
|
|
* (at your option) any later version. *
|
|
|
|
* *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
%ModuleCode
|
|
|
|
#include "qgsrelationeditorwidget.h"
|
|
|
|
%End
|
|
|
|
|
|
|
|
class QgsRelationEditorWidget : QgsCollapsibleGroupBox
|
|
|
|
{
|
|
|
|
%TypeHeaderCode
|
|
|
|
#include <qgsrelationeditorwidget.h>
|
|
|
|
%End
|
|
|
|
|
|
|
|
|
|
|
|
%ConvertToSubClassCode
|
|
|
|
if ( qobject_cast<QgsRelationEditorWidget*>( sipCpp ) )
|
|
|
|
sipType = sipType_QgsRelationEditorWidget;
|
|
|
|
else
|
|
|
|
sipType = 0;
|
|
|
|
%End
|
|
|
|
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
* @param parent parent widget
|
|
|
|
*/
|
2017-05-01 16:42:33 +02:00
|
|
|
QgsRelationEditorWidget( QWidget *parent /TransferThis/= 0 );
|
2015-12-01 10:04:20 +01:00
|
|
|
|
|
|
|
//! Define the view mode for the dual view
|
|
|
|
void setViewMode( QgsDualView::ViewMode mode );
|
|
|
|
|
|
|
|
//! Get the view mode for the dual view
|
|
|
|
QgsDualView::ViewMode viewMode();
|
|
|
|
|
2017-05-01 16:42:33 +02:00
|
|
|
void setRelationFeature( const QgsRelation &relation, const QgsFeature &feature );
|
2015-12-01 10:04:20 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Set the relation(s) for this widget
|
|
|
|
* If only one relation is set, it will act as a simple 1:N relation widget
|
|
|
|
* If both relations are set, it will act as an N:M relation widget
|
|
|
|
* inserting and deleting entries on the intermediate table as required.
|
|
|
|
*
|
|
|
|
* @param relation Relation referencing the edited table
|
|
|
|
* @param nmrelation Optional reference from the referencing table to a 3rd N:M table
|
|
|
|
*/
|
2017-05-01 16:42:33 +02:00
|
|
|
void setRelations( const QgsRelation &relation, const QgsRelation &nmrelation );
|
2015-12-01 10:04:20 +01:00
|
|
|
|
2017-05-01 16:42:33 +02:00
|
|
|
void setFeature( const QgsFeature &feature );
|
2015-12-01 10:04:20 +01:00
|
|
|
|
2017-05-01 16:42:33 +02:00
|
|
|
void setEditorContext( const QgsAttributeEditorContext &context );
|
2015-12-01 10:04:20 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The feature selection manager is responsible for the selected features
|
|
|
|
* which are currently being edited.
|
|
|
|
*/
|
2017-05-01 16:42:33 +02:00
|
|
|
QgsIFeatureSelectionManager *featureSelectionManager();
|
2016-08-19 14:22:40 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Defines if a title label should be shown for this widget.
|
|
|
|
*
|
|
|
|
* @note Added in QGIS 2.18
|
|
|
|
*/
|
|
|
|
bool showLabel() const;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Defines if a title label should be shown for this widget.
|
|
|
|
*
|
|
|
|
* @note Added in QGIS 2.18
|
|
|
|
*/
|
2016-09-21 20:41:35 +02:00
|
|
|
void setShowLabel( bool showLabel );
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Determines if the "link feature" button should be shown
|
|
|
|
*
|
|
|
|
* @note Added in QGIS 2.18
|
|
|
|
*/
|
|
|
|
bool showLinkButton() const;
|
|
|
|
/**
|
|
|
|
* Determines if the "link feature" button should be shown
|
|
|
|
*
|
|
|
|
* @note Added in QGIS 2.18
|
|
|
|
*/
|
|
|
|
void setShowLinkButton( bool showLinkButton );
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Determines if the "unlink feature" button should be shown
|
|
|
|
*
|
|
|
|
* @note Added in QGIS 2.18
|
|
|
|
*/
|
|
|
|
bool showUnlinkButton() const;
|
|
|
|
/**
|
|
|
|
* Determines if the "unlink feature" button should be shown
|
|
|
|
*
|
|
|
|
* @note Added in QGIS 2.18
|
|
|
|
*/
|
|
|
|
void setShowUnlinkButton( bool showUnlinkButton );
|
2015-12-01 10:04:20 +01:00
|
|
|
};
|