@@ -57,23 +57,6 @@ QgsExpressionContext QgsLabelingGui::createExpressionContext() const
57
57
return expContext;
58
58
}
59
59
60
- void QgsLabelingGui::registerDataDefinedButton ( QgsPropertyOverrideButton *button, QgsPalLayerSettings::Property key )
61
- {
62
- button->init ( key, mDataDefinedProperties , QgsPalLayerSettings::propertyDefinitions (), mLayer , true );
63
- connect ( button, &QgsPropertyOverrideButton::changed, this , &QgsLabelingGui::updateProperty );
64
- connect ( button, &QgsPropertyOverrideButton::createAuxiliaryField, this , &QgsLabelingGui::createAuxiliaryField );
65
- button->registerExpressionContextGenerator ( this );
66
-
67
- mButtons [key] = button;
68
- }
69
-
70
- void QgsLabelingGui::updateProperty ()
71
- {
72
- QgsPropertyOverrideButton *button = qobject_cast<QgsPropertyOverrideButton *>( sender () );
73
- QgsPalLayerSettings::Property key = static_cast < QgsPalLayerSettings::Property >( button->propertyKey () );
74
- mDataDefinedProperties .setProperty ( key, button->toProperty () );
75
- }
76
-
77
60
static bool _initCalloutWidgetFunction ( const QString &name, QgsCalloutWidgetFunc f )
78
61
{
79
62
QgsCalloutRegistry *registry = QgsApplication::calloutRegistry ();
@@ -500,7 +483,7 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
500
483
lyr.useSubstitutions = mCheckBoxSubstituteText ->isChecked ();
501
484
lyr.substitutions = mSubstitutions ;
502
485
503
- lyr.setFormat ( format () );
486
+ lyr.setFormat ( format ( false ) );
504
487
505
488
// format numbers
506
489
lyr.formatNumbers = mFormatNumChkBx ->isChecked ();
@@ -563,148 +546,6 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
563
546
return lyr;
564
547
}
565
548
566
- void QgsLabelingGui::populateDataDefinedButtons ()
567
- {
568
- // text style
569
- registerDataDefinedButton ( mFontDDBtn , QgsPalLayerSettings::Family );
570
- registerDataDefinedButton ( mFontStyleDDBtn , QgsPalLayerSettings::FontStyle );
571
- registerDataDefinedButton ( mFontUnderlineDDBtn , QgsPalLayerSettings::Underline );
572
- registerDataDefinedButton ( mFontStrikeoutDDBtn , QgsPalLayerSettings::Strikeout );
573
- registerDataDefinedButton ( mFontBoldDDBtn , QgsPalLayerSettings::Bold );
574
- registerDataDefinedButton ( mFontItalicDDBtn , QgsPalLayerSettings::Italic );
575
- registerDataDefinedButton ( mFontSizeDDBtn , QgsPalLayerSettings::Size );
576
- registerDataDefinedButton ( mFontUnitsDDBtn , QgsPalLayerSettings::FontSizeUnit );
577
- registerDataDefinedButton ( mFontColorDDBtn , QgsPalLayerSettings::Color );
578
- registerDataDefinedButton ( mFontOpacityDDBtn , QgsPalLayerSettings::FontOpacity );
579
- registerDataDefinedButton ( mFontCaseDDBtn , QgsPalLayerSettings::FontCase );
580
- registerDataDefinedButton ( mFontLetterSpacingDDBtn , QgsPalLayerSettings::FontLetterSpacing );
581
- registerDataDefinedButton ( mFontWordSpacingDDBtn , QgsPalLayerSettings::FontWordSpacing );
582
- registerDataDefinedButton ( mFontBlendModeDDBtn , QgsPalLayerSettings::FontBlendMode );
583
-
584
- // text formatting
585
- registerDataDefinedButton ( mWrapCharDDBtn , QgsPalLayerSettings::MultiLineWrapChar );
586
- registerDataDefinedButton ( mAutoWrapLengthDDBtn , QgsPalLayerSettings::AutoWrapLength );
587
- registerDataDefinedButton ( mFontLineHeightDDBtn , QgsPalLayerSettings::MultiLineHeight );
588
- registerDataDefinedButton ( mFontMultiLineAlignDDBtn , QgsPalLayerSettings::MultiLineAlignment );
589
-
590
- registerDataDefinedButton ( mDirectSymbDDBtn , QgsPalLayerSettings::DirSymbDraw );
591
- mDirectSymbDDBtn ->registerCheckedWidget ( mDirectSymbChkBx );
592
- registerDataDefinedButton ( mDirectSymbLeftDDBtn , QgsPalLayerSettings::DirSymbLeft );
593
- registerDataDefinedButton ( mDirectSymbRightDDBtn , QgsPalLayerSettings::DirSymbRight );
594
-
595
- registerDataDefinedButton ( mDirectSymbPlacementDDBtn , QgsPalLayerSettings::DirSymbPlacement );
596
- registerDataDefinedButton ( mDirectSymbRevDDBtn , QgsPalLayerSettings::DirSymbReverse );
597
-
598
- registerDataDefinedButton ( mFormatNumDDBtn , QgsPalLayerSettings::NumFormat );
599
- mFormatNumDDBtn ->registerCheckedWidget ( mFormatNumChkBx );
600
- registerDataDefinedButton ( mFormatNumDecimalsDDBtn , QgsPalLayerSettings::NumDecimals );
601
- registerDataDefinedButton ( mFormatNumPlusSignDDBtn , QgsPalLayerSettings::NumPlusSign );
602
-
603
- // text buffer
604
- registerDataDefinedButton ( mBufferDrawDDBtn , QgsPalLayerSettings::BufferDraw );
605
- mBufferDrawDDBtn ->registerCheckedWidget ( mBufferDrawChkBx );
606
- registerDataDefinedButton ( mBufferSizeDDBtn , QgsPalLayerSettings::BufferSize );
607
- registerDataDefinedButton ( mBufferUnitsDDBtn , QgsPalLayerSettings::BufferUnit );
608
- registerDataDefinedButton ( mBufferColorDDBtn , QgsPalLayerSettings::BufferColor );
609
- registerDataDefinedButton ( mBufferOpacityDDBtn , QgsPalLayerSettings::BufferOpacity );
610
- registerDataDefinedButton ( mBufferJoinStyleDDBtn , QgsPalLayerSettings::BufferJoinStyle );
611
- registerDataDefinedButton ( mBufferBlendModeDDBtn , QgsPalLayerSettings::BufferBlendMode );
612
-
613
- // background
614
- registerDataDefinedButton ( mShapeDrawDDBtn , QgsPalLayerSettings::ShapeDraw );
615
- mShapeDrawDDBtn ->registerCheckedWidget ( mShapeDrawChkBx );
616
- registerDataDefinedButton ( mShapeTypeDDBtn , QgsPalLayerSettings::ShapeKind );
617
- registerDataDefinedButton ( mShapeSVGPathDDBtn , QgsPalLayerSettings::ShapeSVGFile );
618
- registerDataDefinedButton ( mShapeSizeTypeDDBtn , QgsPalLayerSettings::ShapeSizeType );
619
- registerDataDefinedButton ( mShapeSizeXDDBtn , QgsPalLayerSettings::ShapeSizeX );
620
- registerDataDefinedButton ( mShapeSizeYDDBtn , QgsPalLayerSettings::ShapeSizeY );
621
- registerDataDefinedButton ( mShapeSizeUnitsDDBtn , QgsPalLayerSettings::ShapeSizeUnits );
622
- registerDataDefinedButton ( mShapeRotationTypeDDBtn , QgsPalLayerSettings::ShapeRotationType );
623
- registerDataDefinedButton ( mShapeRotationDDBtn , QgsPalLayerSettings::ShapeRotation );
624
- registerDataDefinedButton ( mShapeOffsetDDBtn , QgsPalLayerSettings::ShapeOffset );
625
- registerDataDefinedButton ( mShapeOffsetUnitsDDBtn , QgsPalLayerSettings::ShapeOffsetUnits );
626
- registerDataDefinedButton ( mShapeRadiusDDBtn , QgsPalLayerSettings::ShapeRadii );
627
- registerDataDefinedButton ( mShapeRadiusUnitsDDBtn , QgsPalLayerSettings::ShapeRadiiUnits );
628
- registerDataDefinedButton ( mShapeOpacityDDBtn , QgsPalLayerSettings::ShapeOpacity );
629
- registerDataDefinedButton ( mShapeBlendModeDDBtn , QgsPalLayerSettings::ShapeBlendMode );
630
- registerDataDefinedButton ( mShapeFillColorDDBtn , QgsPalLayerSettings::ShapeFillColor );
631
- registerDataDefinedButton ( mShapeStrokeColorDDBtn , QgsPalLayerSettings::ShapeStrokeColor );
632
- registerDataDefinedButton ( mShapeStrokeWidthDDBtn , QgsPalLayerSettings::ShapeStrokeWidth );
633
- registerDataDefinedButton ( mShapeStrokeUnitsDDBtn , QgsPalLayerSettings::ShapeStrokeWidthUnits );
634
- registerDataDefinedButton ( mShapePenStyleDDBtn , QgsPalLayerSettings::ShapeJoinStyle );
635
-
636
- // drop shadows
637
- registerDataDefinedButton ( mShadowDrawDDBtn , QgsPalLayerSettings::ShadowDraw );
638
- mShadowDrawDDBtn ->registerCheckedWidget ( mShadowDrawChkBx );
639
- registerDataDefinedButton ( mShadowUnderDDBtn , QgsPalLayerSettings::ShadowUnder );
640
- registerDataDefinedButton ( mShadowOffsetAngleDDBtn , QgsPalLayerSettings::ShadowOffsetAngle );
641
- registerDataDefinedButton ( mShadowOffsetDDBtn , QgsPalLayerSettings::ShadowOffsetDist );
642
- registerDataDefinedButton ( mShadowOffsetUnitsDDBtn , QgsPalLayerSettings::ShadowOffsetUnits );
643
- registerDataDefinedButton ( mShadowRadiusDDBtn , QgsPalLayerSettings::ShadowRadius );
644
- registerDataDefinedButton ( mShadowRadiusUnitsDDBtn , QgsPalLayerSettings::ShadowRadiusUnits );
645
- registerDataDefinedButton ( mShadowOpacityDDBtn , QgsPalLayerSettings::ShadowOpacity );
646
- registerDataDefinedButton ( mShadowScaleDDBtn , QgsPalLayerSettings::ShadowScale );
647
- registerDataDefinedButton ( mShadowColorDDBtn , QgsPalLayerSettings::ShadowColor );
648
- registerDataDefinedButton ( mShadowBlendDDBtn , QgsPalLayerSettings::ShadowBlendMode );
649
-
650
- // placement
651
- registerDataDefinedButton ( mCentroidDDBtn , QgsPalLayerSettings::CentroidWhole );
652
- registerDataDefinedButton ( mPointQuadOffsetDDBtn , QgsPalLayerSettings::OffsetQuad );
653
- registerDataDefinedButton ( mPointPositionOrderDDBtn , QgsPalLayerSettings::PredefinedPositionOrder );
654
- registerDataDefinedButton ( mLinePlacementFlagsDDBtn , QgsPalLayerSettings::LinePlacementOptions );
655
- registerDataDefinedButton ( mPointOffsetDDBtn , QgsPalLayerSettings::OffsetXY );
656
- registerDataDefinedButton ( mPointOffsetUnitsDDBtn , QgsPalLayerSettings::OffsetUnits );
657
- registerDataDefinedButton ( mLineDistanceDDBtn , QgsPalLayerSettings::LabelDistance );
658
- registerDataDefinedButton ( mLineDistanceUnitDDBtn , QgsPalLayerSettings::DistanceUnits );
659
- registerDataDefinedButton ( mPriorityDDBtn , QgsPalLayerSettings::Priority );
660
-
661
- // TODO: is this necessary? maybe just use the data defined-only rotation?
662
- // mPointAngleDDBtn, QgsPalLayerSettings::OffsetRotation,
663
- // QgsPropertyOverrideButton::AnyType, QgsPropertyOverrideButton::double180RotDesc() );
664
- registerDataDefinedButton ( mMaxCharAngleDDBtn , QgsPalLayerSettings::CurvedCharAngleInOut );
665
- registerDataDefinedButton ( mRepeatDistanceDDBtn , QgsPalLayerSettings::RepeatDistance );
666
- registerDataDefinedButton ( mRepeatDistanceUnitDDBtn , QgsPalLayerSettings::RepeatDistanceUnit );
667
-
668
- // data defined-only
669
- QString ddPlaceInfo = tr ( " In edit mode, layer's relevant labeling map tool is:<br>"
670
- " Defined attribute field -> <i>enabled</i><br>"
671
- " Defined expression -> <i>disabled</i>" );
672
- registerDataDefinedButton ( mCoordXDDBtn , QgsPalLayerSettings::PositionX );
673
- mCoordXDDBtn ->setUsageInfo ( ddPlaceInfo );
674
- registerDataDefinedButton ( mCoordYDDBtn , QgsPalLayerSettings::PositionY );
675
- mCoordYDDBtn ->setUsageInfo ( ddPlaceInfo );
676
- registerDataDefinedButton ( mCoordAlignmentHDDBtn , QgsPalLayerSettings::Hali );
677
- mCoordAlignmentHDDBtn ->setUsageInfo ( ddPlaceInfo );
678
- registerDataDefinedButton ( mCoordAlignmentVDDBtn , QgsPalLayerSettings::Vali );
679
- mCoordAlignmentVDDBtn ->setUsageInfo ( ddPlaceInfo );
680
- registerDataDefinedButton ( mCoordRotationDDBtn , QgsPalLayerSettings::LabelRotation );
681
- mCoordRotationDDBtn ->setUsageInfo ( ddPlaceInfo );
682
-
683
- // rendering
684
- QString ddScaleVisInfo = tr ( " Value < 0 represents a scale closer than 1:1, e.g. -10 = 10:1<br>"
685
- " Value of 0 disables the specific limit." );
686
- registerDataDefinedButton ( mScaleBasedVisibilityDDBtn , QgsPalLayerSettings::ScaleVisibility );
687
- mScaleBasedVisibilityDDBtn ->registerCheckedWidget ( mScaleBasedVisibilityChkBx );
688
- registerDataDefinedButton ( mScaleBasedVisibilityMinDDBtn , QgsPalLayerSettings::MinimumScale );
689
- mScaleBasedVisibilityMinDDBtn ->setUsageInfo ( ddScaleVisInfo );
690
- registerDataDefinedButton ( mScaleBasedVisibilityMaxDDBtn , QgsPalLayerSettings::MaximumScale );
691
- mScaleBasedVisibilityMaxDDBtn ->setUsageInfo ( ddScaleVisInfo );
692
-
693
- registerDataDefinedButton ( mFontLimitPixelDDBtn , QgsPalLayerSettings::FontLimitPixel );
694
- mFontLimitPixelDDBtn ->registerCheckedWidget ( mFontLimitPixelChkBox );
695
- registerDataDefinedButton ( mFontMinPixelDDBtn , QgsPalLayerSettings::FontMinPixel );
696
- registerDataDefinedButton ( mFontMaxPixelDDBtn , QgsPalLayerSettings::FontMaxPixel );
697
-
698
- registerDataDefinedButton ( mShowLabelDDBtn , QgsPalLayerSettings::Show );
699
-
700
- registerDataDefinedButton ( mAlwaysShowDDBtn , QgsPalLayerSettings::AlwaysShow );
701
-
702
- registerDataDefinedButton ( mIsObstacleDDBtn , QgsPalLayerSettings::IsObstacle );
703
- registerDataDefinedButton ( mObstacleFactorDDBtn , QgsPalLayerSettings::ObstacleFactor );
704
- registerDataDefinedButton ( mZIndexDDBtn , QgsPalLayerSettings::ZIndex );
705
-
706
- registerDataDefinedButton ( mCalloutDrawDDBtn , QgsPalLayerSettings::CalloutDraw );
707
- }
708
549
709
550
void QgsLabelingGui::syncDefinedCheckboxFrame ( QgsPropertyOverrideButton *ddBtn, QCheckBox *chkBx, QFrame *f )
710
551
{
@@ -739,41 +580,6 @@ void QgsLabelingGui::updateUi()
739
580
}
740
581
}
741
582
742
- void QgsLabelingGui::createAuxiliaryField ()
743
- {
744
- if ( !mLayer )
745
- return ;
746
-
747
- // try to create an auxiliary layer if not yet created
748
- if ( !mLayer ->auxiliaryLayer () )
749
- {
750
- QgsNewAuxiliaryLayerDialog dlg ( mLayer , this );
751
- dlg.exec ();
752
- }
753
-
754
- // return if still not exists
755
- if ( !mLayer ->auxiliaryLayer () )
756
- return ;
757
-
758
- QgsPropertyOverrideButton *button = qobject_cast<QgsPropertyOverrideButton *>( sender () );
759
- const QgsPalLayerSettings::Property key = static_cast < QgsPalLayerSettings::Property >( button->propertyKey () );
760
- const QgsPropertyDefinition def = QgsPalLayerSettings::propertyDefinitions ()[key];
761
-
762
- // create property in auxiliary storage if necessary
763
- if ( !mLayer ->auxiliaryLayer ()->exists ( def ) )
764
- mLayer ->auxiliaryLayer ()->addAuxiliaryField ( def );
765
-
766
- // update property with join field name from auxiliary storage
767
- QgsProperty property = button->toProperty ();
768
- property.setField ( QgsAuxiliaryLayer::nameFromProperty ( def, true ) );
769
- property.setActive ( true );
770
- button->updateFieldLists ();
771
- button->setToProperty ( property );
772
- mDataDefinedProperties .setProperty ( key, button->toProperty () );
773
-
774
- emit auxiliaryFieldCreated ();
775
- }
776
-
777
583
void QgsLabelingGui::setFormatFromStyle ( const QString &name, QgsStyle::StyleEntity type )
778
584
{
779
585
switch ( type )
@@ -886,20 +692,6 @@ void QgsLabelingGui::saveFormat()
886
692
}
887
693
}
888
694
889
- void QgsLabelingGui::deactivateField ( QgsPalLayerSettings::Property key )
890
- {
891
- if ( mButtons .contains ( key ) )
892
- {
893
- QgsPropertyOverrideButton *button = mButtons [ key ];
894
- QgsProperty p = button->toProperty ();
895
- p.setField ( QString () );
896
- p.setActive ( false );
897
- button->updateFieldLists ();
898
- button->setToProperty ( p );
899
- mDataDefinedProperties .setProperty ( key, p );
900
- }
901
- }
902
-
903
695
void QgsLabelingGui::updateGeometryTypeBasedWidgets ()
904
696
{
905
697
QgsWkbTypes::GeometryType geometryType = mGeomType ;
0 commit comments