QGIS/python/gui/symbology-ng/qgssymbolv2selectordialog.sip
Nyall Dawson 096d46464d Allow setting expression context for symbol widgets and dialogs
This means that symbol selectors can be aware of the correct variable
scope and values for both populating expression builder widgets and
for symbol previews.
2015-09-03 22:46:37 +10:00

76 lines
2.2 KiB
Plaintext

class QgsSymbolV2SelectorDialog : QDialog
{
%TypeHeaderCode
#include <qgssymbolv2selectordialog.h>
%End
public:
QgsSymbolV2SelectorDialog( QgsSymbolV2* symbol, QgsStyleV2* style, const QgsVectorLayer* vl, QWidget* parent /TransferThis/ = 0, bool embedded = false );
//! return menu for "advanced" button - create it if doesn't exist and show the advanced button
QMenu* advancedMenu();
/** Sets the optional expression context used for the widget. This expression context is used for
* evaluating data defined symbol properties and for populating based expression widgets in
* the layer widget.
* @param context expression context pointer. Ownership is transferred to the dialog.
* @note added in QGIS 2.12
* @see expressionContext()
*/
void setExpressionContext( QgsExpressionContext* context /Transfer/ );
/** Returns the expression context used for the dialog, if set. This expression context is used for
* evaluating data defined symbol properties and for populating based expression widgets in
* the dialog.
* @note added in QGIS 2.12
* @see setExpressionContext()
*/
QgsExpressionContext* expressionContext() const;
protected:
//! Reimplements dialog keyPress event so we can ignore it
void keyPressEvent( QKeyEvent * event );
void loadSymbol();
//! @note not available in python bindings
// void loadSymbol( QgsSymbolV2* symbol, SymbolLayerItem* parent );
void updateUi();
void updateLockButton();
//! @note not available in python bindings
// SymbolLayerItem* currentLayerItem();
QgsSymbolLayerV2* currentLayer();
void moveLayerByOffset( int offset );
void setWidget( QWidget* widget );
signals:
void symbolModified();
public slots:
void moveLayerDown();
void moveLayerUp();
void addLayer();
void removeLayer();
void saveSymbol();
void lockLayer();
void layerChanged();
void updateLayerPreview();
void updatePreview();
//! Slot to update tree when a new symbol from style
void symbolChanged();
//! alters tree and sets proper widget when Layer Type is changed
//! @note: The layer is received from the LayerPropertiesWidget
void changeLayer( QgsSymbolLayerV2* layer );
};