Commit Graph

81 Commits

Author SHA1 Message Date
Václav Slavík
1acfe88347 Allow NSAttributedString in [wxNSTextFieldEditor insertText]
According to the documentation, insertText: argument is either NSString
or NSAttributedString. The latter is not a subclass of the former, yet
the code assumed the argument is always a NSString. This caused the
following exception:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
-[NSConcreteMutableAttributedString characterAtIndex:]: unrecognized selector sent to instance

Fix this by checking for NSAttributedString and extracting plain string
from it.
2015-10-13 14:52:35 +02:00
Vadim Zeitlin
f3d8f6cadc Restore automatic quotation marks replacement in wxOSX wxTextCtrl.
This was disabled by 262ed2c133 but doesn't seem
to be justified, we shouldn't be overriding native platform behaviour without a
very good reason and there doesn't seem to be any.

See #16805.
2015-08-27 12:02:22 +02:00
Tobias Taschner
8bd14648cd Remove Cocoa code and precompiler defines targeting OS X versions prior to OS X 10.7. 2015-08-07 16:25:28 +02:00
Tobias Taschner
ab065e1ad9 Removed OS X code targeted at versions prior to OS X 10.7.
At least 10.7 is required in 3.1 anyhow, so don't check for it needlessly.

See https://github.com/wxWidgets/wxWidgets/pull/55
2015-08-02 03:05:51 +02:00
Tim Kosse
262ed2c133 Don't allow rich text content in non-rich wxTextCtrl in wxOSX.
Explicitly disable rich text content and automatic quotation marks replacement
in normal multiline text controls to make them behave closer to single line
ones and also multiline ones on other platforms.

See #16805.
2015-07-18 02:29:17 +02:00
mj_smoker
8e0799e3e5 Handle wxTE_PROCESS_ENTER with wxTE_PASSWORD correctly in wxOSX.
Controls with wxTE_PASSWORD style didn't send wxEVT_TEXT_ENTER even if they
also had wxTE_PROCESS_ENTER. Fix this by checking for the latter style before
mapping the enter presses to default button activation.

See #14930.
2015-07-18 02:29:17 +02:00
Stefan Csomor
cea11b591e in order to get all focus set events, store field in editor and catch becomeFirstResponder there, see #14269
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-18 16:33:57 +00:00
Stefan Csomor
e65104f198 refactoring to common code for updating selections, using common focus code, see #14269
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-18 10:46:12 +00:00
Stefan Csomor
b0a5f5ac18 - one single method for sending char events from a NSString
- adding insertText override for multiline fields as char events went missing after r74945

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-21 14:59:50 +00:00
Vadim Zeitlin
dcc9f9c1e4 Avoid sending wxEVT_CHAR events when text is inserted by the program in wxOSX.
This should fix crashes due to infinite recursion in the code that calls
wxTextCtrl::WriteText() from wxEVT_CHAR handler.

Closes #15345.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-18 18:15:29 +00:00
Vadim Zeitlin
8750905b8b No real changes, just restrict wxMacEditHelper interface.
There is no need to provide GetCurrentlyEditedView() when a simpler
IsCurrentlyEditedView() suffices.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-18 18:15:25 +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
Stefan Csomor
053f5a55da supporting max len event
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-12 22:04:38 +00:00
Stefan Csomor
e17d84e1b2 refactoring focus handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74107 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-04 07:22:54 +00:00
Stefan Csomor
60d66be369 attempt to get the 'new focus' window parameter of a focus kill event set correctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-03 10:37:01 +00:00
Vadim Zeitlin
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Vadim Zeitlin
98c9096992 Don't assume that wxTE_RICH(2) implies wxTE_MULTILINE for wxTextCtrl in wxOSX.
Under MSW single line text controls can still use these styles, so don't
assume that the control should be made multi-line just because one of them is
specified.

This fixes the appearance of the in-place text control in wxGridCellTextEditor
which is created with wxTE_RICH2 style to work around some wxMSW problem.

Closes #11681.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-28 16:03:20 +00:00
Stefan Csomor
8e64b8fe6e adding some additional fixes for programmatic selection handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-28 20:57:59 +00:00
Stefan Csomor
1e70e497e2 supporting selection methods when not focused, closes #1480
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-28 08:51:56 +00:00
Vadim Zeitlin
1659164a6f Implement setting default wxTextCtrl style in wxOSX.
Use NSTextView setTypingAttributes to change the attributes used for the new
text by default as setting them for the selected region didn't do anything
useful under OS X (and did nothing at all when there was no selection).

