mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 15:45:46 +08:00
refs #535, allow acces to mapping component is sub components
* aware classe * using aware class in mapping component
This commit is contained in:
27
src/blackgui/components/dbmappingcomponentaware.cpp
Normal file
27
src/blackgui/components/dbmappingcomponentaware.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
/* Copyright (C) 2015
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift Project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "dbmappingcomponent.h"
|
||||
#include "dbmappingcomponentaware.h"
|
||||
|
||||
namespace BlackGui
|
||||
{
|
||||
namespace Components
|
||||
{
|
||||
CDbMappingComponentAware::CDbMappingComponentAware(QObject *parent)
|
||||
{
|
||||
// if we get a mapping component we use it
|
||||
if (!parent) { return; }
|
||||
if (!parent->isWidgetType()) { return; }
|
||||
CDbMappingComponent *m = qobject_cast<CDbMappingComponent *>(parent);
|
||||
if (!m) { return; }
|
||||
m_mappingComponent = m;
|
||||
}
|
||||
} // ns
|
||||
} // ns
|
||||
45
src/blackgui/components/dbmappingcomponentaware.h
Normal file
45
src/blackgui/components/dbmappingcomponentaware.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/* Copyright (C) 2015
|
||||
* swift project Community / Contributors
|
||||
*
|
||||
* This file is part of swift Project. It is subject to the license terms in the LICENSE file found in the top-level
|
||||
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
|
||||
* including this file, may be copied, modified, propagated, or distributed except according to the terms
|
||||
* contained in the LICENSE file.
|
||||
*/
|
||||
|
||||
//! \file
|
||||
|
||||
#ifndef BLACKGUI_COMPONENTS_DBMAPPINGCOMPONENTAWARE_H
|
||||
#define BLACKGUI_COMPONENTS_DBMAPPINGCOMPONENTAWARE_H
|
||||
|
||||
#include "blackgui/blackguiexport.h"
|
||||
|
||||
namespace BlackGui
|
||||
{
|
||||
namespace Components
|
||||
{
|
||||
class CDbMappingComponent;
|
||||
|
||||
//! Allows subcomponents to gain access to model component
|
||||
class BLACKGUI_EXPORT CDbMappingComponentAware
|
||||
{
|
||||
public:
|
||||
//! Set the corresponding component
|
||||
void setMappingComponent(CDbMappingComponent *component) { m_mappingComponent = component; }
|
||||
|
||||
protected:
|
||||
//! Constructor
|
||||
CDbMappingComponentAware(QObject *parent);
|
||||
|
||||
//! Get the mapping component
|
||||
const CDbMappingComponent *getMappingComponent() const { return m_mappingComponent; }
|
||||
|
||||
//! Get mapping component
|
||||
CDbMappingComponent *getMappingComponent() { return m_mappingComponent; }
|
||||
|
||||
private :
|
||||
CDbMappingComponent *m_mappingComponent = nullptr;
|
||||
};
|
||||
} // ns
|
||||
} // ns
|
||||
#endif // guard
|
||||
@@ -8,6 +8,7 @@
|
||||
*/
|
||||
|
||||
#include "dbmodelcomponent.h"
|
||||
#include "dbmappingcomponent.h"
|
||||
#include "blackgui/stylesheetutility.h"
|
||||
#include "ui_dbmodelcomponent.h"
|
||||
#include <functional>
|
||||
@@ -23,6 +24,7 @@ namespace BlackGui
|
||||
{
|
||||
CDbModelComponent::CDbModelComponent(QWidget *parent) :
|
||||
QFrame(parent),
|
||||
CDbMappingComponentAware(parent),
|
||||
ui(new Ui::CDbModelComponent)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "blackgui/blackguiexport.h"
|
||||
#include "blackgui/enableforviewbasedindicator.h"
|
||||
#include "blackgui/components/enablefordockwidgetinfoarea.h"
|
||||
#include "blackgui/components/dbmappingcomponentaware.h"
|
||||
#include "blackmisc/network/webdataservicesprovider.h"
|
||||
#include <QFrame>
|
||||
#include <QScopedPointer>
|
||||
@@ -30,6 +31,7 @@ namespace BlackGui
|
||||
*/
|
||||
class BLACKGUI_EXPORT CDbModelComponent :
|
||||
public QFrame,
|
||||
public CDbMappingComponentAware,
|
||||
public CEnableForDockWidgetInfoArea,
|
||||
public BlackGui::CEnableForViewBasedIndicator,
|
||||
public BlackMisc::Network::CWebDataServicesAware
|
||||
|
||||
Reference in New Issue
Block a user