Skip to content

Commit

Permalink
Move layout classes to GUI, except for QgsLayoutDesignerDialog
Browse files Browse the repository at this point in the history
  • Loading branch information
manisandro committed Jan 17, 2020
1 parent 56bb8e9 commit 509ba6c
Show file tree
Hide file tree
Showing 66 changed files with 322 additions and 166 deletions.
29 changes: 1 addition & 28 deletions src/app/CMakeLists.txt
Expand Up @@ -193,37 +193,10 @@ SET(QGIS_APP_SRCS
labeling/qgsmaptoolrotatelabel.cpp
labeling/qgsrulebasedlabelingwidget.cpp

layout/qgsgeopdflayertreemodel.cpp
layout/qgslayoutaddpagesdialog.cpp
layout/qgslayoutapputils.cpp
layout/qgslayoutatlaswidget.cpp
layout/qgslayoutattributeselectiondialog.cpp
layout/qgslayoutattributetablewidget.cpp
layout/qgslayoutappmenuprovider.cpp
layout/qgslayoutdesignerdialog.cpp
layout/qgslayoutguidewidget.cpp
layout/qgslayouthtmlwidget.cpp
layout/qgslayoutimagedrophandler.cpp
layout/qgslayoutimageexportoptionsdialog.cpp
layout/qgslayoutitemslistview.cpp
layout/qgslayoutappmenuprovider.cpp
layout/qgslayoutlabelwidget.cpp
layout/qgslayoutlegendlayersdialog.cpp
layout/qgslayoutlegendwidget.cpp
layout/qgslayoutmanagerdialog.cpp
layout/qgslayoutmanualtablewidget.cpp
layout/qgslayoutmapwidget.cpp
layout/qgslayoutmapgridwidget.cpp
layout/qgslayoutpagepropertieswidget.cpp
layout/qgslayoutpdfexportoptionsdialog.cpp
layout/qgslayoutpicturewidget.cpp
layout/qgslayoutpolygonwidget.cpp
layout/qgslayoutpolylinewidget.cpp
layout/qgslayoutpropertieswidget.cpp
layout/qgslayoutqptdrophandler.cpp
layout/qgslayoutscalebarwidget.cpp
layout/qgslayoutshapewidget.cpp
layout/qgslayouttablebackgroundcolorsdialog.cpp
layout/qgslayoutvaliditychecks.cpp
layout/qgsreportfieldgroupsectionwidget.cpp
layout/qgsreportlayoutsectionwidget.cpp
layout/qgsreportorganizerwidget.cpp
Expand Down
1 change: 1 addition & 0 deletions src/app/layout/qgslayout3dmapwidget.h
Expand Up @@ -16,6 +16,7 @@
#ifndef QGSLAYOUT3DMAPWIDGET_H
#define QGSLAYOUT3DMAPWIDGET_H

#include "qgis_gui.h"
#include "qgslayoutitemwidget.h"
#include "ui_qgslayout3dmapwidgetbase.h"
#include "qgslayoutitem3dmap.h"
Expand Down
3 changes: 1 addition & 2 deletions src/app/layout/qgslayoutdesignerdialog.cpp
Expand Up @@ -246,7 +246,6 @@ void QgsAppLayoutDesignerInterface::showRulers( bool visible )
mDesigner->showRulers( visible );
}


