aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Selection.cxx
AgeCommit message (Collapse)AuthorFilesLines
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.
2009-07-09Added setings for colours, alpha, and caret colour for additionalnyamatongwe1-6/+6
selections.
2009-07-08Draw discontiguous and virtual space selection in non-alpha mode.nyamatongwe1-23/+13
2009-07-08Moved calculation of rectangular range from occurring after every stylenyamatongwe1-1/+2
change to after the styles have been valided. Previously was very slow when setting monospaced font mode. Made more code sensitive to virtual spaces to draw caret and selection more accurately.