aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Selection.cxx
AgeCommit message (Collapse)AuthorFilesLines
2023-12-30Since ranges is never empty, replace test with assertion.Neil1-9/+6
2023-12-30Avoid unnecessary use of push_back and emplace_back by preserving ranges[0].Neil1-12/+15
This allows more methods to be noexcept.
2023-11-05Add SCI_SELECTIONFROMPOINT for modifying multiple selections.Neil1-0/+7
2021-08-28Follow rule-of-zero by removing unnecessary destructors.Neil1-3/+0
2021-05-24Define C++ version of the Scintilla API in ScintillaTypes.h, ScintillaMessages.hNeil1-3/+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-01Improve selection drawing code. Use InSelection enum instead of int.Neil1-6/+10
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-4/+4
2021-03-18std::optional is a basic vocabulary type that may be used widely so includeNeil1-0/+1
almost everywhere.
2021-03-18Move assert and debug trace functions into their own header Debugging.h.Neil1-2/+1
PLATFORM_ASSERT is used in data structure headers which led to including graphics and windowing APIs in data structure modules.
2021-03-17Extract geometry and colour definitions from Platform.h into src/Geometry.h.Neil1-0/+1
2020-06-11Use noexcept where safe and maintainable.Neil1-12/+12
2019-11-26Bug [#2140]. Fix where anchor and caret differ only in amount of virtual spaceNeil1-2/+2
so one was considered start and was moved for an insertion at that position. This could flip the order of the positions or change the length of the selection.
2019-11-25Fix regression in 7773 where position wasn't moved on to account for virtualNeil1-0/+1
space consumption.
2019-11-24Bug [#2140]. Move rather than grow selection when insertion at start.Neil1-4/+17
2019-04-28Remove noexcept from Selection constructor as it allocates memory.Neil1-29/+29
Add noexcept to reader methods and simple writer methods on Selection classes.
2019-03-19Make constructors of simple classes noexcept.Neil1-1/+1
2018-05-31Allow std::unique_ptr to be used more widely.Neil1-0/+1
2018-05-14Include <string_view> to allow future use in Platform interface and Unicode.Neil1-0/+1
2018-05-06Ensuring ptrdiff_t is available by including <cstddef>.Neil1-0/+1
2018-04-14Make some changes recommended by clang-tidy.Neil Hodgson1-1/+1
2018-03-16Remove line-end white space.Neil1-1/+1
2018-03-01Mark variables as const where simple.Neil1-2/+2
2017-09-11The Scintilla namespace is always active for internal symbols and for the lexerNeil1-2/+0
interfaces ILexer4 and IDocument.
2017-04-09Further use of range-for.Neil1-16/+16
2017-04-06Added const where possible.Neil1-3/+3
2017-04-01Standardize on C++ headers, remove headers that aren't needed and add <cstddef>Neil1-1/+1
where it may be needed in the future.
2017-03-31Using Sci::Position and Sci::Line to mark variables that are document positionsNeil1-17/+17
and lines.
2015-10-12Implement Swap in SelectionRange to avoid warnings.Neil1-0/+4
2015-07-27Add Position.h as a place-holder and to allow #include "Position.h" in source.Neil1-0/+1
2015-07-04Make std::exception visible to all core code to remove chance that a differentNeil1-0/+1
tool set will not indirectly include <stdexcept>.
2015-06-24Make multiple selection work over most cursor movement and selection, new line,Neil1-0/+8
and word and line part deletion commands.
2015-06-16Clean up some selection operations. Commonly when changing selection modes,Neil1-0/+4
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-2/+9
deleted.
2014-06-22Stop storing a pointer to the selection on LineLayout objects where it may haveNeil1-0/+8
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/+8
conversion in Editor.
2013-12-17Added DropSelectionN API.Neil1-0/+15
2013-12-15Make single argument constructors explicit to avoid unexpected conversions.Neil1-1/+1
2013-07-01Bug: [#1492]. Need extra header for better standard compliance in Visual ↵Neil1-0/+1
Studio 2013.
2013-04-16Move selections with virtual space more reasonably when real spaces inserted atnyamatongwe1-4/+8
their location by converting virtual space to real position changes up to the amount of virtual space. This allows multi-typing to work when two carets are located in virtual space on one line.
2011-01-12Remove virtual space if invalid after modification. Bug #3154986.nyamatongwe1-0/+4
2010-11-21Speed up creating large rectangular selections.nyamatongwe1-0/+5
2010-02-17Formatting whitespace.nyamatongwe1-2/+2
2010-01-30Fix bug #2942131 Caret pos after rectagular delete.nyamatongwe1-0/+8
2009-10-11Fix bug #2871358 where left or right key with rectangular selectionnyamatongwe1-0/+13
moved to a left or right of main selection rather than before or after rectangular selection.
2009-08-03Avoid warning.nyamatongwe1-1/+1
2009-07-30When using Ctrl+Drag for multiple selection when previous selectionsnyamatongwe1-3/+14
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/+4
main selection.
2009-07-15Remove duplicate carets after Delete or Backspace.nyamatongwe1-0/+18
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-55/+24
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-33/+20
typing. Renamed multiline options to reflect use on multiple selections. Using std::vector for selections.