mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-16 00:03:12 -04:00
Add configuration widget for shapes
This commit is contained in:
parent
7674bd746b
commit
2ec31d84d3
@ -60,6 +60,8 @@ class QgsLayoutItem : QgsLayoutObject, QGraphicsRectItem, QgsLayoutUndoObjectInt
|
|||||||
UndoOpacity,
|
UndoOpacity,
|
||||||
UndoSetId,
|
UndoSetId,
|
||||||
UndoRotation,
|
UndoRotation,
|
||||||
|
UndoShapeStyle,
|
||||||
|
UndoShapeCornerRadius,
|
||||||
};
|
};
|
||||||
|
|
||||||
explicit QgsLayoutItem( QgsLayout *layout, bool manageZValue = true );
|
explicit QgsLayoutItem( QgsLayout *layout, bool manageZValue = true );
|
||||||
|
@ -182,6 +182,7 @@ SET(QGIS_APP_SRCS
|
|||||||
layout/qgslayoutmapwidget.cpp
|
layout/qgslayoutmapwidget.cpp
|
||||||
layout/qgslayoutpagepropertieswidget.cpp
|
layout/qgslayoutpagepropertieswidget.cpp
|
||||||
layout/qgslayoutpropertieswidget.cpp
|
layout/qgslayoutpropertieswidget.cpp
|
||||||
|
layout/qgslayoutshapewidget.cpp
|
||||||
|
|
||||||
locator/qgsinbuiltlocatorfilters.cpp
|
locator/qgsinbuiltlocatorfilters.cpp
|
||||||
locator/qgslocatoroptionswidget.cpp
|
locator/qgslocatoroptionswidget.cpp
|
||||||
@ -379,6 +380,7 @@ SET (QGIS_APP_MOC_HDRS
|
|||||||
layout/qgslayoutmapwidget.h
|
layout/qgslayoutmapwidget.h
|
||||||
layout/qgslayoutpagepropertieswidget.h
|
layout/qgslayoutpagepropertieswidget.h
|
||||||
layout/qgslayoutpropertieswidget.h
|
layout/qgslayoutpropertieswidget.h
|
||||||
|
layout/qgslayoutshapewidget.h
|
||||||
|
|
||||||
locator/qgsinbuiltlocatorfilters.h
|
locator/qgsinbuiltlocatorfilters.h
|
||||||
locator/qgslocatoroptionswidget.h
|
locator/qgslocatoroptionswidget.h
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include "qgslayoutviewrubberband.h"
|
#include "qgslayoutviewrubberband.h"
|
||||||
#include "qgslayoutitemshape.h"
|
#include "qgslayoutitemshape.h"
|
||||||
#include "qgslayoutmapwidget.h"
|
#include "qgslayoutmapwidget.h"
|
||||||
|
#include "qgslayoutshapewidget.h"
|
||||||
#include "qgslayoutitemmap.h"
|
#include "qgslayoutitemmap.h"
|
||||||
|
|
||||||
void QgsLayoutAppUtils::registerGuiForKnownItemTypes()
|
void QgsLayoutAppUtils::registerGuiForKnownItemTypes()
|
||||||
@ -49,19 +50,25 @@ void QgsLayoutAppUtils::registerGuiForKnownItemTypes()
|
|||||||
return new QgsLayoutMapWidget( qobject_cast< QgsLayoutItemMap * >( item ) );
|
return new QgsLayoutMapWidget( qobject_cast< QgsLayoutItemMap * >( item ) );
|
||||||
}, createRubberBand ) );
|
}, createRubberBand ) );
|
||||||
|
|
||||||
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutShape, QObject::tr( "Rectangle" ), QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddBasicRectangle.svg" ) ), nullptr, createRubberBand, QStringLiteral( "shapes" ), 0, []( QgsLayout * layout )->QgsLayoutItem*
|
auto createShapeWidget =
|
||||||
|
[]( QgsLayoutItem * item )->QgsLayoutItemBaseWidget *
|
||||||
|
{
|
||||||
|
return new QgsLayoutShapeWidget( qobject_cast< QgsLayoutItemShape * >( item ) );
|
||||||
|
};
|
||||||
|
|
||||||
|
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutShape, QObject::tr( "Rectangle" ), QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddBasicRectangle.svg" ) ), createShapeWidget, createRubberBand, QStringLiteral( "shapes" ), 0, []( QgsLayout * layout )->QgsLayoutItem*
|
||||||
{
|
{
|
||||||
std::unique_ptr< QgsLayoutItemShape > shape = qgis::make_unique< QgsLayoutItemShape >( layout );
|
std::unique_ptr< QgsLayoutItemShape > shape = qgis::make_unique< QgsLayoutItemShape >( layout );
|
||||||
shape->setShapeType( QgsLayoutItemShape::Rectangle );
|
shape->setShapeType( QgsLayoutItemShape::Rectangle );
|
||||||
return shape.release();
|
return shape.release();
|
||||||
} ) );
|
} ) );
|
||||||
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutShape, QObject::tr( "Ellipse" ), QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddBasicCircle.svg" ) ), nullptr, createEllipseBand, QStringLiteral( "shapes" ), 0, []( QgsLayout * layout )->QgsLayoutItem*
|
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutShape, QObject::tr( "Ellipse" ), QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddBasicCircle.svg" ) ), createShapeWidget, createEllipseBand, QStringLiteral( "shapes" ), 0, []( QgsLayout * layout )->QgsLayoutItem*
|
||||||
{
|
{
|
||||||
std::unique_ptr< QgsLayoutItemShape > shape = qgis::make_unique< QgsLayoutItemShape >( layout );
|
std::unique_ptr< QgsLayoutItemShape > shape = qgis::make_unique< QgsLayoutItemShape >( layout );
|
||||||
shape->setShapeType( QgsLayoutItemShape::Ellipse );
|
shape->setShapeType( QgsLayoutItemShape::Ellipse );
|
||||||
return shape.release();
|
return shape.release();
|
||||||
} ) );
|
} ) );
|
||||||
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutShape, QObject::tr( "Triangle" ), QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddBasicTriangle.svg" ) ), nullptr, createTriangleBand, QStringLiteral( "shapes" ), 0, []( QgsLayout * layout )->QgsLayoutItem*
|
registry->addLayoutItemGuiMetadata( new QgsLayoutItemGuiMetadata( QgsLayoutItemRegistry::LayoutShape, QObject::tr( "Triangle" ), QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddBasicTriangle.svg" ) ), createShapeWidget, createTriangleBand, QStringLiteral( "shapes" ), 0, []( QgsLayout * layout )->QgsLayoutItem*
|
||||||
{
|
{
|
||||||
std::unique_ptr< QgsLayoutItemShape > shape = qgis::make_unique< QgsLayoutItemShape >( layout );
|
std::unique_ptr< QgsLayoutItemShape > shape = qgis::make_unique< QgsLayoutItemShape >( layout );
|
||||||
shape->setShapeType( QgsLayoutItemShape::Triangle );
|
shape->setShapeType( QgsLayoutItemShape::Triangle );
|
||||||
|
172
src/app/layout/qgslayoutshapewidget.cpp
Normal file
172
src/app/layout/qgslayoutshapewidget.cpp
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
qgslayoutshapewidget.cpp
|
||||||
|
--------------------------
|
||||||
|
begin : November 2009
|
||||||
|
copyright : (C) 2009 by Marco Hugentobler
|
||||||
|
email : marco@hugis.net
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* 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. *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "qgslayoutshapewidget.h"
|
||||||
|
#include "qgsstyle.h"
|
||||||
|
#include "qgslayoutitemshape.h"
|
||||||
|
#include "qgslayout.h"
|
||||||
|
#include "qgslayoutundostack.h"
|
||||||
|
|
||||||
|
QgsLayoutShapeWidget::QgsLayoutShapeWidget( QgsLayoutItemShape *shape )
|
||||||
|
: QgsLayoutItemBaseWidget( nullptr, shape )
|
||||||
|
, mShape( shape )
|
||||||
|
{
|
||||||
|
setupUi( this );
|
||||||
|
connect( mShapeComboBox, static_cast<void ( QComboBox::* )( const QString & )>( &QComboBox::currentIndexChanged ), this, &QgsLayoutShapeWidget::mShapeComboBox_currentIndexChanged );
|
||||||
|
connect( mCornerRadiusSpinBox, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsLayoutShapeWidget::mCornerRadiusSpinBox_valueChanged );
|
||||||
|
setPanelTitle( tr( "Shape properties" ) );
|
||||||
|
|
||||||
|
//add widget for general composer item properties
|
||||||
|
mItemPropertiesWidget = new QgsLayoutItemPropertiesWidget( this, shape );
|
||||||
|
//shapes don't use background or frame, since the symbol style is set through a QgsSymbolSelectorWidget
|
||||||
|
mItemPropertiesWidget->showBackgroundGroup( false );
|
||||||
|
mItemPropertiesWidget->showFrameGroup( false );
|
||||||
|
mainLayout->addWidget( mItemPropertiesWidget );
|
||||||
|
|
||||||
|
blockAllSignals( true );
|
||||||
|
|
||||||
|
//shape types
|
||||||
|
mShapeComboBox->addItem( tr( "Rectangle" ), QgsLayoutItemShape::Rectangle );
|
||||||
|
mShapeComboBox->addItem( tr( "Ellipse" ), QgsLayoutItemShape::Ellipse );
|
||||||
|
mShapeComboBox->addItem( tr( "Triangle" ), QgsLayoutItemShape::Triangle );
|
||||||
|
|
||||||
|
mShapeStyleButton->setSymbolType( QgsSymbol::Fill );
|
||||||
|
mRadiusUnitsComboBox->linkToWidget( mCornerRadiusSpinBox );
|
||||||
|
mRadiusUnitsComboBox->setConverter( &mShape->layout()->context().measurementConverter() );
|
||||||
|
|
||||||
|
setGuiElementValues();
|
||||||
|
|
||||||
|
blockAllSignals( false );
|
||||||
|
|
||||||
|
if ( mShape )
|
||||||
|
{
|
||||||
|
connect( mShape, &QgsLayoutObject::changed, this, &QgsLayoutShapeWidget::setGuiElementValues );
|
||||||
|
mShapeStyleButton->registerExpressionContextGenerator( mShape );
|
||||||
|
}
|
||||||
|
connect( mShapeStyleButton, &QgsSymbolButton::changed, this, &QgsLayoutShapeWidget::symbolChanged );
|
||||||
|
connect( mRadiusUnitsComboBox, &QgsLayoutUnitsComboBox::changed, this, &QgsLayoutShapeWidget::radiusUnitsChanged );
|
||||||
|
|
||||||
|
#if 0 //TODO
|
||||||
|
mShapeStyleButton->setLayer( atlasCoverageLayer() );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool QgsLayoutShapeWidget::setNewItem( QgsLayoutItem *item )
|
||||||
|
{
|
||||||
|
if ( item->type() != QgsLayoutItemRegistry::LayoutShape )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
mShape = qobject_cast< QgsLayoutItemShape * >( item );
|
||||||
|
mItemPropertiesWidget->setItem( mShape );
|
||||||
|
|
||||||
|
setGuiElementValues();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void QgsLayoutShapeWidget::blockAllSignals( bool block )
|
||||||
|
{
|
||||||
|
mShapeComboBox->blockSignals( block );
|
||||||
|
mCornerRadiusSpinBox->blockSignals( block );
|
||||||
|
mRadiusUnitsComboBox->blockSignals( block );
|
||||||
|
mShapeStyleButton->blockSignals( block );
|
||||||
|
}
|
||||||
|
|
||||||
|
void QgsLayoutShapeWidget::setGuiElementValues()
|
||||||
|
{
|
||||||
|
if ( !mShape )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockAllSignals( true );
|
||||||
|
|
||||||
|
mShapeStyleButton->setSymbol( mShape->symbol()->clone() );
|
||||||
|
|
||||||
|
mCornerRadiusSpinBox->setValue( mShape->cornerRadius().length() );
|
||||||
|
mRadiusUnitsComboBox->setUnit( mShape->cornerRadius().units() );
|
||||||
|
|
||||||
|
mShapeComboBox->setCurrentIndex( mShapeComboBox->findData( mShape->shapeType() ) );
|
||||||
|
toggleRadiusSpin( mShape->shapeType() );
|
||||||
|
|
||||||
|
blockAllSignals( false );
|
||||||
|
}
|
||||||
|
|
||||||
|
void QgsLayoutShapeWidget::symbolChanged()
|
||||||
|
{
|
||||||
|
if ( !mShape )
|
||||||
|
return;
|
||||||
|
|
||||||
|
mShape->layout()->undoStack()->beginCommand( mShape, tr( "Change Shape Style" ), QgsLayoutItem::UndoShapeStyle );
|
||||||
|
mShape->setSymbol( mShapeStyleButton->clonedSymbol<QgsFillSymbol>() );
|
||||||
|
mShape->layout()->undoStack()->endCommand();
|
||||||
|
}
|
||||||
|
|
||||||
|
void QgsLayoutShapeWidget::mCornerRadiusSpinBox_valueChanged( double val )
|
||||||
|
{
|
||||||
|
if ( !mShape )
|
||||||
|
return;
|
||||||
|
|
||||||
|
mShape->layout()->undoStack()->beginCommand( mShape, tr( "Change Shape Radius" ), QgsLayoutItem::UndoShapeCornerRadius );
|
||||||
|
mShape->setCornerRadius( QgsLayoutMeasurement( val, mRadiusUnitsComboBox->unit() ) );
|
||||||
|
mShape->layout()->undoStack()->endCommand();
|
||||||
|
mShape->update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void QgsLayoutShapeWidget::radiusUnitsChanged()
|
||||||
|
{
|
||||||
|
if ( !mShape )
|
||||||
|
return;
|
||||||
|
|
||||||
|
mShape->layout()->undoStack()->beginCommand( mShape, tr( "Change Shape Radius" ), QgsLayoutItem::UndoShapeCornerRadius );
|
||||||
|
mShape->setCornerRadius( QgsLayoutMeasurement( mCornerRadiusSpinBox->value(), mRadiusUnitsComboBox->unit() ) );
|
||||||
|
mShape->layout()->undoStack()->endCommand();
|
||||||
|
mShape->update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void QgsLayoutShapeWidget::mShapeComboBox_currentIndexChanged( const QString & )
|
||||||
|
{
|
||||||
|
if ( !mShape )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mShape->layout()->undoStack()->beginCommand( mShape, tr( "Change Shape Type" ) );
|
||||||
|
QgsLayoutItemShape::Shape shape = static_cast< QgsLayoutItemShape::Shape >( mShapeComboBox->currentData().toInt() );
|
||||||
|
mShape->setShapeType( shape );
|
||||||
|
toggleRadiusSpin( shape );
|
||||||
|
mShape->update();
|
||||||
|
mShape->layout()->undoStack()->endCommand();
|
||||||
|
}
|
||||||
|
|
||||||
|
void QgsLayoutShapeWidget::toggleRadiusSpin( QgsLayoutItemShape::Shape shape )
|
||||||
|
{
|
||||||
|
switch ( shape )
|
||||||
|
{
|
||||||
|
case QgsLayoutItemShape::Ellipse:
|
||||||
|
case QgsLayoutItemShape::Triangle:
|
||||||
|
{
|
||||||
|
mCornerRadiusSpinBox->setEnabled( false );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case QgsLayoutItemShape::Rectangle:
|
||||||
|
{
|
||||||
|
mCornerRadiusSpinBox->setEnabled( true );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
60
src/app/layout/qgslayoutshapewidget.h
Normal file
60
src/app/layout/qgslayoutshapewidget.h
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
/***************************************************************************
|
||||||
|
qgslayoutshapewidget.h
|
||||||
|
------------------------
|
||||||
|
begin : November 2009
|
||||||
|
copyright : (C) 2009 by Marco Hugentobler
|
||||||
|
email : marco@hugis.net
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* *
|
||||||
|
* 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 QGSLAYOUTSHAPEWIDGET_H
|
||||||
|
#define QGSLAYOUTSHAPEWIDGET_H
|
||||||
|
|
||||||
|
#include "ui_qgslayoutshapewidgetbase.h"
|
||||||
|
#include "qgslayoutitemwidget.h"
|
||||||
|
#include "qgslayoutitemshape.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \ingroup app
|
||||||
|
* Input widget for the configuration of QgsLayoutItemShape
|
||||||
|
*/
|
||||||
|
class QgsLayoutShapeWidget: public QgsLayoutItemBaseWidget, private Ui::QgsLayoutShapeWidgetBase
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit QgsLayoutShapeWidget( QgsLayoutItemShape *shape );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
bool setNewItem( QgsLayoutItem *item ) override;
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
QgsLayoutItemShape *mShape = nullptr;
|
||||||
|
QgsLayoutItemPropertiesWidget *mItemPropertiesWidget = nullptr;
|
||||||
|
|
||||||
|
//! Blocks / unblocks the signal of all GUI elements
|
||||||
|
void blockAllSignals( bool block );
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void mShapeComboBox_currentIndexChanged( const QString &text );
|
||||||
|
void mCornerRadiusSpinBox_valueChanged( double val );
|
||||||
|
void radiusUnitsChanged();
|
||||||
|
void symbolChanged();
|
||||||
|
|
||||||
|
//! Sets the GUI elements to the currentValues of mComposerShape
|
||||||
|
void setGuiElementValues();
|
||||||
|
|
||||||
|
//! Enables or disables the rounded radius spin box based on shape type
|
||||||
|
void toggleRadiusSpin( QgsLayoutItemShape::Shape shape );
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // QGSLAYOUTSHAPEWIDGET_H
|
@ -93,6 +93,8 @@ class CORE_EXPORT QgsLayoutItem : public QgsLayoutObject, public QGraphicsRectIt
|
|||||||
UndoOpacity, //!< Opacity adjustment
|
UndoOpacity, //!< Opacity adjustment
|
||||||
UndoSetId, //!< Change item ID
|
UndoSetId, //!< Change item ID
|
||||||
UndoRotation, //!< Rotation adjustment
|
UndoRotation, //!< Rotation adjustment
|
||||||
|
UndoShapeStyle, //!< Shape symbol style
|
||||||
|
UndoShapeCornerRadius, //!< Shape corner radius
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
179
src/ui/layout/qgslayoutshapewidgetbase.ui
Normal file
179
src/ui/layout/qgslayoutshapewidgetbase.ui
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>QgsLayoutShapeWidgetBase</class>
|
||||||
|
<widget class="QWidget" name="QgsLayoutShapeWidgetBase">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>564</width>
|
||||||
|
<height>322</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<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="label_2">
|
||||||
|
<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>Shape</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QgsScrollArea" name="scrollArea">
|
||||||
|
<property name="widgetResizable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>548</width>
|
||||||
|
<height>285</height>
|
||||||
|
</rect>
|
||||||
|
</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">
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Corner radius</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QgsDoubleSpinBox" name="mCornerRadiusSpinBox">
|
||||||
|
<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>999.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QgsLayoutUnitsComboBox" name="mRadiusUnitsComboBox"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Style</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QgsSymbolButton" name="mShapeStyleButton">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Change...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QComboBox" name="mShapeComboBox"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>QgsDoubleSpinBox</class>
|
||||||
|
<extends>QDoubleSpinBox</extends>
|
||||||
|
<header>qgsdoublespinbox.h</header>
|
||||||
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>QgsScrollArea</class>
|
||||||
|
<extends>QScrollArea</extends>
|
||||||
|
<header>qgsscrollarea.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>QgsCollapsibleGroupBoxBasic</class>
|
||||||
|
<extends>QGroupBox</extends>
|
||||||
|
<header>qgscollapsiblegroupbox.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>QgsSymbolButton</class>
|
||||||
|
<extends>QToolButton</extends>
|
||||||
|
<header>qgssymbolbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>QgsLayoutUnitsComboBox</class>
|
||||||
|
<extends>QComboBox</extends>
|
||||||
|
<header>qgslayoutunitscombobox.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<tabstops>
|
||||||
|
<tabstop>groupBox</tabstop>
|
||||||
|
<tabstop>scrollArea</tabstop>
|
||||||
|
<tabstop>mShapeComboBox</tabstop>
|
||||||
|
<tabstop>mCornerRadiusSpinBox</tabstop>
|
||||||
|
<tabstop>mRadiusUnitsComboBox</tabstop>
|
||||||
|
<tabstop>mShapeStyleButton</tabstop>
|
||||||
|
</tabstops>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
Loading…
x
Reference in New Issue
Block a user