Commit Graph

691 Commits

Author SHA1 Message Date
Maarten Bent
037fd6649c Fix unused-parameter warning 2020-12-23 17:03:03 +01:00
Maarten Bent
2e56f1a8d3 Remove more BCC-specific hdrstop pragma 2020-10-20 20:38:01 +02:00
PB
f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Maarten Bent
4cab673556 Make sure generated wxSTC files have LF EOL
Use 'wb' with Python 2 to enforce LF newlines. This does not work with
Python 3, use 'newline':'\n' there (which in turn does not work with 2).
2020-08-03 21:33:33 +02:00
Maarten Bent
755afd9d1b Fix typos in wxSTC interface 2020-08-03 21:32:52 +02:00
Vadim Zeitlin
cd8b2d3096 Make wxWindow::GetContentScaleFactor() return 1 under MSW again
This reverts bc492a9e6e (Make wxWindow::GetContentScaleFactor() useful
for non-OSX platforms., 2015-03-18) and restores the old behaviour from
wxWidgets 3.0, which consisted in only returning factor different from 1
from this function for the platforms distinguishing logical and physical
pixels.

After this change, the return value of this function can be portably
used on all platforms to convert between logical and physical pixels,
independently of the current DPI.
2020-07-18 23:44:58 +02:00
Maarten Bent
dec895e1d7 Add more initialization checks for wxSTC SurfaceD2D target
Return early if the check fails. No functional changes.

This commit is best viewed ignoring whitespace changes.

Closes https://github.com/wxWidgets/wxWidgets/pull/1914
2020-06-30 00:23:31 +02:00
Vadim Zeitlin
3bd832b2f3 Add comment after closing "#endif" for clarify
No real changes.
2020-06-27 13:51:01 +02:00
Vadim Zeitlin
8129b38ee4 Remove unnecessary pointer check before deleting it
No real changes.
2020-06-27 13:50:59 +02:00
New Pagodi
74332e9132 Add comments for wxSTCListBoxD2D and its methods 2020-06-26 14:40:17 -05:00
New Pagodi
7f78e97021 Use ellipsis char not 3 periods to shorten label 2020-06-26 14:11:39 -05:00
New Pagodi
71fdad5f6d Prevent warning in wxSTCListBoxWin ctr
Currently 1 argument for the constructor is only used in an #ifdef
block, and so some compilers give an unused parameter warning. Instead
use the parameter with a switch statement to avoid the warning.
2020-06-26 14:06:32 -05:00
New Pagodi
01b3bf7eef Remove double strlen call in wxSTCListBoxD2D
The length of a string in wxSTCListBoxD2D::OnDrawItemText was being
calculated twice - first when measured and again when drawn. Instead
store the length the first time it is calculated. Also, pass a copy of
the string in wx2stclen to allow the calculation to work in ASCII
builds.
2020-06-25 21:45:04 -05:00
New Pagodi
a3a6938673 Add other changes requested in comments for PR 1906 2020-06-25 21:41:33 -05:00
New Pagodi
0a6eea9bb5 Remove duplicate code in wxSTCListBox::OnDrawItem
To remove code duplication in the OnDrawItem in wxSTCListBox and
wxSTCListBoxD2D, move the code for drawing just the text to a new
virtual method named OnDrawItemText. Then have the OnDrawItem method
call the new function.
2020-06-25 20:49:50 -05:00
Maarten Bent
f49f899856 Move wxSTC DirectDraw specific code to derived class 2020-06-25 20:13:29 -05:00
New Pagodi
24fad36d0c Add changes requested in comments for PR 1906 2020-06-25 17:15:24 -05:00
Maarten Bent
b912dc380a Fix the DPI in wxSTC IME window
This same modification was made to the Scintilla/SciTE source.
2020-06-24 17:25:19 -05:00
New Pagodi
4e3e264228 Fix size of stc autocomp popup with Direct2D
Due to a confusion between DIPs and Pts, the stc autocomp window was
a little larger than it should have been when Direct2D was used.
Instead use the methods defined in SurfaceD2D so the popup will be
measured and drawn the same way the main editor window is.
2020-06-24 17:24:43 -05:00
New Pagodi
c11582320d Fix location of stc autocomp popup with images
The stc autocomp popup is supposed to report the location at which text
is drawn with the wxSTCListBox::CaretFromEdge function. To return the
correct value, the popup needs to compute the largest width of any
bitmap used for icons in the popup since text is drawn to the right of
the popup's images.

