File: EclipseThemeImporterManager.cpp

package info (click to toggle)
codelite 12.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 95,112 kB
  • sloc: cpp: 424,040; ansic: 18,284; php: 9,569; lex: 4,186; yacc: 2,820; python: 2,294; sh: 312; makefile: 51; xml: 13
file content (77 lines) | stat: -rw-r--r-- 3,269 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include "EclipseThemeImporterManager.h"
#include "EclipseCXXThemeImporter.h"
#include "EclipseCMakeThemeImporter.h"
#include "EclipseTextThemeImporter.h"
#include "EclipseMakefileThemeImporter.h"
#include "EclipseDiffThemeImporter.h"
#include "EclipsePHPThemeImporter.h"
#include "EclipseCSSThemeImporter.h"
#include "EclipseXMLThemeImporter.h"
#include "EclipseJavaScriptThemeImporter.h"
#include "ColoursAndFontsManager.h"
#include "EclipseINIThemeImporter.h"
#include "EclipseASMThemeImporter.h"
#include "EclipseBatchThemeImporter.h"
#include "EclipsePythonThemeImporter.h"
#include "EclipseCobraThemeImporter.h"
#include "EclipseCobraAltThemeImporter.h"
#include "EclipseFortranThemeImporter.h"
#include "EclipseInnoSetupThemeImporter.h"
#include "EclipseJavaThemeImporter.h"
#include "EclipseLuaThemeImporter.h"
#include "EclipseScriptThemeImporter.h"
#include "EclipseSQLThemeImporter.h"
#include "EclipseSCSSThemeImporter.h"

EclipseThemeImporterManager::EclipseThemeImporterManager()
{
    m_importers.push_back(new EclipseCXXThemeImporter());
    m_importers.push_back(new EclipseCMakeThemeImporter());
    m_importers.push_back(new EclipseTextThemeImporter());
    m_importers.push_back(new EclipseMakefileThemeImporter());
    m_importers.push_back(new EclipseDiffThemeImporter());
    m_importers.push_back(new EclipsePHPThemeImporter());
    m_importers.push_back(new EclipseCSSThemeImporter());
    m_importers.push_back(new EclipseXMLThemeImporter());
    m_importers.push_back(new EclipseJavaScriptThemeImporter());
    m_importers.push_back(new EclipseINIThemeImporter());
    m_importers.push_back(new EclipseASMThemeImporter());
    m_importers.push_back(new EclipseBatchThemeImporter());
    m_importers.push_back(new EclipsePythonThemeImporter());
    m_importers.push_back(new EclipseCobraThemeImporter());
    m_importers.push_back(new EclipseCobraAltThemeImporter());
    m_importers.push_back(new EclipseFortranThemeImporter());
    m_importers.push_back(new EclipseInnoSetupThemeImporter());
    m_importers.push_back(new EclipseJavaThemeImporter());
    m_importers.push_back(new EclipseLuaThemeImporter());
    m_importers.push_back(new EclipseScriptThemeImporter());
    m_importers.push_back(new EclipseSQLThemeImporter());
    m_importers.push_back(new EclipseSCSSThemeImporter());
}

EclipseThemeImporterManager::~EclipseThemeImporterManager() {}

bool EclipseThemeImporterManager::Import(const wxString& eclipseXml)
{
    EclipseThemeImporterBase::List_t::iterator iter = m_importers.begin();
    for(; iter != m_importers.end(); ++iter) {
        ColoursAndFontsManager::Get().AddLexer((*iter)->Import(eclipseXml));
    }
    return true;
}

bool EclipseThemeImporterManager::ImportCxxToAll()
{
    std::vector<wxFileName> files = EclipseCXXThemeImporter::ToEclipseXMLs();
    for(size_t i = 0; i < files.size(); ++i) {
        wxString eclipseXml = files.at(i).GetFullPath();
        EclipseThemeImporterBase::List_t::iterator iter = m_importers.begin();
        for(; iter != m_importers.end(); ++iter) {
            if((*iter)->GetLangName() != "c++") {
                ColoursAndFontsManager::Get().AddLexer((*iter)->Import(eclipseXml));
            }
        }
    }
    ColoursAndFontsManager::Get().Save();
    return true;
}