Commit Graph

28778 Commits

Author SHA1 Message Date
Vadim Zeitlin
53cdd2c11d Add XRC handler for wxCommandLinkButton.
Added a handler for wxCommandLinkButton class and a demo of it in the xrc sample.

Closes #12593.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-20 23:11:20 +00:00
Vadim Zeitlin
4d9d127f45 Correct the fix that broke wxRegion::ConvertToBitmap().
The changes in r64874 were incorrect and made the size of the bitmap even
more wrong than before. Fix it correctly now by just adding 1 extra pixel to
the size of the bitmap used in the original (pre-r64874) version.

Closes #12213.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-20 23:11:04 +00:00
Peter Cawley
140091e55c Improve support for ribbon panel sizers: panels with sizers should now automatically minimise at small sizes, and behave properly when popping up from a minimised state.
Patch by johnr in trac issue #12580.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-20 17:49:42 +00:00
Vadim Zeitlin
1780a38b7b Use unsigned char for XBM bitmaps data.
This fixes compilation with g++ in C++0x mode in which conversions of
constants not fitting into signed char range to char are not permitted.

Closes #12575.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-18 23:43:20 +00:00
Vadim Zeitlin
40f48834fc Correctly handle S_FALSE return value of IActiveMovie::get_Duration().
IActiveMovie::get_Duration() can return S_FALSE in which case outDuration
isn't initialized and so wxAMMediaBackend::GetDuration() would return a
completely wrong value.