Previously the wxSTCListBox tried to compute this largest width when
the listbox items were set. However, Scintilla actually calls
CaretFromEdge before setting the listbox items. Consequently the
CaretFromEdge was returning a value that assumed zero width for the
list's images since images had not been set yet.

Instead, keep a running tally of the widest image width when images are
registered. This means that this variable must be moved to the
wxSTCListBoxVisualData class since that is where image registration is
handled. Also track the largest image height since that is also needed.
2020-06-24 17:23:28 -05:00
Maarten Bent
71773d40ab Avoid ugly casts to wxMemoryDC 2020-06-07 19:14:05 +02:00
Maarten Bent
379cff7d19 Fix building with wxUSE_POPUP==0 2020-06-01 18:16:52 +02:00
Maarten Bent
5fa8280fd8 Hide wxSTC popup when the DPI changes
After a DPI change, the position of the popup is wrong. It is not shown at the
cursor position anymore.
The correct size and position are calculated by scintilla, and there is no easy
way to access this without modifying scintilla sources.
2020-06-01 17:02:08 +02:00
Maarten Bent
54e0521fd7 Improve setting wxSTCPopupWindow size
DoSetSize needs to accept absolute size, because other code can call it.
2020-06-01 16:55:42 +02:00
Maarten Bent
83a98e1a3c Handle DPI change in wxSTCListBox popup 2020-06-01 16:54:54 +02:00
Maarten Bent
951974f808 Reset the wxSTC cursor when the DPI changes
This causes the cursor to be recreated (when necessary) at the correct DPI.
2020-06-01 16:47:47 +02:00
Maarten Bent
6eb357f038 Improve DPI handling in wxSTC
Adjusting the zoom level does not work correctly. It could lead to ever
increasing zoom.
Instead, set the correct DPI of the underlying device context.
2020-06-01 16:45:21 +02:00
Maarten Bent
9b0cdc8d7d Only create the wxSTC cursor when it is needed 2020-06-01 16:07:49 +02:00
wangqr
2f74942eca Improve IME related comments in ScintillaWX 2020-05-14 20:36:05 -04:00
wangqr
f730da3c14 Add imm32.lib to wxStyledTextCtrl 2020-05-11 00:37:56 -04:00
wangqr
e07640fb75 Forward IME messages to ScintillaWX and handle them
The handling code is copied from ScintillaWin

Closes #18759
2020-05-11 00:37:49 -04:00
Jouk
c42715f0c9 define WXBUILDING when compiling the library on OpenVMS 2020-03-05 08:15:04 +01:00
Paul Cornett
f4299c3c01 Eliminate a couple more -Wcast-qual warnings 2020-02-03 09:02:14 -08:00
Maarten Bent
a0359a23ff Fix wxSTC compilation without precompilead headers
Get and release the HDC, instead of using WindowHDC. Because stc.cpp is used on
all platforms, don't include wxMSW specific wx/msw/private.h.

Also use const int for the variables.
2019-10-10 20:28:44 +02:00
Maarten Bent
62c5b2d8d1 Support DPI change in wxStyledTextCtrl
Change to zoom-level and margin width based on the active DPI.
Send wxDPIChangedEvent to all controls and windows.
2019-10-07 00:54:58 +02:00
New Pagodi
203074567c Regenerate wxSTC files after recent changes 2019-09-28 00:50:47 -05:00
New Pagodi
97713e81a1 Remove the flag wxSTC_FIND_CXX11REGEX from wxSTC docs
wxSTC is currently built without c++11 regex support, but the search
flag wxSTC_FIND_CXX11REGEX was included with wxSTC any way. This commit
modifies gen_iface.py so that this flag will no longer be generated or
documented. To prevent any code that is currently using this flag from
being broken, the flag is manually defined in stc.h.in.

