##// END OF EJS Templates
Fixed bug 388...
Fixed bug 388 Added cassini FGM download from Time table files. Fixed smal issue on export function. Some Work on QLop database.

File last commit:

r14:0e9217f77498 default
r14:0e9217f77498 default
Show More
qlopdatabase.cpp
140 lines | 2.6 KiB | text/x-c | CppLexer
#include "qlopdatabase.h"
#include <qlopdatabaseviewer.h>
QList<QLopData*>* QLopDataBase::m_dataBase=NULL;
QLopDataBase* QLopDataBase::_self=NULL;
QDockWidget* QLopDataBase::m_gui=NULL;
#define INIT() \
if(Q_UNLIKELY(_self==NULL))\
{\
init();\
}
QLopDataBase::QLopDataBase(bool noGUI,QObject *parent) : QLopService(parent)
{
this->m_dataBase = new QList<QLopData*>();
m_serviceName="QLopDataBase";
m_noGui=noGUI;
}
QLopDataBase::~QLopDataBase()
{
}
QDockWidget *QLopDataBase::getGUI()
{
if(!m_noGui && (m_gui==NULL))
{
m_gui=new QLopDataBaseViewer();
m_gui->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable);
}
return m_gui;
}
void QLopDataBase::init(bool noGUI, QObject *parent)
{
_self=new QLopDataBase();
}
const QString &QLopDataBase::serviceName()
{
INIT();
return m_serviceName;
}
int QLopDataBase::addData(QLopData *data)
{
INIT();
if(!m_dataBase->contains(data))
{
m_dataBase->append(data);
emit QLopDataBase::self()->DBChanged();
return 1;
}
return 0;
}
int QLopDataBase::addData(const QLopDataList& data)
{
INIT();
int addedData=0;
for (int i = 0; i < data.count(); i++)
{
addedData += addData(data.at(i));
}
emit QLopDataBase::self()->DBChanged();
return addedData;
}
int QLopDataBase::removeData(QLopData *data)
{
INIT();
if(m_dataBase->contains(data))
{
m_dataBase->removeAll(data);
emit QLopDataBase::self()->DBChanged();
return 1;
}
return 0;
}
int QLopDataBase::removeData(const QLopDataList &data)
{
INIT();
int removedData=0;
for (int i = 0; i < data.count(); i++)
{
removedData += removeData(data.at(i));
}
emit QLopDataBase::self()->DBChanged();
return removedData;
}
QLopDataBase *QLopDataBase::self()
{
INIT();
return _self;
}
int QLopDataBase::count()
{
INIT();
return m_dataBase->count();
}
QLopData *QLopDataBase::getData(const QString &name)
{
INIT();
for (int i = 0; i < m_dataBase->count(); i++)
{
if(Q_UNLIKELY(m_dataBase->at(i)->name==name))
{
return m_dataBase->at(i);
}
}
return NULL;
}
QLopData *QLopDataBase::getData(int ID)
{
INIT();
for (int i = 0; i < m_dataBase->count(); i++)
{
if(Q_UNLIKELY(m_dataBase->at(i)->ID==ID))
{
return m_dataBase->at(i);
}
}
return NULL;
}
QLopData *QLopDataBase::getDataFromIdex(int index)
{
if((index>=0)&&(index<m_dataBase->count()))
return m_dataBase->at(index);
else
return NULL;
}