-
-
Notifications
You must be signed in to change notification settings - Fork 3k
/
qgsprojectproperties.h
183 lines (145 loc) · 5.03 KB
/
qgsprojectproperties.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
/***************************************************************************
qgsprojectproperties.h
Set various project properties (inherits qgsprojectpropertiesbase)
-------------------
begin : May 18, 2004
copyright : (C) 2004 by Gary E.Sherman
email : sherman at mrcc.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. *
* *
***************************************************************************/
#include "ui_qgsprojectpropertiesbase.h"
#include "qgis.h"
#include "qgisgui.h"
#include "qgscontexthelp.h"
class QgsMapCanvas;
class QgsStyleV2;
/*! Dialog to set project level properties
@note actual state is stored in QgsProject singleton instance
*/
class QgsProjectProperties : public QDialog, private Ui::QgsProjectPropertiesBase
{
Q_OBJECT
public:
//! Constructor
QgsProjectProperties( QgsMapCanvas* mapCanvas, QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags );
//! Destructor
~QgsProjectProperties();
/*! Gets the currently select map units
*/
QGis::UnitType mapUnits() const;
/*!
* Set the map units
*/
void setMapUnits( QGis::UnitType );
/*!
Every project has a title
*/
QString title() const;
void title( QString const & title );
/*! Accessor for projection */
QString projectionWkt();
/*! Indicates that the projection switch is on */
bool isProjected();
public slots:
/*!
* Slot called when apply button is pressed or dialog is accepted
*/
void apply();
/*!
* Slot to show the projections tab when the dialog is opened
*/
void showProjectionsTab();
/*!
* Slot to select the map selection color
*/
void on_pbnSelectionColor_clicked();
/*!
* Slot to select the map selection color
*/
void on_pbnCanvasColor_clicked();
/*! Let the user add a scale to the list of project scales
* used in scale combobox instead of global ones
* @note added in QGIS 2.0
*/
void on_pbnAddScale_clicked();
/*! Let the user remove a scale from the list of project scales
* used in scale combobox instead of global ones
* @note added in QGIS 2.0
*/
void on_pbnRemoveScale_clicked();
/** Let the user load scales from file
* @note added in QGIS 2.0
*/
void on_pbnImportScales_clicked();
/** Let the user load scales from file
* @note added in QGIS 2.0
*/
void on_pbnExportScales_clicked();
/*!
* Slots for WMS project settings
*/
void on_pbnWMSExtCanvas_clicked();
void on_pbnWMSAddSRS_clicked();
void on_pbnWMSRemoveSRS_clicked();
void on_pbnWMSSetUsedSRS_clicked();
void on_mAddWMSComposerButton_clicked();
void on_mRemoveWMSComposerButton_clicked();
void on_mAddLayerRestrictionButton_clicked();
void on_mRemoveLayerRestrictionButton_clicked();
/*!
* Slots to select/unselect all the WFS layers
*/
void on_pbnWFSLayersSelectAll_clicked();
void on_pbnWFSLayersUnselectAll_clicked();
/*!
* Slots for Styles
*/
void on_pbtnStyleManager_clicked();
void on_pbtnStyleMarker_clicked();
void on_pbtnStyleLine_clicked();
void on_pbtnStyleFill_clicked();
void on_pbtnStyleColorRamp_clicked();
void on_mTransparencySlider_valueChanged( int value );
/*!
* Slot to show the context help for this dialog
*/
void on_buttonBox_helpRequested() { QgsContextHelp::run( metaObject()->className() ); }
void on_cbxProjectionEnabled_stateChanged( int state );
/*!
* If user changes the CRS, set the corresponding map units
*/
void setMapUnitsToCurrentProjection();
signals:
//! Signal used to inform listeners that the mouse display precision may have changed
void displayPrecisionChanged();
//! Signal used to inform listeners that project scale list may have chnaged
void scalesChanged( const QStringList &scales = QStringList() );
//! let listening canvases know to refresh
void refresh();
private:
QgsMapCanvas* mMapCanvas;
QgsStyleV2* mStyle;
void populateStyles();
void editSymbol( QComboBox* cbo );
/*!
* Function to save dialog window state
*/
void saveState();
/*!
* Function to restore dialog window state
*/
void restoreState();
/*!
* Reset the python macros
*/
void resetPythonMacros();
long mProjectSrsId;
long mLayerSrsId;
};