Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[mdal] move GUI related code to a new file
  • Loading branch information
wonder-sk committed Jul 1, 2019
1 parent d1bd8fc commit 04630d5
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 62 deletions.
1 change: 1 addition & 0 deletions src/providers/mdal/CMakeLists.txt
Expand Up @@ -9,6 +9,7 @@ SET(MDAL_MOC_HDRS

IF (WITH_GUI)
SET(MDAL_SRCS ${MDAL_SRCS}
qgsmdalprovidergui.cpp
qgsmdalsourceselect.cpp
)
SET(MDAL_MOC_HDRS ${MDAL_MOC_HDRS}
Expand Down
55 changes: 5 additions & 50 deletions src/providers/mdal/qgsmdalprovider.cpp
Expand Up @@ -23,13 +23,9 @@
#include "qgsapplication.h"
#include "qgsmdaldataitems.h"

#ifdef HAVE_GUI
#include "qgssourceselectprovider.h"
#include "qgsmdalsourceselect.h"
#endif

static const QString TEXT_PROVIDER_KEY = QStringLiteral( "mdal" );
static const QString TEXT_PROVIDER_DESCRIPTION = QStringLiteral( "MDAL provider" );
const QString QgsMdalProvider::MDAL_PROVIDER_KEY = QStringLiteral( "mdal" );
const QString QgsMdalProvider::MDAL_PROVIDER_DESCRIPTION = QStringLiteral( "MDAL provider" );

bool QgsMdalProvider::isValid() const
{
Expand All @@ -38,12 +34,12 @@ bool QgsMdalProvider::isValid() const

QString QgsMdalProvider::name() const
{
return TEXT_PROVIDER_KEY;
return MDAL_PROVIDER_KEY;
}

QString QgsMdalProvider::description() const
{
return TEXT_PROVIDER_DESCRIPTION;
return MDAL_PROVIDER_DESCRIPTION;
}

QgsCoordinateReferenceSystem QgsMdalProvider::crs() const
Expand Down Expand Up @@ -553,38 +549,6 @@ QList<QgsDataItemProvider *> QgsMdalProviderMetadata::dataItemProviders() const
return providers;
}


#ifdef HAVE_GUI
//! Provider for mdal mesh source select
class QgsMdalMeshSourceSelectProvider : public QgsSourceSelectProvider
{
public:

QString providerKey() const override { return QStringLiteral( "mdal" ); }
QString text() const override { return QObject::tr( "Mesh" ); }
int ordering() const override { return QgsSourceSelectProvider::OrderLocalProvider + 22; }
QIcon icon() const override { return QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddMeshLayer.svg" ) ); }
QgsAbstractDataSourceWidget *createDataSourceWidget( QWidget *parent = nullptr, Qt::WindowFlags fl = Qt::Widget, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::Embedded ) const override
{
return new QgsMdalSourceSelect( parent, fl, widgetMode );
}
};

QgsMdalProviderGuiMetadata::QgsMdalProviderGuiMetadata()
: QgsProviderGuiMetadata( TEXT_PROVIDER_KEY )
{
}

QList<QgsSourceSelectProvider *> QgsMdalProviderGuiMetadata::sourceSelectProviders()
{
QList<QgsSourceSelectProvider *> providers;

providers
<< new QgsMdalMeshSourceSelectProvider;

return providers;
}

QString QgsMdalProviderMetadata::filters( FilterType type )
{
switch ( type )
Expand All @@ -608,20 +572,11 @@ QString QgsMdalProviderMetadata::filters( FilterType type )
}
}

#endif

QgsMdalProviderMetadata::QgsMdalProviderMetadata():
QgsProviderMetadata( TEXT_PROVIDER_KEY, TEXT_PROVIDER_DESCRIPTION )
QgsProviderMetadata( QgsMdalProvider::MDAL_PROVIDER_KEY, QgsMdalProvider::MDAL_PROVIDER_DESCRIPTION )
{}

QGISEXTERN QgsProviderMetadata *providerMetadataFactory()
{
return new QgsMdalProviderMetadata();
}

#ifdef HAVE_GUI
QGISEXTERN QgsProviderGuiMetadata *providerGuiMetadataFactory()
{
return new QgsMdalProviderGuiMetadata();
}
#endif
15 changes: 3 additions & 12 deletions src/providers/mdal/qgsmdalprovider.h
Expand Up @@ -25,9 +25,6 @@
#include "qgscoordinatereferencesystem.h"
#include "qgsmeshdataprovider.h"
#include "qgsprovidermetadata.h"
#ifdef HAVE_GUI
#include "qgsproviderguimetadata.h"
#endif

class QMutex;
class QgsCoordinateTransform;
Expand All @@ -42,6 +39,9 @@ class QgsMdalProvider : public QgsMeshDataProvider

public:

static const QString MDAL_PROVIDER_KEY;
static const QString MDAL_PROVIDER_DESCRIPTION;

/**
* Constructor for the provider.
*
Expand Down Expand Up @@ -123,13 +123,4 @@ class QgsMdalProviderMetadata: public QgsProviderMetadata
QList<QgsDataItemProvider *> dataItemProviders() const override;
};

#ifdef HAVE_GUI
class QgsMdalProviderGuiMetadata: public QgsProviderGuiMetadata
{
public:
QgsMdalProviderGuiMetadata();
QList<QgsSourceSelectProvider *> sourceSelectProviders() override;
};
#endif

#endif //QGSMDALPROVIDER_H
60 changes: 60 additions & 0 deletions src/providers/mdal/qgsmdalprovidergui.cpp
@@ -0,0 +1,60 @@
/***************************************************************************
qgsmdalprovidergui.cpp
--------------------------------------
Date : June 2019
Copyright : (C) 2019 by Martin Dobias
Email : wonder dot sk at gmail 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. *
* *
***************************************************************************/

#include "qgsapplication.h"
#include "qgsproviderguimetadata.h"
#include "qgssourceselectprovider.h"

#include "qgsmdalprovider.h"
#include "qgsmdalsourceselect.h"


//! Provider for mdal mesh source select
class QgsMdalMeshSourceSelectProvider : public QgsSourceSelectProvider
{
public:

QString providerKey() const override { return QStringLiteral( "mdal" ); }
QString text() const override { return QObject::tr( "Mesh" ); }
int ordering() const override { return QgsSourceSelectProvider::OrderLocalProvider + 22; }
QIcon icon() const override { return QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddMeshLayer.svg" ) ); }
QgsAbstractDataSourceWidget *createDataSourceWidget( QWidget *parent = nullptr, Qt::WindowFlags fl = Qt::Widget, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::Embedded ) const override
{
return new QgsMdalSourceSelect( parent, fl, widgetMode );
}
};


class QgsMdalProviderGuiMetadata: public QgsProviderGuiMetadata
{
public:
QgsMdalProviderGuiMetadata()
: QgsProviderGuiMetadata( QgsMdalProvider::MDAL_PROVIDER_KEY )
{
}

QList<QgsSourceSelectProvider *> sourceSelectProviders() override
{
QList<QgsSourceSelectProvider *> providers;
providers << new QgsMdalMeshSourceSelectProvider;
return providers;
}
};


QGISEXTERN QgsProviderGuiMetadata *providerGuiMetadataFactory()
{
return new QgsMdalProviderGuiMetadata();
}

0 comments on commit 04630d5

Please sign in to comment.