diff options
author | Neil <nyamatongwe@gmail.com> | 2021-03-19 10:40:48 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2021-03-19 10:40:48 +1100 |
commit | 25aca885085525118aec6fee7c1ff49442d90582 (patch) | |
tree | 8bcc546855b4f80a92bd9b7f9912c5b907310c26 /src/Editor.h | |
parent | 4c086ac7bebe13bcd2146f4e2cebc40510a7223c (diff) | |
download | scintilla-mirror-25aca885085525118aec6fee7c1ff49442d90582.tar.gz |
Switch enum to enum class.
Diffstat (limited to 'src/Editor.h')
-rw-r--r-- | src/Editor.h | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/src/Editor.h b/src/Editor.h index 87a904bf1..fc3a84ecd 100644 --- a/src/Editor.h +++ b/src/Editor.h @@ -37,25 +37,27 @@ public: * accumulate needed styling range and other work items in * WorkNeeded to avoid unnecessary work inside paint handler */ + +enum class WorkItems { + none = 0, + style = 1, + updateUI = 2 +}; + class WorkNeeded { public: - enum workItems { - workNone=0, - workStyle=1, - workUpdateUI=2 - }; - enum workItems items; + enum WorkItems items; Sci::Position upTo; - WorkNeeded() noexcept : items(workNone), upTo(0) {} + WorkNeeded() noexcept : items(WorkItems::none), upTo(0) {} void Reset() noexcept { - items = workNone; + items = WorkItems::none; upTo = 0; } - void Need(workItems items_, Sci::Position pos) noexcept { - if ((items_ & workStyle) && (upTo < pos)) + void Need(WorkItems items_, Sci::Position pos) noexcept { + if (FlagSet(items_, WorkItems::style) && (upTo < pos)) upTo = pos; - items = static_cast<workItems>(items | items_); + items = static_cast<WorkItems>(static_cast<int>(items) | static_cast<int>(items_)); } }; @@ -155,6 +157,14 @@ struct CaretPolicies { CaretPolicy y; }; +enum class XYScrollOptions { + none = 0x0, + useMargin = 0x1, + vertical = 0x2, + horizontal = 0x4, + all = useMargin | vertical | horizontal +}; + /** */ class Editor : public EditModel, public DocWatcher { @@ -212,7 +222,7 @@ protected: // ScintillaBase subclass needs access to much of Editor bool dwelling; enum class TextUnit { character, word, subLine, wholeLine } selectionUnit; Point ptMouseLast; - enum { ddNone, ddInitial, ddDragging } inDragDrop; + enum class DragDrop { none, initial, dragging } inDragDrop; bool dropWentOutside; SelectionPosition posDrop; Sci::Position hotSpotClickPos; @@ -230,7 +240,7 @@ protected: // ScintillaBase subclass needs access to much of Editor int needUpdateUI; - enum { notPainting, painting, paintAbandoned } paintState; + enum class PaintState { notPainting, painting, abandoned } paintState; bool paintAbandonedByStyling; PRectangle rcPaint; bool paintingAllText; @@ -290,8 +300,8 @@ protected: // ScintillaBase subclass needs access to much of Editor Sci::Line LinesToScroll() const; Sci::Line MaxScrollPos() const; SelectionPosition ClampPositionIntoDocument(SelectionPosition sp) const; - Point LocationFromPosition(SelectionPosition pos, PointEnd pe=peDefault); - Point LocationFromPosition(Sci::Position pos, PointEnd pe=peDefault); + Point LocationFromPosition(SelectionPosition pos, PointEnd pe=PointEnd::start); + Point LocationFromPosition(Sci::Position pos, PointEnd pe=PointEnd::start); int XFromPosition(SelectionPosition sp); SelectionPosition SPositionFromLocation(Point pt, bool canReturnInvalid=false, bool charPosition=false, bool virtualSpace=true); Sci::Position PositionFromLocation(Point pt, bool canReturnInvalid = false, bool charPosition = false); @@ -334,8 +344,8 @@ protected: // ScintillaBase subclass needs access to much of Editor SelectionPosition MovePositionOutsideChar(SelectionPosition pos, Sci::Position moveDir, bool checkLineEnd=true) const; void MovedCaret(SelectionPosition newPos, SelectionPosition previousPos, bool ensureVisible, CaretPolicies policies); - void MovePositionTo(SelectionPosition newPos, Selection::selTypes selt=Selection::noSel, bool ensureVisible=true); - void MovePositionTo(Sci::Position newPos, Selection::selTypes selt=Selection::noSel, bool ensureVisible=true); + void MovePositionTo(SelectionPosition newPos, Selection::SelTypes selt=Selection::SelTypes::none, bool ensureVisible=true); + void MovePositionTo(Sci::Position newPos, Selection::SelTypes selt=Selection::SelTypes::none, bool ensureVisible=true); SelectionPosition MovePositionSoVisible(SelectionPosition pos, int moveDir); SelectionPosition MovePositionSoVisible(Sci::Position pos, int moveDir); Point PointMainCaret(); @@ -359,11 +369,6 @@ protected: // ScintillaBase subclass needs access to much of Editor return (xOffset == other.xOffset) && (topLine == other.topLine); } }; - enum XYScrollOptions { - xysUseMargin=0x1, - xysVertical=0x2, - xysHorizontal=0x4, - xysDefault=xysUseMargin|xysVertical|xysHorizontal}; XYScrollPosition XYScrollToMakeVisible(const SelectionRange &range, const XYScrollOptions options, CaretPolicies policies); void SetXYScroll(XYScrollPosition newXY); @@ -404,7 +409,7 @@ protected: // ScintillaBase subclass needs access to much of Editor virtual void InsertCharacter(std::string_view sv, CharacterSource charSource); void ClearBeforeTentativeStart(); void InsertPaste(const char *text, Sci::Position len); - enum PasteShape { pasteStream=0, pasteRectangular = 1, pasteLine = 2 }; + enum class PasteShape { stream=0, rectangular = 1, line = 2 }; void InsertPasteShape(const char *text, Sci::Position len, PasteShape shape); void ClearSelection(bool retainMultipleSelections = false); void ClearAll(); @@ -456,18 +461,18 @@ protected: // ScintillaBase subclass needs access to much of Editor void NotifyMacroRecord(unsigned int iMessage, uptr_t wParam, sptr_t lParam); void ContainerNeedsUpdate(int flags) noexcept; - void PageMove(int direction, Selection::selTypes selt=Selection::noSel, bool stuttered = false); - enum { cmSame, cmUpper, cmLower }; - virtual std::string CaseMapString(const std::string &s, int caseMapping); - void ChangeCaseOfSelection(int caseMapping); + void PageMove(int direction, Selection::SelTypes selt=Selection::SelTypes::none, bool stuttered = false); + enum class CaseMapping { same, upper, lower }; + virtual std::string CaseMapString(const std::string &s, CaseMapping caseMapping); + void ChangeCaseOfSelection(CaseMapping caseMapping); void LineTranspose(); void LineReverse(); void Duplicate(bool forLine); virtual void CancelModes(); void NewLine(); SelectionPosition PositionUpOrDown(SelectionPosition spStart, int direction, int lastX); - void CursorUpOrDown(int direction, Selection::selTypes selt); - void ParaUpOrDown(int direction, Selection::selTypes selt); + void CursorUpOrDown(int direction, Selection::SelTypes selt); + void ParaUpOrDown(int direction, Selection::SelTypes selt); Range RangeDisplayLine(Sci::Line lineVisible); Sci::Position StartEndDisplayLine(Sci::Position pos, bool start); Sci::Position VCHomeDisplayPosition(Sci::Position position); @@ -515,7 +520,7 @@ protected: // ScintillaBase subclass needs access to much of Editor void ButtonUpWithModifiers(Point pt, unsigned int curTime, int modifiers); bool Idle(); - enum TickReason { tickCaret, tickScroll, tickWiden, tickDwell, tickPlatform }; + enum class TickReason { caret, scroll, widen, dwell, platform }; virtual void TickFor(TickReason reason); virtual bool FineTickerRunning(TickReason reason); virtual void FineTickerStart(TickReason reason, int millis, int tolerance); @@ -535,7 +540,7 @@ protected: // ScintillaBase subclass needs access to much of Editor } void IdleStyling(); virtual void IdleWork(); - virtual void QueueIdleWork(WorkNeeded::workItems items, Sci::Position upTo=0); + virtual void QueueIdleWork(WorkItems items, Sci::Position upTo=0); virtual int SupportsFeature(int feature); virtual bool PaintContains(PRectangle rc); |