Commit Graph

162 Commits

Author SHA1 Message Date
Vadim Zeitlin
d4f380e16e Use Bind() instead of Connect() in wxWidgets code
Use more modern function which allows to avoid wxXXXEventHandler()
macros use.

No real changes.
2018-05-30 13:06:20 +02:00
Paul Cornett
98cd5a6b20 Use wxString::clear() instead of assignment to wxEmptyString 2018-05-11 10:52:56 -07:00
Jan Niklas Hasse
496da2e550 Remove trailing whitespace from several files
No real changes.

See https://github.com/wxWidgets/wxWidgets/pull/787
2018-04-18 15:45:42 +02:00
New Pagodi
b936bfe85e Add Direct2D support to wxSTC 2018-01-25 16:07:54 -06:00
Paul Kulchenko
c677e4e652 Fix crash on calltip click on macOS
Commit b0d0494f fixed it for autocomplete popup, but a similar issue is
still present for calltips. This commit fixes it.

Closes https://github.com/wxWidgets/wxWidgets/pull/595
2018-01-14 18:51:02 +01:00
New Pagodi
3a362c64cf Implement EVT_MOUSE_CAPTURE_LOST handler in wxSTC
When mouse is captured somwhere in the application, it's recommended
to have implemented a EVT_MOUSE_CAPTURE_LOST handler.
Resetting in the handler flag signalling captured state seems
to be a sufficient action because something like this is implemented
in the native Scintilla and it works fine in SciTE.

Closes #17961.
2017-10-08 10:22:59 +02:00
New Pagodi
6d0cb403a9 Prevent sending EVT_MOUSE_CAPTURE_LOST while opening a context menu in wxSTC
At least under wxMSW and wxGTK opening a popup menu when mouse is captured
generates EVT_MOUSE_CAPTURE_LOST. We would like to avoid this and
to release capture in a controlled way.

See #17961.
2017-10-08 10:11:47 +02:00
New Pagodi
33ad8063d6 Add Scintilla FineTicker methods to wxSTC
Starting with version 3.5, Scintilla implemented a newer method for
handling timers and used this method in its Windows, GTK+, Cocoa, and Qt
ports. This patch attempts to bring the timer handling for wxSTC in line
with those other ports.

Closes #17949.
2017-09-17 11:12:34 +02:00
Artur Wieczorek
cbbd7b44b2 Propagate EVT_CONTEXT_MENU if standard Scintilla context menu wasn't displayed
EVT_CONTEXT_MENU event should be consumed in the event handler only if Scintilla context menu was actually displayed.
2017-03-16 23:36:54 +01:00
New Pagodi
68888ca0a2 Upgrade Scintilla component to 3.7.2
Closes #17705.

Closes https://github.com/wxWidgets/wxWidgets/pull/409
2017-02-12 19:56:21 +01:00
yenwu
beaca78962 Fix vertical scrollbar visibility in wxStyledTextCtrl
Vertical scrollbar didn't appear even when the number of lines in the control
became one greater than the maximal fitting number of lines, but only when one
more line was added.

This seems to have been a simple off-by-one error in SetScrollbar() calls, so
fix this by adding 1 to the upper end of the range.

Closes #17548.
2016-06-04 22:27:00 +02:00
Vadim Zeitlin
e41a59ee07 Fix Unicode conversions in Scintilla code in ANSI build
Don't just use wxWX2MBbuf which is just a "const char*" in ANSI build and can
become a dangling pointer if the string it was constructed from was temporary,
as it happens with the string returned by wxStyledTextEvent::GetString().

Closes #17517.
2016-05-03 16:09:11 +02:00
New Pagodi
0a3057b83c Add GetDirect{Function,Pointer}() methods to wxStyledTextCtrl
These methods can be useful when working with dynamic lexers.

Closes #17481.
2016-04-03 15:50:21 +02:00
Paul Kulchenko
b5ac178789 Upgrade scintilla component to 3.6.3. 2016-03-03 09:49:53 -08:00
Vadim Zeitlin
cc27d305a2 Restore wxSTC built-in key mappings for non-Mac platforms
This was broken by bfdf70d14a, so keep one of
the changes done there conditional on the platform to avoid changing behaviour
for the non-Mac ones.

Closes #17251.
2015-11-16 03:18:06 +01:00
Vadim Zeitlin
6602eb3384 Fix test for wxOSX in wxSTC code
Use "#ifdef", not "#if", to check for __WXMAC__ to avoid warnings about using #if
without argument under the other platforms.