Fix this by returning 0 from it instead which seems like the only reasonable
thing to do (in the absence of documentation of this interface it's not really
clear what does S_FALSE return value mean nor why didn't it return it before).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-18 23:43:14 +00:00
Vadim Zeitlin
a8b3cea302 Correct recently broken checked state handling in wxRearrangeList.
The checked state of them wasn't preserved correctly any more since r64875,
correct this by changing the state only after storing the old one.

Closes #12578.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-18 23:43:09 +00:00
Jaakko Salli
769ede722a Call wxScrollHelper::AdjustScrollbars() to fix scroll bar setup that broke after wxPropertyGrid was changed to inherit from wxScrollHelper instead of wxScrolledWindow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-18 13:55:40 +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
e3cd024e85 Revert the changes of r65826 in wxConvertToGTK().
This is not necessary any longer after the previous commit which changed
cMB2WC() to not return NULL for empty input.

See #12432.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-17 13:59:48 +00:00
Vadim Zeitlin
cfcfada96e Return valid buffer from wxMBConv::c{MB,WC}2{WC,MB} for empty input.
Returning invalid buffer for empty input is unexpected and resulted in e.g.
wxString::utf8_str() returning NULL and not "" in ANSI build for empty strings
(which, in turn, resulted in crashes in the test suite and undoubtedly not
only) as well as crashes when calling GTK+ functions (see #12432). Other uses
of cMB2WC() also show that NULL return value from it is unexpected as it is
often passed to CRT functions not accepting NULL.

So return empty buffer instead for empty input to avoid all these problems.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-17 13:59:42 +00:00
Vadim Zeitlin
b37e255c36 Compilation fix for STL build after r65830.
Explicit conversion from wxString to "const char *" is needed in STL build.
And even in non-STL build it's wrong to rely on implicit conversion as it
wouldn't work correctly in non-UTF-8 locales.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65833 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 23:05:15 +00:00
Vadim Zeitlin
a9544d0014 Avoid crashes in wxGenericListCtrl client<->screen conversion code.
At least in wxUniv build, DoScreenToClient() can be called before the main
control window is created which results in a crash when attempting to forward
to its DoScreenToClient() version.

Check for m_mainWin being non-NULL before using it to at least avoid the
crash, even if it's not really clear whether this is a 100% correct fix.

Closes #12390.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:11:32 +00:00
Vadim Zeitlin
9e19da0f2a Improve wxGTK print and page setup dialogs.
Handle more fields (notably collation, number of copies and "print to file"
flag) and fix the bug with return value of print dialog ShowModal().

Closes #12499.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:11:27 +00:00
Vadim Zeitlin
34b2bc598b Transfer printer name to/from GTK+ native print setup dialog.
Printer name in the GTK+ dialog was neither initialized nor retrieved before.

See #12499.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:11:21 +00:00
Vadim Zeitlin
820ec9bbc2 Correctly initialize wxGtkPrintNativeData members.
In particular, create a valid GtkPrintOperation object instead of using an
uninitialized pointer to it in wxGtkPrintDialog::ShowModal(), resulting in
crashes or, at best, GTK errors.

Closes #12483.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65828 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:11:15 +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
dd5ab30d6a Don't return invalid buffer from wxConvertToGTK("").
The result of wxConvertToGTK() is often passed to GTK+ functions directly and
not all of them handle NULLs gracefully, e.g. gtk_editable_insert_text() just
crashes.

Return an empty string from wxConvertToGTK() explicitly for empty string input
to avoid such problems.

Another potential solution might have been to change wxMBConv::cMB2WC() to
return empty buffer instead of invalid one for empty input but it's not clear
if this is not going to break something else.

Closes #12432.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:10:58 +00:00
Vadim Zeitlin
f254e2424a Improve validation of wxCheckBox styles.
Detect when incompatible styles are used (this required changing the value of
wxCHK_2STATE to be non-null) and sanitize the styles (after asserting) in this
case.

Put the validation code in wxCheckBoxBase instead of having slightly different
versions of it in port-specific wxCheckBox implementations.

Add a unit test checking that the expected asserts are indeed generated.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-16 18:10:42 +00:00
Vadim Zeitlin
97e5b0645e Clear selection when generic wxDataViewCtrl is cleared.
Selection could retain its old value and become invalid after calling Reset()
before.

Closes #12559.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:46:51 +00:00
Vadim Zeitlin
e6777e6575 Add wx{Pen,Brush}::Is[Non]Transparent() methods and use them.
Using GetStyle() == wx{PEN,BRUSH}STYLE_TRANSPARENT doesn't work for
uninitialized pen or brush objects so add convenient helpers which do work for
them.

Use the new helper functions everywhere instead of explicitly checking for
style. This makes the code shorter and more clear and also fixes some bugs (at
least those in GTK printing code).

Notice that this patch removes the main reason for explicitly initializing
m_pen and m_brush in wxGTKDCImpl ctor but this initialization still can't be
removed, at least for the latter, as doing this somehow breaks GetPixel(). It
would be nice to understand why and do remove this initialization so that a
newly created DC doesn't have any non-default pen nor brush.

Closes #12522.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:46:46 +00:00
Vadim Zeitlin
f8ce98ded0 Use wxDCPenChanger instead of setting/resetting pen explicitly.
No real changes, just use wxDCPenChanger instead of manual calls to SetPen()
in wxDCImpl::DrawPolygon(). This makes the code shorter and more clear.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:46:37 +00:00
Vadim Zeitlin
bce926c580 Add "GTK" prefix to wxChoice::{Dis,En}ableEvents() methods in wxGTK.
This is more than a cosmetic change: adding "GTK" prefix in wxComboBox and not
doing it in wxChoice in r64436 broke the event generation for wxComboBox as it
didn't override wxChoice methods any longer but defined its own (useless) ones.

Using the same name for the methods in both classes notably fixes unexpected
event generation from wxComboBox::SetSelection().

Closes #12568.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65818 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:46:32 +00:00
Vadim Zeitlin
5b1985a920 Check for task dialog availability even under Vista and later.
Task dialogs are not always available under Vista and later Windows versions
because we might not be using the right (i.e. 6+) version of comctl32.dll.

Improve the check for task dialog availability and fall back to the classic
message box if we can't use it.

Closes #12553.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:46:19 +00:00
Vadim Zeitlin
5d3056f180 Fix button order in wxGTK wxMessageDialog and wxStdDialogButtonSizer.
The order of buttons in wxGTK wxMessageDialog was accidentally broken since
r55482 and wxStdDialogButtonSizer implementation for wxGTK was subsequently
modified to work in the same way as the broken version of wxMessageDialog.

Fix wxMessageDialog and remove the "compatibility" workarounds from
wxStdDialogButtonSizer to restore correct behaviour in both places.

Closes #12565.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:45:58 +00:00
Jaakko Salli
026767c6ae Added wxNumericPropertyValidator, which is a custom wxTextValidator with more accurate filtering of inappropriate input for wxIntProperty, wxFloatProperty and wxUIntProperty (fixes #12563).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 15:15:27 +00:00
Julian Smart
5ad9ae3a29 Fixed #12566 (assert on deletion) due to inconsistent commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-14 18:06:02 +00:00
Vadim Zeitlin
eb7a47b7b9 wxUniv/MSW compilation fix.
wxUniv/MSW compilation was broken by r65589, fix it by not assuming that
wxWindowMSW is a wxWindow because wxWindow derives from it in wxUniv.

Closes #12534.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-13 23:08:47 +00:00
Vadim Zeitlin
cff48ba847 Fix display of right aligned columns in wxGenericListCtrl.
Take into account the width of the image when drawing the right aligned item
in wxGenericListCtrl.

Closes #12562.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-13 22:10:45 +00:00
Vadim Zeitlin
71d6cd60ee Pass last page in wxEVT_WIZARD_FINISHED event.
Delay resetting the wizard page to NULL when it terminates to allow
wxEVT_WIZARD_FINISHED event to carry the correct pointer to the last page.

Closes #12537.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-13 22:10:39 +00:00
Vadim Zeitlin
b7c31456fe Fix print format specifiers used for enum values.
Enums are ints, not longs, so use %d instead of %ld to avoid asserts under LP64
64 bit architectures.

Closes #12556.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-13 22:10:33 +00:00
Vadim Zeitlin
12f6edffd4 Don't return "false" when a pointer is needed.
Return NULL and not false from wxFileTranslationsLoader::
GetAvailableTranslations().

This is, of course, more correct and also fixes a compilation problem with
Borland, see #12558.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-13 22:10:28 +00:00
Vadim Zeitlin
20d88ec692 Move wxList::Member() to pseudo-template base list class.
Member() should be available in all list classes, not just specially crafted
list of wxObjects (wxList).

See #3616.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-10 12:48:36 +00:00
Jaakko Salli
ed8b46bba3 When wxPGProperty is un-attached from wxPropertyGrid, keep its 'default' cell references invalid/NULL (fixes #12552)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-10 09:34:29 +00:00
Jaakko Salli
b3ecee8d12 Also reset DatePicker property editor's global pointer (fixes #11787)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-10 08:32:58 +00:00
Julian Smart
32742d3d9d Compile fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-08 22:17:14 +00:00
Julian Smart
c06f56dd1a Blind fix for Mac compile problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-08 21:51:44 +00:00
Michael Wetherell
15552854db Fix for wxChm
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-08 11:16:54 +00:00
Vadim Zeitlin
b457256985 Don't use default "Error" title for wxMessageOutputBest message box.
Use the application display name as the message box title if possible andu se
"Message" rather than "Error" otherwise.

See #12548.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-07 20:57:40 +00:00
Julian Smart
8995db52f3 Don't use wxDC in header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-06 21:27:07 +00:00
Julian Smart
bec80f4f4a Eliminated redundant wxRichTextAnchoredObject class; refactored XML I/O code
so that objects can stream themselves; added a wxXmlDocument-based method
of writing XML, though this turned out to be much slower than writing directly
so the direct approach is retained and is the default (can be changed with wxRICHTEXT_USE_XMLDOCUMENT_OUTPUT).
Loading and saving new attributes implemented. Added custom properties to objects.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-06 20:22:03 +00:00
Vadim Zeitlin
93f6e00d7b Destroy the in-place edit control in wxGenericListCtrl dtor.
If the in-place text control was still alive when wxGenericListCtrl was
destroyed, it resulted in asserts from wxWindow dtor about child windows still
being alive, so explicitly destroy it from wxListMainWindow dtor.

As this required a slightly different behaviour from wxListTextCtrlWrapper::
EndEdit(), replace its bool argument with an enum one which can take more than
2 values. Not using bool values when calling it also made the code more clear.

Finally, added a unit test verifying that the in-place control is indeed
destroyed correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-05 13:38:05 +00:00
Julian Smart
f13d956e6a Removed test code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-05 06:33:34 +00:00
Julian Smart
30f6914ba1 Added a flag suppressing node content conversion when saving to XML.
This helps improve the extremely poor performance of XML saving if
you have, for example, hex data that does not need conversion.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-05 06:17:22 +00:00
Jouk Jansen
16c6c036d3 Update OpenVMS Makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-04 12:20:45 +00:00
Julian Smart
2477747881 wxRTC no longer derives from wxTextCtrlBase; added wxRichTextAttr deriving from wxTextAttr
with CSS-like attributes for future developments; removed image-specific attributes object


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-04 08:37:31 +00:00
Julian Smart
1d12c6e2be Avoid id clashes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-04 08:10:27 +00:00
Vadim Zeitlin
97e07b1cd9 Fix wchar_t with int comparisons for Apple gcc.
Apple gcc refuses to compile comparisons between wchar_t and int for some
reason, so add explicit casts to int to make it work there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-03 22:24:03 +00:00
Vadim Zeitlin
864299f799 Fix gcc warnings about comparing iterators with NULL in STL build.
Iterators are not pointers and shouldn't be compared to NULL.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-03 22:23:51 +00:00
Vadim Zeitlin
b7ff06ad15 Fix use of DELETE and BACKSPACE when starting editing grid with them.
Using the current insertion position in wxGridCellTextEditor::StartingKey()
didn't make much sense, it was always 0 -- so DELETE worked as expected and
did delete the first character of the cell but BACKSPACE never did anything.

Just always delete the first character when DELETE is used and always delete
the last one when BACKSPACE is.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-03 17:34:22 +00:00
Vadim Zeitlin
6a1e8a634a Fix non-ASCII key handling in wxGrid editors.
Use wxKeyEvent::GetUnicodeKey() correctly, there is no need to guess about
what does it return now that its correct behaviour is documented and
implemented. Simply check if it returns WXK_NONE to check for non-characters.

Also use WXK_START instead of hard-coded 255 when checking GetKeyCode()
result.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-03 17:34:15 +00:00