-
-
Notifications
You must be signed in to change notification settings - Fork 3k
/
qgswmsparameters.h
1287 lines (1110 loc) · 37.5 KB
/
qgswmsparameters.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/***************************************************************************
qgswmsparameters.h
------------------
begin : March 17, 2017
copyright : (C) 2017 by Paul Blottiere
email : paul dot blottiere at oslandia dot com
***************************************************************************/
/***************************************************************************
* *
* 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 QGSWMSPARAMETERS_H
#define QGSWMSPARAMETERS_H
#include <QMap>
#include <QMetaEnum>
#include <QColor>
#include "qgsrectangle.h"
#include "qgswmsserviceexception.h"
#include "qgslegendsettings.h"
#include "qgsprojectversion.h"
#include "qgsogcutils.h"
#include "qgsserverparameters.h"
#include "qgsdxfexport.h"
namespace QgsWms
{
struct QgsWmsParametersFilter
{
//! Filter type
enum Type
{
UNKNOWN,
SQL,
OGC_FE
};
QString mFilter;
QgsWmsParametersFilter::Type mType = QgsWmsParametersFilter::UNKNOWN;
QgsOgcUtils::FilterVersion mVersion = QgsOgcUtils::FILTER_OGC_1_0; // only if FE
};
struct QgsWmsParametersLayer
{
QString mNickname; // name, id or short name
int mOpacity = -1;
QList<QgsWmsParametersFilter> mFilter; // list of filter
QStringList mSelection; // list of string fid
QString mStyle;
};
struct QgsWmsParametersExternalLayer
{
QString mName;
QString mUri;
};
struct QgsWmsParametersHighlightLayer
{
QString mName;
QgsGeometry mGeom;
QString mSld;
QString mLabel;
QColor mColor;
int mSize = 0;
int mWeight = 0;
QString mFont;
float mBufferSize = 0;
QColor mBufferColor;
};
struct QgsWmsParametersComposerMap
{
int mId = 0; // composer map id
bool mHasExtent = false; // does the request contains extent for this composer map
QgsRectangle mExtent; // the request extent for this composer map
float mScale = -1;
float mRotation = 0;
float mGridX = 0;
float mGridY = 0;
QList<QgsWmsParametersLayer> mLayers; // list of layers for this composer map
QList<QgsWmsParametersExternalLayer> mExternalLayers; // list of external layers for this composer map
QList<QgsWmsParametersHighlightLayer> mHighlightLayers; // list of highlight layers for this composer map
};
/**
* \ingroup server
* \class QgsWmsParameter
* \brief WMS parameter received from the client.
* \since QGIS 3.4
*/
class QgsWmsParameter : public QgsServerParameterDefinition
{
Q_GADGET
public:
//! Available parameters for WMS requests
enum Name
{
UNKNOWN,
BOXSPACE,
CRS,
SRS,
WIDTH,
HEIGHT,
BBOX,
ICONLABELSPACE,
IMAGE_QUALITY,
ITEMFONTFAMILY,
ITEMFONTBOLD,
ITEMFONTITALIC,
ITEMFONTSIZE,
ITEMFONTCOLOR,
LAYER,
LAYERFONTFAMILY,
LAYERFONTBOLD,
LAYERFONTITALIC,
LAYERFONTSIZE,
LAYERFONTCOLOR,
LAYERTITLE,
LAYERS,
LAYERSPACE,
LAYERTITLESPACE,
QUERY_LAYERS,
FEATURE_COUNT,
SHOWFEATURECOUNT,
STYLE,
STYLES,
SYMBOLSPACE,
SYMBOLHEIGHT,
SYMBOLWIDTH,
OPACITIES,
SLD,
SLD_BODY,
FI_POLYGON_TOLERANCE,
FI_LINE_TOLERANCE,
FI_POINT_TOLERANCE,
FILTER,
FILTER_GEOM,
FORMAT,
INFO_FORMAT,
I,
J,
X,
Y,
RULE,
RULELABEL,
SCALE,
SELECTION,
HIGHLIGHT_GEOM,
HIGHLIGHT_SYMBOL,
HIGHLIGHT_LABELSTRING,
HIGHLIGHT_LABELFONT,
HIGHLIGHT_LABELSIZE,
HIGHLIGHT_LABELWEIGHT,
HIGHLIGHT_LABELCOLOR,
HIGHLIGHT_LABELBUFFERCOLOR,
HIGHLIGHT_LABELBUFFERSIZE,
WMS_PRECISION,
TRANSPARENT,
BGCOLOR,
DPI,
TEMPLATE,
EXTENT,
ROTATION,
GRID_INTERVAL_X,
GRID_INTERVAL_Y,
WITH_GEOMETRY,
WITH_MAPTIP,
WMTVER,
ATLAS_PK,
FORMAT_OPTIONS,
SRCWIDTH,
SRCHEIGHT
};
Q_ENUM( Name )
/**
* Constructor for QgsWmsParameter.
* \param name Name of the WMS parameter
* \param type Type of the parameter
* \param defaultValue Default value of the parameter
*/
QgsWmsParameter( const QgsWmsParameter::Name name = QgsWmsParameter::UNKNOWN,
const QVariant::Type type = QVariant::String,
const QVariant defaultValue = QVariant( "" ) );
/**
* Default destructor for QgsWmsParameter.
*/
virtual ~QgsWmsParameter() = default;
/**
* Returns TRUE if the parameter is valid, FALSE otherwise.
*/
bool isValid() const override;
/**
* Converts the parameter into a list of geometries.
* \param delimiter The character delimiting string geometries
* \returns A list of geometries
* \throws QgsBadRequestException Invalid parameter exception
*/
QList<QgsGeometry> toGeomList( const char delimiter = ',' ) const;
/**
* Converts the parameter into a list of integers.
* \param delimiter The character delimiting string integers
* \returns A list of integers
* \throws QgsBadRequestException Invalid parameter exception
*/
QList<int> toIntList( const char delimiter = ',' ) const;
/**
* Converts the parameter into a list of doubles.
* \param delimiter The character delimiting string doubles
* \returns A list of doubles
* \throws QgsBadRequestException Invalid parameter exception
*/
QList<double> toDoubleList( const char delimiter = ',' ) const;
/**
* Converts the parameter into a list of colors.
* \param delimiter The character delimiting string colors
* \returns A list of colors
* \throws QgsBadRequestException Invalid parameter exception
*/
QList<QColor> toColorList( const char delimiter = ',' ) const;
/**
* Converts the parameter into a rectangle.
* \returns A rectangle
* \throws QgsBadRequestException Invalid parameter exception
*/
QgsRectangle toRectangle() const;
/**
* Converts the parameter into an integer.
* \returns An integer
* \throws QgsBadRequestException Invalid parameter exception
*/
int toInt() const;
/**
* Converts the parameter into a double.
* \returns A double
* \throws QgsBadRequestException Invalid parameter exception
*/
double toDouble() const;
/**
* Converts the parameter into a color.
* \returns A color
* \throws QgsBadRequestException Invalid parameter exception
*/
QColor toColor() const;
/**
* Converts the parameter into an url.
* \returns An url
* \throws QgsBadRequestException Invalid parameter exception
* \since QGIS 3.4
*/
QUrl toUrl() const;
/**
* Loads the data associated to the parameter converted into an url.
* \returns The content loaded
* \throws QgsBadRequestException Invalid parameter exception
* \since QGIS 3.4
*/
QString loadUrl() const;
/**
* Raises an error in case of an invalid conversion.
* \throws QgsBadRequestException Invalid parameter exception
*/
void raiseError() const;
/**
* Converts a parameter's name into its string representation.
*/
static QString name( const QgsWmsParameter::Name );
/**
* Converts a string into a parameter's name (UNKNOWN in case of an
* invalid string).
*/
static QgsWmsParameter::Name name( const QString &name );
QgsWmsParameter::Name mName;
int mId = -1;
};
/**
* \ingroup server
* \class QgsWms::QgsWmsParameters
* \brief Provides an interface to retrieve and manipulate WMS parameters received from the client.
* \since QGIS 3.0
*/
class QgsWmsParameters : public QgsServerParameters
{
Q_GADGET
public:
//! Output format for the response
enum Format
{
NONE,
JPG,
PNG,
SVG,
PDF,
TEXT,
XML,
HTML,
GML,
JSON
};
Q_ENUM( Format )
//! Options for DXF format
enum DxfFormatOption
{
SCALE,
MODE,
LAYERATTRIBUTES,
USE_TITLE_AS_LAYERNAME,
CODEC
};
Q_ENUM( DxfFormatOption )
/**
* Constructor for WMS parameters with specific values.
* \param parameters Map of parameters where keys are parameters' names.
*/
QgsWmsParameters( const QgsServerParameters ¶meters );
/**
* Constructor for WMS parameters with default values only.
*/
QgsWmsParameters();
virtual ~QgsWmsParameters() = default;
/**
* Dumps parameters.
*/
void dump() const;
/**
* Returns CRS or an empty string if none is defined.
* \returns crs parameter as string
*/
QString crs() const;
/**
* Returns WIDTH parameter or an empty string if not defined.
* \returns width parameter
*/
QString width() const;
/**
* Returns WIDTH parameter as an int or its default value if not
* defined. An exception is raised if WIDTH is defined and cannot be
* converted.
* \returns width parameter
* \throws QgsBadRequestException
*/
int widthAsInt() const;
/**
* Returns HEIGHT parameter or an empty string if not defined.
* \returns height parameter
*/
QString height() const;
/**
* Returns HEIGHT parameter as an int or its default value if not
* defined. An exception is raised if HEIGHT is defined and cannot be
* converted.
* \returns height parameter
* \throws QgsBadRequestException
*/
int heightAsInt() const;
/**
* Returns SRCWIDTH parameter or an empty string if not defined.
* \returns srcWidth parameter
* \since QGIS 3.8
*/
QString srcWidth() const;
/**
* Returns SRCWIDTH parameter as an int or its default value if not
* defined. An exception is raised if SRCWIDTH is defined and cannot be
* converted.
* \returns srcWidth parameter
* \throws QgsBadRequestException
* \since QGIS 3.8
*/
int srcWidthAsInt() const;
/**
* Returns SRCHEIGHT parameter or an empty string if not defined.
* \returns srcHeight parameter
* \since QGIS 3.8
*/
QString srcHeight() const;
/**
* Returns SRCHEIGHT parameter as an int or its default value if not
* defined. An exception is raised if SRCHEIGHT is defined and cannot be
* converted.
* \returns srcHeight parameter
* \throws QgsBadRequestException
* \since QGIS 3.8
*/
int srcHeightAsInt() const;
/**
* Returns VERSION parameter if defined or its default value.
* \returns version
*/
QgsProjectVersion versionAsNumber() const;
/**
* Returns TRUE if \a version is valid, FALSE otherwise.
* \since QGIS 3.4
*/
bool versionIsValid( const QString version ) const;
/**
* Returns BBOX if defined or an empty string.
* \returns bbox parameter
*/
QString bbox() const;
/**
* Returns BBOX as a rectangle if defined and valid. An exception is
* raised if the BBOX string cannot be converted into a rectangle.
* \returns bbox as rectangle
* \throws QgsBadRequestException
*/
QgsRectangle bboxAsRectangle() const;
/**
* Returns SLD_body if defined or an empty string.
* \returns sld body
*/
QString sldBody() const;
/**
* Returns the list of feature selection found in SELECTION parameter.
* \returns the list of selection
*/
QStringList selections() const;
/**
* Returns the list of filters found in FILTER parameter.
* \returns the list of filter
*/
QStringList filters() const;
/**
* Returns the filter geometry found in FILTER_GEOM parameter.
* \returns the filter geometry as Well Known Text.
*/
QString filterGeom() const;
/**
* Returns the list of opacities found in OPACITIES parameter.
* \returns the list of opacities in string
*/
QStringList opacities() const;
/**
* Returns the list of opacities found in OPACITIES parameter as
* integers. If an opacity cannot be converted into an integer, then an
* exception is raised
* \returns a list of opacities as integers
* \throws QgsBadRequestException
*/
QList<int> opacitiesAsInt() const;
/**
* Returns nickname of layers found in LAYER and LAYERS parameters.
* \returns nickname of layers
*/
QStringList allLayersNickname() const;
/**
* Returns nickname of layers found in QUERY_LAYERS parameter.
* \returns nickname of layers
*/
QStringList queryLayersNickname() const;
/**
* Returns styles found in STYLE and STYLES parameters.
* \returns name of styles
*/
QStringList allStyles() const;
/**
* Returns parameters for each layer found in LAYER/LAYERS.
* \returns layer parameters
*/
QList<QgsWmsParametersLayer> layersParameters() const;
/**
* Returns FI_POLYGON_TOLERANCE parameter or an empty string if not
* defined.
* \since QGIS 3.4
*/
QString polygonTolerance() const;
/**
* Returns FI_LINE_TOLERANCE parameter or an empty string if not
* defined.
* \since QGIS 3.4
*/
QString lineTolerance() const;
/**
* Returns FI_POINT_TOLERANCE parameter or an empty string if not
* defined.
* \since QGIS 3.4
*/
QString pointTolerance() const;
/**
* Returns FI_POLYGON_TOLERANCE parameter as an integer.
* \throws QgsBadRequestException
* \since QGIS 3.4
*/
int polygonToleranceAsInt() const;
/**
* Returns FI_LINE_TOLERANCE parameter as an integer.
* \throws QgsBadRequestException
* \since QGIS 3.4
*/
int lineToleranceAsInt() const;
/**
* Returns FI_POINT_TOLERANCE parameter as an integer.
* \throws QgsBadRequestException
* \since QGIS 3.4
*/
int pointToleranceAsInt() const;
/**
* Returns FORMAT parameter as a string.
* \returns FORMAT parameter as string
*/
QString formatAsString() const;
/**
* Returns format parameter as a string.
* \since QGIS 3.8
*/
static QString formatAsString( Format format );
/**
* Returns format. If the FORMAT parameter is not used, then the
* default value is PNG.
* \returns format
*/
Format format() const;
/**
* Returns INFO_FORMAT parameter as a string.
* \returns INFO_FORMAT parameter as string
*/
QString infoFormatAsString() const;
/**
* Checks if INFO_FORMAT parameter is one of the image formats (PNG, JPG).
* \returns TRUE if the INFO_FORMAT is an image format
*/
bool infoFormatIsImage() const;
/**
* Returns IMAGE_QUALITY parameter or an empty string if not
* defined.
* \since QGIS 3.4
*/
QString imageQuality() const;
/**
* Returns IMAGE_QUALITY parameter as an integer.
* \throws QgsBadRequestException
* \since QGIS 3.4
*/
int imageQualityAsInt() const;
/**
* Returns infoFormat. If the INFO_FORMAT parameter is not used, then the
* default value is text/plain.
* \returns infoFormat
*/
Format infoFormat() const;
/**
* Returns the infoFormat version for GML. If the INFO_FORMAT is not GML,
* then the default value is -1.
* \returns infoFormat version
*/
int infoFormatVersion() const;
/**
* Returns I parameter or an empty string if not defined.
* \returns i parameter
*/
QString i() const;
/**
* Returns I parameter as an int or its default value if not
* defined. An exception is raised if I is defined and cannot be
* converted.
* \returns i parameter
* \throws QgsBadRequestException
*/
int iAsInt() const;
/**
* Returns J parameter or an empty string if not defined.
* \returns j parameter
*/
QString j() const;
/**
* Returns J parameter as an int or its default value if not
* defined. An exception is raised if J is defined and cannot be
* converted.
* \returns j parameter
* \throws QgsBadRequestException
*/
int jAsInt() const;
/**
* Returns X parameter or an empty string if not defined.
* \returns x parameter
*/
QString x() const;
/**
* Returns X parameter as an int or its default value if not
* defined. An exception is raised if X is defined and cannot be
* converted.
* \returns x parameter
* \throws QgsBadRequestException
*/
int xAsInt() const;
/**
* Returns Y parameter or an empty string if not defined.
* \returns y parameter
*/
QString y() const;
/**
* Returns Y parameter as an int or its default value if not
* defined. An exception is raised if Y is defined and cannot be
* converted.
* \returns j parameter
* \throws QgsBadRequestException
*/
int yAsInt() const;
/**
* Returns RULE parameter or an empty string if none is defined
* \returns RULE parameter or an empty string if none is defined
*/
QString rule() const;
/**
* Returns RULELABEL parameter or an empty string if none is defined
* \returns RULELABEL parameter or an empty string if none is defined
*/
QString ruleLabel() const;
/**
* Returns RULELABEL as a bool. An exception is raised if an invalid
* parameter is found.
* \returns ruleLabel
* \throws QgsBadRequestException
*/
bool ruleLabelAsBool() const;
/**
* Returns SHOWFEATURECOUNT parameter or an empty string if none is defined
* \returns SHOWFEATURECOUNT parameter or an empty string if none is defined
*/
QString showFeatureCount() const;
/**
* Returns SHOWFEATURECOUNT as a bool. An exception is raised if an invalid
* parameter is found.
* \returns showFeatureCount
* \throws QgsBadRequestException
*/
bool showFeatureCountAsBool() const;
/**
* Returns FEATURE_COUNT parameter or an empty string if none is defined
* \returns FEATURE_COUNT parameter or an empty string if none is defined
*/
QString featureCount() const;
/**
* Returns FEATURE_COUNT as an integer. An exception is raised if an invalid
* parameter is found.
* \returns FeatureCount
* \throws QgsBadRequestException
*/
int featureCountAsInt() const;
/**
* Returns SCALE parameter or an empty string if none is defined
* \returns SCALE parameter or an empty string if none is defined
*/
QString scale() const;
/**
* Returns SCALE as a double. An exception is raised if an invalid
* parameter is found.
* \returns scale
* \throws QgsBadRequestException
*/
double scaleAsDouble() const;
/**
* Returns BOXSPACE parameter or an empty string if not defined.
* \returns BOXSPACE parameter or an empty string if not defined.
*/
QString boxSpace() const;
/**
* Returns BOXSPACE as a double or its default value if not defined.
* An exception is raised if an invalid parameter is found.
* \returns boxSpace
* \throws QgsBadRequestException
*/
double boxSpaceAsDouble() const;
/**
* Returns LAYERSPACE parameter or an empty string if not defined.
* \returns LAYERSPACE parameter or an empty string if not defined.
*/
QString layerSpace() const;
/**
* Returns LAYERSPACE as a double or its default value if not defined.
* An exception is raised if an invalid parameter is found.
* \returns layerSpace
* \throws QgsBadRequestException
*/
double layerSpaceAsDouble() const;
/**
* Returns LAYERTITLESPACE parameter or an empty string if not defined.
* \returns LAYERTITLESPACE parameter or an empty string if not defined.
*/
QString layerTitleSpace() const;
/**
* Returns LAYERTITLESPACE as a double. An exception is raised if an invalid
* parameter is found.
* \returns layerTitleSpace
* \throws QgsBadRequestException
*/
double layerTitleSpaceAsDouble() const;
/**
* Returns SYMBOLSPACE parameter or an empty string if not defined.
* \returns SYMBOLSPACE parameter or an empty string if not defined.
*/
QString symbolSpace() const;
/**
* Returns SYMBOLSPACE as a double or its default value if not defined.
* An exception is raised if an invalid parameter is found.
* \returns symbolSpace
* \throws QgsBadRequestException
*/
double symbolSpaceAsDouble() const;
/**
* Returns ICONLABELSPACE parameter or an empty string if not defined.
* \returns ICONLABELSPACE parameter or an empty string if not defined.
*/
QString iconLabelSpace() const;
/**
* Returns ICONLABELSPACE as a double or its default value if not
* defined. An exception is raised if an invalid parameter is found.
* \returns iconLabelSpace
* \throws QgsBadRequestException
*/
double iconLabelSpaceAsDouble() const;
/**
* Returns SYMBOLWIDTH parameter or an empty string if not defined.
* \returns SYMBOLWIDTH parameter or an empty string if not defined.
*/
QString symbolWidth() const;
/**
* Returns SYMBOLWIDTH as a double or its default value if not defined.
* An exception is raised if an invalid parameter is found.
* \returns symbolWidth
* \throws QgsBadRequestException
*/
double symbolWidthAsDouble() const;
/**
* Returns SYMBOLHEIGHT parameter or an empty string if not defined.
* \returns SYMBOLHEIGHT parameter or an empty string if not defined.
*/
QString symbolHeight() const;
/**
* Returns SYMBOLHEIGHT as a double or its default value if not defined.
* An exception is raised if an invalid parameter is found.
* \returns symbolHeight
* \throws QgsBadRequestException
*/
double symbolHeightAsDouble() const;
/**
* Returns the layer font (built thanks to the LAYERFONTFAMILY,
* LAYERFONTSIZE, LAYERFONTBOLD, ... parameters).
* \returns layerFont
*/
QFont layerFont() const;
/**
* Returns LAYERFONTFAMILY parameter or an empty string if not defined.
* \returns LAYERFONTFAMILY parameter or an empty string if not defined.
*/
QString layerFontFamily() const;
/**
* Returns LAYERFONTBOLD parameter or an empty string if not defined.
* \returns LAYERFONTBOLD parameter or an empty string if not defined.
*/
QString layerFontBold() const;
/**
* Returns LAYERFONTBOLD as a boolean or its default value if not
* defined. An exception is raised if an invalid parameter is found.
* \returns layerFontBold
* \throws QgsBadRequestException
*/
bool layerFontBoldAsBool() const;
/**
* Returns LAYERFONTITALIC parameter or an empty string if not defined.
* \returns LAYERFONTITALIC parameter or an empty string if not defined.
*/
QString layerFontItalic() const;
/**
* Returns LAYERFONTITALIC as a boolean or its default value if not
* defined. An exception is raised if an invalid parameter is found.
* \returns layerFontItalic
* \throws QgsBadRequestException
*/
bool layerFontItalicAsBool() const;
/**
* Returns LAYERFONTSIZE parameter or an empty string if not defined.
* \returns LAYERFONTSIZE parameter or an empty string if not defined.
*/
QString layerFontSize() const;
/**
* Returns LAYERFONTSIZE as a double. An exception is raised if an invalid
* parameter is found.
* \returns layerFontSize
* \throws QgsBadRequestException
*/
double layerFontSizeAsDouble() const;
/**
* Returns LAYERFONTCOLOR parameter or an empty string if not defined.
* \returns LAYERFONTCOLOR parameter or an empty string if not defined.
*/
QString layerFontColor() const;
/**
* Returns LAYERFONTCOLOR as a color or its defined value if not
* defined. An exception is raised if an invalid parameter is found.
* \returns layerFontColor
* \throws QgsBadRequestException
*/
QColor layerFontColorAsColor() const;
/**
* Returns the item font (built thanks to the ITEMFONTFAMILY,
* ITEMFONTSIZE, ITEMFONTBOLD, ... parameters).
* \returns itemFont
*/
QFont itemFont() const;
/**
* Returns ITEMFONTFAMILY parameter or an empty string if not defined.
* \returns ITEMFONTFAMILY parameter or an empty string if not defined.
*/
QString itemFontFamily() const;
/**
* Returns ITEMFONTBOLD parameter or an empty string if not defined.
* \returns ITEMFONTBOLD parameter or an empty string if not defined.
*/
QString itemFontBold() const;
/**
* Returns ITEMFONTBOLD as a boolean or its default value if not
* defined. An exception is raised if an invalid parameter is found.
* \returns itemFontBold
* \throws QgsBadRequestException
*/
bool itemFontBoldAsBool() const;
/**
* Returns ITEMFONTITALIC parameter or an empty string if not defined.
* \returns ITEMFONTITALIC parameter or an empty string if not defined.
*/
QString itemFontItalic() const;
/**
* Returns ITEMFONTITALIC as a boolean or its default value if not
* defined. An exception is raised if an invalid parameter is found.
* \returns itemFontItalic
* \throws QgsBadRequestException
*/
bool itemFontItalicAsBool() const;
/**
* Returns ITEMFONTSIZE parameter or an empty string if not defined.
* \returns ITEMFONTSIZE parameter or an empty string if not defined.
*/
QString itemFontSize() const;
/**
* Returns ITEMFONTSIZE as a double. An exception is raised if an
* invalid parameter is found.
* \returns itemFontSize
* \throws QgsBadRequestException
*/
double itemFontSizeAsDouble() const;
/**
* Returns ITEMFONTCOLOR parameter or an empty string if not defined.
* \returns ITEMFONTCOLOR parameter or an empty string if not defined.
*/
QString itemFontColor() const;
/**
* Returns ITEMFONTCOLOR as a color. An exception is raised if an
* invalid parameter is found.
* \returns itemFontColor
* \throws QgsBadRequestException
*/
QColor itemFontColorAsColor() const;
/**
* Returns LAYERTITLE parameter or an empty string if not defined.
* \returns LAYERTITLE parameter or an empty string if not defined.
*/
QString layerTitle() const;
/**
* Returns LAYERTITLE as a bool or its default value if not defined. An
* exception is raised if an invalid parameter is found.
* \returns layerTitle
* \throws QgsBadRequestException
*/
bool layerTitleAsBool() const;
/**
* Returns legend settings
* \returns legend settings
*/
QgsLegendSettings legendSettings() const;
/**
* Returns parameters for each highlight layer.
* \returns parameters for each highlight layer
*/