Commit Graph

8360 Commits

Author SHA1 Message Date
Vadim Zeitlin
6d07584544 Do send wxEVT_UPDATE_UI events to hidden windows.
Failing to send wxEVT_UPDATE_UI to hidden windows made it impossible to show
them from their update UI handler which was totally unexpected as the
documented wxUpdateUIEvent::Show() method could never be used.

Do send these events to the hidden windows themselves but avoid sending the
update UI events to the children of hidden windows as this is really useless
because any change of their state wouldn't be seen by the user anyhow (even if
the child is shown, it would still remain hidden until its parent is) and
would just waste time processing a lot of needless events.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-18 23:50:14 +00:00
Vadim Zeitlin
935594c16e Don't send wxWindowDestroyEvent if we hadn't sent wxWindowCreateEvent.
Don't generate wxWindowDestroyEvent when destroying the windows that had been
never created for symmetry with wxWindowCreateEvent which wasn't sent for this
window neither.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-18 23:36:46 +00:00
Jaakko Salli
25b7a51fbf Use Connect() to bind embedded wxTextCtrl events instead of event table. This seems to be more reliable approach here, and fixes a bug with wxPropertyGrid's wxEditEnumProperty.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-18 10:06:08 +00:00
Jaakko Salli
26844be538 In wxComboCtrlBase::OnTextCtrlEvent(), make sure to call event.StopPropagation() only after it has been copied
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67530 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-18 10:03:16 +00:00
Vadim Zeitlin
0e5d4c38a3 Add wxAffineMatrix2D and related classes.
This class represents an affine 2D transformation and will be used in wxDC for
now and maybe in wxGC later.

Closes #13143.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-17 00:09:56 +00:00
Vadim Zeitlin
85047589a9 Split wxTextCompleter into a base class and wxTextCompleterSimple.
Allow overriding either the iterator-like methods of the base class or the
single and possibly more convenient, albeit slightly less efficient, method of
the derived wxTextCompleterSimple class.

This makes it possible to completely delegate to wxTextCompleter from wxMSW
IEnumString implementation and actually makes the code there easier, even if
it it still not quite trivial because of multi-threading concerns.

It also would make it possible to show the completions progressively, as they
are retrieved, in a future generic implementation of auto-completion (MSW
native implementation doesn't do this unfortunately and waits until all of the
completions become available before showing them).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 17:27:34 +00:00
Vadim Zeitlin
1afe4f9b47 Added private wxEVT_AFTER_CHAR event for wxMSW implementation needs.
This event is sent by wxMSW after the default handling of WM_CHAR has taken
place. It can be used to define an event handler triggered by key presses and
having access to the new value of the control, updated to take the last key
press into account.

This event will be used by auto-completion implementation for wxMSW only for
now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 17:27:21 +00:00
Vadim Zeitlin
ea98f11c2f Add support for dynamic auto-completion in wxTextEntry.
Add wxTextCompleter class which allows to return the possible completions
dynamically and wxTextCompleter::AutoComplete() overload using it. So far this
is only implemented for wxMSW.

Also fix calling wxTextEntry::AutoComplete(wxArrayString) multiple times under
MSW, this didn't correctly update the list of shown completions before.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 17:27:16 +00:00
Stefan Csomor
0217cfa537 support generic flag for pixel offsetting, see #11853
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 12:21:37 +00:00
Jaakko Salli
63722a74b0 Rebuild textctrl events using copy ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-14 13:22:40 +00:00
Jaakko Salli
8fd38e3369 Completely re-construct the wxComboCtrl textctrl-events instead of just redirecting them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-13 16:35:59 +00:00
Vadim Zeitlin
ea9fee8541 Correct Javanese language code.
It is "jv" and not "jw", the latter was an error in a previous edition of ISO
639 standard and was corrected since then.

Closes #13131.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-10 15:35:56 +00:00
Vadim Zeitlin
cee25be77b Correctly restore the old locale in wxXLocale functions.
In non-wxHAS_XLOCALE_SUPPORT case we didn't restore the original locale
correctly in wxStrtoxxx_l() functions as the return value of wxSetlocale() was
incorrectly assumed to be the old locale instead of the new one.

Fix this and also replace the macros used by the old code with a small helper
class, this simplifies the code and is less ugly.

Finally add a unit test which failed before these changes when the program ran
in any non-C locale but passes now.

Closes #13117.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-06 14:37:32 +00:00
Vadim Zeitlin
fd1c361c33 Fix incorrect use of setlocale() in wxLocale::IsAvailable().
The return value of setlocale() was used incorrectly in this code: it
represents the newly set locale and not the previously active one so we didn't
actually restore the original locale before.

