aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Selection.h
AgeCommit message (Collapse)AuthorFilesLines
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