mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-14 00:07:35 -04:00
Start porting item properties widget
This commit is contained in:
parent
d3836e502a
commit
b2414d8d8d
@ -53,6 +53,12 @@ class QgsLayoutItem : QgsLayoutObject, QGraphicsRectItem, QgsLayoutUndoObjectInt
|
||||
enum UndoCommand
|
||||
{
|
||||
UndoIncrementalMove,
|
||||
UndoStrokeColor,
|
||||
UndoStrokeWidth,
|
||||
UndoBackgroundColor,
|
||||
UndoOpacity,
|
||||
UndoSetId,
|
||||
UndoRotation,
|
||||
};
|
||||
|
||||
explicit QgsLayoutItem( QgsLayout *layout, bool manageZValue = true );
|
||||
|
@ -166,6 +166,13 @@ class QgsLayoutObject: QObject, QgsExpressionContextGenerator
|
||||
Refreshes the object, causing a recalculation of any property overrides.
|
||||
%End
|
||||
|
||||
signals:
|
||||
|
||||
void changed();
|
||||
%Docstring
|
||||
Emitted when the object's properties change.
|
||||
%End
|
||||
|
||||
protected:
|
||||
|
||||
bool writeObjectPropertiesToElement( QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context ) const;
|
||||
|
@ -97,6 +97,43 @@ class QgsLayoutItemBaseWidget: QgsPanelWidget
|
||||
|
||||
};
|
||||
|
||||
|
||||
class QgsLayoutItemPropertiesWidget: QWidget
|
||||
{
|
||||
%Docstring
|
||||
A widget for controlling the common properties of layout items (e.g. position and size, background, stroke, frame).
|
||||
This widget can be embedded into other layout item widgets.
|
||||
.. versionadded:: 3.0
|
||||
%End
|
||||
|
||||
%TypeHeaderCode
|
||||
#include "qgslayoutitemwidget.h"
|
||||
%End
|
||||
public:
|
||||
QgsLayoutItemPropertiesWidget( QWidget *parent, QgsLayoutItem *item );
|
||||
|
||||
QgsLayoutItem::ReferencePoint positionMode() const;
|
||||
%Docstring
|
||||
:rtype: QgsLayoutItem.ReferencePoint
|
||||
%End
|
||||
|
||||
void showBackgroundGroup( bool showGroup );
|
||||
|
||||
void showFrameGroup( bool showGroup );
|
||||
|
||||
protected slots:
|
||||
void initializeDataDefinedButtons();
|
||||
%Docstring
|
||||
Initializes data defined buttons to current atlas coverage layer
|
||||
%End
|
||||
void populateDataDefinedButtons();
|
||||
%Docstring
|
||||
Sets data defined button state to match item
|
||||
%End
|
||||
|
||||
};
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* This file has been generated automatically from *
|
||||
* *
|
||||
|
@ -178,6 +178,7 @@ SET(QGIS_APP_SRCS
|
||||
layout/qgslayoutdesignerdialog.cpp
|
||||
layout/qgslayoutguidewidget.cpp
|
||||
layout/qgslayoutappmenuprovider.cpp
|
||||
layout/qgslayoutmapwidget.cpp
|
||||
layout/qgslayoutpagepropertieswidget.cpp
|
||||
layout/qgslayoutpropertieswidget.cpp
|
||||
|
||||
@ -373,6 +374,7 @@ SET (QGIS_APP_MOC_HDRS
|
||||
layout/qgslayoutappmenuprovider.h
|
||||
layout/qgslayoutdesignerdialog.h
|
||||
layout/qgslayoutguidewidget.h
|
||||
layout/qgslayoutmapwidget.h
|
||||
layout/qgslayoutpagepropertieswidget.h
|
||||
layout/qgslayoutpropertieswidget.h
|
||||
|
||||
|
@ -18,6 +18,8 @@
|
||||
#include "qgslayoutitemguiregistry.h"
|
||||
#include "qgslayoutitemregistry.h"
|
||||
#include "qgslayoutviewrubberband.h"
|
||||
#include "qgslayoutmapwidget.h"
|
||||
#include "qgslayoutitemmap.h"
|
||||
|
||||
void QgsLayoutAppUtils::registerGuiForKnownItemTypes()
|
||||
{
|
||||
@ -40,7 +42,11 @@ void QgsLayoutAppUtils::registerGuiForKnownItemTypes()
|
||||
|
||||
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutItem + 1002, QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddLabel.svg" ) ), nullptr, createRubberBand ) );
|
||||
|
||||
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutMap, QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddMap.svg" ) ), nullptr, createRubberBand ) );
|
||||
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutMap, QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddMap.svg" ) ),
|
||||
[ = ]( QgsLayoutItem * item )->QgsLayoutItemBaseWidget *
|
||||
{
|
||||
return new QgsLayoutMapWidget( qobject_cast< QgsLayoutItemMap * >( item ) );
|
||||
}, createRubberBand ) );
|
||||
|
||||
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutRectangle, QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddBasicRectangle.svg" ) ), nullptr, createRubberBand, QStringLiteral( "shapes" ) ) );
|
||||
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutEllipse, QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddBasicCircle.svg" ) ), nullptr, createEllipseBand, QStringLiteral( "shapes" ) ) );
|
||||
|
1759
src/app/layout/qgslayoutmapwidget.cpp
Normal file
1759
src/app/layout/qgslayoutmapwidget.cpp
Normal file
File diff suppressed because it is too large
Load Diff
176
src/app/layout/qgslayoutmapwidget.h
Normal file
176
src/app/layout/qgslayoutmapwidget.h
Normal file
@ -0,0 +1,176 @@
|
||||
/***************************************************************************
|
||||
qgslayoutmapwidget.h
|
||||
----------------------
|
||||
begin : October 2017
|
||||
copyright : (C) 2017 by Nyall Dawson
|
||||
email : nyall dot dawson at gmail dot com
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* 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. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef QGSLAYOUTMAPWIDGET_H
|
||||
#define QGSLAYOUTMAPWIDGET_H
|
||||
|
||||
#include "ui_qgslayoutmapwidgetbase.h"
|
||||
#include "qgslayoutitemwidget.h"
|
||||
|
||||
class QgsMapLayer;
|
||||
class QgsLayoutItemMap;
|
||||
class QgsLayoutMapGrid;
|
||||
class QgsLayoutMapOverview;
|
||||
|
||||
/**
|
||||
* \ingroup app
|
||||
* Input widget for the configuration of QgsLayoutItemMap
|
||||
*/
|
||||
class QgsLayoutMapWidget: public QgsLayoutItemBaseWidget, private Ui::QgsLayoutMapWidgetBase
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit QgsLayoutMapWidget( QgsLayoutItemMap *item );
|
||||
|
||||
public slots:
|
||||
void mScaleLineEdit_editingFinished();
|
||||
void mSetToMapCanvasExtentButton_clicked();
|
||||
void mViewExtentInCanvasButton_clicked();
|
||||
void mUpdatePreviewButton_clicked();
|
||||
void mFollowVisibilityPresetCheckBox_stateChanged( int state );
|
||||
void mKeepLayerListCheckBox_stateChanged( int state );
|
||||
void mKeepLayerStylesCheckBox_stateChanged( int state );
|
||||
void mDrawCanvasItemsCheckBox_stateChanged( int state );
|
||||
void overviewMapChanged( QgsComposerItem *item );
|
||||
void mOverviewFrameStyleButton_clicked();
|
||||
void mOverviewBlendModeComboBox_currentIndexChanged( int index );
|
||||
void mOverviewInvertCheckbox_toggled( bool state );
|
||||
void mOverviewCenterCheckbox_toggled( bool state );
|
||||
|
||||
void mXMinLineEdit_editingFinished();
|
||||
void mXMaxLineEdit_editingFinished();
|
||||
void mYMinLineEdit_editingFinished();
|
||||
void mYMaxLineEdit_editingFinished();
|
||||
|
||||
void mAtlasMarginRadio_toggled( bool checked );
|
||||
|
||||
void mAtlasCheckBox_toggled( bool checked );
|
||||
void mAtlasMarginSpinBox_valueChanged( int value );
|
||||
void mAtlasFixedScaleRadio_toggled( bool checked );
|
||||
void mAtlasPredefinedScaleRadio_toggled( bool checked );
|
||||
|
||||
void mAddGridPushButton_clicked();
|
||||
void mRemoveGridPushButton_clicked();
|
||||
void mGridUpButton_clicked();
|
||||
void mGridDownButton_clicked();
|
||||
|
||||
QgsLayoutMapGrid *currentGrid();
|
||||
void mDrawGridCheckBox_toggled( bool state );
|
||||
void mGridListWidget_currentItemChanged( QListWidgetItem *current, QListWidgetItem *previous );
|
||||
void mGridListWidget_itemChanged( QListWidgetItem *item );
|
||||
void mGridPropertiesButton_clicked();
|
||||
|
||||
//overviews
|
||||
void mAddOverviewPushButton_clicked();
|
||||
void mRemoveOverviewPushButton_clicked();
|
||||
void mOverviewUpButton_clicked();
|
||||
void mOverviewDownButton_clicked();
|
||||
QgsLayoutMapOverview *currentOverview();
|
||||
void mOverviewCheckBox_toggled( bool state );
|
||||
void mOverviewListWidget_currentItemChanged( QListWidgetItem *current, QListWidgetItem *previous );
|
||||
void mOverviewListWidget_itemChanged( QListWidgetItem *item );
|
||||
void setOverviewItemsEnabled( bool enabled );
|
||||
void setOverviewItems( const QgsLayoutMapOverview *overview );
|
||||
void blockOverviewItemsSignals( bool block );
|
||||
|
||||
protected:
|
||||
|
||||
void addPageToToolbox( QWidget *widget, const QString &name );
|
||||
|
||||
//! Sets the current composer map values to the GUI elements
|
||||
virtual void updateGuiElements();
|
||||
|
||||
protected slots:
|
||||
//! Initializes data defined buttons to current atlas coverage layer
|
||||
void populateDataDefinedButtons();
|
||||
|
||||
private slots:
|
||||
|
||||
//! Sets the GUI elements to the values of mPicture
|
||||
void setGuiElementValues();
|
||||
|
||||
//! Enables or disables the atlas margin around feature option depending on coverage layer type
|
||||
void atlasLayerChanged( QgsVectorLayer *layer );
|
||||
|
||||
//! Enables or disables the atlas controls when composer atlas is toggled on/off
|
||||
void compositionAtlasToggled( bool atlasEnabled );
|
||||
|
||||
void aboutToShowKeepLayersVisibilityPresetsMenu();
|
||||
|
||||
void followVisibilityPresetSelected( int currentIndex );
|
||||
void keepLayersVisibilityPresetSelected();
|
||||
|
||||
void onMapThemesChanged();
|
||||
|
||||
void updateOverviewFrameStyleFromWidget();
|
||||
void cleanUpOverviewFrameStyleSelector( QgsPanelWidget *container );
|
||||
|
||||
void mapCrsChanged( const QgsCoordinateReferenceSystem &crs );
|
||||
|
||||
private:
|
||||
QgsLayoutItemMap *mMapItem = nullptr;
|
||||
|
||||
//! Sets extent of composer map from line edits
|
||||
void updateComposerExtentFromGui();
|
||||
|
||||
//! Blocks / unblocks the signals of all GUI elements
|
||||
void blockAllSignals( bool b );
|
||||
|
||||
void rotationChanged( double value );
|
||||
|
||||
#if 0 //TODO
|
||||
void handleChangedFrameDisplay( QgsComposerMapGrid::BorderSide border, const QgsComposerMapGrid::DisplayMode mode );
|
||||
void handleChangedAnnotationDisplay( QgsComposerMapGrid::BorderSide border, const QString &text );
|
||||
void handleChangedAnnotationPosition( QgsComposerMapGrid::BorderSide border, const QString &text );
|
||||
void handleChangedAnnotationDirection( QgsComposerMapGrid::BorderSide border, QgsComposerMapGrid::AnnotationDirection direction );
|
||||
#endif
|
||||
void insertFrameDisplayEntries( QComboBox *c );
|
||||
void insertAnnotationDisplayEntries( QComboBox *c );
|
||||
void insertAnnotationPositionEntries( QComboBox *c );
|
||||
void insertAnnotationDirectionEntries( QComboBox *c );
|
||||
|
||||
#if 0 //TODO
|
||||
void initFrameDisplayBox( QComboBox *c, QgsComposerMapGrid::DisplayMode display );
|
||||
void initAnnotationDisplayBox( QComboBox *c, QgsComposerMapGrid::DisplayMode display );
|
||||
void initAnnotationPositionBox( QComboBox *c, QgsComposerMapGrid::AnnotationPosition pos );
|
||||
void initAnnotationDirectionBox( QComboBox *c, QgsComposerMapGrid::AnnotationDirection dir );
|
||||
#endif
|
||||
//! Enables or disables the atlas margin and predefined scales radio depending on the atlas coverage layer type
|
||||
void toggleAtlasScalingOptionsByLayerType();
|
||||
|
||||
//! Recalculates the bounds for an atlas map when atlas properties change
|
||||
void updateMapForAtlas();
|
||||
|
||||
//! Is there some predefined scales, globally or as project's options ?
|
||||
bool hasPredefinedScales() const;
|
||||
|
||||
QListWidgetItem *addGridListItem( const QString &id, const QString &name );
|
||||
|
||||
void loadGridEntries();
|
||||
|
||||
QListWidgetItem *addOverviewListItem( const QString &id, const QString &name );
|
||||
|
||||
void loadOverviewEntries();
|
||||
|
||||
void updateOverviewFrameSymbolMarker( const QgsLayoutMapOverview *overview );
|
||||
|
||||
void storeCurrentLayerSet();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
@ -414,7 +414,10 @@ bool QgsLayoutItem::readXml( const QDomElement &itemElem, const QDomDocument &do
|
||||
return false;
|
||||
}
|
||||
|
||||
return readPropertiesFromElement( itemElem, doc, context );
|
||||
bool result = readPropertiesFromElement( itemElem, doc, context );
|
||||
emit changed();
|
||||
update();
|
||||
return result;
|
||||
}
|
||||
|
||||
QgsAbstractLayoutUndoCommand *QgsLayoutItem::createCommand( const QString &text, int id, QUndoCommand *parent )
|
||||
@ -475,6 +478,12 @@ void QgsLayoutItem::setFrameJoinStyle( const Qt::PenJoinStyle style )
|
||||
emit frameChanged();
|
||||
}
|
||||
|
||||
void QgsLayoutItem::setBackgroundEnabled( bool drawBackground )
|
||||
{
|
||||
mBackground = drawBackground;
|
||||
update();
|
||||
}
|
||||
|
||||
void QgsLayoutItem::setBackgroundColor( const QColor &color )
|
||||
{
|
||||
mBackgroundColor = color;
|
||||
@ -995,14 +1004,14 @@ void QgsLayoutItem::refreshFrame( bool updateItem )
|
||||
//data defined stroke color set?
|
||||
bool ok = false;
|
||||
QColor frameColor = mDataDefinedProperties.valueAsColor( QgsLayoutObject::FrameColor, createExpressionContext(), mFrameColor, &ok );
|
||||
QPen itemPen = pen();
|
||||
QPen itemPen;
|
||||
if ( ok )
|
||||
{
|
||||
itemPen.setColor( frameColor );
|
||||
itemPen = QPen( frameColor );
|
||||
}
|
||||
else
|
||||
{
|
||||
itemPen.setColor( mFrameColor );
|
||||
itemPen = QPen( mFrameColor );
|
||||
}
|
||||
itemPen.setJoinStyle( mFrameJoinStyle );
|
||||
|
||||
|
@ -84,6 +84,12 @@ class CORE_EXPORT QgsLayoutItem : public QgsLayoutObject, public QGraphicsRectIt
|
||||
enum UndoCommand
|
||||
{
|
||||
UndoIncrementalMove = 1, //!< Layout item incremental movement, e.g. as a result of a keypress
|
||||
UndoStrokeColor, //!< Stroke color adjustment
|
||||
UndoStrokeWidth, //!< Stroke width adjustment
|
||||
UndoBackgroundColor, //!< Background color adjustment
|
||||
UndoOpacity, //!< Opacity adjustment
|
||||
UndoSetId, //!< Change item ID
|
||||
UndoRotation, //!< Rotation adjustment
|
||||
};
|
||||
|
||||
/**
|
||||
@ -384,7 +390,7 @@ class CORE_EXPORT QgsLayoutItem : public QgsLayoutObject, public QGraphicsRectIt
|
||||
* \see hasBackground()
|
||||
* \see setBackgroundColor()
|
||||
*/
|
||||
void setBackgroundEnabled( bool drawBackground ) { mBackground = drawBackground; }
|
||||
void setBackgroundEnabled( bool drawBackground );
|
||||
|
||||
/**
|
||||
* Returns the background color for this item. This is only used if hasBackground()
|
||||
|
@ -279,6 +279,7 @@ bool QgsLayoutItemGroup::readXml( const QDomElement &itemElement, const QDomDocu
|
||||
|
||||
resetBoundingRect();
|
||||
|
||||
emit changed();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -189,6 +189,13 @@ class CORE_EXPORT QgsLayoutObject: public QObject, public QgsExpressionContextGe
|
||||
*/
|
||||
virtual void refresh() {}
|
||||
|
||||
signals:
|
||||
|
||||
/**
|
||||
* Emitted when the object's properties change.
|
||||
*/
|
||||
void changed();
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include "qgslayoutitemwidget.h"
|
||||
#include "qgspropertyoverridebutton.h"
|
||||
#include "qgslayout.h"
|
||||
|
||||
#include "qgsproject.h"
|
||||
|
||||
//
|
||||
// QgsLayoutConfigObject
|
||||
@ -154,3 +154,739 @@ QgsAtlasComposition *QgsLayoutItemBaseWidget::atlasComposition() const
|
||||
return mConfigObject->atlasComposition();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
|
||||
|
||||
//QgsLayoutItemPropertiesWidget
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::updateVariables()
|
||||
{
|
||||
QgsExpressionContext context = mItem->createExpressionContext();
|
||||
mVariableEditor->setContext( &context );
|
||||
int editableIndex = context.indexOfScope( tr( "Composer Item" ) );
|
||||
if ( editableIndex >= 0 )
|
||||
mVariableEditor->setEditableScopeIndex( editableIndex );
|
||||
}
|
||||
|
||||
QgsLayoutItemPropertiesWidget::QgsLayoutItemPropertiesWidget( QWidget *parent, QgsLayoutItem *item )
|
||||
: QWidget( parent )
|
||||
, mItem( item )
|
||||
, mConfigObject( new QgsLayoutConfigObject( this, item ) )
|
||||
, mFreezeXPosSpin( false )
|
||||
, mFreezeYPosSpin( false )
|
||||
, mFreezeWidthSpin( false )
|
||||
, mFreezeHeightSpin( false )
|
||||
, mFreezePageSpin( false )
|
||||
{
|
||||
|
||||
setupUi( this );
|
||||
connect( mFrameColorButton, &QgsColorButton::colorChanged, this, &QgsLayoutItemPropertiesWidget::mFrameColorButton_colorChanged );
|
||||
connect( mBackgroundColorButton, &QgsColorButton::colorChanged, this, &QgsLayoutItemPropertiesWidget::mBackgroundColorButton_colorChanged );
|
||||
connect( mStrokeWidthSpinBox, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsLayoutItemPropertiesWidget::mStrokeWidthSpinBox_valueChanged );
|
||||
connect( mStrokeUnitsComboBox, &QgsLayoutUnitsComboBox::changed, this, &QgsLayoutItemPropertiesWidget::strokeUnitChanged );
|
||||
connect( mFrameGroupBox, &QgsCollapsibleGroupBoxBasic::toggled, this, &QgsLayoutItemPropertiesWidget::mFrameGroupBox_toggled );
|
||||
connect( mFrameJoinStyleCombo, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsLayoutItemPropertiesWidget::mFrameJoinStyleCombo_currentIndexChanged );
|
||||
connect( mBackgroundGroupBox, &QgsCollapsibleGroupBoxBasic::toggled, this, &QgsLayoutItemPropertiesWidget::mBackgroundGroupBox_toggled );
|
||||
connect( mItemIdLineEdit, &QLineEdit::editingFinished, this, &QgsLayoutItemPropertiesWidget::mItemIdLineEdit_editingFinished );
|
||||
connect( mPageSpinBox, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), this, &QgsLayoutItemPropertiesWidget::mPageSpinBox_valueChanged );
|
||||
connect( mXPosSpin, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsLayoutItemPropertiesWidget::mXPosSpin_valueChanged );
|
||||
connect( mYPosSpin, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsLayoutItemPropertiesWidget::mYPosSpin_valueChanged );
|
||||
connect( mWidthSpin, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsLayoutItemPropertiesWidget::mWidthSpin_valueChanged );
|
||||
connect( mHeightSpin, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsLayoutItemPropertiesWidget::mHeightSpin_valueChanged );
|
||||
connect( mUpperLeftCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutItemPropertiesWidget::mUpperLeftCheckBox_stateChanged );
|
||||
connect( mUpperMiddleCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutItemPropertiesWidget::mUpperMiddleCheckBox_stateChanged );
|
||||
connect( mUpperRightCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutItemPropertiesWidget::mUpperRightCheckBox_stateChanged );
|
||||
connect( mMiddleLeftCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutItemPropertiesWidget::mMiddleLeftCheckBox_stateChanged );
|
||||
connect( mMiddleCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutItemPropertiesWidget::mMiddleCheckBox_stateChanged );
|
||||
connect( mMiddleRightCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutItemPropertiesWidget::mMiddleRightCheckBox_stateChanged );
|
||||
connect( mLowerLeftCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutItemPropertiesWidget::mLowerLeftCheckBox_stateChanged );
|
||||
connect( mLowerMiddleCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutItemPropertiesWidget::mLowerMiddleCheckBox_stateChanged );
|
||||
connect( mLowerRightCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutItemPropertiesWidget::mLowerRightCheckBox_stateChanged );
|
||||
connect( mBlendModeCombo, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsLayoutItemPropertiesWidget::mBlendModeCombo_currentIndexChanged );
|
||||
connect( mItemRotationSpinBox, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsLayoutItemPropertiesWidget::mItemRotationSpinBox_valueChanged );
|
||||
connect( mExcludeFromPrintsCheckBox, &QCheckBox::toggled, this, &QgsLayoutItemPropertiesWidget::mExcludeFromPrintsCheckBox_toggled );
|
||||
|
||||
mItemRotationSpinBox->setClearValue( 0 );
|
||||
mStrokeUnitsComboBox->linkToWidget( mStrokeWidthSpinBox );
|
||||
mStrokeUnitsComboBox->setConverter( &mItem->layout()->context().measurementConverter() );
|
||||
|
||||
|
||||
//make button exclusive
|
||||
QButtonGroup *buttonGroup = new QButtonGroup( this );
|
||||
buttonGroup->addButton( mUpperLeftCheckBox );
|
||||
buttonGroup->addButton( mUpperMiddleCheckBox );
|
||||
buttonGroup->addButton( mUpperRightCheckBox );
|
||||
buttonGroup->addButton( mMiddleLeftCheckBox );
|
||||
buttonGroup->addButton( mMiddleCheckBox );
|
||||
buttonGroup->addButton( mMiddleRightCheckBox );
|
||||
buttonGroup->addButton( mLowerLeftCheckBox );
|
||||
buttonGroup->addButton( mLowerMiddleCheckBox );
|
||||
buttonGroup->addButton( mLowerRightCheckBox );
|
||||
buttonGroup->setExclusive( true );
|
||||
|
||||
initializeDataDefinedButtons();
|
||||
|
||||
setValuesForGuiElements();
|
||||
|
||||
#if 0 //TODO
|
||||
connect( mItem->composition(), &QgsComposition::paperSizeChanged, this, &QgsLayoutItemPropertiesWidget::setValuesForGuiPositionElements );
|
||||
connect( mItem, &QgsComposerItem::sizeChanged, this, &QgsLayoutItemPropertiesWidget::setValuesForGuiPositionElements );
|
||||
#endif
|
||||
|
||||
connect( mItem, &QgsLayoutObject::changed, this, &QgsLayoutItemPropertiesWidget::setValuesForGuiNonPositionElements );
|
||||
|
||||
connect( mOpacityWidget, &QgsOpacityWidget::opacityChanged, this, &QgsLayoutItemPropertiesWidget::opacityChanged );
|
||||
|
||||
updateVariables();
|
||||
connect( mVariableEditor, &QgsVariableEditorWidget::scopeChanged, this, &QgsLayoutItemPropertiesWidget::variablesChanged );
|
||||
// listen out for variable edits
|
||||
connect( QgsApplication::instance(), &QgsApplication::customVariablesChanged, this, &QgsLayoutItemPropertiesWidget::updateVariables );
|
||||
connect( mItem->layout()->project(), &QgsProject::customVariablesChanged, this, &QgsLayoutItemPropertiesWidget::updateVariables );
|
||||
|
||||
if ( mItem->layout() )
|
||||
connect( mItem->layout(), &QgsLayout::variablesChanged, this, &QgsLayoutItemPropertiesWidget::updateVariables );
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::showBackgroundGroup( bool showGroup )
|
||||
{
|
||||
mBackgroundGroupBox->setVisible( showGroup );
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::showFrameGroup( bool showGroup )
|
||||
{
|
||||
mFrameGroupBox->setVisible( showGroup );
|
||||
}
|
||||
|
||||
//slots
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mFrameColorButton_colorChanged( const QColor &newFrameColor )
|
||||
{
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Change Frame Color" ), QgsLayoutItem::UndoStrokeColor );
|
||||
mItem->setFrameStrokeColor( newFrameColor );
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
mItem->update();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mBackgroundColorButton_colorChanged( const QColor &newBackgroundColor )
|
||||
{
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Change Background Color" ), QgsLayoutItem::UndoBackgroundColor );
|
||||
mItem->setBackgroundColor( newBackgroundColor );
|
||||
|
||||
#if 0 //TODO
|
||||
//if the item is a composer map, we need to regenerate the map image
|
||||
//because it usually is cached
|
||||
if ( QgsComposerMap *cm = qobject_cast<QgsComposerMap *>( mItem ) )
|
||||
{
|
||||
cm->invalidateCache();
|
||||
}
|
||||
else
|
||||
{
|
||||
mItem->updateItem();
|
||||
}
|
||||
#endif
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::changeItemPosition()
|
||||
{
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Move Item" ) );
|
||||
|
||||
double x = mXPosSpin->value();
|
||||
double y = mYPosSpin->value();
|
||||
double width = mWidthSpin->value();
|
||||
double height = mHeightSpin->value();
|
||||
|
||||
#if 0 //TODO
|
||||
mItem->setItemPosition( x, y, width, height, positionMode(), false, mPageSpinBox->value() );
|
||||
#endif
|
||||
mItem->update();
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::variablesChanged()
|
||||
{
|
||||
#if 0 //TODO
|
||||
QgsExpressionContextUtils::setComposerItemVariables( mItem, mVariableEditor->variablesInActiveScope() );
|
||||
#endif
|
||||
}
|
||||
|
||||
QgsLayoutItem::ReferencePoint QgsLayoutItemPropertiesWidget::positionMode() const
|
||||
{
|
||||
if ( mUpperLeftCheckBox->checkState() == Qt::Checked )
|
||||
{
|
||||
return QgsLayoutItem::UpperLeft;
|
||||
}
|
||||
else if ( mUpperMiddleCheckBox->checkState() == Qt::Checked )
|
||||
{
|
||||
return QgsLayoutItem::UpperMiddle;
|
||||
}
|
||||
else if ( mUpperRightCheckBox->checkState() == Qt::Checked )
|
||||
{
|
||||
return QgsLayoutItem::UpperRight;
|
||||
}
|
||||
else if ( mMiddleLeftCheckBox->checkState() == Qt::Checked )
|
||||
{
|
||||
return QgsLayoutItem::MiddleLeft;
|
||||
}
|
||||
else if ( mMiddleCheckBox->checkState() == Qt::Checked )
|
||||
{
|
||||
return QgsLayoutItem::Middle;
|
||||
}
|
||||
else if ( mMiddleRightCheckBox->checkState() == Qt::Checked )
|
||||
{
|
||||
return QgsLayoutItem::MiddleRight;
|
||||
}
|
||||
else if ( mLowerLeftCheckBox->checkState() == Qt::Checked )
|
||||
{
|
||||
return QgsLayoutItem::LowerLeft;
|
||||
}
|
||||
else if ( mLowerMiddleCheckBox->checkState() == Qt::Checked )
|
||||
{
|
||||
return QgsLayoutItem::LowerMiddle;
|
||||
}
|
||||
else if ( mLowerRightCheckBox->checkState() == Qt::Checked )
|
||||
{
|
||||
return QgsLayoutItem::LowerRight;
|
||||
}
|
||||
return QgsLayoutItem::UpperLeft;
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mStrokeWidthSpinBox_valueChanged( double d )
|
||||
{
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Change Frame Stroke Width" ), QgsLayoutItem::UndoStrokeWidth );
|
||||
mItem->setFrameStrokeWidth( QgsLayoutMeasurement( d, mStrokeUnitsComboBox->unit() ) );
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::strokeUnitChanged( QgsUnitTypes::LayoutUnit unit )
|
||||
{
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Change Frame Stroke Width" ), QgsLayoutItem::UndoStrokeWidth );
|
||||
mItem->setFrameStrokeWidth( QgsLayoutMeasurement( mStrokeWidthSpinBox->value(), unit ) );
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mFrameJoinStyleCombo_currentIndexChanged( int index )
|
||||
{
|
||||
Q_UNUSED( index );
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Change Frame Join Style" ) );
|
||||
mItem->setFrameJoinStyle( mFrameJoinStyleCombo->penJoinStyle() );
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mFrameGroupBox_toggled( bool state )
|
||||
{
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, state ? tr( "Enable Frame" ) : tr( "Disable Frame" ) );
|
||||
mItem->setFrameEnabled( state );
|
||||
mItem->update();
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mBackgroundGroupBox_toggled( bool state )
|
||||
{
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, state ? tr( "Enable Background" ) : tr( "Disable Background" ) );
|
||||
mItem->setBackgroundEnabled( state );
|
||||
|
||||
#if 0 //TODO
|
||||
//if the item is a composer map, we need to regenerate the map image
|
||||
//because it usually is cached
|
||||
if ( QgsComposerMap *cm = qobject_cast<QgsComposerMap *>( mItem ) )
|
||||
{
|
||||
cm->invalidateCache();
|
||||
}
|
||||
else
|
||||
{
|
||||
mItem->updateItem();
|
||||
}
|
||||
#endif
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::setValuesForGuiPositionElements()
|
||||
{
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mXPosSpin->blockSignals( true );
|
||||
mYPosSpin->blockSignals( true );
|
||||
mWidthSpin->blockSignals( true );
|
||||
mHeightSpin->blockSignals( true );
|
||||
mUpperLeftCheckBox->blockSignals( true );
|
||||
mUpperMiddleCheckBox->blockSignals( true );
|
||||
mUpperRightCheckBox->blockSignals( true );
|
||||
mMiddleLeftCheckBox->blockSignals( true );
|
||||
mMiddleCheckBox->blockSignals( true );
|
||||
mMiddleRightCheckBox->blockSignals( true );
|
||||
mLowerLeftCheckBox->blockSignals( true );
|
||||
mLowerMiddleCheckBox->blockSignals( true );
|
||||
mLowerRightCheckBox->blockSignals( true );
|
||||
mPageSpinBox->blockSignals( true );
|
||||
|
||||
QPointF pos; //TODO = mItem->pagePos();
|
||||
|
||||
switch ( mItem->referencePoint() )
|
||||
{
|
||||
case QgsLayoutItem::UpperLeft:
|
||||
{
|
||||
mUpperLeftCheckBox->setChecked( true );
|
||||
if ( !mFreezeXPosSpin )
|
||||
mXPosSpin->setValue( pos.x() );
|
||||
if ( !mFreezeYPosSpin )
|
||||
mYPosSpin->setValue( pos.y() );
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsLayoutItem::UpperMiddle:
|
||||
{
|
||||
mUpperMiddleCheckBox->setChecked( true );
|
||||
if ( !mFreezeXPosSpin )
|
||||
mXPosSpin->setValue( pos.x() + mItem->rect().width() / 2.0 );
|
||||
if ( !mFreezeYPosSpin )
|
||||
mYPosSpin->setValue( pos.y() );
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsLayoutItem::UpperRight:
|
||||
{
|
||||
mUpperRightCheckBox->setChecked( true );
|
||||
if ( !mFreezeXPosSpin )
|
||||
mXPosSpin->setValue( pos.x() + mItem->rect().width() );
|
||||
if ( !mFreezeYPosSpin )
|
||||
mYPosSpin->setValue( pos.y() );
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsLayoutItem::MiddleLeft:
|
||||
{
|
||||
mMiddleLeftCheckBox->setChecked( true );
|
||||
if ( !mFreezeXPosSpin )
|
||||
mXPosSpin->setValue( pos.x() );
|
||||
if ( !mFreezeYPosSpin )
|
||||
mYPosSpin->setValue( pos.y() + mItem->rect().height() / 2.0 );
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsLayoutItem::Middle:
|
||||
{
|
||||
mMiddleCheckBox->setChecked( true );
|
||||
if ( !mFreezeXPosSpin )
|
||||
mXPosSpin->setValue( pos.x() + mItem->rect().width() / 2.0 );
|
||||
if ( !mFreezeYPosSpin )
|
||||
mYPosSpin->setValue( pos.y() + mItem->rect().height() / 2.0 );
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsLayoutItem::MiddleRight:
|
||||
{
|
||||
mMiddleRightCheckBox->setChecked( true );
|
||||
if ( !mFreezeXPosSpin )
|
||||
mXPosSpin->setValue( pos.x() + mItem->rect().width() );
|
||||
if ( !mFreezeYPosSpin )
|
||||
mYPosSpin->setValue( pos.y() + mItem->rect().height() / 2.0 );
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsLayoutItem::LowerLeft:
|
||||
{
|
||||
mLowerLeftCheckBox->setChecked( true );
|
||||
if ( !mFreezeXPosSpin )
|
||||
mXPosSpin->setValue( pos.x() );
|
||||
if ( !mFreezeYPosSpin )
|
||||
mYPosSpin->setValue( pos.y() + mItem->rect().height() );
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsLayoutItem::LowerMiddle:
|
||||
{
|
||||
mLowerMiddleCheckBox->setChecked( true );
|
||||
if ( !mFreezeXPosSpin )
|
||||
mXPosSpin->setValue( pos.x() + mItem->rect().width() / 2.0 );
|
||||
if ( !mFreezeYPosSpin )
|
||||
mYPosSpin->setValue( pos.y() + mItem->rect().height() );
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsLayoutItem::LowerRight:
|
||||
{
|
||||
mLowerRightCheckBox->setChecked( true );
|
||||
if ( !mFreezeXPosSpin )
|
||||
mXPosSpin->setValue( pos.x() + mItem->rect().width() );
|
||||
if ( !mFreezeYPosSpin )
|
||||
mYPosSpin->setValue( pos.y() + mItem->rect().height() );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !mFreezeWidthSpin )
|
||||
mWidthSpin->setValue( mItem->rect().width() );
|
||||
if ( !mFreezeHeightSpin )
|
||||
mHeightSpin->setValue( mItem->rect().height() );
|
||||
#if 0 //TODO
|
||||
if ( !mFreezePageSpin )
|
||||
mPageSpinBox->setValue( mItem->page() );
|
||||
#endif
|
||||
|
||||
mXPosSpin->blockSignals( false );
|
||||
mYPosSpin->blockSignals( false );
|
||||
mWidthSpin->blockSignals( false );
|
||||
mHeightSpin->blockSignals( false );
|
||||
mUpperLeftCheckBox->blockSignals( false );
|
||||
mUpperMiddleCheckBox->blockSignals( false );
|
||||
mUpperRightCheckBox->blockSignals( false );
|
||||
mMiddleLeftCheckBox->blockSignals( false );
|
||||
mMiddleCheckBox->blockSignals( false );
|
||||
mMiddleRightCheckBox->blockSignals( false );
|
||||
mLowerLeftCheckBox->blockSignals( false );
|
||||
mLowerMiddleCheckBox->blockSignals( false );
|
||||
mLowerRightCheckBox->blockSignals( false );
|
||||
mPageSpinBox->blockSignals( false );
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::setValuesForGuiNonPositionElements()
|
||||
{
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mStrokeWidthSpinBox->blockSignals( true );
|
||||
mStrokeUnitsComboBox->blockSignals( true );
|
||||
mFrameGroupBox->blockSignals( true );
|
||||
mBackgroundGroupBox->blockSignals( true );
|
||||
mItemIdLineEdit->blockSignals( true );
|
||||
mBlendModeCombo->blockSignals( true );
|
||||
mOpacityWidget->blockSignals( true );
|
||||
mFrameColorButton->blockSignals( true );
|
||||
mFrameJoinStyleCombo->blockSignals( true );
|
||||
mBackgroundColorButton->blockSignals( true );
|
||||
mItemRotationSpinBox->blockSignals( true );
|
||||
mExcludeFromPrintsCheckBox->blockSignals( true );
|
||||
|
||||
mBackgroundColorButton->setColor( mItem->backgroundColor() );
|
||||
mFrameColorButton->setColor( mItem->frameStrokeColor() );
|
||||
mStrokeUnitsComboBox->setUnit( mItem->frameStrokeWidth().units() );
|
||||
mStrokeWidthSpinBox->setValue( mItem->frameStrokeWidth().length() );
|
||||
mFrameJoinStyleCombo->setPenJoinStyle( mItem->frameJoinStyle() );
|
||||
mItemIdLineEdit->setText( mItem->id() );
|
||||
mFrameGroupBox->setChecked( mItem->hasFrame() );
|
||||
mBackgroundGroupBox->setChecked( mItem->hasBackground() );
|
||||
#if 0//TODO
|
||||
mBlendModeCombo->setBlendMode( mItem->blendMode() );
|
||||
mOpacityWidget->setOpacity( mItem->itemOpacity() );
|
||||
mItemRotationSpinBox->setValue( mItem->itemRotation( QgsComposerObject::OriginalValue ) );
|
||||
mExcludeFromPrintsCheckBox->setChecked( mItem->excludeFromExports( QgsComposerObject::OriginalValue ) );
|
||||
#endif
|
||||
|
||||
mBackgroundColorButton->blockSignals( false );
|
||||
mFrameColorButton->blockSignals( false );
|
||||
mFrameJoinStyleCombo->blockSignals( false );
|
||||
mStrokeWidthSpinBox->blockSignals( false );
|
||||
mStrokeUnitsComboBox->blockSignals( false );
|
||||
mFrameGroupBox->blockSignals( false );
|
||||
mBackgroundGroupBox->blockSignals( false );
|
||||
mItemIdLineEdit->blockSignals( false );
|
||||
mBlendModeCombo->blockSignals( false );
|
||||
mOpacityWidget->blockSignals( false );
|
||||
mItemRotationSpinBox->blockSignals( false );
|
||||
mExcludeFromPrintsCheckBox->blockSignals( false );
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::initializeDataDefinedButtons()
|
||||
{
|
||||
mConfigObject->initializeDataDefinedButton( mXPositionDDBtn, QgsLayoutObject::PositionX );
|
||||
mConfigObject->initializeDataDefinedButton( mYPositionDDBtn, QgsLayoutObject::PositionY );
|
||||
mConfigObject->initializeDataDefinedButton( mWidthDDBtn, QgsLayoutObject::ItemWidth );
|
||||
mConfigObject->initializeDataDefinedButton( mHeightDDBtn, QgsLayoutObject::ItemHeight );
|
||||
mConfigObject->initializeDataDefinedButton( mItemRotationDDBtn, QgsLayoutObject::ItemRotation );
|
||||
mConfigObject->initializeDataDefinedButton( mOpacityDDBtn, QgsLayoutObject::Opacity );
|
||||
mConfigObject->initializeDataDefinedButton( mBlendModeDDBtn, QgsLayoutObject::BlendMode );
|
||||
mConfigObject->initializeDataDefinedButton( mExcludePrintsDDBtn, QgsLayoutObject::ExcludeFromExports );
|
||||
mConfigObject->initializeDataDefinedButton( mItemFrameColorDDBtn, QgsLayoutObject::FrameColor );
|
||||
mConfigObject->initializeDataDefinedButton( mItemBackgroundColorDDBtn, QgsLayoutObject::BackgroundColor );
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::populateDataDefinedButtons()
|
||||
{
|
||||
const QList< QgsPropertyOverrideButton * > buttons = findChildren< QgsPropertyOverrideButton * >();
|
||||
for ( QgsPropertyOverrideButton *button : buttons )
|
||||
{
|
||||
mConfigObject->updateDataDefinedButton( button );
|
||||
}
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::setValuesForGuiElements()
|
||||
{
|
||||
if ( !mItem )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
mBackgroundColorButton->setColorDialogTitle( tr( "Select Background Color" ) );
|
||||
mBackgroundColorButton->setAllowOpacity( true );
|
||||
mBackgroundColorButton->setContext( QStringLiteral( "composer" ) );
|
||||
mFrameColorButton->setColorDialogTitle( tr( "Select Frame Color" ) );
|
||||
mFrameColorButton->setAllowOpacity( true );
|
||||
mFrameColorButton->setContext( QStringLiteral( "composer" ) );
|
||||
|
||||
setValuesForGuiPositionElements();
|
||||
setValuesForGuiNonPositionElements();
|
||||
populateDataDefinedButtons();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mBlendModeCombo_currentIndexChanged( int index )
|
||||
{
|
||||
Q_UNUSED( index );
|
||||
if ( mItem )
|
||||
{
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Change Blend Mode" ) );
|
||||
#if 0 //TODO
|
||||
mItem->setBlendMode( mBlendModeCombo->blendMode() );
|
||||
#endif
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::opacityChanged( double value )
|
||||
{
|
||||
if ( mItem )
|
||||
{
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Change Opacity" ), QgsLayoutItem::UndoOpacity );
|
||||
#if 0 //TODO
|
||||
mItem->setItemOpacity( value );
|
||||
#endif
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mItemIdLineEdit_editingFinished()
|
||||
{
|
||||
if ( mItem )
|
||||
{
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Change Item ID" ), QgsLayoutItem::UndoSetId );
|
||||
mItem->setId( mItemIdLineEdit->text() );
|
||||
mItemIdLineEdit->setText( mItem->id() );
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mPageSpinBox_valueChanged( int )
|
||||
{
|
||||
mFreezePageSpin = true;
|
||||
changeItemPosition();
|
||||
mFreezePageSpin = false;
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mXPosSpin_valueChanged( double )
|
||||
{
|
||||
mFreezeXPosSpin = true;
|
||||
changeItemPosition();
|
||||
mFreezeXPosSpin = false;
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mYPosSpin_valueChanged( double )
|
||||
{
|
||||
mFreezeYPosSpin = true;
|
||||
changeItemPosition();
|
||||
mFreezeYPosSpin = false;
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mWidthSpin_valueChanged( double )
|
||||
{
|
||||
mFreezeWidthSpin = true;
|
||||
changeItemPosition();
|
||||
mFreezeWidthSpin = false;
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mHeightSpin_valueChanged( double )
|
||||
{
|
||||
mFreezeHeightSpin = true;
|
||||
changeItemPosition();
|
||||
mFreezeHeightSpin = false;
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mUpperLeftCheckBox_stateChanged( int state )
|
||||
{
|
||||
if ( state != Qt::Checked )
|
||||
return;
|
||||
if ( mItem )
|
||||
{
|
||||
#if 0 // TODO
|
||||
mItem->setItemPosition( mItem->pos().x(), mItem->pos().y(), QgsComposerItem::UpperLeft );
|
||||
#endif
|
||||
}
|
||||
setValuesForGuiPositionElements();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mUpperMiddleCheckBox_stateChanged( int state )
|
||||
{
|
||||
if ( state != Qt::Checked )
|
||||
return;
|
||||
if ( mItem )
|
||||
{
|
||||
#if 0 //TODO
|
||||
mItem->setItemPosition( mItem->pos().x() + mItem->rect().width() / 2.0,
|
||||
mItem->pos().y(), QgsComposerItem::UpperMiddle );
|
||||
#endif
|
||||
}
|
||||
setValuesForGuiPositionElements();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mUpperRightCheckBox_stateChanged( int state )
|
||||
{
|
||||
if ( state != Qt::Checked )
|
||||
return;
|
||||
if ( mItem )
|
||||
{
|
||||
#if 0 //TODO
|
||||
mItem->setItemPosition( mItem->pos().x() + mItem->rect().width(),
|
||||
mItem->pos().y(), QgsComposerItem::UpperRight );
|
||||
#endif
|
||||
}
|
||||
setValuesForGuiPositionElements();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mMiddleLeftCheckBox_stateChanged( int state )
|
||||
{
|
||||
if ( state != Qt::Checked )
|
||||
return;
|
||||
if ( mItem )
|
||||
{
|
||||
#if 0 //TODO
|
||||
mItem->setItemPosition( mItem->pos().x(),
|
||||
mItem->pos().y() + mItem->rect().height() / 2.0, QgsComposerItem::MiddleLeft );
|
||||
#endif
|
||||
}
|
||||
setValuesForGuiPositionElements();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mMiddleCheckBox_stateChanged( int state )
|
||||
{
|
||||
if ( state != Qt::Checked )
|
||||
return;
|
||||
if ( mItem )
|
||||
{
|
||||
#if 0 //TODO
|
||||
mItem->setItemPosition( mItem->pos().x() + mItem->rect().width() / 2.0,
|
||||
mItem->pos().y() + mItem->rect().height() / 2.0, QgsComposerItem::Middle );
|
||||
#endif
|
||||
}
|
||||
setValuesForGuiPositionElements();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mMiddleRightCheckBox_stateChanged( int state )
|
||||
{
|
||||
if ( state != Qt::Checked )
|
||||
return;
|
||||
if ( mItem )
|
||||
{
|
||||
#if 0 //TODO
|
||||
mItem->setItemPosition( mItem->pos().x() + mItem->rect().width(),
|
||||
mItem->pos().y() + mItem->rect().height() / 2.0, QgsComposerItem::MiddleRight );
|
||||
#endif
|
||||
}
|
||||
setValuesForGuiPositionElements();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mLowerLeftCheckBox_stateChanged( int state )
|
||||
{
|
||||
if ( state != Qt::Checked )
|
||||
return;
|
||||
if ( mItem )
|
||||
{
|
||||
#if 0 //TODO
|
||||
mItem->setItemPosition( mItem->pos().x(),
|
||||
mItem->pos().y() + mItem->rect().height(), QgsComposerItem::LowerLeft );
|
||||
#endif
|
||||
}
|
||||
setValuesForGuiPositionElements();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mLowerMiddleCheckBox_stateChanged( int state )
|
||||
{
|
||||
if ( state != Qt::Checked )
|
||||
return;
|
||||
if ( mItem )
|
||||
{
|
||||
#if 0 //TODO
|
||||
mItem->setItemPosition( mItem->pos().x() + mItem->rect().width() / 2.0,
|
||||
mItem->pos().y() + mItem->rect().height(), QgsComposerItem::LowerMiddle );
|
||||
#endif
|
||||
}
|
||||
setValuesForGuiPositionElements();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mLowerRightCheckBox_stateChanged( int state )
|
||||
{
|
||||
if ( state != Qt::Checked )
|
||||
return;
|
||||
if ( mItem )
|
||||
{
|
||||
#if 0 //TODO
|
||||
mItem->setItemPosition( mItem->pos().x() + mItem->rect().width(),
|
||||
mItem->pos().y() + mItem->rect().height(), QgsComposerItem::LowerRight );
|
||||
#endif
|
||||
}
|
||||
setValuesForGuiPositionElements();
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mItemRotationSpinBox_valueChanged( double val )
|
||||
{
|
||||
if ( mItem )
|
||||
{
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, tr( "Rotate" ), QgsLayoutItem::UndoRotation );
|
||||
#if 0 //TODO
|
||||
mItem->setItemRotation( val, true );
|
||||
#endif
|
||||
mItem->update();
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
}
|
||||
|
||||
void QgsLayoutItemPropertiesWidget::mExcludeFromPrintsCheckBox_toggled( bool checked )
|
||||
{
|
||||
if ( mItem )
|
||||
{
|
||||
mItem->layout()->undoStack()->beginCommand( mItem, checked ? tr( "Exclude from Exports" ) : tr( "Include in Exports" ) );
|
||||
#if 0 //TODO
|
||||
mItem->setExcludeFromExports( checked );
|
||||
#endif
|
||||
mItem->layout()->undoStack()->endCommand();
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,8 @@
|
||||
#include "qgis_gui.h"
|
||||
#include "qgslayoutobject.h"
|
||||
#include "qgspanelwidget.h"
|
||||
#include "qgslayoutitem.h"
|
||||
#include "ui_qgslayoutitemwidgetbase.h"
|
||||
#include <QObject>
|
||||
#include <QPointer>
|
||||
|
||||
@ -147,4 +149,99 @@ class GUI_EXPORT QgsLayoutItemBaseWidget: public QgsPanelWidget
|
||||
QgsLayoutConfigObject *mConfigObject = nullptr;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* \class QgsLayoutItemPropertiesWidget
|
||||
* \ingroup gui
|
||||
* A widget for controlling the common properties of layout items (e.g. position and size, background, stroke, frame).
|
||||
* This widget can be embedded into other layout item widgets.
|
||||
* \since QGIS 3.0
|
||||
*/
|
||||
class GUI_EXPORT QgsLayoutItemPropertiesWidget: public QWidget, private Ui::QgsLayoutItemWidgetBase
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QgsLayoutItemPropertiesWidget( QWidget *parent, QgsLayoutItem *item );
|
||||
|
||||
QgsLayoutItem::ReferencePoint positionMode() const;
|
||||
|
||||
void showBackgroundGroup( bool showGroup );
|
||||
|
||||
void showFrameGroup( bool showGroup );
|
||||
|
||||
protected slots:
|
||||
//! Initializes data defined buttons to current atlas coverage layer
|
||||
void initializeDataDefinedButtons();
|
||||
//! Sets data defined button state to match item
|
||||
void populateDataDefinedButtons();
|
||||
|
||||
private slots:
|
||||
|
||||
/**
|
||||
* Set the frame color
|
||||
*/
|
||||
void mFrameColorButton_colorChanged( const QColor &newFrameColor );
|
||||
|
||||
/**
|
||||
* Set the background color
|
||||
*/
|
||||
void mBackgroundColorButton_colorChanged( const QColor &newBackgroundColor );
|
||||
// void on_mTransparencySlider_valueChanged( int value );
|
||||
// void on_mTransparencySpinBox_valueChanged( int value );
|
||||
void mStrokeWidthSpinBox_valueChanged( double d );
|
||||
void strokeUnitChanged( QgsUnitTypes::LayoutUnit unit );
|
||||
void mFrameGroupBox_toggled( bool state );
|
||||
void mFrameJoinStyleCombo_currentIndexChanged( int index );
|
||||
void mBackgroundGroupBox_toggled( bool state );
|
||||
void mItemIdLineEdit_editingFinished();
|
||||
|
||||
//adjust coordinates in line edits
|
||||
void mPageSpinBox_valueChanged( int );
|
||||
void mXPosSpin_valueChanged( double );
|
||||
void mYPosSpin_valueChanged( double );
|
||||
void mWidthSpin_valueChanged( double );
|
||||
void mHeightSpin_valueChanged( double );
|
||||
|
||||
void mUpperLeftCheckBox_stateChanged( int state );
|
||||
void mUpperMiddleCheckBox_stateChanged( int state );
|
||||
void mUpperRightCheckBox_stateChanged( int state );
|
||||
void mMiddleLeftCheckBox_stateChanged( int state );
|
||||
void mMiddleCheckBox_stateChanged( int state );
|
||||
void mMiddleRightCheckBox_stateChanged( int state );
|
||||
void mLowerLeftCheckBox_stateChanged( int state );
|
||||
void mLowerMiddleCheckBox_stateChanged( int state );
|
||||
void mLowerRightCheckBox_stateChanged( int state );
|
||||
|
||||
void mBlendModeCombo_currentIndexChanged( int index );
|
||||
void opacityChanged( double value );
|
||||
|
||||
void mItemRotationSpinBox_valueChanged( double val );
|
||||
void mExcludeFromPrintsCheckBox_toggled( bool checked );
|
||||
|
||||
void setValuesForGuiElements();
|
||||
//sets the values for all position related (x, y, width, height) elements
|
||||
void setValuesForGuiPositionElements();
|
||||
//sets the values for all non-position related elements
|
||||
void setValuesForGuiNonPositionElements();
|
||||
|
||||
void variablesChanged();
|
||||
void updateVariables();
|
||||
|
||||
private:
|
||||
|
||||
QgsLayoutItem *mItem = nullptr;
|
||||
QgsLayoutConfigObject *mConfigObject = nullptr;
|
||||
|
||||
bool mFreezeXPosSpin = false;
|
||||
bool mFreezeYPosSpin = false;
|
||||
bool mFreezeWidthSpin = false;
|
||||
bool mFreezeHeightSpin = false;
|
||||
bool mFreezePageSpin = false;
|
||||
|
||||
// void changeItemTransparency( int value );
|
||||
void changeItemPosition();
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif // QGSLAYOUTITEMWIDGET_H
|
||||
|
861
src/ui/layout/qgslayoutitemwidgetbase.ui
Normal file
861
src/ui/layout/qgslayoutitemwidgetbase.ui
Normal file
@ -0,0 +1,861 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>QgsLayoutItemWidgetBase</class>
|
||||
<widget class="QWidget" name="QgsLayoutItemWidgetBase">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>548</width>
|
||||
<height>1812</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Global Options</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="mGeneralOptionsGroupBox">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Position and size</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_3" columnstretch="0,1,1,1">
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="mWidthLabel">
|
||||
<property name="text">
|
||||
<string>Width</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="mXLabel">
|
||||
<property name="text">
|
||||
<string>X</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="mHeightLabel">
|
||||
<property name="text">
|
||||
<string>Height</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="mYLabel">
|
||||
<property name="text">
|
||||
<string>Y</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="mPageLabel">
|
||||
<property name="text">
|
||||
<string>Page</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QgsPropertyOverrideButton" name="mXPositionDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QgsPropertyOverrideButton" name="mYPositionDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QgsPropertyOverrideButton" name="mWidthDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="QgsPropertyOverrideButton" name="mHeightDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1" colspan="3">
|
||||
<widget class="QgsSpinBox" name="mPageSpinBox">
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="showClearButton" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1" colspan="2">
|
||||
<widget class="QgsDoubleSpinBox" name="mWidthSpin">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>9999999.000000000000000</double>
|
||||
</property>
|
||||
<property name="showClearButton" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1" colspan="2">
|
||||
<widget class="QgsDoubleSpinBox" name="mHeightSpin">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>9999999.000000000000000</double>
|
||||
</property>
|
||||
<property name="showClearButton" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" colspan="2">
|
||||
<widget class="QgsDoubleSpinBox" name="mYPosSpin">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>-9999999.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>9999999.000000000000000</double>
|
||||
</property>
|
||||
<property name="showClearButton" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" colspan="2">
|
||||
<widget class="QgsDoubleSpinBox" name="mXPosSpin">
|
||||
<property name="suffix">
|
||||
<string> mm</string>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>-9999999.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>9999999.000000000000000</double>
|
||||
</property>
|
||||
<property name="showClearButton" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Reference point</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QCheckBox" name="mUpperMiddleCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QCheckBox" name="mMiddleRightCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="mMiddleCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QCheckBox" name="mUpperRightCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="mLowerMiddleCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QCheckBox" name="mLowerRightCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="mUpperLeftCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="mLowerLeftCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="mMiddleLeftCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="mTransformsGroupBox">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Rotation</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5" columnstretch="0,1">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Rotation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QgsDoubleSpinBox" name="mItemRotationSpinBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="wrapping">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> °</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>-360.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>360.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mItemRotationDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="mFrameGroupBox">
|
||||
<property name="title">
|
||||
<string>Frame</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<item>
|
||||
<widget class="QgsColorButton" name="mFrameColorButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mItemFrameColorDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="mStrokeWidthLabel">
|
||||
<property name="text">
|
||||
<string>Thickness</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mStrokeWidthSpinBox</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||
<item>
|
||||
<widget class="QgsDoubleSpinBox" name="mStrokeWidthSpinBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>99.989999999999995</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="showClearButton" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsLayoutUnitsComboBox" name="mStrokeUnitsComboBox"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Join style</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QgsPenJoinStyleComboBox" name="mFrameJoinStyleCombo">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="mBackgroundGroupBox">
|
||||
<property name="title">
|
||||
<string>Background</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Background color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<widget class="QgsColorButton" name="mBackgroundColorButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mItemBackgroundColorDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="groupBox">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Item ID</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_8">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="mItemIdLabel">
|
||||
<property name="text">
|
||||
<string>Id</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="mItemIdLineEdit"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="groupRendering">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Rendering</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4" columnstretch="0,1">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelBlendMode">
|
||||
<property name="text">
|
||||
<string>Blending mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QgsOpacityWidget" name="mOpacityWidget" native="true">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mOpacityDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="mExcludeFromPrintsCheckBox">
|
||||
<property name="text">
|
||||
<string>Exclude item from exports</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mExcludePrintsDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="labelTransparency">
|
||||
<property name="text">
|
||||
<string>Opacity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QgsBlendModeComboBox" name="mBlendModeCombo"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mBlendModeDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string>Variables</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QgsVariableEditorWidget" name="mVariableEditor" native="true">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>200</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsColorButton</class>
|
||||
<extends>QToolButton</extends>
|
||||
<header>qgscolorbutton.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsPropertyOverrideButton</class>
|
||||
<extends>QToolButton</extends>
|
||||
<header>qgspropertyoverridebutton.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsDoubleSpinBox</class>
|
||||
<extends>QDoubleSpinBox</extends>
|
||||
<header>qgsdoublespinbox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsSpinBox</class>
|
||||
<extends>QSpinBox</extends>
|
||||
<header>qgsspinbox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsPenJoinStyleComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>qgspenstylecombobox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsCollapsibleGroupBoxBasic</class>
|
||||
<extends>QGroupBox</extends>
|
||||
<header location="global">qgscollapsiblegroupbox.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsBlendModeComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>qgsblendmodecombobox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsCollapsibleGroupBox</class>
|
||||
<extends>QGroupBox</extends>
|
||||
<header>qgscollapsiblegroupbox.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsVariableEditorWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header location="global">qgsvariableeditorwidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsOpacityWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>qgsopacitywidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsLayoutUnitsComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>qgslayoutunitscombobox.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>mGeneralOptionsGroupBox</tabstop>
|
||||
<tabstop>mPageSpinBox</tabstop>
|
||||
<tabstop>mXPosSpin</tabstop>
|
||||
<tabstop>mXPositionDDBtn</tabstop>
|
||||
<tabstop>mYPosSpin</tabstop>
|
||||
<tabstop>mYPositionDDBtn</tabstop>
|
||||
<tabstop>mWidthSpin</tabstop>
|
||||
<tabstop>mWidthDDBtn</tabstop>
|
||||
<tabstop>mHeightSpin</tabstop>
|
||||
<tabstop>mHeightDDBtn</tabstop>
|
||||
<tabstop>mUpperLeftCheckBox</tabstop>
|
||||
<tabstop>mUpperMiddleCheckBox</tabstop>
|
||||
<tabstop>mUpperRightCheckBox</tabstop>
|
||||
<tabstop>mMiddleLeftCheckBox</tabstop>
|
||||
<tabstop>mMiddleCheckBox</tabstop>
|
||||
<tabstop>mMiddleRightCheckBox</tabstop>
|
||||
<tabstop>mLowerLeftCheckBox</tabstop>
|
||||
<tabstop>mLowerMiddleCheckBox</tabstop>
|
||||
<tabstop>mLowerRightCheckBox</tabstop>
|
||||
<tabstop>mTransformsGroupBox</tabstop>
|
||||
<tabstop>mItemRotationSpinBox</tabstop>
|
||||
<tabstop>mItemRotationDDBtn</tabstop>
|
||||
<tabstop>mFrameGroupBox</tabstop>
|
||||
<tabstop>mFrameColorButton</tabstop>
|
||||
<tabstop>mItemFrameColorDDBtn</tabstop>
|
||||
<tabstop>mStrokeWidthSpinBox</tabstop>
|
||||
<tabstop>mFrameJoinStyleCombo</tabstop>
|
||||
<tabstop>mBackgroundGroupBox</tabstop>
|
||||
<tabstop>mBackgroundColorButton</tabstop>
|
||||
<tabstop>mItemBackgroundColorDDBtn</tabstop>
|
||||
<tabstop>groupBox</tabstop>
|
||||
<tabstop>mItemIdLineEdit</tabstop>
|
||||
<tabstop>groupRendering</tabstop>
|
||||
<tabstop>mBlendModeCombo</tabstop>
|
||||
<tabstop>mBlendModeDDBtn</tabstop>
|
||||
<tabstop>mOpacityDDBtn</tabstop>
|
||||
<tabstop>mExcludeFromPrintsCheckBox</tabstop>
|
||||
<tabstop>mExcludePrintsDDBtn</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
912
src/ui/layout/qgslayoutmapwidgetbase.ui
Normal file
912
src/ui/layout/qgslayoutmapwidgetbase.ui
Normal file
@ -0,0 +1,912 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>QgsLayoutMapWidgetBase</class>
|
||||
<widget class="QWidget" name="QgsLayoutMapWidgetBase">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>384</width>
|
||||
<height>749</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Map Options</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="mLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">padding: 2px; font-weight: bold; background-color: rgb(200, 200, 200);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Map</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsScrollArea" name="scrollArea">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>627</width>
|
||||
<height>2272</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="mainLayout">
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="groupBox">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Main properties</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="mMapRotationLabel_2">
|
||||
<property name="text">
|
||||
<string>CRS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<item>
|
||||
<widget class="QgsDoubleSpinBox" name="mMapRotationSpinBox">
|
||||
<property name="wrapping">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string> °</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>-360.000000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>360.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mMapRotationDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="mDrawCanvasItemsCheckBox">
|
||||
<property name="text">
|
||||
<string>Draw map canvas items</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mScaleLineEdit">
|
||||
<property name="inputMask">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mScaleDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Scale</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mScaleLineEdit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QgsProjectionSelectionWidget" name="mCrsSelector" native="true">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="mMapRotationLabel">
|
||||
<property name="text">
|
||||
<string>Map rotation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="mUpdatePreviewButton">
|
||||
<property name="text">
|
||||
<string>Update preview</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Layers</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_12">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="mFollowVisibilityPresetCheckBox">
|
||||
<property name="text">
|
||||
<string>Follow map theme</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="mFollowVisibilityPresetCombo"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mStylePresetsDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_10">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="mKeepLayerListCheckBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Lock layers</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="mLayerListFromPresetButton">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
<property name="popupMode">
|
||||
<enum>QToolButton::InstantPopup</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mLayersDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="mKeepLayerStylesCheckBox">
|
||||
<property name="text">
|
||||
<string>Lock styles for layers</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="mExtentsCheckBox">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Extents</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="mXMinLabel">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>X min</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mXMinLineEdit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mXMinLineEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mXMinDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="mYMinLabel">
|
||||
<property name="text">
|
||||
<string>Y min</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mYMinLineEdit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mYMinLineEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mYMinDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="mXMaxLabel">
|
||||
<property name="text">
|
||||
<string>X max</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mXMaxLineEdit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mXMaxLineEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mXMaxDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="mYMaxLabel">
|
||||
<property name="text">
|
||||
<string>Y max</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>mYMaxLineEdit</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="mYMaxLineEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mYMaxDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="mSetToMapCanvasExtentButton">
|
||||
<property name="text">
|
||||
<string>Set to map canvas extent</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="mViewExtentInCanvasButton">
|
||||
<property name="text">
|
||||
<string>View extent in map canvas</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="mAtlasCheckBox">
|
||||
<property name="title">
|
||||
<string>Controlled by atlas</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="mAtlasMarginRadio">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Margin around feature</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_11">
|
||||
<item>
|
||||
<widget class="QgsSpinBox" name="mAtlasMarginSpinBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="suffix">
|
||||
<string>%</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>9999</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>10</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsPropertyOverrideButton" name="mAtlasMarginDDBtn">
|
||||
<property name="text">
|
||||
<string>…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QRadioButton" name="mAtlasPredefinedScaleRadio">
|
||||
<property name="toolTip">
|
||||
<string>Use one of the predefined scales of the project where the atlas feature best fits.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Predefined scale (best fit)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QRadioButton" name="mAtlasFixedScaleRadio">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Fixed scale</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="mGridGroupBox">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Grids</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||
<item>
|
||||
<widget class="QPushButton" name="mAddGridPushButton">
|
||||
<property name="toolTip">
|
||||
<string>Add a new grid</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/symbologyAdd.svg</normaloff>:/images/themes/default/symbologyAdd.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mRemoveGridPushButton">
|
||||
<property name="toolTip">
|
||||
<string>Remove selected grid</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/symbologyRemove.svg</normaloff>:/images/themes/default/symbologyRemove.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mGridUpButton">
|
||||
<property name="toolTip">
|
||||
<string>Move selected grid up</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/mActionArrowUp.svg</normaloff>:/images/themes/default/mActionArrowUp.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mGridDownButton">
|
||||
<property name="toolTip">
|
||||
<string>Move selected grid down</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/mActionArrowDown.svg</normaloff>:/images/themes/default/mActionArrowDown.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QListWidget" name="mGridListWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>90</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_13">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="mDrawGridCheckBox">
|
||||
<property name="text">
|
||||
<string>Draw grid</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mGridPropertiesButton">
|
||||
<property name="text">
|
||||
<string>Modify grid...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="mOverviewsGroupBox">
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Overviews</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composeritem</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_9">
|
||||
<item>
|
||||
<widget class="QPushButton" name="mAddOverviewPushButton">
|
||||
<property name="toolTip">
|
||||
<string>Add a new overview</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/symbologyAdd.svg</normaloff>:/images/themes/default/symbologyAdd.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mRemoveOverviewPushButton">
|
||||
<property name="toolTip">
|
||||
<string>Remove selected overview</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/symbologyRemove.svg</normaloff>:/images/themes/default/symbologyRemove.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mOverviewUpButton">
|
||||
<property name="toolTip">
|
||||
<string>Move selected overview up</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/mActionArrowUp.svg</normaloff>:/images/themes/default/mActionArrowUp.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="mOverviewDownButton">
|
||||
<property name="toolTip">
|
||||
<string>Move selected overview down</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../images/images.qrc">
|
||||
<normaloff>:/images/themes/default/mActionArrowDown.svg</normaloff>:/images/themes/default/mActionArrowDown.svg</iconset>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QListWidget" name="mOverviewListWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>90</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBoxBasic" name="mOverviewCheckBox">
|
||||
<property name="title">
|
||||
<string>Draw overview</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">composermapoverview</string>
|
||||
</property>
|
||||
<property name="collapsed" stdset="0">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_8" columnstretch="0,1">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="mOverviewFrameMapLabel">
|
||||
<property name="text">
|
||||
<string>Map frame</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QgsComposerItemComboBox" name="mOverviewFrameMapComboBox"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="mOverviewFrameStyleLabel">
|
||||
<property name="text">
|
||||
<string>Frame style</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="mOverviewFrameStyleButton">
|
||||
<property name="text">
|
||||
<string>Change...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="mOverviewBlendModeLabel">
|
||||
<property name="text">
|
||||
<string>Blending mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QgsBlendModeComboBox" name="mOverviewBlendModeComboBox"/>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="mOverviewInvertCheckbox">
|
||||
<property name="text">
|
||||
<string>Invert overview</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="mOverviewCenterCheckbox">
|
||||
<property name="text">
|
||||
<string>Center on overview</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsPropertyOverrideButton</class>
|
||||
<extends>QToolButton</extends>
|
||||
<header>qgspropertyoverridebutton.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsDoubleSpinBox</class>
|
||||
<extends>QDoubleSpinBox</extends>
|
||||
<header>qgsdoublespinbox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsSpinBox</class>
|
||||
<extends>QSpinBox</extends>
|
||||
<header>qgsspinbox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsCollapsibleGroupBoxBasic</class>
|
||||
<extends>QGroupBox</extends>
|
||||
<header location="global">qgscollapsiblegroupbox.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsBlendModeComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>qgsblendmodecombobox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsScrollArea</class>
|
||||
<extends>QScrollArea</extends>
|
||||
<header>qgsscrollarea.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsComposerItemComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>qgscomposeritemcombobox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsProjectionSelectionWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>qgsprojectionselectionwidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>scrollArea</tabstop>
|
||||
<tabstop>groupBox</tabstop>
|
||||
<tabstop>mUpdatePreviewButton</tabstop>
|
||||
<tabstop>mScaleLineEdit</tabstop>
|
||||
<tabstop>mScaleDDBtn</tabstop>
|
||||
<tabstop>mMapRotationSpinBox</tabstop>
|
||||
<tabstop>mMapRotationDDBtn</tabstop>
|
||||
<tabstop>mCrsSelector</tabstop>
|
||||
<tabstop>mDrawCanvasItemsCheckBox</tabstop>
|
||||
<tabstop>mFollowVisibilityPresetCheckBox</tabstop>
|
||||
<tabstop>mFollowVisibilityPresetCombo</tabstop>
|
||||
<tabstop>mStylePresetsDDBtn</tabstop>
|
||||
<tabstop>mKeepLayerListCheckBox</tabstop>
|
||||
<tabstop>mLayerListFromPresetButton</tabstop>
|
||||
<tabstop>mLayersDDBtn</tabstop>
|
||||
<tabstop>mKeepLayerStylesCheckBox</tabstop>
|
||||
<tabstop>mExtentsCheckBox</tabstop>
|
||||
<tabstop>mXMinLineEdit</tabstop>
|
||||
<tabstop>mXMinDDBtn</tabstop>
|
||||
<tabstop>mYMinLineEdit</tabstop>
|
||||
<tabstop>mYMinDDBtn</tabstop>
|
||||
<tabstop>mXMaxLineEdit</tabstop>
|
||||
<tabstop>mXMaxDDBtn</tabstop>
|
||||
<tabstop>mYMaxLineEdit</tabstop>
|
||||
<tabstop>mYMaxDDBtn</tabstop>
|
||||
<tabstop>mSetToMapCanvasExtentButton</tabstop>
|
||||
<tabstop>mViewExtentInCanvasButton</tabstop>
|
||||
<tabstop>mAtlasCheckBox</tabstop>
|
||||
<tabstop>mAtlasMarginRadio</tabstop>
|
||||
<tabstop>mAtlasMarginSpinBox</tabstop>
|
||||
<tabstop>mAtlasMarginDDBtn</tabstop>
|
||||
<tabstop>mAtlasPredefinedScaleRadio</tabstop>
|
||||
<tabstop>mAtlasFixedScaleRadio</tabstop>
|
||||
<tabstop>mGridGroupBox</tabstop>
|
||||
<tabstop>mAddGridPushButton</tabstop>
|
||||
<tabstop>mRemoveGridPushButton</tabstop>
|
||||
<tabstop>mGridUpButton</tabstop>
|
||||
<tabstop>mGridDownButton</tabstop>
|
||||
<tabstop>mGridListWidget</tabstop>
|
||||
<tabstop>mDrawGridCheckBox</tabstop>
|
||||
<tabstop>mGridPropertiesButton</tabstop>
|
||||
<tabstop>mOverviewsGroupBox</tabstop>
|
||||
<tabstop>mAddOverviewPushButton</tabstop>
|
||||
<tabstop>mRemoveOverviewPushButton</tabstop>
|
||||
<tabstop>mOverviewUpButton</tabstop>
|
||||
<tabstop>mOverviewDownButton</tabstop>
|
||||
<tabstop>mOverviewListWidget</tabstop>
|
||||
<tabstop>mOverviewCheckBox</tabstop>
|
||||
<tabstop>mOverviewFrameMapComboBox</tabstop>
|
||||
<tabstop>mOverviewFrameStyleButton</tabstop>
|
||||
<tabstop>mOverviewBlendModeComboBox</tabstop>
|
||||
<tabstop>mOverviewInvertCheckbox</tabstop>
|
||||
<tabstop>mOverviewCenterCheckbox</tabstop>
|
||||
<tabstop>mDrawGridCheckBox</tabstop>
|
||||
<tabstop>mGridPropertiesButton</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
<include location="../../../images/images.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
Loading…
x
Reference in New Issue
Block a user