Fix the code and check that we do actually restore the locale in a new unit
test for it.

See #13117.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-06 14:37:27 +00:00
Paul Cornett
04e4045183 build fix for gtk1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-05 15:50:54 +00:00
Dimitri Schoolwerth
88def1632e Compilation fixes for wxUSE_LOCALE and wxUSE_XLOCALE set to 0.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-04 22:07:42 +00:00
Dimitri Schoolwerth
d13b34d3f2 No code changes, fixed various typos.
Applied patch by snowleopard2 fixing typos in interface/. Extended the fixes throughout trunk.

Closes #13076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-03 20:31:32 +00:00
Vadim Zeitlin
b2a1c6f51b No real changes, just some more minor cleanup in wxSVGFileDC.
Harmonize spaces, remove unnecessary semicolons, remove useless return
statements from void functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-02 16:38:04 +00:00
Vadim Zeitlin
af58e08750 Remove wxSVG_DEBUG from wxSVGFileDC.
Remove the weird wxSVG_DEBUG which could apparently be used to trace the code
execution by triggering asserts in all functions. This is really not the right
way to implement tracing and seems pretty useless, just remove it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-02 16:38:02 +00:00
Vadim Zeitlin
85675f1019 Clean up of string operations in wxSVGFileDC code.
Use operator+=() instead of "s = s + ...".

See #13086.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-02 16:37:58 +00:00
Vadim Zeitlin
403695b323 Add support for alpha channel in colours in wxSVGFileDC.
Use stroke-opacity and fill-opacity SVG attributes to handle pens and brushes
created from colours with alpha channel in wxSVGFileDC.

Closes #13086.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-02 16:37:54 +00:00
Vadim Zeitlin
b72ed64277 No changes, just merge some strings in wxSVGFileDC.
Concatenate string literals at compile-time instead of run-time.

See #13086.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-02 16:37:50 +00:00
Jaakko Salli
df3c4a42d9 Added wxComboPopup::DestroyPopup(), which responsibility is to call Destroy() for the popup control and also delete the combo popup object itself. The default implementation should be able to handle common cases.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-31 17:22:51 +00:00
Vadim Zeitlin
3130a8d014 Compilation fix for wxUSE_STL==1 build after r67356.
An explicit conversion to char* is required in wxUSE_STL build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-31 10:08:41 +00:00
Vadim Zeitlin
b129eaa377 Implement wxGraphicsContext::GetSize() for Cairo.
As the implementation of this method is basically the same for all ports move
it to the base class itself instead of requiring the derived classes to
implement it. Now the derived classes need to fill in m_width and m_height
members instead.

Do fill them when creating wxGraphicsContext in Cairo version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-31 09:38:03 +00:00
Vadim Zeitlin
f0e52da8dc Fix alpha handling in CSS syntax in wxColour in non-"C" locale.
Use locale-independent functions to parse and generate the floating point
alpha representation in CSS syntax for colours to make it work in locales
which don't use period as decimal separator.

Closes #13077.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-31 09:28:41 +00:00
Vadim Zeitlin
01871bf642 Add wxUSE_STD_CONTAINERS and turn it on by default.
Previously, wxUSE_STL enabled both implicit conversion of wxString to
std::[w]string and use of standard containers for the implementation of their
wx equivalents. Split up the two roles now by allowing to enable the use of
the standard containers independently of (backwards incompatible) implicit
conversion in wxString and actually enable wxUSE_STD_CONTAINERS by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 14:16:04 +00:00
Vadim Zeitlin
44a0071224 Fix XTI compilation in STL build.
Use explicit c_str() calls in XTI code as implicit conversion to "const char
*" doesn't exist in STL build.

This fixes compilation problems when wxUSE_EXTENDED_RTTI && wxUSE_STL.

Closes #13087.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 14:15:53 +00:00
Stefan Csomor
0dcbb107ee fix clang warning (? having two different operand types)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-29 18:40:18 +00:00
Václav Slavík
34b239ec5d wxDataViewChoiceRenderer's editor control should have the same size as the cell.
It looks weird when it's significantly shorter than the content cell being edited.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-28 14:10:31 +00:00
Paul Cornett
385e8575dd avoid deprecated functions and direct struct access
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-28 06:27:49 +00:00
Jaakko Salli
a516284f67 Instead of just deleting m_popupInterface, call Destroy() of its wxWindow-based popup control obtained via GetControl() member function. Also still delete m_popupInterface if there was no popup control, or if it was implemented as a separate class (versus being multiple-inherited along side wxComboPopup, as has been the common practice).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-27 18:30:56 +00:00
Dimitri Schoolwerth
2a6545a5a7 Fixed buffer overflow when saving certain images in the Windows icon format.
When an image did not have a width with a multiple of 4 the calculations for the number of padding bytes (to get a scan line DWORD aligned) would be wrong. This caused a buffer overrun when saving the 1 bits per pixel mask.

