Tyro/src/widgets/EditorPane.h

33 lines
840 B
C
Raw Normal View History

2016-01-13 09:29:09 -05:00
#pragma once
2015-07-07 10:01:17 -04:00
#include "src/widgets/widget.h"
#include "src/settings/LangConfig.h"
#include "src/settings/ThemeConfig.h"
2015-04-10 15:11:15 -04:00
class EditorPane: public wxStyledTextCtrl
{
public:
explicit EditorPane(
2015-04-21 14:07:04 -04:00
wxWindow *parent,
wxWindowID id = wxID_ANY,
const wxPoint &post = wxDefaultPosition,
const wxSize &size = wxDefaultSize
);
~EditorPane();
2015-04-17 16:55:48 -04:00
wxFileName fileName;
bool Load(const wxString &filePath);
void Highlight(const wxString &filePath);
bool SaveFile();
bool SaveFile(const wxString &filename);
2019-05-17 16:19:42 -04:00
void ReApplyTheme(const string &theme="");
void ApplyTheme(const string &lang, const string &theme="");
string GetCurrentLang();
2019-05-17 16:19:42 -04:00
void SetCurrentLang(const string &name);
protected:
2015-04-16 11:23:08 -04:00
StringConstMap::iterator lexerMapIt;
2015-04-17 16:55:48 -04:00
bool FileReadable();
bool FileWritable();
void BindEvents();
void _ApplyTheme(Json::Value &lexer_map);
};