Skip to content

Commit d33f11e

Browse files
committed
add button to show the help and values widget
1 parent 37cac47 commit d33f11e

File tree

2 files changed

+35
-37
lines changed

2 files changed

+35
-37
lines changed

src/gui/qgsexpressionbuilderwidget.cpp

+17-2
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,19 @@ QgsExpressionBuilderWidget::QgsExpressionBuilderWidget( QWidget *parent )
9393

9494
editorSplit->setSizes( QList<int>( {175, 300} ) );
9595

96+
functionsplit->setCollapsible( 0, false );
97+
connect( mShowHelpButton, &QPushButton::clicked, this, [ = ]()
98+
{
99+
functionsplit->setSizes( QList<int>( {mOperationListGroup->width() - mHelpAndValuesWidget->minimumWidth(),
100+
mHelpAndValuesWidget->minimumWidth()} ) );
101+
mShowHelpButton->setEnabled( false );
102+
} );
103+
connect( functionsplit, &QSplitter::splitterMoved, this, [ = ]( int, int )
104+
{
105+
mShowHelpButton->setEnabled( functionsplit->sizes().at( 1 ) == 0 );
106+
} );
107+
108+
96109
QgsSettings settings;
97110
splitter->restoreState( settings.value( QStringLiteral( "Windows/QgsExpressionBuilderWidget/splitter" ) ).toByteArray() );
98111
editorSplit->restoreState( settings.value( QStringLiteral( "Windows/QgsExpressionBuilderWidget/editorsplitter" ) ).toByteArray() );
@@ -227,7 +240,9 @@ void QgsExpressionBuilderWidget::currentChanged( const QModelIndex &index, const
227240
mValuesModel->setStringList( values );
228241
}
229242

230-
mValueGroupBox->setVisible( item->getItemType() == QgsExpressionItem::Field && mLayer );
243+
bool isField = mLayer && item->getItemType() == QgsExpressionItem::Field;
244+
mValueGroupBox->setVisible( isField );
245+
mShowHelpButton->setText( isField ? tr( "Show Values" ) : tr( "Show Help" ) );
231246

232247
// Show the help for the current item.
233248
QString help = loadFunctionHelp( item );
@@ -1092,7 +1107,7 @@ void QgsExpressionBuilderWidget::indicatorClicked( int line, int index, Qt::Keyb
10921107
if ( state & Qt::ControlModifier )
10931108
{
10941109
int position = txtExpressionString->positionFromLineIndex( line, index );
1095-
long fncIndex = txtExpressionString->SendScintilla( QsciScintilla::SCI_INDICATORVALUEAT, FUNCTION_MARKER_ID, ( long int )position );
1110+
long fncIndex = txtExpressionString->SendScintilla( QsciScintilla::SCI_INDICATORVALUEAT, FUNCTION_MARKER_ID, static_cast<long int>( position ) );
10961111
QgsExpressionFunction *func = QgsExpression::Functions()[fncIndex];
10971112
QString help = getFunctionHelp( func );
10981113
txtHelpText->setText( help );

src/ui/qgsexpressionbuilder.ui

+18-35
Original file line numberDiff line numberDiff line change
@@ -447,23 +447,30 @@
447447
</item>
448448
</layout>
449449
</widget>
450-
<widget class="QFrame" name="moperationListGroup">
450+
<widget class="QFrame" name="mOperationListGroup">
451451
<layout class="QGridLayout" name="gridLayout_6">
452452
<item row="0" column="0">
453453
<widget class="QSplitter" name="functionsplit">
454454
<property name="orientation">
455455
<enum>Qt::Horizontal</enum>
456456
</property>
457457
<widget class="QWidget" name="layoutWidget1">
458-
<layout class="QVBoxLayout" name="verticalLayout_4">
459-
<item>
458+
<layout class="QGridLayout" name="gridLayout_9">
459+
<item row="0" column="0">
460460
<widget class="QgsFilterLineEdit" name="txtSearchEdit">
461461
<property name="enabled">
462462
<bool>true</bool>
463463
</property>
464464
</widget>
465465
</item>
466-
<item>
466+
<item row="0" column="1">
467+
<widget class="QPushButton" name="mShowHelpButton">
468+
<property name="text">
469+
<string>Show Help</string>
470+
</property>
471+
</widget>
472+
</item>
473+
<item row="1" column="0" colspan="2">
467474
<widget class="QTreeView" name="expressionTree">
468475
<property name="frameShape">
469476
<enum>QFrame::StyledPanel</enum>
@@ -490,7 +497,13 @@
490497
</item>
491498
</layout>
492499
</widget>
493-
<widget class="QWidget" name="layoutWidget2">
500+
<widget class="QWidget" name="mHelpAndValuesWidget" native="true">
501+
<property name="minimumSize">
502+
<size>
503+
<width>250</width>
504+
<height>0</height>
505+
</size>
506+
</property>
494507
<layout class="QVBoxLayout" name="verticalLayout_2">
495508
<property name="spacing">
496509
<number>0</number>
@@ -824,36 +837,6 @@ Saved scripts are auto loaded on QGIS startup.</string>
824837
</customwidgets>
825838
<resources>
826839
<include location="../../images/images.qrc"/>
827-
<include location="../../images/images.qrc"/>
828-
<include location="../../images/images.qrc"/>
829-
<include location="../../images/images.qrc"/>
830-
<include location="../../images/images.qrc"/>
831-
<include location="../../images/images.qrc"/>
832-
<include location="../../images/images.qrc"/>
833-
<include location="../../images/images.qrc"/>
834-
<include location="../../images/images.qrc"/>
835-
<include location="../../images/images.qrc"/>
836-
<include location="../../images/images.qrc"/>
837-
<include location="../../images/images.qrc"/>
838-
<include location="../../images/images.qrc"/>
839-
<include location="../../images/images.qrc"/>
840-
<include location="../../images/images.qrc"/>
841-
<include location="../../images/images.qrc"/>
842-
<include location="../../images/images.qrc"/>
843-
<include location="../../images/images.qrc"/>
844-
<include location="../../images/images.qrc"/>
845-
<include location="../../images/images.qrc"/>
846-
<include location="../../images/images.qrc"/>
847-
<include location="../../images/images.qrc"/>
848-
<include location="../../images/images.qrc"/>
849-
<include location="../../images/images.qrc"/>
850-
<include location="../../images/images.qrc"/>
851-
<include location="../../images/images.qrc"/>
852-
<include location="../../images/images.qrc"/>
853-
<include location="../../images/images.qrc"/>
854-
<include location="../../images/images.qrc"/>
855-
<include location="../../images/images.qrc"/>
856-
<include location="../../images/images.qrc"/>
857840
</resources>
858841
<connections/>
859842
</ui>

0 commit comments

Comments
 (0)