You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
230 lines
2.7 KiB
C++
230 lines
2.7 KiB
C++
/*!
|
|
\file ctag.h
|
|
|
|
*/
|
|
|
|
#ifndef CTAG_H
|
|
#define CTAG_H
|
|
|
|
|
|
#include "csplashscreen.h"
|
|
|
|
#include <QObject>
|
|
#include <QList>
|
|
|
|
#include <QProgressBar>
|
|
|
|
#include <QMetaType>
|
|
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\class cTag ctag.h "ctag.h"
|
|
*/
|
|
class cTag : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/*!
|
|
\brief
|
|
|
|
\fn cTag
|
|
\param parent
|
|
*/
|
|
explicit cTag(qint32 iID = -1, QObject *parent = nullptr);
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn toDB
|
|
\return bool
|
|
*/
|
|
bool toDB();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setID
|
|
\param id
|
|
*/
|
|
void setID(const qint32& id);
|
|
/*!
|
|
\brief
|
|
|
|
\fn id
|
|
\return qint32
|
|
*/
|
|
qint32 id();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setName
|
|
\param name
|
|
*/
|
|
void setName(const QString& name);
|
|
/*!
|
|
\brief
|
|
|
|
\fn name
|
|
\return QString
|
|
*/
|
|
QString name();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn operator==
|
|
\param other
|
|
\return bool
|
|
*/
|
|
bool operator==(const cTag& other) const;
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn operator==
|
|
\param other
|
|
\return bool
|
|
*/
|
|
bool operator==(const cTag*& other) const;
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn operator==
|
|
\param other
|
|
\return bool
|
|
*/
|
|
bool operator==(const cTag* other) const;
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn operator==
|
|
\param other
|
|
\return bool
|
|
*/
|
|
bool operator==(cTag* other);
|
|
|
|
signals:
|
|
|
|
public slots:
|
|
|
|
private:
|
|
qint32 m_iID; /*!< TODO: describe */
|
|
QString m_szName; /*!< TODO: describe */
|
|
};
|
|
|
|
Q_DECLARE_METATYPE(cTag*)
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\class cTagList ctag.h "ctag.h"
|
|
*/
|
|
class cTagList : public QObject, public QList<cTag*>
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/*!
|
|
\brief
|
|
|
|
\fn cTagList
|
|
\param parent
|
|
*/
|
|
explicit cTagList(QObject *parent = nullptr);
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn load
|
|
\param lpSplashScreen
|
|
\param lpProgressBar
|
|
\return bool
|
|
*/
|
|
bool load(cSplashScreen* lpSplashScreen, QProgressBar* lpProgressBar = nullptr);
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn add
|
|
\param iID
|
|
\param bNoCheck
|
|
\return cTag
|
|
*/
|
|
cTag* add(qint32 iID = -1, bool bNoCheck = false);
|
|
/*!
|
|
\brief
|
|
|
|
\fn add
|
|
\param cTag
|
|
\param bNoCheck
|
|
\return bool
|
|
*/
|
|
bool add(cTag* lpTag, bool bNoCheck = false);
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn find
|
|
\param iID
|
|
\return cTag
|
|
*/
|
|
cTag* find(qint32 iID);
|
|
/*!
|
|
\brief
|
|
|
|
\fn find
|
|
\param iID
|
|
\return cTag
|
|
*/
|
|
cTag* find(cTag* lpTag);
|
|
/*!
|
|
\brief
|
|
|
|
\fn find
|
|
\param szName
|
|
\return cTag
|
|
*/
|
|
cTag* find(const QString& szName);
|
|
/*!
|
|
\brief
|
|
|
|
\fn remove
|
|
\param lpTag
|
|
\return bool
|
|
*/
|
|
bool remove(cTag* lpTag);
|
|
/*!
|
|
\brief
|
|
|
|
\fn contains
|
|
\param lpTag
|
|
\return bool
|
|
*/
|
|
bool contains(cTag* const &lpTag);
|
|
/*!
|
|
\brief
|
|
|
|
\fn contains
|
|
\param idList
|
|
\return bool
|
|
*/
|
|
bool contains(QList<qint32> idList, bool bAnd);
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn tagList
|
|
\return QStringList
|
|
*/
|
|
QStringList tagList();
|
|
signals:
|
|
|
|
public slots:
|
|
};
|
|
|
|
#endif // CTAG_H
|