In short, the flag will be preserved as it currently is but will be
undocumented so users won't mistakenly try to use it.
2019-09-28 00:50:12 -05:00
New Pagodi
2976c64821 Add Raw variants for replacement functions to wxSTC
Implement ReplaceSelectionRaw, ReplaceTargetRaw, and ReplaceTargetRERaw
in the same manner as AddTextRaw, InsertTextRaw, and the other raw
variants.
2019-09-28 00:49:46 -05:00
Jouk
b2cdcb6824 Include all objects in library on OpenVMS-AXP 2019-09-16 08:23:29 +02:00
Olly Betts
5137b8044e Fix flicker in wxGTK wxStyledTextCtrl
Use the same logic for wxGTK (and other platforms using double
buffering) as was already used for wxMac, it seems to result in less
flicker.

Closes #18017.
2019-08-22 14:57:34 +02:00
New Pagodi
4523df5d94 Redirect mouse wheel events when STC autocomp is active
While an autocompletion list is being shown, a native Scintilla window
will use mouse wheel events to scroll the list instead of the editor
window. Match this behavior with wxSTC by intercepting mouse wheel
events and redirecting them to the list.
2019-08-07 21:36:42 -05:00
New Pagodi
c3d9222a7c Fix wxSTCPopupBase::Show for windows
The existing logic for the Show method results in wxWindowBase::Show
being called twice when the argument is false. Slightly rearrange the
code to fix this defect.
2019-08-07 21:36:42 -05:00
New Pagodi
075fa2b764 Record wxSTCPopupWindow position every time its set
The position of wxSTCPopupWindow is currently recorded the first time it
is set so that it can be used to reposition the popup when its parent
window is moved. However Scintilla apparently positions the popup at
least twice when icons are used and the first set position is slightly
wrong. Instead just record the position every time its set by Scintilla.
2019-08-07 21:36:42 -05:00
Vadim Zeitlin
7db13c7b93 Merge branch 'pm-dpi-aware-1-systemmetric' of https://github.com/MaartenBent/wxWidgets
Make GetSystemMetrics() and wxSystemParametersInfo DPI-aware in wxMSW.

See https://github.com/wxWidgets/wxWidgets/pull/1407
2019-07-15 13:21:16 +02:00
Maarten Bent
e32c20ffcc Use const wxWindow in wxSystemSettings::GetMetric 2019-07-15 00:00:20 +02:00
Maarten Bent
f74d756ca5 Use DPI Aware wxGetSystemMetrics
If no wxWindow is known, use wxTheApp->GetTopWindow().
Also use a wxWindow for all wxSystemSettings::GetMetric calls.
2019-07-15 00:00:18 +02:00
New Pagodi
f18699c0af Fix invalid parameter names in wxSTC docs 2019-07-14 12:53:29 -05:00
New Pagodi
3ccb912e62 Store SELECTION_CHANGE data in wxSTCListBoxVisualData
The first attempt to add the wxEVT_STC_AUTOCOMP_SELECTION_CHANGE event to wxSTC
passed the data needed for the event through the constructor for the
wxSTCListBox class. Instead of mdifying the constructor for wxSTCListBox, it’s
better to store the data in the wxSTCListBoxVisualData class with accessors for
setting and retrieving the data.
2019-07-13 15:53:33 -05:00
New Pagodi
3ce4a89c06 Refer wxSTC documnentation to wxStyledTextEvent page
The current wxSTC documentation page currently has a bare listing of the
event types defined for wxStyledTextEvent. These event types are
completely documented on the wxStyledTextEvent page. However the bare
listing on the wxSTC page can lead to the conclusion that there is no
documentation for the event types.

Remove the bare listing from the wxSTC page and replace it with a
referral to the wxStyledTextEvent page. This is consistent with other
large classes such as wxGrid and wxRichTextCtrl that separate the
documentation for their methods and events.
2019-07-13 12:56:21 -05:00
New Pagodi
67825e42f7 Update wxEVT_STC_CHANGE documentation 2019-07-13 12:55:52 -05:00