See #16243.
2015-11-11 15:51:12 +01:00
Vadim Zeitlin
a1a06bee7e Set up standard key mappings in wxSTC under OS X
Let users use the familiar key combinations which don't work out of the box in
Scintilla for some reason.

Closes #16243.
2015-11-09 03:43:32 +01:00
Vadim Zeitlin
bfdf70d14a Fix handling of keys with Ctrl modifier in wxSTC under OS X
The real Ctrl key is represented by "meta" modifier bit under OS X as the
"ctrl" bit is used for the Cmd key, but the previously used KeyDown() method
didn't support the meta bit at all, so key combinations using Ctrl didn't
work.

Also remove obsolete code which mapped "meta" to "ctrl", probably predating
the mapping of Cmd to "ctrl" at wx API level.

See #16243.
2015-11-09 03:27:03 +01:00
JulianSmart
965786a0fa Suppressed double hiding/deletion of caret which can cause the caret to go missing from a different window that's currently focused 2015-09-28 14:18:34 +01:00
Vadim Zeitlin
01af56440a Use wxRound() instead of implicit float-to-int conversion in wxSTC.
At the very least, this avoids tons of gcc warnings about implicit conversions
from float to int and it could also be more correct if the coordinates can
really be fractional.
2015-07-27 02:58:07 +02:00
ARATA Mizuki
40a18a74f9 Update Scintilla from 3.4.1 to 3.4.2 2015-06-15 01:32:05 +02:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
a8bd40d571 Avoid unused variable warning in wxUSE_DATAOBJ==0 build.
Declare variable only used when wxUSE_DATAOBJ==1 inside the check for it.

Closes #16434.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 13:35:29 +00:00
Vadim Zeitlin
f81a758d4e Stop Scintilla timer when the control doesn't have focus.
This avoids excessive CPU load due to generating completely unnecessary timer
notifications for every wxSTC control in a program.

Closes #14938.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-05 00:26:27 +00:00
Vadim Zeitlin
47138ac8fa Add wxStyledTextCtrl copy/paste text events.
Add wxEVT_STC_CLIPBOARD_{COPY,PASTE} events, allowing to transform the text
being copied from or pasted into wxStyledTextCtrl.

Closes #16191.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-08 14:43:45 +00:00
Vadim Zeitlin
0acb665006 Remove wxStyledTextEvent::m_text and m_dragText.
These fields were unnecessary and duplicated m_cmdString inherited from the
base class.

Also use base class GetString() instead of the redundant GetText() and
GetDragText() in the code, even though these methods are still kept for
backwards compatibility.

See #16191.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-08 14:43:38 +00:00
Vadim Zeitlin
8a245f0ec3 Fix handling of multiple and rectangular selections in wxSTC.
Copy and paste rectangular selections in the standard format, this is
especially important under Windows where a (de facto) standard clipboard
format for such selections exists.

Also fix handling of multipaste, i.e. pasting clipboard contents into several
locations at once.

Closes #16221.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-05 14:42:35 +00:00
Stefan Csomor
f18d7097da adding wxFALLTHROUGH where until now we had comments, allows for code-analysis support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-26 17:36:32 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
d6ace87b61 Upgrade included Scintilla to version 3.3.9.
Closes #15742.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-12 13:23:54 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
1d84348c5a Add support for horizontal mouse wheel scrolling in wxSTC.
Handle horizontal mouse wheel scrolling events in a similar (but simpler, as
they always scroll and never change the font size) way to the vertical ones in
wxStyledTextCtrl.

Closes #15266.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:52:58 +00:00
Robin Dunn
337c5edd43 Use Refresh when the initial paint was abandoned by Scintilla so it will trigger a repaint of the whole window. This is done for things like style changes, word wrapping or brace highlights where more than the current line is affected. Fixes #14653.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 02:33:56 +00:00
Robin Dunn
9b01abb82d Minimal tweaks and additions to get wxSTC compiling successfully again, with Scintilla 3.21
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-14 05:14:46 +00:00
Vadim Zeitlin
14941a1af7 Remove unnecessary Update() in wxStyledTextCtrl scrolling code.
Calling Update() every time ScrollText() dramatically slowed down scrolling
and doesn't seem to be necessary, so remove it.

See #9057.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-29 22:08:24 +00:00
Vadim Zeitlin
23b9814f80 Fix WXK_MENU handling in wxStyledTextCtrl.
Map it to SCK_MENU instead of treating it as a modifier and simply swallowing
it.

