Some modification where not commited previously ???

This commit is contained in:
2011-07-03 07:56:48 +02:00
parent 40ca2a0f25
commit ebe9ef4a62
12 changed files with 165 additions and 227 deletions

View File

@@ -19,7 +19,8 @@
#include "KissCount.h"
std::vector<ImportEngine*> KissCount::_importEngines;
std::vector<ImportEngine*> * KissCount::_importEngines;
std::vector<ExportEngine*> * KissCount::_exportEngines;
KissCount::KissCount(const char* bdd_filename) : _user(NULL)
{
@@ -51,6 +52,9 @@ KissCount::~KissCount()
{
delete _db;
delete _wxUI;
delete _importEngines;
delete _exportEngines;
if (_user) delete _user;
}
@@ -568,18 +572,21 @@ wxString KissCount::CompactFont(const wxFont& font)
void KissCount::UnRegisterImportEngine(ImportEngine* engine)
{
std::vector<ImportEngine*>::iterator it;
std::vector<ImportEngine*>* importEngines = KissCount::GetImportEngines();
for(it=_importEngines.begin(); it!=_importEngines.end(); it++)
for(it=importEngines->begin(); it!=importEngines->end(); it++)
if (*it == engine)
{
_importEngines.erase(it);
importEngines->erase(it);
break;
}
}
void KissCount::RegisterImportEngine(ImportEngine* engine)
{
_importEngines.push_back(engine);
std::vector<ImportEngine*>* importEngines = KissCount::GetImportEngines();
importEngines->push_back(engine);
}
wxString KissCount::GetImportEngineExtensions()
@@ -587,12 +594,13 @@ wxString KissCount::GetImportEngineExtensions()
wxString res;
std::vector<ImportEngine*>::iterator it;
int i;
std::vector<ImportEngine*>* importEngines = KissCount::GetImportEngines();
for(i=0; i<(int)_importEngines.size()-1; i++)
res = res + _importEngines[i]->GetFileExt() + wxT("|") ;
for(i=0; i<(int)importEngines->size()-1; i++)
res = res + (*importEngines)[i]->GetFileExt() + wxT("|") ;
if (_importEngines.size())
res = res + _importEngines[i]->GetFileExt();
if (importEngines->size())
res = res + (*importEngines)[i]->GetFileExt();
return res;
}
@@ -600,8 +608,9 @@ wxString KissCount::GetImportEngineExtensions()
ImportEngine* KissCount::GetImportEngine(wxString path)
{
std::vector<ImportEngine*>::iterator it;
std::vector<ImportEngine*>* importEngines = KissCount::GetImportEngines();
for(it=_importEngines.begin(); it!=_importEngines.end(); it++)
for(it=importEngines->begin(); it!=importEngines->end(); it++)
if ((*it)->HandleFile(path, _user, _db, this))
return *it;
@@ -612,3 +621,67 @@ void KissCount::UpdateImportPattern()
{
_db->UpdateImportPattern(_user);
}
void KissCount::UnRegisterExportEngine(ExportEngine* engine)
{
std::vector<ExportEngine*>::iterator it;
std::vector<ExportEngine*>* exportEngines = KissCount::GetExportEngines();
for(it=exportEngines->begin(); it!=exportEngines->end(); it++)
if (*it == engine)
{
exportEngines->erase(it);
break;
}
}
void KissCount::RegisterExportEngine(ExportEngine* engine)
{
std::vector<ExportEngine*>* exportEngines = KissCount::GetExportEngines();
exportEngines->push_back(engine);
}
wxString KissCount::GetExportEngineExtensions()
{
wxString res;
std::vector<ExportEngine*>::iterator it;
int i;
std::vector<ExportEngine*>* exportEngines = KissCount::GetExportEngines();
for(i=0; i<(int)exportEngines->size()-1; i++)
res = res + (*exportEngines)[i]->GetFileExt() + wxT("|") ;
if (exportEngines->size())
res = res + (*exportEngines)[i]->GetFileExt();
return res;
}
ExportEngine* KissCount::GetExportEngine(wxString path)
{
std::vector<ExportEngine*>::iterator it;
std::vector<ExportEngine*>* exportEngines = KissCount::GetExportEngines();
for(it=exportEngines->begin(); it!=exportEngines->end(); it++)
if ((*it)->HandleFile(path, _user, _db, this))
return *it;
return NULL;
}
std::vector<ImportEngine*>* KissCount::GetImportEngines()
{
if (!_importEngines)
_importEngines = new std::vector<ImportEngine*>;
return _importEngines;
}
std::vector<ExportEngine*>* KissCount::GetExportEngines()
{
if (!_exportEngines)
_exportEngines = new std::vector<ExportEngine*>;
return _exportEngines;
}

View File

@@ -25,6 +25,7 @@
#include <list>
#include <model/import/ImportEngine.h>
#include <model/export/ExportEngine.h>
#include <model/model.h>
#include <view/wxUI.h>
@@ -32,9 +33,17 @@
#define APP_VERSION "0.2"
#define ESCAPE_CHARS(s) { \
if (s.Find(wxT("\\\"")) == wxNOT_FOUND) \
s.Replace(wxT("\""), wxT("\\\""), true); \
if (s.Find(wxT("\\\'")) == wxNOT_FOUND) \
s.Replace(wxT("\'"), wxT("\\\'"), true); \
}
class wxUI;
class Database;
class ImportEngine;
class ExportEngine;
class KissCount
{
@@ -111,12 +120,24 @@ public:
wxString GetImportEngineExtensions();
ImportEngine* GetImportEngine(wxString path);
static void RegisterExportEngine(ExportEngine* engine);
static void UnRegisterExportEngine(ExportEngine* engine);
wxString GetExportEngineExtensions();
ExportEngine* GetExportEngine(wxString path);
void UpdateImportPattern();
private:
wxUI* _wxUI;
Database* _db;
User* _user;
static std::vector<ImportEngine*> _importEngines;
static std::vector<ImportEngine*> *GetImportEngines();
static std::vector<ExportEngine*> *GetExportEngines();
static std::vector<ImportEngine*> *_importEngines;
static std::vector<ExportEngine*> *_exportEngines;
};
#endif