Commit Graph

377 Commits

Author SHA1 Message Date
Vadim Zeitlin
179c657bc7 Really fix setting fonts in RichEdit 4.1 controls.
The fix applied in r64394 wasn't enough and the control could still decide to
overwrite the font used by default when non-ASCII characters were inserted
into it. To really force it to use the font we want we apparently must send it
EM_SETCHARFORMAT with SCF_ALL flag (MSDN also documents SCF_DEFAULT but it's
not clear if we should use it instead or together with SCF_ALL, for now it
doesn't seem to be necessary).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-18 16:26:35 +00:00
Vadim Zeitlin
a8abba41bc No changes, just refactor wxTextCtrl::SetStyle() in wxMSW.
Split this overly long function into MSWSetCharFormat() and MSWSetParaFormat().

No real changes otherwise except for the use of PARAFORMAT instead of
PARAFORMAT2 if wxUSE_RICHEDIT2 is not set as it was certainly intended (but
the fact that nobody complained about this problem means that nobody must be
compiling without wxUSE_RICHEDIT2 by now so arguably we should just remove it
completely).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-18 16:26:30 +00:00
Vadim Zeitlin
4f7c00f237 Set wxTextCtrl::m_verRichEdit to 4 for RichEdit 4.1.
Set m_verRichEdit to a different value for the version 4.1 of the control as
it behaves subtly differently from the previous versions.

Also clarify that value of 2 is used for both 2.0 and 3.0 versions of the
control.

No real changes yet.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-18 16:26:22 +00:00
Vadim Zeitlin
427861bde0 Fix scrolling to the bottom in wxTextCtrl::AppendText().
The old code used EM_LINESCROLL which could scroll too far if the caret wasn't
in the first line of the control. Instead of trying to compute the correct
number of the lines to scroll, just use WM_VSCROLL with SB_BOTTOM parameter
instead.

Closes #12123.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-12 21:26:41 +00:00
Vadim Zeitlin
81fb185e4f Fix setting the fonts for wxMSW wxTextCtrl with wxTE_RICH(2) style.
Using WM_SETFONT seemed to work with rich edit controls but in fact it
doesn't, it only changes the font used by the control initially apparently but
it can be reset later.

Use EM_SETCHARFORMAT which is more reliable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-25 21:15:24 +00:00
Václav Slavík
8d94819c43 Remove wxUSE_WCHAR_T checks.
wxWidgets requires wchar_t for some time now; wx/chartype.h has a check
to fail complation without it. Simplify code by removing now-dead code
for the !wxUSE_WCHAR_T case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-16 10:43:18 +00:00
Vadim Zeitlin
d2356abe70 Use white background by default for multiline readonly wxTextCtrl under MSW.
The best default behaviour seems to be to use white background for multiline
text controls even when they're read-only, as in previous wx versions.

Also see #11521 which could be implemented to make this configurable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-07 05:01:21 +00:00
Vadim Zeitlin
b7421ab625 Move wxMSW wxTextCtrl::GetDefaultAttributes() to wxTextCtrlBase.
This commit doesn't introduce any changes in the control behaviour, it simply
moves the existing method to the base class because it is not MSW-specific.

Also implement wxTextCtrlBase::GetClassDefaultAttributes() because if a class
implements GetDefaultAttributes() it should implement it as well.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-07 05:01:14 +00:00
Paul Cornett
a243da29c8 make array data fully const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-02 17:28:45 +00:00
Vadim Zeitlin
7b6126aa3a Explicitly set the cursor when showing popup menu on text control in wxMSW.
Without this, an I-beam cursor is used when a menu is shown by a rich text
control. Set the arrow cursor explicitly to work around this apparent bug in
the native control.

Closes #11314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-26 03:29:27 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
a10f026b85 fix a problem with loading inked.dll (see #10633)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-26 18:41:02 +00:00
Vadim Zeitlin
d2f434e428 (harmless) Borland release build warning fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-25 14:07:38 +00:00
Vadim Zeitlin
135b23b266 added wxTextEntry::DoGetValue() to allow returning empty string if the control currently contains hint text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-02 13:31:29 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Vadim Zeitlin
92715f1fea fix warnings about conversion between DWORD and pointers in MSLU=1 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-31 21:15:10 +00:00
Vadim Zeitlin
e408bf5257 add safe wxStrlcpy() function and replaced all wxStrncpy() calls by it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 14:41:02 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Vadim Zeitlin
51725fc0c2 reverted the change of r56246 and keep the old behaviour of MB2WC/WC2MB; document it even more clearly and correct code using these functions incorrectly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-17 11:31:22 +00:00
Vadim Zeitlin
4c81144ce3 no changes, just clarified a comment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-14 21:05:41 +00:00
Vadim Zeitlin
8f08b2509b don't send text changed events from ctor as wxGTK doesn't do it and people apparently don't like it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-11 00:29:47 +00:00
Václav Slavík
e2cf30aa1c wxMSW: generate wxClipboardTextEvent from wxTextCtrl with wxTE_RICH style too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-15 12:28:03 +00:00
Vadim Zeitlin
5a25f8581a refactored code reused in several different places in wxTextEntry::RemoveSelection() (patch 1910166)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-15 02:58:54 +00:00
Vadim Zeitlin
c2208899ed no real changes, just use more readable helper wxTextEntry methods (patch 1910160)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-15 02:47:41 +00:00
Václav Slavík
2e771cb838 fixed 'Select All' context menu in wxTextCtrl with wxTE_RICH style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-08 23:04:06 +00:00
Vadim Zeitlin
beee6bf864 build fix for wxUSE_INTL==0 (patch 1878908)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-03 14:12:45 +00:00
Václav Slavík
b65f16dabd fixed wxTextCtrl to not process clipboard events twice if there's a custom wxEVT_COMMAND_TEXT_* handler; move WM_PASTE/CUT/COPY processing to wxWindow where it belongs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-02 22:29:19 +00:00
Julian Smart
b212c69eca Added checks to encoding conversion to avoid crash
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-30 17:03:10 +00:00
Vadim Zeitlin
4eb77d8bce generate focus and kill focus events for wxTextCtrl at wxWindow level instead of doing it in wxTextCtrl itself and specifically disabling focus event generation for text controls in wxWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-24 09:34:05 +00:00
Vadim Zeitlin
50c6e05f3d skip focus events after handling them in wxTextCtrl, otherwise they never reach wxApp (bug 1875046)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-19 03:35:47 +00:00
Vadim Zeitlin
8df2696160 restore SetSelection(-1, -1) behaviour which was broken during wxTextEntry refactoring
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-08 19:08:58 +00:00
Václav Slavík
937013e0fd 1. added wxEvtHandler::SafelyProcessEvent() and wxWindow::HandleWindowEvent() to correctly handle exceptions in even handlers in wxGTK
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-29 17:00:58 +00:00
Julian Smart
44cc96a80c Merged wxRichTextAttr and wxTextAttrEx into wxTextAttr, and added a font table
to wxRichTextBuffer to reduce wxFont consumption and increase performance.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-09 11:20:36 +00:00
Vadim Zeitlin
fa2f57be4d refactor wxMSW code to extract parts common to wxTextCtrl and wxComboBox into wxTextEntry
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48952 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-26 16:48:46 +00:00
Vadim Zeitlin
1a8e8d694b added missing wxUSE_RICHEDIT test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-20 10:22:09 +00:00
Vadim Zeitlin
88b9909d1a fix for the last commit: reset the dummy wxRICHTEXT_DEFAULT_DROPTARGET pointer in dtor to avoid crashing when trying to delete it in the base class dtor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-18 12:06:46 +00:00
Vadim Zeitlin
20a0e99964 get rid of the built-in drop target in rich text controls before setting the user-defined one as otherwise it fails
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-15 01:09:01 +00:00
Vadim Zeitlin
e1ef6b5da5 chop off the unwanted \r from GetLineText() return value for richedit 2.0 controls (patch 1780110)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-10 11:16:04 +00:00
Julian Smart
8c56ac8330 Fix for non-appearance of themed border with wxTE_RICH if size passed to the constructor and then not changed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-14 07:26:59 +00:00
Julian Smart
a047aff270 Added wxBORDER_THEME, wxWindow::GetDefaultBorderForControl(), wxWindow::CanApplyThemeBorder().
wxTextCtrl and wxSearchCtrl now get the correct border on wxMSW, and the wxRichTextCtrl sample
also now demonstrates correct borders.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-07 19:22:43 +00:00
Vadim Zeitlin
414721d003 fix STL build (don't rely on implicit wxString to char* conversions)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-21 21:45:46 +00:00
Václav Slavík
e0a050e347 more changes to make wx compile without implicit wxString->char* conversion (for STL build)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-20 07:44:45 +00:00
Václav Slavík
193d0c9310 PCH-less compilation fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-27 21:32:40 +00:00
Václav Slavík
c9f7896861 first phase of transition to unified Unicode build:
1. changed c_str() to return wxCStrData (implicitly convertible to wxChar*)
2. added template type-safe wrappers for vararg functions
3. added wxUniChar class representing single Unicode character
4. changed wxString::operator[] and wxString::iterator to return wxUniChar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-17 10:26:10 +00:00
Vadim Zeitlin
66c72081f7 changing text alignment dynamically doesn't always work under XP, recreate the control there too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-25 15:36:31 +00:00
Vadim Zeitlin
9b99c1e36a changing ES_LEFT/CENTER/RIGHT styles only works for plain (not rich) controls and only under XP, recreate the control in SetWindowStyleFlag() if it's a richedit one or if the system is earlier than XP
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-20 13:38:25 +00:00
Vadim Zeitlin
b370e7587f fixed initial size of a control with wxDefaultSize: due to SetSize() call in Create() introduced in 1.243 it was created with 1 pixel height
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-20 10:06:43 +00:00
Vadim Zeitlin
9fcbe07663 we don't need to subclass text control twice to implement support for WM_COPY/CUT/PASTE, just handle them in MSWWindowProc() (this reimplements the change of rev 1.261 correctly)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-20 09:51:50 +00:00
Robin Dunn
11d6793f15 Remove superfluous assert that conflicts with style settings needed on
wxGTK to get the same effect.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-11 20:02:07 +00:00
Włodzimierz Skiba
9a88fc5836 Reverted winundef.h removal - without it build fails on GetWindowStyle later.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-27 07:48:22 +00:00