nxn 매트릭스 분석 one depth 분석 필터 구현 git-svn-id: svn://192.168.0.12/source@168 8346c931-da38-4b9b-9d4c-e48b93cbd075
199 lines
6.6 KiB
C++
199 lines
6.6 KiB
C++
#include "tablealgorithm_interface.h"
|
|
#include <QFile>
|
|
#include <QDebug>
|
|
|
|
TableAlgorithmInterface::TableAlgorithmInterface()
|
|
{
|
|
m_pCurrentTable = NULL;
|
|
}
|
|
|
|
TableAlgorithmInterface::~TableAlgorithmInterface()
|
|
{
|
|
m_pCurrentTable = NULL;
|
|
}
|
|
|
|
|
|
void TableAlgorithmInterface::setSource(QWidget *qwidget)
|
|
{
|
|
m_pCurrentTable = (STable *)qwidget;
|
|
reset();
|
|
}
|
|
|
|
bool TableAlgorithmInterface::ReloadColumn()
|
|
{
|
|
m_vecColumn.clear();
|
|
qDebug() << "file open ready";
|
|
|
|
QFile file("column.txt");
|
|
if (file.open(QIODevice::ReadOnly | QIODevice::Text) == false) return false;
|
|
{
|
|
qDebug() << "file open starting";
|
|
while (!file.atEnd())
|
|
{
|
|
QString str = QString(file.readLine());
|
|
if (str.at(0) == QChar('#')) continue;
|
|
if (str.trimmed().isEmpty()) continue;
|
|
m_vecColumn.push_back(str.split(","));
|
|
}
|
|
}
|
|
if (m_vecColumn.size() <= 0) return false;
|
|
setColumnIndex();
|
|
return true;
|
|
}
|
|
|
|
void TableAlgorithmInterface::setColumnIndex()
|
|
{
|
|
for(int i = 0; i < E_DATA_MAX; i++)
|
|
m_anData[i] = -1;
|
|
|
|
for(int i = 0; i < m_vecColumn.size(); i++)
|
|
{
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("platform_title")) m_anData[E_DATA_platform_title] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_form")) m_anData[E_DATA_article_form] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_parent")) m_anData[E_DATA_article_parent] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_id")) m_anData[E_DATA_article_id] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_nickname")) m_anData[E_DATA_article_nickname] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_title")) m_anData[E_DATA_article_title] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_data")) m_anData[E_DATA_article_data] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_url")) m_anData[E_DATA_article_url] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_hit")) m_anData[E_DATA_article_hit] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_date")) m_anData[E_DATA_article_date] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_order")) m_anData[E_DATA_article_order] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("platform_id")) m_anData[E_DATA_platform_id] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("platform_name")) m_anData[E_DATA_platform_name] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("platform_form")) m_anData[E_DATA_platform_form] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("reply_url")) m_anData[E_DATA_reply_url] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("keyword_id")) m_anData[E_DATA_keyword_id] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_profileurl")) m_anData[E_DATA_article_profileurl] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("article_profile")) m_anData[E_DATA_article_profile] = i;
|
|
if (m_vecColumn.at(i).at(0).trimmed() == QString("etc")) m_anData[E_DATA_etc] = i;
|
|
}
|
|
}
|
|
|
|
|
|
QString TableAlgorithmInterface::getArticleID()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_id])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getKeywordID()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_keyword_id])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getPlatformName()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_platform_name])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getPlatformForm()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_platform_form])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getArticleForm()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_form])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getArticleNickname()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_nickname])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getArticleDate()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_date])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getArticleTitle()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_title])->text();
|
|
}
|
|
|
|
QString TableAlgorithmInterface::getArticleData()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_data])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getArticleUrl()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_url])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getArticleParent()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_parent])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getArticleOrder()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_order])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getReplyUrl()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_reply_url])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getArticleHit()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_hit])->text();
|
|
}
|
|
|
|
QString TableAlgorithmInterface::getArticleProfileUrl()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_profileurl])->text();
|
|
}
|
|
|
|
QString TableAlgorithmInterface::getArticleProfile()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_article_profile])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getEtc()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_etc])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getPlatformTitle()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_platform_title])->text();
|
|
}
|
|
QString TableAlgorithmInterface::getPlatformID()
|
|
{
|
|
return m_pCurrentTable->item(m_nIndex, m_anData[E_DATA_platform_id])->text();
|
|
}
|
|
|
|
void TableAlgorithmInterface::next()
|
|
{
|
|
m_nIndex++;
|
|
}
|
|
|
|
bool TableAlgorithmInterface::hasNext()
|
|
{
|
|
if(m_nIndex < m_pCurrentTable->rowCount())
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
int TableAlgorithmInterface::currentIndex()
|
|
{
|
|
return m_nIndex;
|
|
}
|
|
|
|
void TableAlgorithmInterface::seek(int index)
|
|
{
|
|
if(index >= length())
|
|
m_nIndex = length() - 1;
|
|
else
|
|
m_nIndex = index;
|
|
}
|
|
|
|
int TableAlgorithmInterface::length()
|
|
{
|
|
return m_pCurrentTable->rowCount();
|
|
}
|
|
void TableAlgorithmInterface::reset()
|
|
{
|
|
m_nIndex = 0;
|
|
}
|
|
|
|
void TableAlgorithmInterface::moveFirst()
|
|
{
|
|
reset();
|
|
}
|
|
|
|
void TableAlgorithmInterface::moveLast()
|
|
{
|
|
m_nIndex = m_pCurrentTable->rowCount() - 1;
|
|
}
|
|
|