aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Selection.h
AgeCommit message (Collapse)AuthorFilesLines
2025-07-03Feature [feature-requests:#1563]. Move main range in selection serialized form.masterZufu Liu1-2/+2
Avoid processing characters multiple times by relying on from_chars munching digit characters instead of searching for delimiters.
2025-04-03Turn on type conversion warnings for GCC and fix them.Neil1-0/+1
2025-02-05Simplify SelectionRange::Intersect and add SelectionRange constructor fromNeil1-0/+9
positions without virtual space. Add unit tests.
2025-02-01Serialize selection type and ranges with SCI_GETSELECTIONSERIALIZED andNeil1-0/+2
SCI_SETSELECTIONSERIALIZED.
2025-02-01Implement serialization of Selection to and from strings.Neil1-0/+7
Requires std::from_chars to be available.
2025-01-31Add default basic constructor and operator!= to SelectionPosition to ease use.Neil1-19/+25
Use default member initializer, constexpr for constructors and equality operators and <, [[nodiscard]] for comparison operators. Add simple unit tests for Selection. Not trying to be exhaustive here, just start the process of adding tests.
2025-01-22Bug [#1224]. Remember selection in undo history. SCI_SETSELECTIONUNDOHISTORY.Neil1-0/+2
2025-01-22There will be more use of std::vector<SelectionRange> so name it.Neil1-3/+4
2023-12-30Avoid unnecessary use of push_back and emplace_back by preserving ranges[0].Neil1-6/+6
This allows more methods to be noexcept.
2023-11-05Add SCI_SELECTIONFROMPOINT for modifying multiple selections.Neil1-0/+1
2023-10-27Extract key code from HorizontalMove to shorten and simplify it.Neil1-0/+3
New methods are SelectionMove, PositionMove, HomeWrapPosition and SelectionPosition::AddVirtualSpace. This refactoring commit does not change behaviour.
2023-01-16Use intervals for drawing.Neil1-0/+6
2022-02-02Make check value larger as it tripped on testing 100MB line.Neil1-2/+2
2021-08-28Follow rule-of-zero by removing unnecessary destructors.Neil1-1/+0
2021-05-24Define C++ version of the Scintilla API in ScintillaTypes.h, ScintillaMessages.hNeil1-1/+1
and ScintillaStructures.h using scoped enumerations. Use these headers instead of Scintilla.h internally. External definitions go in the Scintilla namespace and internal definitio0ns in Scintilla::Internal.
2021-05-20Prefer Sci::invalidPosition to INVALID_POSITION as Scintilla.h will eventuallyNeil1-1/+1
not be visible to most code.
2021-05-01Improve selection drawing code. Use InSelection enum instead of int.Neil1-2/+6
Add Selection::RangeType and EditModel::LineEndInSelection to hoist code out of EditView. Replace SimpleAlphaRectangle with Surface::FillRectangleAligned when alpha known to not be SC_ALPHA_NOALPHA.
2021-03-19Switch enum to enum class.Neil1-2/+2
2020-06-11Use noexcept where safe and maintainable.Neil1-12/+12
2019-11-24Bug [#2140]. Move rather than grow selection when insertion at start.Neil1-1/+1
2019-11-15Feature [feature-requests:#1316] Allow target to have virtual space.Neil1-0/+3
2019-04-28Remove noexcept from Selection constructor as it allocates memory.Neil1-49/+49
Add noexcept to reader methods and simple writer methods on Selection classes.
2019-03-19Make constructors of simple classes noexcept.Neil1-7/+7
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-4/+0
interfaces ILexer4 and IDocument.
2017-03-31Using Sci::Position and Sci::Line to mark variables that are document positionsNeil1-23/+23
and lines.
2015-10-12Implement Swap in SelectionRange to avoid warnings.Neil1-0/+1
2015-06-24Make multiple selection work over most cursor movement and selection, new line,Neil1-0/+1
and word and line part deletion commands.
2015-06-16Clean up some selection operations. Commonly when changing selection modes,Neil1-0/+1
all of the selection needs to be redrawn so that is implmeneted in Editor::InvalidateWholeSelection. Any extra selections should be discarded with only the main remaining so that is Selection::DropAdditionalRanges. Some default parameters led to less clarity so they no longer have default values. Both Editor::MovePositionTo methods always returned 0 which was ignored so they are now void. Some variables were made const.
2014-07-07Fix bug where too many characters may be deleted when a rectangular selection isNeil1-0/+1
deleted.
2014-06-22Stop storing a pointer to the selection on LineLayout objects where it may haveNeil1-0/+2
a lifetime that is too long. Instead provide it as an argument to BreakFinder where it is only needed during intialisation.
2014-05-01Consolidate insertion for paste into Editor class and perform line endNeil1-0/+1
conversion in Editor.
2013-12-17Added DropSelectionN API.Neil1-0/+1
2013-12-15Make single argument constructors explicit to avoid unexpected conversions.Neil1-2/+2
2011-01-02Avoid cppcheck warnings.nyamatongwe1-2/+2
2010-11-21Speed up creating large rectangular selections.nyamatongwe1-0/+1
2010-02-17Formatting whitespace.nyamatongwe1-2/+2
2010-01-30Fix bug #2942131 Caret pos after rectagular delete.nyamatongwe1-0/+4
2009-10-11Fix bug #2871358 where left or right key with rectangular selectionnyamatongwe1-0/+7
moved to a left or right of main selection rather than before or after rectangular selection.
2009-08-16Always copy rectangular selections in ascending order.nyamatongwe1-0/+6
2009-07-30When using Ctrl+Drag for multiple selection when previous selectionsnyamatongwe1-1/+5
dragged over but then that area is deselected, reveal the previous selections again. This allows the user to undo some bad effects when the mouse moves further than wanted.
2009-07-21Added commands for rotating selections and swapping caret and anchor ofnyamatongwe1-0/+1
main selection.
2009-07-15Remove duplicate carets after Delete or Backspace.nyamatongwe1-0/+1
Adding 1 to size returned for GetSelText so that container will allocate enough memory to hold \0 for empty selection.
2009-07-15No explicit count of ranges in selection as can use vector::size().nyamatongwe1-4/+1
Removed EmptyRanges method so that there is always at least one selection. Added SetSelection method to set a simple single selection. Removed 3 argument form of AddSelection since callers do know which argument is the caret. Simplified rectangular selection code.
2009-07-14Added controls for enabling multiple selection and multiple selectionnyamatongwe1-5/+4
typing. Renamed multiline options to reflect use on multiple selections. Using std::vector for selections.
2009-07-09Added setings for colours, alpha, and caret colour for additionalnyamatongwe1-2/+4
selections.
2009-07-08Draw discontiguous and virtual space selection in non-alpha mode.nyamatongwe1-1/+21
2009-07-06Allow drag and drop in virtual space.nyamatongwe1-0/+4
2009-07-03Discontiguoues selection and virtual space initial commit.nyamatongwe1-0/+142