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
|
#ifndef VIRTUALDIRECTORYCOLOUR_H
#define VIRTUALDIRECTORYCOLOUR_H
#include <codelite_exports.h>
#include <wx/string.h>
#include <wx/colour.h>
#include <list>
#include <map>
class WXDLLIMPEXP_SDK FolderColour
{
wxString m_path;
wxColour m_colour;
public:
typedef std::list<FolderColour> List_t;
typedef std::map<wxString, FolderColour> Map_t;
public:
FolderColour();
FolderColour(const wxString& path, const wxColour& colour)
: m_path(path)
, m_colour(colour)
{
}
virtual ~FolderColour();
bool IsOk() const { return !m_path.IsEmpty(); }
FolderColour& SetColour(const wxColour& colour)
{
this->m_colour = colour;
return *this;
}
FolderColour& SetPath(const wxString& path)
{
this->m_path = path;
return *this;
}
const wxColour& GetColour() const { return m_colour; }
const wxString& GetPath() const { return m_path; }
/**
* @brief sort map and store the result in a list
*/
static void SortToList(const FolderColour::Map_t& m, FolderColour::List_t& l);
/**
* @brief Search the list for best match for a given path
*/
static const FolderColour& FindForPath(const FolderColour::List_t& sortedList,
const wxString& path);
};
#endif // VIRTUALDIRECTORYCOLOUR_H
|