Closes #14205.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-15 23:18:05 +00:00
Vadim Zeitlin
81f2b2ee81 Revert the zoom direction on Ctrl-mouse wheel in wxStyledTextCtrl.
The direction of the zoom in wxSTC didn't correspond to the usual conventions
which is to zoom in on Ctrl-Wheel-Up and zoom out on Ctrl-Wheel-Down, while
wxSTC did exactly the converse. Change it to behave as everybody else.

Closes #14031.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-08 13:23:34 +00:00
Robin Dunn
c3e0999b06 Rewrite DoPaint, FullPaint and add FullPaintDC to help deal with flicker problems and to be more like how the other Scintilla ports are working now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-21 05:39:00 +00:00
Vadim Zeitlin
836499118f Ignore WXK_NONE events in wxStyledTextCtrl.
Scintilla use of 0 indicating "modifier key" conflicts with our use of
WXK_NONE indicating absence of a valid key code. As Scintilla can't do
anything with the keys without a key code anyhow, simply ignore them
immediately, without passing them to Scintilla, in DoKeyDown().

This fixes handling of IME input in wxStyledTextCtrl under MSW and possibly
other problems (e.g. with dead char keys).

Closes #13570.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-28 13:34:16 +00:00
Stefan Csomor
7a68fc9c34 fixes redraw problems under OSX, see #13345
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-20 06:36:06 +00:00
Dimitri Schoolwerth
f32204b0c4 Fixed wxUSE_STD_DEFAULT==0 compilation.
ScintillaWX.cpp didn't compile because std::string is unknown. Include <string> in case the defines that (by default) are set to wxUSE_STD_DEFAULT are 0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-13 11:24:28 +00:00
Dimitri Schoolwerth
80fdcdb90e No changes, synchronised source names that appear commented at the top of files with the actual path to the files.
Fixed commented names (path, filename, and extension) of files in include/ and src/. Prepended the names in src/ with "src/" everywhere, while starting those in include/wx/ with "wx/".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:14:35 +00:00
Dimitri Schoolwerth
6636ef8ddf Use wxString's empty() when checking if the string is (non-)empty throughout wx.
Instead of constructs such as if "( s.length() )" and "if (s.length() > 0)" use "if ( !s.empty() )" instead. Similarly for "if (s.length() == 0)" or "if ( s.IsNull() )", use "if ( s.empty() )".
No code changes intended except for a few instances where a construct like "if ( s.length() && wxFileExists(s) )" was changed to not check the length of the string and let wxFileExists handle such cases.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-22 14:38:36 +00:00
Vadim Zeitlin
35f8d83dbb Fix wxSTC compilation without wxUSE_DRAG_AND_DROP after r65827.
Correct the changes of r65827 to also compile with wxUSE_DRAG_AND_DROP==0
(especially important for the ports without dnd support such as wxX11 and
wxDFB).

Also do the changes in the correct files, i.e. src/stc/stc.{h,cpp}.in and not
in the generated files themselves to prevent them from being overwritten the
next time gen_iface.py is ran.

Finally keep backwards compatibility as SetDragAllowMove(bool) is a public
method so preserve its old semantics and add a new SetDragFlags() instead of
silently breaking the existing code using SetDragAllowMove().

See #11709.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-17 18:17:30 +00:00
Vadim Zeitlin
676184202d Restore text drag-and-drop in wxSTC broken by Scintilla 2 update.
Drag and drop in wxStyledTextCtrl was broken, apparently since upgrade to
Scintilla 2. Restore it by using the correct wxDrag_XXX constants instead of
boolean values in the code for wxEVT_STC_START_DRAG events generation.

Closes #11709.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:11:06 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Vadim Zeitlin
c26400bd06 Fix harmless MSVC warning about int to bool conversion in Scintilla.
The warning is harmless but prevents buildbot from reporting any new warnings
during the library compilation step so suppress it.

Notice that it might be better if ViewStyle::extraFontFlag was bool and not
int to begin with.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-07 12:55:21 +00:00
Robin Dunn
9e96e16fe0 Apply patch (plus some additional changes) upgrading Scintilla to version 2.03. Closes #11765, #11748, #11346
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-30 03:50:06 +00:00
Julian Smart
2d512c47df Applied #10799: using CallTipUseStyle() doesn't enable wxSTC_STYLE_CALLTIP
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 13:17:14 +00:00
Kevin Ollivier
4a3da8c099 Leave anti-aliasing on by default on Mac as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-17 22:53:57 +00:00