mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-30 00:04:11 -04:00
improved gui handling
This commit is contained in:
parent
ccdd4df5ce
commit
561ea3b0ba
@ -1116,31 +1116,37 @@ void DnDTree::onItemDoubleClicked( QTreeWidgetItem *item, int column )
|
|||||||
dlg.setLayout( mainLayout );
|
dlg.setLayout( mainLayout );
|
||||||
layout->addWidget( baseWidget );
|
layout->addWidget( baseWidget );
|
||||||
|
|
||||||
//widget title
|
|
||||||
QLineEdit *title = new QLineEdit( itemData.name() );
|
QLineEdit *title = new QLineEdit( itemData.name() );
|
||||||
//qml code
|
|
||||||
QPlainTextEdit *qmlCode = new QPlainTextEdit( itemData.qmlElementEditorConfiguration().qmlCode );
|
QPlainTextEdit *qmlCode = new QPlainTextEdit( itemData.qmlElementEditorConfiguration().qmlCode );
|
||||||
qmlCode->setMinimumWidth( 400 );
|
qmlCode->setPlaceholderText( tr( "Insert QML code here..." ) );
|
||||||
//template to select
|
|
||||||
QComboBox *qmlObjectTemplate = new QComboBox();
|
QComboBox *qmlObjectTemplate = new QComboBox();
|
||||||
qmlObjectTemplate->addItem( "Rectangle" );
|
qmlObjectTemplate->addItem( tr( "Free text..." ) );
|
||||||
qmlObjectTemplate->addItem( "Pie Chart" );
|
qmlObjectTemplate->addItem( tr( "Rectangle" ) );
|
||||||
|
qmlObjectTemplate->addItem( tr( "Pie Chart" ) );
|
||||||
connect( qmlObjectTemplate, QOverload<int>::of( &QComboBox::currentIndexChanged ), qmlCode, [ = ]( int index )
|
connect( qmlObjectTemplate, QOverload<int>::of( &QComboBox::currentIndexChanged ), qmlCode, [ = ]( int index )
|
||||||
{
|
{
|
||||||
|
qmlCode->clear();
|
||||||
switch ( index )
|
switch ( index )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
{
|
||||||
|
qmlCode->setPlaceholderText( tr( "Insert QML code here..." ) );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
{
|
{
|
||||||
qmlCode->insertPlainText( QStringLiteral( "import QtQuick 2.0\n"
|
qmlCode->insertPlainText( QStringLiteral( "import QtQuick 2.0\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Rectangle {\n"
|
"Rectangle {\n"
|
||||||
" width: 100\n"
|
" width: 100\n"
|
||||||
" height: 100\n"
|
" height: 100\n"
|
||||||
" color: \"red\"\n"
|
" color: \"steelblue\"\n"
|
||||||
|
" Text{ text: \"A rectangle\"\n"
|
||||||
"}\n" ) );
|
"}\n" ) );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 1:
|
case 2:
|
||||||
{
|
{
|
||||||
qmlCode->insertPlainText( QStringLiteral( "import QtQuick 2.0\n"
|
qmlCode->insertPlainText( QStringLiteral( "import QtQuick 2.0\n"
|
||||||
"import QtCharts 2.0\n"
|
"import QtCharts 2.0\n"
|
||||||
@ -1170,7 +1176,7 @@ void DnDTree::onItemDoubleClicked( QTreeWidgetItem *item, int column )
|
|||||||
|
|
||||||
connect( addExpressionButton, &QAbstractButton::clicked, this, [ = ]
|
connect( addExpressionButton, &QAbstractButton::clicked, this, [ = ]
|
||||||
{
|
{
|
||||||
qmlCode->insertPlainText( QStringLiteral( "expression.evaluate(\"(%1)\")" ).arg( expressionWidget->currentText() ) );
|
qmlCode->insertPlainText( QStringLiteral( "expression.evaluate(\"%1\")" ).arg( expressionWidget->currentText() ) );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
|
||||||
@ -1186,12 +1192,12 @@ void DnDTree::onItemDoubleClicked( QTreeWidgetItem *item, int column )
|
|||||||
} );
|
} );
|
||||||
|
|
||||||
layout->addRow( tr( "Title" ), title );
|
layout->addRow( tr( "Title" ), title );
|
||||||
QScrollArea *qmlCodeBox = new QScrollArea();
|
QGroupBox *qmlCodeBox = new QGroupBox( tr( "QML Code" ) );
|
||||||
qmlCodeBox->setLayout( new QGridLayout );
|
qmlCodeBox->setLayout( new QGridLayout );
|
||||||
qmlCodeBox->layout()->addWidget( qmlObjectTemplate );
|
qmlCodeBox->layout()->addWidget( qmlObjectTemplate );
|
||||||
QGroupBox *expressionWidgetBox = new QGroupBox();
|
QGroupBox *expressionWidgetBox = new QGroupBox();
|
||||||
qmlCodeBox->layout()->addWidget( expressionWidgetBox );
|
qmlCodeBox->layout()->addWidget( expressionWidgetBox );
|
||||||
expressionWidgetBox->setLayout( new QGridLayout );
|
expressionWidgetBox->setLayout( new QHBoxLayout );
|
||||||
expressionWidgetBox->layout()->addWidget( expressionWidget );
|
expressionWidgetBox->layout()->addWidget( expressionWidget );
|
||||||
expressionWidgetBox->layout()->addWidget( addExpressionButton );
|
expressionWidgetBox->layout()->addWidget( addExpressionButton );
|
||||||
qmlCodeBox->layout()->addWidget( qmlCode );
|
qmlCodeBox->layout()->addWidget( qmlCode );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user