Skip to content

Commit

Permalink
Improve single color button UX, and immediatly refresh map after colo…
Browse files Browse the repository at this point in the history
…r changes
  • Loading branch information
nyalldawson committed Dec 4, 2020
1 parent e5e2dd4 commit 89ed1b1
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 32 deletions.
5 changes: 5 additions & 0 deletions src/app/3d/qgspointcloud3dsymbolwidget.cpp
Expand Up @@ -30,6 +30,9 @@ QgsPointCloud3DSymbolWidget::QgsPointCloud3DSymbolWidget( QgsPointCloudLayer *la

mRenderingParameterComboBox->setLayer( layer );

mSingleColorBtn->setAllowOpacity( false );
mSingleColorBtn->setColorDialogTitle( tr( "Select Point Color" ) );

mRenderingStyleComboBox->addItem( tr( "No Rendering" ), QgsPointCloud3DSymbol::NoRendering );
mRenderingStyleComboBox->addItem( tr( "Single Color" ), QgsPointCloud3DSymbol::SingleColor );
mRenderingStyleComboBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "styleicons/singlebandpseudocolor.svg" ) ), tr( "Attribute by Ramp" ), QgsPointCloud3DSymbol::ColorRamp );
Expand All @@ -42,12 +45,14 @@ QgsPointCloud3DSymbolWidget::QgsPointCloud3DSymbolWidget( QgsPointCloudLayer *la
connect( mRenderingStyleComboBox, qgis::overload< int >::of( &QComboBox::currentIndexChanged ), this, &QgsPointCloud3DSymbolWidget::onRenderingStyleChanged );
connect( mColorRampShaderMinMaxReloadButton, &QPushButton::clicked, this, &QgsPointCloud3DSymbolWidget::reloadColorRampShaderMinMax );
connect( mColorRampShaderWidget, &QgsColorRampShaderWidget::widgetChanged, this, &QgsPointCloud3DSymbolWidget::emitChangedSignal );
connect( mSingleColorBtn, &QgsColorButton::colorChanged, this, &QgsPointCloud3DSymbolWidget::emitChangedSignal );
}

void QgsPointCloud3DSymbolWidget::setSymbol( QgsPointCloud3DSymbol *symbol )
{
mBlockChangedSignals++;
mRenderingStyleComboBox->setCurrentIndex( mRenderingStyleComboBox->findData( symbol->renderingStyle() ) );
mStackedWidget->setCurrentIndex( static_cast< int >( symbol->renderingStyle() ) );
if ( symbol )
{
switch ( symbol->renderingStyle() )
Expand Down
70 changes: 38 additions & 32 deletions src/ui/3d/qgspointcloud3dsymbolwidget.ui
Expand Up @@ -93,40 +93,46 @@
</item>
<item row="3" column="0" colspan="4">
<widget class="QStackedWidget" name="mStackedWidget">
<property name="currentIndex">
<number>1</number>
</property>
<widget class="QWidget" name="page"/>
<widget class="QWidget" name="page_3">
<widget class="QLabel" name="label_6">
<property name="geometry">
<rect>
<x>0</x>
<y>30</y>
<width>263</width>
<height>32</height>
</rect>
</property>
<property name="text">
<string>Single Color</string>
</property>
</widget>
<widget class="QgsColorButton" name="mSingleColorBtn">
<property name="geometry">
<rect>
<x>269</x>
<y>36</y>
<width>262</width>
<height>26</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,1">
<item row="0" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Color</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QgsColorButton" name="mSingleColorBtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="1" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_4">
<widget class="QLabel" name="label_5">
Expand Down

0 comments on commit 89ed1b1

Please sign in to comment.