mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-22 00:06:12 -05:00
custom widgets for Qt Designer, QgsScaleVisibilityGroupBox plugin
This commit is contained in:
parent
156dc55013
commit
2cf3e7c5dd
@ -46,6 +46,8 @@ IF(WITH_MAPSERVER)
|
||||
SET (MAPSERVER_SKIP_ECW FALSE CACHE BOOL "Determines whether QGIS mapserver should disable ECW (ECW in server apps requires a special license)")
|
||||
ENDIF(WITH_MAPSERVER)
|
||||
|
||||
SET (WITH_CUSTOM_WIDGETS FALSE CACHE BOOL "Determines whether QGIS custom widgets for Qt Designer should be built")
|
||||
|
||||
# build our version of astyle
|
||||
SET (WITH_ASTYLE FALSE CACHE BOOL "If you plan to contribute you should reindent with scripts/prepare-commit.sh (using 'our' astyle)")
|
||||
|
||||
@ -229,10 +231,13 @@ SET(QT_USE_QTNETWORK 1)
|
||||
SET(QT_USE_QTSVG 1)
|
||||
SET(QT_USE_QTSQL 1)
|
||||
SET(QT_USE_QTWEBKIT 1)
|
||||
IF (WITH_CUSTOM_WIDGETS)
|
||||
SET(QT_USE_QTDESIGNER 1)
|
||||
ENDIF (WITH_CUSTOM_WIDGETS)
|
||||
|
||||
IF (NOT QT_QTXML_FOUND OR NOT QT_QTNETWORK_FOUND OR NOT QT_QTSVG_FOUND OR NOT QT_QTSQL_FOUND OR NOT QT_QTWEBKIT_FOUND)
|
||||
IF (NOT QT_QTXML_FOUND OR NOT QT_QTNETWORK_FOUND OR NOT QT_QTSVG_FOUND OR NOT QT_QTSQL_FOUND OR NOT QT_QTWEBKIT_FOUND OR (WITH_CUSTOM_WIDGETS AND NOT QT_QTDESIGNER_FOUND))
|
||||
MESSAGE(SEND_ERROR "Some Qt4 modules haven't been found!")
|
||||
ENDIF (NOT QT_QTXML_FOUND OR NOT QT_QTNETWORK_FOUND OR NOT QT_QTSVG_FOUND OR NOT QT_QTSQL_FOUND OR NOT QT_QTWEBKIT_FOUND)
|
||||
ENDIF (NOT QT_QTXML_FOUND OR NOT QT_QTNETWORK_FOUND OR NOT QT_QTSVG_FOUND OR NOT QT_QTSQL_FOUND OR NOT QT_QTWEBKIT_FOUND OR (WITH_CUSTOM_WIDGETS AND NOT QT_QTDESIGNER_FOUND))
|
||||
|
||||
IF (WITH_QTMOBILITY)
|
||||
FIND_PACKAGE(QtMobility 1.1.0)
|
||||
@ -285,6 +290,12 @@ ENDIF (ENABLE_TESTS)
|
||||
|
||||
INCLUDE( ${QT_USE_FILE} )
|
||||
|
||||
IF (WITH_CUSTOM_WIDGETS)
|
||||
ADD_DEFINITIONS(-DQT_PLUGIN)
|
||||
ADD_DEFINITIONS(-DQT_NO_DEBUG)
|
||||
ADD_DEFINITIONS(-DQT_SHARED)
|
||||
ENDIF (WITH_CUSTOM_WIDGETS)
|
||||
|
||||
# Disable automatic conversion from QString to ASCII 8-bit strings (char *)
|
||||
# (Keeps code compatible with Qt/Mac/64bit)
|
||||
ADD_DEFINITIONS(-DQT_NO_CAST_TO_ASCII)
|
||||
@ -506,6 +517,7 @@ ADD_DEFINITIONS("-DCORE_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DGUI_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DPYTHON_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DANALYSIS_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DCUSTOMWIDGETS_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DAPP_EXPORT=${DLLIMPORT}")
|
||||
|
||||
#############################################################
|
||||
@ -533,6 +545,7 @@ SET (QGIS_LIBEXEC_DIR ${QGIS_LIBEXEC_SUBDIR})
|
||||
SET (QGIS_DATA_DIR ${QGIS_DATA_SUBDIR})
|
||||
SET (QGIS_PLUGIN_DIR ${QGIS_PLUGIN_SUBDIR})
|
||||
SET (QGIS_INCLUDE_DIR ${QGIS_INCLUDE_SUBDIR})
|
||||
SET (QGIS_CUSTOMWIDGETS_DIR ${QT_PLUGINS_DIR}/designer)
|
||||
|
||||
# set the default locations where the targets (executables, libraries) will land when compiled
|
||||
# this is to allow running qgis from the source tree without having to actually do a "make install"
|
||||
@ -589,7 +602,7 @@ ENDIF (NOT EXISTS QSCINTILLA_VERSION_STR AND EXISTS QSCI_MOD_VERSION_STR)
|
||||
# installed with app target
|
||||
|
||||
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake_templates/qgsconfig.h.in ${CMAKE_BINARY_DIR}/qgsconfig.h)
|
||||
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
|
||||
INCLUDE_DIRECTORIES(${QT_INCLUDES} ${CMAKE_BINARY_DIR})
|
||||
|
||||
# Added by Jef to prevent python core and gui libs linking to other qgisCore and qgisGui libs
|
||||
# that may be in the same install prefix
|
||||
|
@ -20,6 +20,10 @@ IF (WITH_MAPSERVER)
|
||||
ADD_SUBDIRECTORY(mapserver) # TODO: enable again once compilation is fixed
|
||||
ENDIF (WITH_MAPSERVER)
|
||||
|
||||
IF (WITH_CUSTOM_WIDGETS)
|
||||
ADD_SUBDIRECTORY(customwidgets)
|
||||
ENDIF (WITH_CUSTOM_WIDGETS)
|
||||
|
||||
IF (WITH_ASTYLE)
|
||||
ADD_SUBDIRECTORY(astyle)
|
||||
ENDIF(WITH_ASTYLE)
|
||||
|
@ -81,8 +81,7 @@ QgsVectorLayerProperties::QgsVectorLayerProperties(
|
||||
// and connecting QDialogButtonBox's accepted/rejected signals to dialog's accept/reject slots
|
||||
initOptionsBase( false );
|
||||
|
||||
mMaximumScaleIconLabel->setPixmap( QgsApplication::getThemePixmap( "/mActionZoomIn.svg" ) );
|
||||
mMinimumScaleIconLabel->setPixmap( QgsApplication::getThemePixmap( "/mActionZoomOut.svg" ) );
|
||||
|
||||
|
||||
connect( buttonBox->button( QDialogButtonBox::Apply ), SIGNAL( clicked() ), this, SLOT( apply() ) );
|
||||
connect( this, SIGNAL( accepted() ), this, SLOT( apply() ) );
|
||||
@ -360,7 +359,7 @@ void QgsVectorLayerProperties::syncToLayer( void )
|
||||
"layer is shown here. To enter or modify the query, click on the Query Builder button" ) );
|
||||
|
||||
//see if we are dealing with a pg layer here
|
||||
grpSubset->setEnabled( true );
|
||||
mSubsetGroupBox->setEnabled( true );
|
||||
txtSubsetSQL->setText( layer->subsetString() );
|
||||
// if the user is allowed to type an adhoc query, the app will crash if the query
|
||||
// is bad. For this reason, the sql box is disabled and the query must be built
|
||||
@ -386,16 +385,9 @@ void QgsVectorLayerProperties::syncToLayer( void )
|
||||
setDisplayField( layer-> displayField() );
|
||||
|
||||
// set up the scale based layer visibility stuff....
|
||||
chkUseScaleDependentRendering->setChecked( layer->hasScaleBasedVisibility() );
|
||||
bool projectScales = QgsProject::instance()->readBoolEntry( "Scales", "/useProjectScales" );
|
||||
if ( projectScales )
|
||||
{
|
||||
QStringList scalesList = QgsProject::instance()->readListEntry( "Scales", "/ScalesList" );
|
||||
cbMinimumScale->updateScales( scalesList );
|
||||
cbMaximumScale->updateScales( scalesList );
|
||||
}
|
||||
cbMinimumScale->setScale( 1.0 / layer->minimumScale() );
|
||||
cbMaximumScale->setScale( 1.0 / layer->maximumScale() );
|
||||
mScaleVisibilityWidget->setFromLayer( layer );
|
||||
mScaleVisibilityGroupBox->setChecked( layer->hasScaleBasedVisibility() );
|
||||
mScaleVisibilityWidget->setMapCanvas( QgisApp::instance()->mapCanvas() );
|
||||
|
||||
// get simplify drawing configuration
|
||||
const QgsVectorSimplifyMethod& simplifyMethod = layer->simplifyMethod();
|
||||
@ -491,7 +483,7 @@ void QgsVectorLayerProperties::apply()
|
||||
//
|
||||
// Set up sql subset query if applicable
|
||||
//
|
||||
grpSubset->setEnabled( true );
|
||||
mSubsetGroupBox->setEnabled( true );
|
||||
|
||||
if ( txtSubsetSQL->toPlainText() != layer->subsetString() )
|
||||
{
|
||||
@ -501,9 +493,9 @@ void QgsVectorLayerProperties::apply()
|
||||
}
|
||||
|
||||
// set up the scale based layer visibility stuff....
|
||||
layer->toggleScaleBasedVisibility( chkUseScaleDependentRendering->isChecked() );
|
||||
layer->setMinimumScale( 1.0 / cbMinimumScale->scale() );
|
||||
layer->setMaximumScale( 1.0 / cbMaximumScale->scale() );
|
||||
layer->toggleScaleBasedVisibility( mScaleVisibilityGroupBox->isChecked() );
|
||||
layer->setMinimumScale( 1.0 / mScaleVisibilityWidget->minimumScale() );
|
||||
layer->setMaximumScale( 1.0 / mScaleVisibilityWidget->maximumScale() );
|
||||
|
||||
// provider-specific options
|
||||
if ( layer->dataProvider() )
|
||||
@ -1110,16 +1102,6 @@ void QgsVectorLayerProperties::enableLabelOptions( bool theFlag )
|
||||
labelOptionsFrame->setEnabled( theFlag );
|
||||
}
|
||||
|
||||
void QgsVectorLayerProperties::on_mMinimumScaleSetCurrentPushButton_clicked()
|
||||
{
|
||||
cbMinimumScale->setScale( 1.0 / QgisApp::instance()->mapCanvas()->mapSettings().scale() );
|
||||
}
|
||||
|
||||
void QgsVectorLayerProperties::on_mMaximumScaleSetCurrentPushButton_clicked()
|
||||
{
|
||||
cbMaximumScale->setScale( 1.0 / QgisApp::instance()->mapCanvas()->mapSettings().scale() );
|
||||
}
|
||||
|
||||
void QgsVectorLayerProperties::on_mSimplifyDrawingGroupBox_toggled( bool checked )
|
||||
{
|
||||
if ( !( layer->dataProvider()->capabilities() & QgsVectorDataProvider::SimplifyGeometries ) )
|
||||
|
@ -20,6 +20,7 @@
|
||||
#define QGSVECTORLAYERPROPERTIES
|
||||
|
||||
#include "qgsoptionsdialogbase.h"
|
||||
#include "qgsscalevisibilitywidget.h"
|
||||
#include "ui_qgsvectorlayerpropertiesbase.h"
|
||||
#include "qgisgui.h"
|
||||
#include "qgsaddattrdialog.h"
|
||||
@ -116,9 +117,6 @@ class APP_EXPORT QgsVectorLayerProperties : public QgsOptionsDialogBase, private
|
||||
void on_mButtonAddJoin_clicked();
|
||||
void on_mButtonRemoveJoin_clicked();
|
||||
|
||||
void on_mMinimumScaleSetCurrentPushButton_clicked();
|
||||
void on_mMaximumScaleSetCurrentPushButton_clicked();
|
||||
|
||||
void on_mSimplifyDrawingGroupBox_toggled( bool checked );
|
||||
|
||||
signals:
|
||||
|
103
src/customwidgets/CMakeLists.txt
Normal file
103
src/customwidgets/CMakeLists.txt
Normal file
@ -0,0 +1,103 @@
|
||||
|
||||
########################################################
|
||||
# Files
|
||||
|
||||
SET (QGIS_CUSTOMWIDGETS_SRCS
|
||||
qgiscustomwidgets.cpp
|
||||
qgscollapsiblegroupboxplugin.cpp
|
||||
qgsscalevisibilitywidgetplugin.cpp
|
||||
)
|
||||
|
||||
SET (QGIS_CUSTOMWIDGETS_MOC_HDRS
|
||||
qgiscustomwidgets.h
|
||||
qgscollapsiblegroupboxplugin.h
|
||||
qgsscalevisibilitywidgetplugin.h
|
||||
)
|
||||
|
||||
QT4_WRAP_CPP(QGIS_CUSTOMWIDGETS_MOC_SRCS ${QGIS_CUSTOMWIDGETS_MOC_HDRS})
|
||||
|
||||
IF(UNIX)
|
||||
SET_SOURCE_FILES_PROPERTIES(${QGIS_CUSTOMWIDGETS_MOC_SRCS} PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations" )
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET(QGIS_CUSTOMWIDGETS_HDRS
|
||||
qgiscustomwidgets.h
|
||||
qgscollapsiblegroupboxplugin.h
|
||||
qgsscalevisibilitywidgetplugin.h
|
||||
)
|
||||
|
||||
SET(QGIS_CUSTOMWIDGETS_UI_HDRS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsscalevisibilitygroupbox.h
|
||||
)
|
||||
|
||||
INCLUDE_DIRECTORIES(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../core/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../gui/
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../ui
|
||||
)
|
||||
|
||||
IF (WIN32)
|
||||
IF (MSVC)
|
||||
ADD_DEFINITIONS("-DCUSTOMWIDGETS_EXPORT=${DLLEXPORT}")
|
||||
ELSE (MSVC)
|
||||
ADD_DEFINITIONS("-UCUSTOMWIDGETS_EXPORT \"-DCUSTOMWIDGETS_EXPORT=${DLLEXPORT}\"")
|
||||
ENDIF (MSVC)
|
||||
ENDIF (WIN32)
|
||||
|
||||
|
||||
#############################################################
|
||||
# qgis_customwidgets library
|
||||
|
||||
ADD_LIBRARY(qgis_customwidgets SHARED ${QGIS_CUSTOMWIDGETS_SRCS} ${QGIS_CUSTOMWIDGETS_MOC_SRCS} ${QGIS_CUSTOMWIDGETS_HDRS})
|
||||
|
||||
IF(NOT APPLE)
|
||||
INSTALL(FILES ${QGIS_CUSTOMWIDGETS_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
ELSE(NOT APPLE)
|
||||
SET_TARGET_PROPERTIES(qgis_customwidgets PROPERTIES
|
||||
# no moc headers, messes up PROPERTIES syntax
|
||||
CLEAN_DIRECT_OUTPUT 1
|
||||
FRAMEWORK 1
|
||||
FRAMEWORK_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}"
|
||||
MACOSX_FRAMEWORK_INFO_PLIST "${CMAKE_SOURCE_DIR}/mac/framework.info.plist.in"
|
||||
MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${COMPLETE_VERSION}
|
||||
MACOSX_FRAMEWORK_IDENTIFIER org.qgis.qgis2_customwidgets
|
||||
BUILD_WITH_INSTALL_RPATH TRUE
|
||||
PUBLIC_HEADER "${QGIS_CUSTOMWIDGETS_HDRS}"
|
||||
LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}"
|
||||
)
|
||||
ENDIF(NOT APPLE)
|
||||
|
||||
#generate unversioned libs for android
|
||||
IF (NOT ANDROID)
|
||||
SET_TARGET_PROPERTIES(qgis_customwidgets PROPERTIES
|
||||
VERSION ${COMPLETE_VERSION}
|
||||
SOVERSION ${COMPLETE_VERSION}
|
||||
)
|
||||
ENDIF (NOT ANDROID)
|
||||
|
||||
# make sure that UI files will be processed first
|
||||
ADD_DEPENDENCIES(qgis_customwidgets ui)
|
||||
|
||||
TARGET_LINK_LIBRARIES(qgis_customwidgets qgis_gui)
|
||||
|
||||
|
||||
# install
|
||||
|
||||
INSTALL(TARGETS qgis_customwidgets
|
||||
LIBRARY DESTINATION ${QGIS_CUSTOMWIDGETS_DIR}
|
||||
PUBLIC_HEADER DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
|
||||
# ui headers to install, don't exist at target definition time, install manually
|
||||
IF (APPLE)
|
||||
INSTALL(FILES ${QGIS_CUSTOMWIDGETS_UI_HDRS} DESTINATION ${QGIS_FW_SUBDIR}/qgis_gui.framework/Headers)
|
||||
ELSE (APPLE)
|
||||
INSTALL(FILES ${QGIS_CUSTOMWIDGETS_UI_HDRS} DESTINATION ${QGIS_INCLUDE_DIR})
|
||||
ENDIF (APPLE)
|
||||
|
||||
# Mac dev frameworks
|
||||
#IF (APPLE AND QGIS_MACAPP_INSTALL_DEV)
|
||||
# INSTALL(TARGETS qgis_customwidgets FRAMEWORK DESTINATION ${QGIS_MACAPP_DEV_PREFIX})
|
||||
# INSTALL(CODE "EXECUTE_PROCESS(COMMAND install_name_tool -id \"${QGIS_MACAPP_DEV_PREFIX}/qgis_customwidgets.framework/Versions/${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}/qgis_customwidgets\" \"$ENV{DESTDIR}${QGIS_MACAPP_DEV_PREFIX}/qgis_customwidgets.framework/qgis_customwidgets\")")
|
||||
# INSTALL(CODE "EXECUTE_PROCESS(COMMAND install_name_tool -change \"${CMAKE_INSTALL_NAME_DIR}/qgis_core.framework/Versions/${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}/qgis_core\" \"${QGIS_MACAPP_DEV_PREFIX}/qgis_core.framework/Versions/${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}/qgis_core\" \"$ENV{DESTDIR}${QGIS_MACAPP_DEV_PREFIX}/qgis_customwidgets.framework/qgis_customwidgets\")")
|
||||
#ENDIF (APPLE AND QGIS_MACAPP_INSTALL_DEV)
|
36
src/customwidgets/qgiscustomwidgets.cpp
Normal file
36
src/customwidgets/qgiscustomwidgets.cpp
Normal file
@ -0,0 +1,36 @@
|
||||
/***************************************************************************
|
||||
qgscustomwidgets.cpp
|
||||
--------------------------------------
|
||||
Date : 25.04.2014
|
||||
Copyright : (C) 2014 Denis Rouzaud
|
||||
Email : denis.rouzaud@gmail.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 "qplugin.h"
|
||||
|
||||
#include "qgiscustomwidgets.h"
|
||||
|
||||
#include "qgscollapsiblegroupboxplugin.h"
|
||||
#include "qgsscalevisibilitywidgetplugin.h"
|
||||
|
||||
|
||||
QgisCustomWidgets::QgisCustomWidgets( QObject *parent )
|
||||
: QObject( parent )
|
||||
{
|
||||
mWidgets.append( new QgsCollapsibleGroupBoxPlugin );
|
||||
mWidgets.append( new QgsScaleVisibilityWidgetPlugin );
|
||||
}
|
||||
|
||||
QList<QDesignerCustomWidgetInterface*> QgisCustomWidgets::customWidgets() const
|
||||
{
|
||||
return mWidgets;
|
||||
}
|
||||
|
||||
Q_EXPORT_PLUGIN2( customwidgetsplugin, QgisCustomWidgets )
|
38
src/customwidgets/qgiscustomwidgets.h
Normal file
38
src/customwidgets/qgiscustomwidgets.h
Normal file
@ -0,0 +1,38 @@
|
||||
/***************************************************************************
|
||||
qgscustomwidgets.h
|
||||
--------------------------------------
|
||||
Date : 25.04.2014
|
||||
Copyright : (C) 2014 Denis Rouzaud
|
||||
Email : denis.rouzaud@gmail.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 QGISCUSTOMWIDGETS_H
|
||||
#define QGISCUSTOMWIDGETS_H
|
||||
|
||||
#include <QDesignerCustomWidgetCollectionInterface>
|
||||
#include <qplugin.h>
|
||||
|
||||
class QgisCustomWidgets : public QObject, public QDesignerCustomWidgetCollectionInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES( QDesignerCustomWidgetCollectionInterface )
|
||||
|
||||
public:
|
||||
explicit QgisCustomWidgets( QObject *parent = 0 );
|
||||
|
||||
virtual QList<QDesignerCustomWidgetInterface*> customWidgets() const;
|
||||
|
||||
static QString groupName() {return "QGIS custom widgets";}
|
||||
|
||||
private:
|
||||
QList<QDesignerCustomWidgetInterface*> mWidgets;
|
||||
};
|
||||
|
||||
#endif // QGISCUSTOMWIDGETS_H
|
105
src/customwidgets/qgscollapsiblegroupboxplugin.cpp
Normal file
105
src/customwidgets/qgscollapsiblegroupboxplugin.cpp
Normal file
@ -0,0 +1,105 @@
|
||||
/***************************************************************************
|
||||
qgscollapsiblegroupboxplugin.cpp
|
||||
--------------------------------------
|
||||
Date : 25.04.2014
|
||||
Copyright : (C) 2014 Denis Rouzaud
|
||||
Email : denis.rouzaud@gmail.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 "qgiscustomwidgets.h"
|
||||
#include "qgscollapsiblegroupbox.h"
|
||||
#include "qgscollapsiblegroupboxplugin.h"
|
||||
|
||||
|
||||
QgsCollapsibleGroupBoxPlugin::QgsCollapsibleGroupBoxPlugin( QObject *parent )
|
||||
: QObject( parent )
|
||||
, mInitialized( false )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
QString QgsCollapsibleGroupBoxPlugin::name() const
|
||||
{
|
||||
return "QgsCollapsibleGroupBox";
|
||||
}
|
||||
|
||||
QString QgsCollapsibleGroupBoxPlugin::group() const
|
||||
{
|
||||
return QgisCustomWidgets::groupName();
|
||||
}
|
||||
|
||||
QString QgsCollapsibleGroupBoxPlugin::includeFile() const
|
||||
{
|
||||
return "qgscollapsiblegroupbox.h";
|
||||
}
|
||||
|
||||
QIcon QgsCollapsibleGroupBoxPlugin::icon() const
|
||||
{
|
||||
return QIcon();
|
||||
}
|
||||
|
||||
bool QgsCollapsibleGroupBoxPlugin::isContainer() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
QWidget *QgsCollapsibleGroupBoxPlugin::createWidget( QWidget *parent )
|
||||
{
|
||||
return new QgsCollapsibleGroupBox( parent );
|
||||
}
|
||||
|
||||
bool QgsCollapsibleGroupBoxPlugin::isInitialized() const
|
||||
{
|
||||
return mInitialized;
|
||||
}
|
||||
|
||||
void QgsCollapsibleGroupBoxPlugin::initialize( QDesignerFormEditorInterface *core )
|
||||
{
|
||||
Q_UNUSED( core );
|
||||
if ( mInitialized )
|
||||
return;
|
||||
mInitialized = true;
|
||||
}
|
||||
|
||||
|
||||
QString QgsCollapsibleGroupBoxPlugin::toolTip() const
|
||||
{
|
||||
return "A collapsible group box";
|
||||
}
|
||||
|
||||
QString QgsCollapsibleGroupBoxPlugin::whatsThis() const
|
||||
{
|
||||
return "A collapsible group box with save state capability";
|
||||
}
|
||||
|
||||
QString QgsCollapsibleGroupBoxPlugin::domXml() const
|
||||
{
|
||||
return QString( "<ui language=\"c++\">\n"
|
||||
" <widget class=\"%1\" name=\"mGroupBox\">\n"
|
||||
" <property name=\"geometry\">\n"
|
||||
" <rect>\n"
|
||||
" <x>0</x>\n"
|
||||
" <y>0</y>\n"
|
||||
" <width>300</width>\n"
|
||||
" <height>100</height>\n"
|
||||
" </rect>\n"
|
||||
" </property>\n"
|
||||
" <property name=\"toolTip\" >\n"
|
||||
" <string>%2</string>\n"
|
||||
" </property>\n"
|
||||
" <property name=\"whatsThis\" >\n"
|
||||
" <string>%3.</string>\n"
|
||||
" </property>\n"
|
||||
" </widget>\n"
|
||||
"</ui>\n" )
|
||||
.arg( name() )
|
||||
.arg( toolTip() )
|
||||
.arg( whatsThis() );
|
||||
}
|
46
src/customwidgets/qgscollapsiblegroupboxplugin.h
Normal file
46
src/customwidgets/qgscollapsiblegroupboxplugin.h
Normal file
@ -0,0 +1,46 @@
|
||||
/***************************************************************************
|
||||
qgscollapsiblegroupboxplugin.h
|
||||
--------------------------------------
|
||||
Date : 25.04.2014
|
||||
Copyright : (C) 2014 Denis Rouzaud
|
||||
Email : denis.rouzaud@gmail.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 QGSCOLLAPSIBLEGROUPBOXPLUGIN_H
|
||||
#define QGSCOLLAPSIBLEGROUPBOXPLUGIN_H
|
||||
|
||||
#include <QDesignerCustomWidgetInterface>
|
||||
|
||||
class CUSTOMWIDGETS_EXPORT QgsCollapsibleGroupBoxPlugin : public QObject, public QDesignerCustomWidgetInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES( QDesignerCustomWidgetInterface )
|
||||
|
||||
public:
|
||||
explicit QgsCollapsibleGroupBoxPlugin( QObject *parent = 0 );
|
||||
|
||||
private:
|
||||
bool mInitialized;
|
||||
|
||||
// QDesignerCustomWidgetInterface interface
|
||||
public:
|
||||
QString name() const;
|
||||
QString group() const;
|
||||
QString includeFile() const;
|
||||
QIcon icon() const;
|
||||
bool isContainer() const;
|
||||
QWidget *createWidget( QWidget *parent );
|
||||
bool isInitialized() const;
|
||||
void initialize( QDesignerFormEditorInterface *core );
|
||||
QString toolTip() const;
|
||||
QString whatsThis() const;
|
||||
QString domXml() const;
|
||||
};
|
||||
#endif // QGSCOLLAPSIBLEGROUPBOXPLUGIN_H
|
105
src/customwidgets/qgsscalevisibilitywidgetplugin.cpp
Normal file
105
src/customwidgets/qgsscalevisibilitywidgetplugin.cpp
Normal file
@ -0,0 +1,105 @@
|
||||
/***************************************************************************
|
||||
qgsscalevisibilitywidgetplugin.cpp
|
||||
--------------------------------------
|
||||
Date : 25.04.2014
|
||||
Copyright : (C) 2014 Denis Rouzaud
|
||||
Email : denis.rouzaud@gmail.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 "qgiscustomwidgets.h"
|
||||
#include "qgsscalevisibilitywidgetplugin.h"
|
||||
#include "qgsscalevisibilitywidget.h"
|
||||
|
||||
|
||||
QgsScaleVisibilityWidgetPlugin::QgsScaleVisibilityWidgetPlugin( QObject *parent )
|
||||
: QObject( parent )
|
||||
, mInitialized( false )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
QString QgsScaleVisibilityWidgetPlugin::name() const
|
||||
{
|
||||
return "QgsScaleVisibilityWidget";
|
||||
}
|
||||
|
||||
QString QgsScaleVisibilityWidgetPlugin::group() const
|
||||
{
|
||||
return QgisCustomWidgets::groupName();
|
||||
}
|
||||
|
||||
QString QgsScaleVisibilityWidgetPlugin::includeFile() const
|
||||
{
|
||||
return "qgsscalevisibilitywidget.h";
|
||||
}
|
||||
|
||||
QIcon QgsScaleVisibilityWidgetPlugin::icon() const
|
||||
{
|
||||
return QIcon();
|
||||
}
|
||||
|
||||
bool QgsScaleVisibilityWidgetPlugin::isContainer() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
QWidget *QgsScaleVisibilityWidgetPlugin::createWidget( QWidget *parent )
|
||||
{
|
||||
return new QgsScaleVisibilityWidget( parent );
|
||||
}
|
||||
|
||||
bool QgsScaleVisibilityWidgetPlugin::isInitialized() const
|
||||
{
|
||||
return mInitialized;
|
||||
}
|
||||
|
||||
void QgsScaleVisibilityWidgetPlugin::initialize( QDesignerFormEditorInterface *core )
|
||||
{
|
||||
Q_UNUSED( core );
|
||||
if ( mInitialized )
|
||||
return;
|
||||
mInitialized = true;
|
||||
}
|
||||
|
||||
|
||||
QString QgsScaleVisibilityWidgetPlugin::toolTip() const
|
||||
{
|
||||
return "A widget to define the scale visibility";
|
||||
}
|
||||
|
||||
QString QgsScaleVisibilityWidgetPlugin::whatsThis() const
|
||||
{
|
||||
return "A widget to define the scale visibility";
|
||||
}
|
||||
|
||||
QString QgsScaleVisibilityWidgetPlugin::domXml() const
|
||||
{
|
||||
return QString( "<ui language=\"c++\">\n"
|
||||
" <widget class=\"%1\" name=\"mScaleVisibilityWidget\">\n"
|
||||
" <property name=\"geometry\">\n"
|
||||
" <rect>\n"
|
||||
" <x>0</x>\n"
|
||||
" <y>0</y>\n"
|
||||
" <width>300</width>\n"
|
||||
" <height>100</height>\n"
|
||||
" </rect>\n"
|
||||
" </property>\n"
|
||||
" <property name=\"toolTip\" >\n"
|
||||
" <string>%2</string>\n"
|
||||
" </property>\n"
|
||||
" <property name=\"whatsThis\" >\n"
|
||||
" <string>%3.</string>\n"
|
||||
" </property>\n"
|
||||
" </widget>\n"
|
||||
"</ui>\n" )
|
||||
.arg( name() )
|
||||
.arg( toolTip() )
|
||||
.arg( whatsThis() );
|
||||
}
|
46
src/customwidgets/qgsscalevisibilitywidgetplugin.h
Normal file
46
src/customwidgets/qgsscalevisibilitywidgetplugin.h
Normal file
@ -0,0 +1,46 @@
|
||||
/***************************************************************************
|
||||
qgsscalevisibilitywidgetplugin.h
|
||||
--------------------------------------
|
||||
Date : 25.04.2014
|
||||
Copyright : (C) 2014 Denis Rouzaud
|
||||
Email : denis.rouzaud@gmail.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 QGSSCALEVISIBILITYWIDGETPLUGIN_H
|
||||
#define QGSSCALEVISIBILITYWIDGETPLUGIN_H
|
||||
|
||||
#include <QDesignerCustomWidgetInterface>
|
||||
|
||||
class CUSTOMWIDGETS_EXPORT QgsScaleVisibilityWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES( QDesignerCustomWidgetInterface )
|
||||
|
||||
public:
|
||||
explicit QgsScaleVisibilityWidgetPlugin( QObject *parent = 0 );
|
||||
|
||||
private:
|
||||
bool mInitialized;
|
||||
|
||||
// QDesignerCustomWidgetInterface interface
|
||||
public:
|
||||
QString name() const;
|
||||
QString group() const;
|
||||
QString includeFile() const;
|
||||
QIcon icon() const;
|
||||
bool isContainer() const;
|
||||
QWidget *createWidget( QWidget *parent );
|
||||
bool isInitialized() const;
|
||||
void initialize( QDesignerFormEditorInterface *core );
|
||||
QString toolTip() const;
|
||||
QString whatsThis() const;
|
||||
QString domXml() const;
|
||||
};
|
||||
#endif // QGSSCALEVISIBILITYWIDGETPLUGIN_H
|
@ -138,6 +138,7 @@ qgsrelationeditor.cpp
|
||||
qgsrelationmanagerdialog.cpp
|
||||
qgsrubberband.cpp
|
||||
qgsscalecombobox.cpp
|
||||
qgsscalevisibilitywidget.cpp
|
||||
qgssearchquerybuilder.cpp
|
||||
qgssublayersdialog.cpp
|
||||
qgssvgannotationitem.cpp
|
||||
@ -276,6 +277,7 @@ qgsrelationadddlg.h
|
||||
qgsrelationeditor.h
|
||||
qgsrelationmanagerdialog.h
|
||||
qgsscalecombobox.h
|
||||
qgsscalevisibilitywidget.h
|
||||
qgssearchquerybuilder.h
|
||||
qgssublayersdialog.h
|
||||
qgsunitselectionwidget.h
|
||||
@ -340,6 +342,7 @@ qgsprojectionselector.h
|
||||
qgsrelationeditor.h
|
||||
qgsrubberband.h
|
||||
qgsscalecombobox.h
|
||||
qgsscalevisibilitywidget.h
|
||||
qgssearchquerybuilder.h
|
||||
qgssublayersdialog.h
|
||||
qgsvectorlayertools.h
|
||||
|
92
src/gui/qgsscalevisibilitywidget.cpp
Normal file
92
src/gui/qgsscalevisibilitywidget.cpp
Normal file
@ -0,0 +1,92 @@
|
||||
/***************************************************************************
|
||||
qgsscalevisibilitywidget.cpp
|
||||
--------------------------------------
|
||||
Date : 25.04.2014
|
||||
Copyright : (C) 2014 Denis Rouzaud
|
||||
Email : denis.rouzaud@gmail.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 "qgsscalevisibilitywidget.h"
|
||||
#include "qgsapplication.h"
|
||||
#include "qgsproject.h"
|
||||
|
||||
QgsScaleVisibilityWidget::QgsScaleVisibilityWidget( QWidget *parent )
|
||||
: QWidget( parent )
|
||||
, mCanvas( 0 )
|
||||
{
|
||||
setupUi( this );
|
||||
|
||||
mMaximumScaleIconLabel->setPixmap( QgsApplication::getThemePixmap( "/mActionZoomIn.svg" ) );
|
||||
mMinimumScaleIconLabel->setPixmap( QgsApplication::getThemePixmap( "/mActionZoomOut.svg" ) );
|
||||
|
||||
mMinimumScaleSetCurrentPushButton->hide();
|
||||
mMaximumScaleSetCurrentPushButton->hide();
|
||||
}
|
||||
|
||||
QgsScaleVisibilityWidget::~QgsScaleVisibilityWidget()
|
||||
{
|
||||
}
|
||||
|
||||
void QgsScaleVisibilityWidget::showEvent( QShowEvent * )
|
||||
{
|
||||
bool projectScales = QgsProject::instance()->readBoolEntry( "Scales", "/useProjectScales" );
|
||||
if ( projectScales )
|
||||
{
|
||||
QStringList scalesList = QgsProject::instance()->readListEntry( "Scales", "/ScalesList" );
|
||||
mMinimumScaleComboBox->updateScales( scalesList );
|
||||
mMaximumScaleComboBox->updateScales( scalesList );
|
||||
}
|
||||
}
|
||||
|
||||
void QgsScaleVisibilityWidget::setMapCanvas( QgsMapCanvas *mapCanvas )
|
||||
{
|
||||
if ( !mapCanvas )
|
||||
return;
|
||||
|
||||
mCanvas = mapCanvas;
|
||||
mMinimumScaleSetCurrentPushButton->show();
|
||||
mMaximumScaleSetCurrentPushButton->show();
|
||||
}
|
||||
|
||||
void QgsScaleVisibilityWidget::setMinimumScale( double scale )
|
||||
{
|
||||
mMinimumScaleComboBox->setScale( scale );
|
||||
}
|
||||
|
||||
double QgsScaleVisibilityWidget::minimumScale()
|
||||
{
|
||||
return mMinimumScaleComboBox->scale();
|
||||
}
|
||||
|
||||
void QgsScaleVisibilityWidget::setMaximumScale( double scale )
|
||||
{
|
||||
mMaximumScaleComboBox->setScale( scale );
|
||||
}
|
||||
|
||||
double QgsScaleVisibilityWidget::maximumScale()
|
||||
{
|
||||
return mMaximumScaleComboBox->scale();
|
||||
}
|
||||
|
||||
void QgsScaleVisibilityWidget::on_mMinimumScaleSetCurrentPushButton_clicked()
|
||||
{
|
||||
mMinimumScaleComboBox->setScale( 1.0 / mCanvas->mapSettings().scale() );
|
||||
}
|
||||
|
||||
void QgsScaleVisibilityWidget::on_mMaximumScaleSetCurrentPushButton_clicked()
|
||||
{
|
||||
mMaximumScaleComboBox->setScale( 1.0 / mCanvas->mapSettings().scale() );
|
||||
}
|
||||
|
||||
void QgsScaleVisibilityWidget::setFromLayer( QgsMapLayer *layer )
|
||||
{
|
||||
mMinimumScaleComboBox->setScale( 1.0 / layer->minimumScale() );
|
||||
mMaximumScaleComboBox->setScale( 1.0 / layer->maximumScale() );
|
||||
}
|
60
src/gui/qgsscalevisibilitywidget.h
Normal file
60
src/gui/qgsscalevisibilitywidget.h
Normal file
@ -0,0 +1,60 @@
|
||||
/***************************************************************************
|
||||
qgsscalevisibilitywidget.h
|
||||
--------------------------------------
|
||||
Date : 25.04.2014
|
||||
Copyright : (C) 2014 Denis Rouzaud
|
||||
Email : denis.rouzaud@gmail.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 QGSSCALEVISIBILITYWIDGET_H
|
||||
#define QGSSCALEVISIBILITYWIDGET_H
|
||||
|
||||
#include "ui_qgsscalevisibilitywidget.h"
|
||||
#include "qgscollapsiblegroupbox.h"
|
||||
#include "qgsmaplayer.h"
|
||||
#include "qgsmapcanvas.h"
|
||||
|
||||
|
||||
class GUI_EXPORT QgsScaleVisibilityWidget : public QWidget, private Ui::QgsScaleVisibilityWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit QgsScaleVisibilityWidget( QWidget *parent = 0 );
|
||||
~QgsScaleVisibilityWidget();
|
||||
|
||||
void showEvent( QShowEvent * );
|
||||
|
||||
//! set the map canvas which will be used for the current scale buttons
|
||||
/**
|
||||
* @brief setMapCanvas set the map canvas which will be used for the current scale buttons
|
||||
* if not set, the buttons are hidden.
|
||||
*/
|
||||
void setMapCanvas( QgsMapCanvas* mapCanvas );
|
||||
|
||||
public slots:
|
||||
void setMinimumScale( double scale );
|
||||
double minimumScale();
|
||||
|
||||
void setMaximumScale( double scale );
|
||||
double maximumScale();
|
||||
|
||||
void setFromLayer( QgsMapLayer* layer );
|
||||
|
||||
private slots:
|
||||
void on_mMinimumScaleSetCurrentPushButton_clicked();
|
||||
void on_mMaximumScaleSetCurrentPushButton_clicked();
|
||||
|
||||
private:
|
||||
//! pointer to the map canvas used for current buttons.
|
||||
QgsMapCanvas* mCanvas;
|
||||
};
|
||||
|
||||
#endif // QGSSCALEVISIBILITYWIDGET_H
|
177
src/ui/qgsscalevisibilitywidget.ui
Normal file
177
src/ui/qgsscalevisibilitywidget.ui
Normal file
@ -0,0 +1,177 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>QgsScaleVisibilityWidget</class>
|
||||
<widget class="QWidget" name="QgsScaleVisibilityWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>423</width>
|
||||
<height>87</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout" columnstretch="0,0,3,0,0,3">
|
||||
<item row="0" column="5">
|
||||
<widget class="QgsScaleComboBox" name="mMaximumScaleComboBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QLabel" name="textLabel1_2_2_2">
|
||||
<property name="toolTip">
|
||||
<string>Minimum scale, i.e. maximum scale denominator. This limit is exclusive, that means the layer will not be displayed on this scale.</string>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p align="center"><span style=" font-size:0.75em;">Minimum<br>(exclusive)</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="5">
|
||||
<widget class="QPushButton" name="mMaximumScaleSetCurrentPushButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Current</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QgsScaleComboBox" name="mMinimumScaleComboBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QLabel" name="mMinimumScaleIconLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>22</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../../images/images.qrc">:/images/themes/default/mActionZoomOut.svg</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="mMaximumScaleIconLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>22</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../../images/images.qrc">:/images/themes/default/mActionZoomIn.svg</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="mMinimumScaleSetCurrentPushButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Current</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="textLabel1_3">
|
||||
<property name="toolTip">
|
||||
<string>Maximum scale, i.e. minimum scale denominator. This limit is inclusive, that means the layer will be displayed on this scale.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p align="center"><span style=" font-size:0.75em;">Maximum<br>(inclusive)</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsScaleComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>qgsscalecombobox.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../../images/images.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>929</width>
|
||||
<height>573</height>
|
||||
<width>904</width>
|
||||
<height>588</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
@ -246,7 +246,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>7</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="mOptsPage_General">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_14">
|
||||
@ -266,8 +266,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>383</width>
|
||||
<height>504</height>
|
||||
<width>730</width>
|
||||
<height>502</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_13">
|
||||
@ -279,7 +279,7 @@
|
||||
<property name="title">
|
||||
<string>Layer info</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<property name="syncGroup">
|
||||
<string notr="true">vectorgeneral</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
@ -374,7 +374,10 @@
|
||||
<property name="title">
|
||||
<string>Coordinate reference system</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="syncGroup">
|
||||
<string notr="true">vectorgeneral</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_27">
|
||||
@ -453,148 +456,21 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBox" name="chkUseScaleDependentRendering">
|
||||
<widget class="QgsCollapsibleGroupBox" name="mScaleVisibilityGroupBox">
|
||||
<property name="title">
|
||||
<string>Scale dependent visibility</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">vectorgeneral</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="_5">
|
||||
<property name="verticalSpacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<item row="0" column="4">
|
||||
<widget class="QLabel" name="textLabel1_2_2_2">
|
||||
<property name="toolTip">
|
||||
<string>Minimum scale, i.e. maximum scale denominator. This limit is exclusive, that means the layer will not be displayed on this scale.</string>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p align="center"><span style=" font-size:0.75em;">Minimum<br>(exclusive)</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QgsScaleComboBox" name="cbMaximumScale">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QPushButton" name="mMaximumScaleSetCurrentPushButton">
|
||||
<property name="text">
|
||||
<string>Current</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="mMinimumScaleSetCurrentPushButton">
|
||||
<property name="text">
|
||||
<string>Current</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QgsScaleComboBox" name="cbMinimumScale">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<layout class="QGridLayout" name="gridLayout_6">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="textLabel1_3">
|
||||
<widget class="QgsScaleVisibilityWidget" name="mScaleVisibilityWidget">
|
||||
<property name="toolTip">
|
||||
<string>Maximum scale, i.e. minimum scale denominator. This limit is inclusive, that means the layer will be displayed on this scale.</string>
|
||||
<string>A widget to define the scale visibility</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p align="center"><span style=" font-size:0.75em;">Maximum<br>(inclusive)</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="mMaximumScaleIconLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>22</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../../images/images.qrc">:/images/themes/default/mActionZoomIn.svg</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QLabel" name="mMinimumScaleIconLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>22</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../../images/images.qrc">:/images/themes/default/mActionZoomOut.svg</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
<property name="whatsThis">
|
||||
<string>A widget to define the scale visibility.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -602,7 +478,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QgsCollapsibleGroupBox" name="grpSubset">
|
||||
<widget class="QgsCollapsibleGroupBox" name="mSubsetGroupBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
@ -612,23 +488,11 @@
|
||||
<property name="title">
|
||||
<string>Feature subset</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<string notr="true">vectorgeneral</string>
|
||||
</property>
|
||||
<layout class="QGridLayout">
|
||||
<property name="margin">
|
||||
<number>11</number>
|
||||
</property>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QTextEdit" name="txtSubsetSQL">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="acceptDrops">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="acceptRichText">
|
||||
<bool>false</bool>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="pbnQueryBuilder">
|
||||
<property name="text">
|
||||
<string>Query Builder</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -648,14 +512,23 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="pbnQueryBuilder">
|
||||
<property name="text">
|
||||
<string>Query Builder</string>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QTextEdit" name="txtSubsetSQL">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="acceptDrops">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="acceptRichText">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<zorder>txtSubsetSQL</zorder>
|
||||
<zorder>pbnQueryBuilder</zorder>
|
||||
<zorder>collapseButton</zorder>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@ -769,8 +642,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>101</width>
|
||||
<height>35</height>
|
||||
<width>121</width>
|
||||
<height>38</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_28">
|
||||
@ -875,8 +748,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>574</width>
|
||||
<height>144</height>
|
||||
<width>702</width>
|
||||
<height>171</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_32">
|
||||
@ -1018,8 +891,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>768</width>
|
||||
<height>506</height>
|
||||
<width>476</width>
|
||||
<height>182</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_26">
|
||||
@ -1179,8 +1052,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>768</width>
|
||||
<height>506</height>
|
||||
<width>100</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_21">
|
||||
@ -1227,8 +1100,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>768</width>
|
||||
<height>506</height>
|
||||
<width>90</width>
|
||||
<height>113</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_23">
|
||||
@ -1325,8 +1198,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>768</width>
|
||||
<height>506</height>
|
||||
<width>100</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_24">
|
||||
@ -1367,8 +1240,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>751</width>
|
||||
<height>552</height>
|
||||
<width>393</width>
|
||||
<height>608</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
@ -1377,7 +1250,7 @@
|
||||
<property name="title">
|
||||
<string>Description</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<property name="syncGroup">
|
||||
<string notr="true">vectormeta</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
@ -1472,7 +1345,7 @@
|
||||
<property name="title">
|
||||
<string>Attribution</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<property name="syncGroup">
|
||||
<string notr="true">vectormeta</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
@ -1504,7 +1377,7 @@
|
||||
<property name="title">
|
||||
<string>MetadataUrl</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<property name="syncGroup">
|
||||
<string notr="true">vectormeta</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_9">
|
||||
@ -1659,7 +1532,7 @@
|
||||
<property name="title">
|
||||
<string>Properties</string>
|
||||
</property>
|
||||
<property name="syncGroup" stdset="0">
|
||||
<property name="syncGroup">
|
||||
<string notr="true">vectormeta</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||
@ -1767,17 +1640,22 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QgsScaleComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>qgsscalecombobox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsCollapsibleGroupBox</class>
|
||||
<extends>QGroupBox</extends>
|
||||
<header>qgscollapsiblegroupbox.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsScaleVisibilityWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>qgsscalevisibilitywidget.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>QgsScaleComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>qgsscalecombobox.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../../images/images.qrc"/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user