static bool cmpByText_( QAction *a, QAction *b )
{
return QString::localeAwareCompare( a->text(), b->text() ) < 0;
Expand Down Expand Up @@ -809,7 +808,7 @@ QgsLayoutDesignerDialog::QgsLayoutDesignerDialog( QWidget *parent, Qt::WindowFla
mPanelsMenu->addAction( mItemsDock->toggleViewAction() );

//items tree widget
mItemsTreeView = new QgsLayoutItemsListView( mItemsDock, this );
mItemsTreeView = new QgsLayoutItemsListView( mItemsDock, iface() );
mItemsDock->setWidget( mItemsTreeView );

mAtlasDock = new QgsDockWidget( tr( "Atlas" ), this );
Expand Down
20 changes: 18 additions & 2 deletions src/app/qgisapp.cpp
Expand Up @@ -107,6 +107,8 @@
#include "qgsvectorlayer3drenderer.h"
#include "processing/qgs3dalgorithms.h"
#include "qgs3dmaptoolmeasureline.h"
#include "layout/qgslayout3dmapwidget.h"
#include "layout/qgslayoutviewrubberband.h"
#endif

#include "qgsgui.h"
Expand Down Expand Up @@ -234,10 +236,11 @@ Q_GUI_EXPORT extern int qt_defaultDpiX();
#include "qgslayoutatlas.h"
#include "qgslayoutcustomdrophandler.h"
#include "qgslayoutdesignerdialog.h"
#include "qgslayoutitemguiregistry.h"
#include "qgslayoutmanager.h"
#include "qgslayoutqptdrophandler.h"
#include "qgslayoutimagedrophandler.h"
#include "qgslayoutapputils.h"
#include "qgslayoutguiutils.h"
#include "qgslocatorwidget.h"
#include "qgslocator.h"
#include "qgsinbuiltlocatorfilters.h"
Expand Down Expand Up @@ -11912,13 +11915,26 @@ void QgisApp::initNativeProcessing()

void QgisApp::initLayouts()
{
// 3D map item
#ifdef HAVE_3D
QgsApplication::layoutItemRegistry()->addLayoutItemType(
new QgsLayoutItemMetadata( QgsLayoutItemRegistry::Layout3DMap, QObject::tr( "3D Map" ), QObject::tr( "3D Maps" ), QgsLayoutItem3DMap::create )
);

auto createRubberBand = ( []( QgsLayoutView * view )->QgsLayoutViewRubberBand *
{
return new QgsLayoutViewRectangularRubberBand( view );
} );
std::unique_ptr< QgsLayoutItemGuiMetadata > map3dMetadata = qgis::make_unique< QgsLayoutItemGuiMetadata>(
QgsLayoutItemRegistry::Layout3DMap, QObject::tr( "3D Map" ), QgsApplication::getThemeIcon( QStringLiteral( "/mActionAdd3DMap.svg" ) ),
[ = ]( QgsLayoutItem * item )->QgsLayoutItemBaseWidget *
{
return new QgsLayout3DMapWidget( qobject_cast< QgsLayoutItem3DMap * >( item ) );
}, createRubberBand );
QgsGui::layoutItemGuiRegistry()->addLayoutItemGuiMetadata( map3dMetadata.release() );
#endif

QgsLayoutAppUtils::registerGuiForKnownItemTypes();
QgsLayoutGuiUtils::registerGuiForKnownItemTypes( mMapCanvas );

mLayoutQptDropHandler = new QgsLayoutQptDropHandler( this );
registerCustomLayoutDropHandler( mLayoutQptDropHandler );
Expand Down
17 changes: 0 additions & 17 deletions src/app/qgsmapthemes.cpp
Expand Up @@ -81,23 +81,6 @@ void QgsMapThemes::updatePreset( const QString &name )
QgsProject::instance()->mapThemeCollection()->update( name, currentState() );
}

QList<QgsMapLayer *> QgsMapThemes::orderedPresetVisibleLayers( const QString &name ) const
{
QStringList visibleIds = QgsProject::instance()->mapThemeCollection()->mapThemeVisibleLayerIds( name );

// also make sure to order the layers according to map canvas order
QList<QgsMapLayer *> lst;
const auto constLayerOrder = QgsProject::instance()->layerTreeRoot()->layerOrder();
for ( QgsMapLayer *layer : constLayerOrder )
{
if ( visibleIds.contains( layer->id() ) )
{
lst << layer;
}
}
return lst;
}

QMenu *QgsMapThemes::menu()
{
return mMenu;
Expand Down
6 changes: 0 additions & 6 deletions src/app/qgsmapthemes.h
Expand Up @@ -48,12 +48,6 @@ class APP_EXPORT QgsMapThemes : public QObject
//! Update existing preset using the current state of project's layer tree
void updatePreset( const QString &name );

/**
* Returns list of layer IDs that should be visible for particular preset.
* The order will match the layer order from the map canvas
*/
QList<QgsMapLayer *> orderedPresetVisibleLayers( const QString &name ) const;

//! Convenience menu that lists available presets and actions for management
QMenu *menu();

Expand Down
63 changes: 62 additions & 1 deletion src/gui/CMakeLists.txt
Expand Up @@ -175,16 +175,43 @@ SET(QGIS_GUI_SRCS
layertree/qgslayertreeviewindicator.cpp
layertree/qgslayertreeviewitemdelegate.cpp

layout/qgsgeopdflayertreemodel.cpp
layout/qgslayoutaddpagesdialog.cpp
layout/qgslayoutguiutils.cpp
layout/qgslayoutatlaswidget.cpp
layout/qgslayoutattributeselectiondialog.cpp
layout/qgslayoutattributetablewidget.cpp
layout/qgslayoutcombobox.cpp
layout/qgslayoutcustomdrophandler.cpp
layout/qgslayoutitemguiregistry.cpp
layout/qgslayoutguidewidget.cpp
layout/qgslayouthtmlwidget.cpp
layout/qgslayoutimageexportoptionsdialog.cpp
layout/qgslayoutitemcombobox.cpp
layout/qgslayoutitemguiregistry.cpp
layout/qgslayoutitemslistview.cpp
layout/qgslayoutitemwidget.cpp
layout/qgslayoutlabelwidget.cpp
layout/qgslayoutlegendlayersdialog.cpp
layout/qgslayoutlegendwidget.cpp
layout/qgslayoutmanualtablewidget.cpp
layout/qgslayoutmapgridwidget.cpp
layout/qgslayoutmapwidget.cpp
layout/qgslayoutmousehandles.cpp
layout/qgslayoutnewitempropertiesdialog.cpp
layout/qgslayoutpagepropertieswidget.cpp
layout/qgslayoutpdfexportoptionsdialog.cpp
layout/qgslayoutpicturewidget.cpp
layout/qgslayoutpolygonwidget.cpp
layout/qgslayoutpolylinewidget.cpp
layout/qgslayoutpropertieswidget.cpp
layout/qgslayoutqptdrophandler.cpp
layout/qgslayoutreportsectionlabel.cpp
layout/qgslayoutruler.cpp
layout/qgslayoutscalebarwidget.cpp
layout/qgslayoutshapewidget.cpp
layout/qgslayouttablebackgroundcolorsdialog.cpp
layout/qgslayoutunitscombobox.cpp
layout/qgslayoutvaliditychecks.cpp
layout/qgslayoutview.cpp
layout/qgslayoutviewmouseevent.cpp
layout/qgslayoutviewrubberband.cpp
Expand Down Expand Up @@ -771,16 +798,42 @@ SET(QGIS_GUI_HDRS
layertree/qgslayertreeviewindicator.h
layertree/qgslayertreeviewitemdelegate.h

layout/qgsgeopdflayertreemodel.h
layout/qgslayoutaddpagesdialog.h
layout/qgslayoutguiutils.h
layout/qgslayoutatlaswidget.h
layout/qgslayoutattributeselectiondialog.h
layout/qgslayoutattributetablewidget.h
layout/qgslayoutcombobox.h
layout/qgslayoutcustomdrophandler.h
layout/qgslayoutdesignerinterface.h
layout/qgslayoutguidewidget.h
layout/qgslayouthtmlwidget.h
layout/qgslayoutimageexportoptionsdialog.h
layout/qgslayoutitemcombobox.h
layout/qgslayoutitemguiregistry.h
layout/qgslayoutitemslistview.h
layout/qgslayoutitemwidget.h
layout/qgslayoutlabelwidget.h
layout/qgslayoutlegendlayersdialog.h
layout/qgslayoutlegendwidget.h
layout/qgslayoutmanualtablewidget.h
layout/qgslayoutmapgridwidget.h
layout/qgslayoutmapwidget.h
layout/qgslayoutmousehandles.h
layout/qgslayoutnewitempropertiesdialog.h
layout/qgslayoutpagepropertieswidget.h
layout/qgslayoutpdfexportoptionsdialog.h
layout/qgslayoutpicturewidget.h
layout/qgslayoutpolygonwidget.h
layout/qgslayoutpolylinewidget.h
layout/qgslayoutpropertieswidget.h
layout/qgslayoutqptdrophandler.h
layout/qgslayoutreportsectionlabel.h
layout/qgslayoutruler.h
layout/qgslayoutscalebarwidget.h
layout/qgslayoutshapewidget.h
layout/qgslayouttablebackgroundcolorsdialog.h
layout/qgslayoutunitscombobox.h
layout/qgslayoutview.h
layout/qgslayoutviewmouseevent.h
Expand Down Expand Up @@ -964,6 +1017,14 @@ SET(QGIS_GUI_UI_HDRS
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgstablewidgetuibase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsrendererpropsdialogbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgseffectstackpropertieswidgetbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgslayoutnewpagedialog.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgslayoutguidewidgetbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgslayoutimageexportoptions.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgslayoutitemwidgetbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgslayoutpagepropertieswidget.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgspdfexportoptions.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgslayoutwidgetbase.h
${CMAKE_CURRENT_BINARY_DIR}/../ui/ui_qgsrenderercontainerbase.h
)

IF(ENABLE_MODELTEST)
Expand Down
File renamed without changes.
Expand Up @@ -15,17 +15,20 @@
#ifndef QGSGEOPDFLAYERTREEMODEL_H
#define QGSGEOPDFLAYERTREEMODEL_H

// We don't want to expose this in the public API
#define SIP_NO_FILE

#include <QSortFilterProxyModel>
#include <QItemDelegate>

#include "qgis_gui.h"
#include "qgslayertreemodel.h"
#include "qgis_app.h"

class QgsMapCanvas;
class QgsProject;


class APP_EXPORT QgsGeoPdfLayerTreeModel : public QgsLayerTreeModel
class GUI_EXPORT QgsGeoPdfLayerTreeModel : public QgsLayerTreeModel
{
Q_OBJECT

Expand Down
File renamed without changes.
Expand Up @@ -16,6 +16,9 @@
#ifndef QGSLAYOUTADDPAGESDIALOG_H
#define QGSLAYOUTADDPAGESDIALOG_H

// We don't want to expose this in the public API
#define SIP_NO_FILE

#include "qgis_sip.h"
#include "qgis_gui.h"
#include "ui_qgslayoutnewpagedialog.h"
Expand All @@ -28,7 +31,7 @@
/**
* A dialog for configuring properties of new pages to be added to a layout
*/
class QgsLayoutAddPagesDialog : public QDialog, private Ui::QgsLayoutNewPageDialog
class GUI_EXPORT QgsLayoutAddPagesDialog : public QDialog, private Ui::QgsLayoutNewPageDialog
{
Q_OBJECT

Expand Down
File renamed without changes.
Expand Up @@ -14,6 +14,13 @@
* *
***************************************************************************/

#ifndef QGSLAYOUTATLASWIDGET_H
#define QGSLAYOUTATLASWIDGET_H

// We don't want to expose this in the public API
#define SIP_NO_FILE

#include "qgis_gui.h"
#include "ui_qgslayoutatlaswidgetbase.h"

class QgsPrintLayout;
Expand All @@ -24,7 +31,7 @@ class QgsMessageBar;
* \ingroup app
* A widget for layout atlas settings.
*/
class QgsLayoutAtlasWidget: public QWidget, private Ui::QgsLayoutAtlasWidgetBase
class GUI_EXPORT QgsLayoutAtlasWidget: public QWidget, private Ui::QgsLayoutAtlasWidgetBase
{
Q_OBJECT
public:
Expand Down Expand Up @@ -58,3 +65,5 @@ class QgsLayoutAtlasWidget: public QWidget, private Ui::QgsLayoutAtlasWidgetBase
void blockAllSignals( bool b );
void checkLayerType( QgsVectorLayer *layer );
};

#endif // QGSLAYOUTATLASWIDGET_H

0 comments on commit 509ba6c

Please sign in to comment.