class EE::UI::UICodeEditorPlugin
#include <uicodeeditor.hpp>
class UICodeEditorPlugin {
public:
// typedefs
typedef std::function<void(UICodeEditorPlugin*, const Uint32&)> OnReadyCb;
// construction
virtual ~UICodeEditorPlugin();
// methods
virtual std::string getId() = 0;
virtual std::string getTitle() = 0;
virtual std::string getDescription() = 0;
virtual bool isReady() const = 0;
virtual bool hasGUIConfig();
virtual bool hasFileConfig();
virtual UIWindow* getGUIConfig();
virtual std::string getFileConfigPath();
virtual void onRegister(UICodeEditor*) = 0;
virtual void onUnregister(UICodeEditor*) = 0;
virtual bool onKeyDown(UICodeEditor*, const KeyEvent&);
virtual bool onKeyUp(UICodeEditor*, const KeyEvent&);
virtual bool onTextInput(UICodeEditor*, const TextInputEvent&);
virtual void update(UICodeEditor*);
virtual void preDraw(UICodeEditor*, const Vector2f&, const Float&, const TextPosition&);
virtual void postDraw(UICodeEditor*, const Vector2f&, const Float&, const TextPosition&);
virtual void onFocus(UICodeEditor*);
virtual void onFocusLoss(UICodeEditor*);
virtual bool onMouseDown(UICodeEditor*, const Vector2i&, const Uint32&);
virtual bool onMouseMove(UICodeEditor*, const Vector2i&, const Uint32&);
virtual bool onMouseUp(UICodeEditor*, const Vector2i&, const Uint32&);
virtual bool onMouseClick(UICodeEditor*, const Vector2i&, const Uint32&);
virtual bool onMouseDoubleClick(UICodeEditor*, const Vector2i&, const Uint32&);
virtual bool onMouseOver(UICodeEditor*, const Vector2i&, const Uint32&);
virtual bool onMouseLeave(UICodeEditor*, const Vector2i&, const Uint32&);
virtual bool onCreateContextMenu(UICodeEditor*, UIPopUpMenu*, const Vector2i&, const Uint32&);
virtual void drawBeforeLineText(UICodeEditor*, const Int64&, Vector2f, const Float&, const Float&);
virtual void drawAfterLineText(UICodeEditor*, const Int64&, Vector2f, const Float&, const Float&);
virtual void minimapDrawBefore(
UICodeEditor*,
const DocumentLineRange&,
const DocumentViewLineRange&,
const Vector2f&,
const Vector2f&,
const Float&,
const Float&,
const DrawTextRangesFn&
);
virtual void minimapDrawAfter(
UICodeEditor*,
const DocumentLineRange&,
const DocumentViewLineRange&,
const Vector2f&,
const Vector2f&,
const Float&,
const Float&,
const DrawTextRangesFn&
);
virtual void drawGutter(UICodeEditor*, const Int64&, const Vector2f&, const Float&, const Float&, const Float&);
virtual void drawTop(UICodeEditor*, const Vector2f&, const Sizef&, const Float&);
Uint32 addOnReadyCallback(const OnReadyCb& cb);
void removeReadyCallback(const Uint32& id);
};