Fixes #12937.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-23 15:20:25 +00:00
Vadim Zeitlin
b83144c46f Post size events to the event handler and not window itself.
Post the artificial wxSizeEvent to the window event handler and not window
itself in SendSizeEvent() as otherwise any event handlers wouldn't see this
event at all.

Closes #13066.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 17:15:38 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Jouk Jansen
6853f5fbf9 Update OpenVMS makefiles for WXMARKUP
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 10:57:09 +00:00
Jaakko Salli
3e4e0908a7 In wxComboCtrlBase::DrawButton(), let the button background rendering changes also apply to buttons with user-defined bitmaps
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 08:59:59 +00:00
Vadim Zeitlin
019044877a Allow using milliseconds in wxLog timestamp.
Use wxDateTime::UNow() instead of time() and wxDateTime::Format() instead of
localtime() to make it possible to use "%l" specifier in wxLog time stamp.

Closes #13059.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-21 10:59:59 +00:00
Dimitri Schoolwerth
4d37f425ff Made some TIFF reading adjustments.
Read a few TIFF tags that assist with having a similar TIFF file when saving the image again, instead of (by default) always saving as a 24-bit RGB image. Also, in accordance with libtiff, allow reading X and Y resolution values even if the resolution unit tag is not set.

Applied (modified) patch by scottb. Closes #13015.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 19:48:03 +00:00
Jaakko Salli
bed867e3f9 Added wxComboCtrlBase::m_hasTcBgCol. Re-using base wxWindow::m_hasBgCol was trouble.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 11:15:17 +00:00
Jaakko Salli
10ba26777d Redone (generic) wxComboCtrl background painting and handling. The 'actual' wxWindow background colour is now largely ignored and overridden to refer the text-area's background colour instead (as is usually the case with controls like this). Base 'transparent' background is now only painted when double-buffered rendering is required, and otherwise delegated to the system, as appropriate. This should significantly improve control's appearance and compliancy with GTK+ and OS X themes and custom backgrounds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 10:59:22 +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
Vadim Zeitlin
5b87bd6c0b Split wxPanel in wxPanelBase and platform-specific files.
So far we have only wxMSW-specific implementation (and also a trivial
wxUniv-specific one) but it's still tidier to have all platform-specific code
in separate files, especially as we're going to have more of it for wxMSW
soon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:00:38 +00:00
Dimitri Schoolwerth
f2c8079119 Added support for reading image resolutions from PNG images.
Patch by scottb. Closes #12893.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-16 12:46:03 +00:00
Stefan Csomor
e3b2f973e8 replace usage of objective-c keyword 'id'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-16 07:06:43 +00:00
Stefan Csomor
163b01c128 replace usage of objective-c keyword 'id'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-16 07:00:59 +00:00
Stefan Csomor
c1ec7ee8a1 replace usage of objective-c keyword 'id'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-16 06:36:43 +00:00
Dimitri Schoolwerth
fdb7d5bbc2 Changed behaviour of wxImageResizeQuality parameter in wxImage.Scale and wxImage.Rescale.
Made the following changes:

* Formerly specifying to resize using wxIMAGE_QUALITY_BICUBIC or wxIMAGE_QUALITY_BILINEAR could result in the ResampleBox method being used. Now always resize with the method that the user actually specified.

* Added wxIMAGE_QUALITY_BOX_AVERAGE to explicitly allow resizing with the ResampleBox method.

* Previously wxIMAGE_QUALITY_HIGH was equal to wxIMAGE_QUALITY_BICUBIC. It has been changed to use wxIMAGE_QUALITY_BOX_AVERAGE when reducing the size of an image and wxIMAGE_QUALITY_BICUBIC in all other cases.

Closes #12845.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-15 16:42:34 +00:00
Dimitri Schoolwerth
41774f1b20 Changed wxImage.ResampleBox to always use a box size of at least 2 by 2 pixels.
Previously when resizing by more than 50% (for example resizing from 100x100 to 51x51 or 140x140) a box size of 1x1 would be used which effectively would give the same result as using nearest neighbour. Make sure that at least a box size of 2x2 pixels is always used.

Patch by scottb, see also #12845.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-15 16:37:04 +00:00
Vadim Zeitlin
1f4d7e441c No changes, just clean up wxSVGFileDC code a little.
Use literal strings instead of macros such as "newline", "space" and
"semicolon" and also use wxColour::GetAsString() instead of reimplementing it.

Closes #13037.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-14 23:25:58 +00:00