mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-05 01:05:34 +08:00
* for a generic table and tree view * generic name pair models and view * Hash for variant
This commit is contained in:
36
src/blackgui/models/namevariantpairlistmodel.cpp
Normal file
36
src/blackgui/models/namevariantpairlistmodel.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
/* Copyright (C) 2013
|
||||
* 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 "namevariantpairlistmodel.h"
|
||||
#include "blackmisc/blackmiscfreefunctions.h"
|
||||
|
||||
using namespace BlackMisc;
|
||||
|
||||
namespace BlackGui
|
||||
{
|
||||
namespace Models
|
||||
{
|
||||
/*
|
||||
* Constructor
|
||||
*/
|
||||
CNameVariantPairModel::CNameVariantPairModel(QObject *parent) : CListModelBase("ViewNameVariantPairList", parent)
|
||||
{
|
||||
this->m_columns.addColumn(CColumn("name", CNameVariantPair::IndexName));
|
||||
this->m_columns.addColumn(CColumn("value", CNameVariantPair::IndexVariant));
|
||||
|
||||
// default sort order
|
||||
this->setSortColumnByPropertyIndex(CNameVariantPair::IndexName);
|
||||
this->m_sortOrder = Qt::AscendingOrder;
|
||||
|
||||
// force strings for translation in resource files
|
||||
(void)QT_TRANSLATE_NOOP("ViewNameVariantPairList", "name");
|
||||
(void)QT_TRANSLATE_NOOP("ViewNameVariantPairList", "value");
|
||||
}
|
||||
}
|
||||
}
|
||||
45
src/blackgui/models/namevariantpairlistmodel.h
Normal file
45
src/blackgui/models/namevariantpairlistmodel.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/* Copyright (C) 2013
|
||||
* 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_NAMEVARIANTLISTMODEL_H
|
||||
#define BLACKGUI_NAMEVARIANTLISTMODEL_H
|
||||
|
||||
#include "blackmisc/namevariantpairlist.h"
|
||||
#include "blackgui/models/listmodelbase.h"
|
||||
#include <QAbstractItemModel>
|
||||
#include <QMap>
|
||||
|
||||
namespace BlackGui
|
||||
{
|
||||
namespace Models
|
||||
{
|
||||
|
||||
/*!
|
||||
* Simple model displaying name / variant values
|
||||
*/
|
||||
class CNameVariantPairModel : public CListModelBase<BlackMisc::CNameVariantPair, BlackMisc::CNameVariantPairList>
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
//! Constructor
|
||||
explicit CNameVariantPairModel(QObject *parent = nullptr);
|
||||
|
||||
//! Constructor
|
||||
explicit CNameVariantPairModel(const BlackMisc::CNameVariantPairList &nameValues, QObject *parent = nullptr);
|
||||
|
||||
//! Destructor
|
||||
virtual ~CNameVariantPairModel() {}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
#endif // guard
|
||||
32
src/blackgui/views/namevariantpairview.cpp
Normal file
32
src/blackgui/views/namevariantpairview.cpp
Normal file
@@ -0,0 +1,32 @@
|
||||
/* Copyright (C) 2013
|
||||
* 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 "namevariantpairview.h"
|
||||
#include <QHeaderView>
|
||||
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackGui::Models;
|
||||
|
||||
namespace BlackGui
|
||||
{
|
||||
namespace Views
|
||||
{
|
||||
CNameVariantPairView::CNameVariantPairView(QWidget *parent) : CViewBase(parent)
|
||||
{
|
||||
this->m_model = new CNameVariantPairModel(this);
|
||||
this->setModel(this->m_model); // via QTableView
|
||||
this->m_model->setSortColumnByPropertyIndex(BlackMisc::CNameVariantPair::IndexName);
|
||||
if (this->m_model->hasValidSortColumn())
|
||||
this->horizontalHeader()->setSortIndicator(
|
||||
this->m_model->getSortColumn(),
|
||||
this->m_model->getSortOrder());
|
||||
this->horizontalHeader()->setStretchLastSection(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
32
src/blackgui/views/namevariantpairview.h
Normal file
32
src/blackgui/views/namevariantpairview.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* Copyright (C) 2013
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef BLACKGUI_NAMEVARIANTPAIRVIEW_H
|
||||
#define BLACKGUI_NAMEVARIANTPAIRVIEW_H
|
||||
|
||||
//! \file
|
||||
|
||||
#include "viewbase.h"
|
||||
#include "../models/namevariantpairlistmodel.h"
|
||||
|
||||
namespace BlackGui
|
||||
{
|
||||
namespace Views
|
||||
{
|
||||
//! User view
|
||||
class CNameVariantPairView : public CViewBase<Models::CNameVariantPairModel>
|
||||
{
|
||||
|
||||
public:
|
||||
//! Constructor
|
||||
explicit CNameVariantPairView(QWidget *parent = nullptr);
|
||||
};
|
||||
}
|
||||
}
|
||||
#endif // guard
|
||||
Reference in New Issue
Block a user