Closes #12839.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-04 23:53:06 +00:00
Vadim Zeitlin
dfc9124f08 No changes, just remove unnecessary wxTextAttr tests.
If wxTextAttr::HasFoo() returns true, there is no need to test for
GetFoo().IsOk().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-04 23:52:43 +00:00
Vadim Zeitlin
529f35ff37 Suppress warnings about NSText not responding to setAllowsUndo.
Cast NSText to NSTextView when sending this message to it. Hopefully it
doesn't change the run-time behaviour but just fixes several lines of warnings
that were given without this cast.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-04 23:52:21 +00:00
Stefan Csomor
b5b986111b turning off undo for setter, otherwise memory gets used up for the undo stack, fixes #14500
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-21 05:14:44 +00:00
Stefan Csomor
58cab5e243 fixing double focus ring under 10.7, emulating only for 'NO_' and 'SIMPLE_' border
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 16:34:14 +00:00
Stefan Csomor
d68a2a24d1 supporting alignment in single line controls, see #14452
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 16:42:03 +00:00
Stefan Csomor
6e88438166 proper init
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-13 17:38:28 +00:00
Stefan Csomor
a2ce64695d catching default button handling also in password fields
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-22 08:24:09 +00:00
Stefan Csomor
9c71750d80 native maxlength support, fixes #10269 (for osx_cocoa)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 15:55:58 +00:00
Vadim Zeitlin
b4bdde879b Fix harmless warning in wxOSX with 10.7 SDK.
Use NSInteger instead of int in a declaration to avoid warnings about
declaration mismatch from g++ 4.2 under OS X 10.7.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-11 23:59:33 +00:00
Vadim Zeitlin
66fc8b0e64 Avoid bogus focus loss event when wxTextCtrl is modified in wxOSX.
A wxEVT_KILL_FOCUS event was generated when wxTextCtrl::WriteText() was called
in wxOSX, even though the control didn't lose focus at all in this case. This
was completely unexpected and thoroughly confused wxGrid code which closed the
in place editor immediately after showing it because of this (this was perhaps
only the case since r68319 but the changes there were correct so they only
masked the real bug).

Avoid this bogus event by remembering the NSView currently being
programmatically modified and not doing anything in textDidEndEditing
notification if it is generated for this view.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:18 +00:00
Stefan Csomor
c2a22141f8 better retain/release semantics
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-09 00:24:21 +00:00
Vadim Zeitlin
c729f16fa5 Implement auto-completion support for wxTextEntry in wxOSX/Cocoa.
Both completing a set of fixed strings and dynamic completion using a custom
completer are supported, although completing the file names remains MSW-only
for now.

Note that, unlike under MSW, auto-completion under Mac is not automatic and
has to be triggered manually by calling complete: method. This is done by
pressing F5 key by default. In the future we should call it automatically on a
timer event to make it more obviously discoverable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-17 23:14:15 +00:00
Stefan Csomor
00ba1af984 preparing for completions support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-13 09:22:17 +00:00
Dimitri Schoolwerth
a9a4f22953 Set svn properties on various files throughout the repository (skipped docs/ ).
Added missing svn:eol-style (set to native) and svn:keywords (set to Id) properties to c/cpp/cxx/h/mm files.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-18 15:10:15 +00:00
Stefan Csomor
0f54a3be55 signed/unsigned warning fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67208 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-16 06:49:51 +00:00
Stefan Csomor
9159a25799 proper focus lost for multiline textfields and having all demanding a focusrect
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-02 21:17:43 +00:00
Stefan Csomor
816b29417d disabling multiline text controls correctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-08 14:19:20 +00:00
Stefan Csomor
99eb484a70 support for hints, fixing textfield implementation on iOS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-26 15:51:39 +00:00
Stefan Csomor
76b1a2c26e routing the tab, return events for single line fields back to standard wx handler (doesn't work for secure fields unfortunately), fixes #12386 and partly #12392
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-06 15:48:48 +00:00
Vadim Zeitlin
dc36b43adf Remove duplicate wxEVT_COMMAND_TEXT_ENTER generation from wxOSX/Cocoa.
The code in -[wxNSTextField control:textView:doCommandBySelector:] generated a
second copy of this event as it was also generated from
wxNSTextFieldControl::controlAction() for single line text controls.

Closes #11691.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66032 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-05 21:39:49 +00:00
Stefan Csomor
3f16e51be8 fixes horizontal scrolling in textfields, fixes #12322
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-17 06:21:53 +00:00
Vadim Zeitlin
c8eab84f83 Fix wxOSX wxTextCtrl refactoring of r65129.
Add the Init() calls in wxNSTextFieldControl ctors forgotten the last time.

Closes #12284.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-28 18:22:26 +00:00
Vadim Zeitlin
c072b9ec8a Add association between wxOSX wxTextWidgetImpl and wxTextEntry.
This allows to always find the correct wxTextEntry to use in the
implementation of text-related widgets without using any casts. Notably, the
wrong up-cast of wxWindow to wxTextCtrl in wxNSTextFieldControl::controlAction()
which resulted in a crash when the window was actually a wxComboBox can now be
fixed.

Closes #12284.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-28 11:27:01 +00:00
Vadim Zeitlin
4a49fa24c9 Fix harmless float to int conversion warnings in wxOSX build.
Add casts to truncate the values as the code intended anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-28 11:26:26 +00:00
Stefan Csomor
81533a3af6 fixing focus, fixes #11911
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-07 20:27:17 +00:00
Kevin Ollivier
78a1707501 Override CanFocus because the wxWindow level test will check if the NSTextView's parent scrollview can get keyboard focus, and will return no, meaning that wx won't set the focus to the text ctrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-27 02:51:45 +00:00
Kevin Ollivier
75a2c6a1ee Get wxSearchCtrl text events working, and share the text event handler code among all the various wxTextCtrl-based classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-06 17:00:38 +00:00
Stefan Csomor
c8fdb345a0 adding protocol support for 10.6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-11 14:19:28 +00:00
Kevin Ollivier
c84030e020 Implement native OS X ComboBox for OS X Cocoa, and implement wxTextEntry methods to share code between wxComboBox and wxTextCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-09 19:50:55 +00:00
Kevin Ollivier
9ab7ff537d Allow OS X Cocoa (or any OS X port) to override GetBestSize and provide a native OS X Cocoa impl. Also, fix the line ending check under OS X Cocoa, and a sanity check for SetStyle.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-26 23:11:27 +00:00