mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
RichEdit: Diagram, ide: Tool to convert virtual methods to override
This commit is contained in:
parent
e0bc0f5fd6
commit
119d4c4e5f
7 changed files with 27 additions and 4 deletions
|
|
@ -593,6 +593,19 @@ void CodeEditor::MakeLineEnds()
|
|||
Make(THISBACK(LineEnds));
|
||||
}
|
||||
|
||||
void CodeEditor::ConvertToOverrides()
|
||||
{
|
||||
Make([](String& out) {
|
||||
out.Insert(0, " ");
|
||||
out.Replace("\tvirtual\t", "\t");
|
||||
out.Replace("\tvirtual ", "\t");
|
||||
out.Replace(" virtual\t", " ");
|
||||
out.Replace(" virtual ", " ");
|
||||
out.Replace(";", " override;");
|
||||
out.Remove(0, 1);
|
||||
});
|
||||
}
|
||||
|
||||
void CodeEditor::MoveNextWord(bool sel) {
|
||||
int64 p = GetCursor64();
|
||||
int64 e = GetLength64();
|
||||
|
|
|
|||
|
|
@ -441,6 +441,7 @@ public:
|
|||
|
||||
void MakeTabsOrSpaces(bool tabs);
|
||||
void MakeLineEnds();
|
||||
void ConvertToOverrides();
|
||||
|
||||
void CopyWord();
|
||||
void SwapChars();
|
||||
|
|
|
|||
|
|
@ -306,8 +306,7 @@ struct RichObjectTypeDrawingCls : public RichObjectType
|
|||
virtual Value Read(const String& s) const;
|
||||
virtual String Write(const Value& v) const;
|
||||
|
||||
struct Data
|
||||
{
|
||||
struct Data {
|
||||
void Serialize(Stream& stream);
|
||||
|
||||
Drawing drawing;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ struct RichDiagram : public RichObjectType {
|
|||
virtual String Write(const Value& v) const;
|
||||
virtual Size GetPhysicalSize(const Value& data) const;
|
||||
virtual Size GetPixelSize(const Value& data) const;
|
||||
|
||||
virtual void Paint(const Value& data, Draw& w, Size sz, Color, void *) const;
|
||||
virtual Image ToImage(int64, const Value& data, Size sz, Color, void *) const;
|
||||
|
||||
|
|
|
|||
|
|
@ -136,6 +136,11 @@ struct PageDraw {
|
|||
class RichObject;
|
||||
class Bar;
|
||||
|
||||
struct RichObjectPaintInfo {
|
||||
void *context;
|
||||
Color ink;
|
||||
};
|
||||
|
||||
struct RichObjectType {
|
||||
virtual String GetTypeName(const Value& v) const = 0;
|
||||
virtual String GetCreateName() const;
|
||||
|
|
@ -151,11 +156,12 @@ struct RichObjectType {
|
|||
virtual Size GetDefaultSize(const Value& data, Size maxsize, void *context) const;
|
||||
virtual Size GetPhysicalSize(const Value& data, void *context) const;
|
||||
virtual Size GetPixelSize(const Value& data, void *context) const;
|
||||
virtual void Paint(const Value& data, Draw& w, Size sz, Color ink, void *context) const;
|
||||
virtual Image ToImage(int64 serial_id, const Value& data, Size sz, Color ink, void *context) const;
|
||||
virtual void Menu(Bar& bar, RichObject& ex, void *context) const;
|
||||
virtual void DefaultAction(RichObject& ex, void *context) const;
|
||||
virtual String GetLink(const Value& data, Point pt, Size sz, void *context) const;
|
||||
|
||||
virtual void Paint(const Value& data, Draw& w, Size sz, Color ink, void *context) const;
|
||||
virtual Image ToImage(int64 serial_id, const Value& data, Size sz, Color ink, void *context) const;
|
||||
|
||||
Size StdDefaultSize(const Value& data, Size maxsize, void *context) const;
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ KEY(TRANSLATESTRING, "Mark selection with t_", K_ALT_F2)
|
|||
KEY(SPACESTOTABS, "Spaces to tabs", 0)
|
||||
KEY(TABSTOSPACES, "Tabs to spaces", 0)
|
||||
KEY(LINEENDINGS, "Remove trailing tabs and spaces", 0)
|
||||
KEY(CONVERTOOVERRIDE, "Remove 'virtual', add 'override'", K_SHIFT|K_ALT_O)
|
||||
KEY(DUPLICATEIT, "Duplicate line or selection", K_CTRL_D)
|
||||
KEY(WORDWRAP, "Word wrap", K_ALT_W)
|
||||
|
||||
|
|
|
|||
|
|
@ -170,6 +170,8 @@ void Ide::EditSpecial(Bar& menu)
|
|||
.Help("Convert all tabs to spaces");
|
||||
menu.Add(b, AK_LINEENDINGS, THISBACK(EditMakeLineEnds))
|
||||
.Help("Remove tabs and spaces at line endings");
|
||||
menu.Add(b && editor.IsSelection(), AK_CONVERTOOVERRIDE, [=] { editor.ConvertToOverrides(); })
|
||||
.Help("Convert virtual function declarations to override (removes virtual, adds override)");
|
||||
menu.Add(b, AK_TRANSLATESTRING, THISBACK(TranslateString))
|
||||
.Help("Mark the current selection as translated string");
|
||||
menu.Add(b, AK_SWAPCHARS, THISBACK(SwapChars))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue