2
* This file is part of lib_finder plugin for Code::Blocks Studio
3
* Copyright (C) 2006-2007 Bartlomiej Swiecki
5
* wxSmith is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
10
* wxSmith is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with wxSmith; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
20
* $Id: processingdlg.h 10299 2015-05-15 12:41:59Z jenslody $
21
* $HeadURL: http://svn.code.sf.net/p/codeblocks/code/branches/release-16.xx/src/plugins/contrib/lib_finder/processingdlg.h $
24
#ifndef PROCESSINGDLG_H
25
#define PROCESSINGDLG_H
27
#include <wx/string.h>
28
#include <wx/hashmap.h>
29
#include <wx/arrstr.h>
36
//(*Headers(ProcessingDlg)
37
#include "scrollingdialog.h"
38
class wxStaticBoxSizer;
39
class wxFlexGridSizer;
45
#include "librarydetectionconfig.h"
46
#include "librarydetectionmanager.h"
47
#include "resultmap.h"
48
#include "pkgconfigmanager.h"
50
WX_DECLARE_STRING_HASH_MAP(wxArrayString,FileNamesMap);
51
WX_DECLARE_STRING_HASH_MAP(wxString,wxStringStringMap);
53
class ProcessingDlg: public wxScrollingDialog
57
ProcessingDlg(wxWindow* parent, LibraryDetectionManager& Manager, TypedResults& KnownResults, wxWindowID id = -1);
58
virtual ~ProcessingDlg();
60
//(*Identifiers(ProcessingDlg)
61
static const long ID_STATICTEXT1;
62
static const long ID_GAUGE1;
63
static const long ID_BUTTON1;
66
bool ReadDirs(const wxArrayString& Dirs);
70
bool ProcessLibs(const wxArrayString& Shortcuts);
72
void ApplyResults(bool addOnly);
76
//(*Handlers(ProcessingDlg)
77
void OnButton1Click(wxCommandEvent& event);
80
//(*Declarations(ProcessingDlg)
81
wxFlexGridSizer* FlexGridSizer1;
85
wxStaticBoxSizer* StaticBoxSizer1;
90
void ReadDir(const wxString& DirName);
91
void ProcessLibrary(const LibraryDetectionConfig* Config, const LibraryDetectionConfigSet* Set);
92
void SplitPath(const wxString& FileName,wxArrayString& Split);
93
bool IsVariable(const wxString& NamePart) const;
94
void CheckFilter(const wxString& BasePath,const wxStringStringMap& Vars,const wxArrayString& CompilerList,const LibraryDetectionConfig *Config,const LibraryDetectionConfigSet* Set,int WhichFilter);
95
void FoundLibrary(const wxString& BasePath,const wxStringStringMap& Vars,const wxArrayString& CompilerList,const LibraryDetectionConfig *Config,const LibraryDetectionConfigSet* Set);
96
wxString FixVars(wxString Original,const wxStringStringMap& Vars);
97
wxString FixPath(wxString Original);
101
LibraryDetectionManager& m_Manager;
102
TypedResults& m_KnownResults;
103
ResultMap m_FoundResults;
105
DECLARE_EVENT_TABLE()