#ifndef CUSTOMVARS_H
#define CUSTOMVARS_H
#include "settings.h"
struct Var
{
wxString name;
wxString value;
bool builtin;
};
WX_DECLARE_OBJARRAY(Var, VarsArray);
class CustomVars
{
public:
CustomVars();
~CustomVars();
void Load(const wxString& configpath);
void Save(const wxString& configpath);
void Clear();
void Add(const wxString& name, const wxString& value);
Var* GetVarByName(const wxString& name);
const VarsArray& GetVars(){ return m_Vars; }
bool DeleteVar(const wxString& name);
bool DeleteVar(Var* var);
void ApplyVarsToEnvironment();
bool GetModified(){ return m_Modified; }
void SetModified(bool modified = true){ m_Modified = modified; }
protected:
Var* VarExists(const wxString& name);
void DoAdd(const wxString& name, const wxString& value, bool builtin);
void DoAdd(const Var& newvar);
bool DoDeleteVar(Var* var, bool deleteIfBuiltin = false);
private:
bool m_Modified;
VarsArray m_Vars;
};
#endif // CUSTOMVARS_H
syntax highlighted by Code2HTML, v. 0.9.1