Commit Graph

32832 Commits

Author SHA1 Message Date
Vadim Zeitlin
050fabe3b9 Add wxFD_NO_FOLLOW style for wxFileDialog.
This style tells the dialog to return the paths of the link being selected
without dereferencing it.

Currently only implemented under wxMSW as the links are not dereferenced by
default in wxGTK anyhow. But we may want to change this and implement it there
too for consistency in the future.

Closes #15429.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-05 16:29:46 +00:00
Vadim Zeitlin
211b166182 Another compilation fix for wxUniv/MSW build.
This should have been part of r76077, see #16039.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-05 16:29:40 +00:00
Vadim Zeitlin
d14f35fd94 Fix initializing bitmaps from DIB in wxMSW code.
Don't call wxDIB::CreatePalette() on an invalid (because its handle had been
detached from it) DIB object.

Also add some comments to explain this code a bit better.

Closes #16045.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-04 23:57:56 +00:00
Vadim Zeitlin
32bf537043 Fix bug in vertical toolbar size calculation in wxMSW.
Correct the changes of the r76035 to avoid using separators when calculating
the fitting width of the vertical toolbars as this doesn't always work
correctly.

Closes #3788.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-04 14:20:28 +00:00
Vadim Zeitlin
e2fe8927cc Don't accept data in unsupported format in wxMSW dnd code.
We wrongly pretended to accept the data in formats which we didn't actually
accept and showed misleading cursors to the user.

Fix this by partially reverting some of the changes of r72668 (see #14697).

Closes #16042.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-04 14:07:48 +00:00
Vadim Zeitlin
a46fbf1bcd Compilation fix for wxUniv/MSW in wxTLW code dealing with menus.
The code used by WM_INITMENUPOPUP and WM_EXITMENULOOP handlers shouldn't be
used in wxUniv build as it's not used there anyhow and doesn't even compile.

Closes #16039.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-04 14:07:43 +00:00
Paul Cornett
e702fd5043 fix for wxMiniFrame titlebar appearing blank
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 21:55:26 +00:00
Paul Cornett
9ba16f907a for GTK3, draw odd-width lines as a sharp, n-pixel wide line, rather than a fuzzy n+1-pixel wide line
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76062 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 18:58:16 +00:00
Vadim Zeitlin
f740cc3881 Refactor YieldFor() to avoid code duplication among the ports.
Don't repeat the same code in all the ports, move it to the common base class
and add a new virtual DoYieldFor() for the really port-specific code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 18:58:00 +00:00
Vadim Zeitlin
632c106cd5 Don't dispatch pending events from selective YieldFor().
Pending events list can contain events from all kinds and dispatching them
from YieldFor() called to dispatch the events of some particular kind only
(e.g. to redraw the window) is unexpected and wrong, e.g. it breaks some uses
of wxProgressDialog, see #15799.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 18:27:51 +00:00
Vadim Zeitlin
2eb5e8189e Fix off by 1 error in buffer size in wxOSX wxDropTarget code.
The size of the buffer used for the data currently needs to include an extra
byte for the trailing NUL. This is wrong, as it means that GetDataSize() and
GetDataHere() behaviour is not consistent, but at least avoid overrunning the
buffer for now.

Also use wxCharBuffer instead of raw char array to make the code safer (both
because it releases the memory automatically and because it also adds an extra
byte for the trailing NUL automatically as well, making such bugs impossible).

See #15914.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 15:51:53 +00:00
Vadim Zeitlin
1d1ccf9e99 Implement support for wxGA_VERTICAL style in wxOSX.
Rotate the native control to make it look correct in vertical orientation.

Closes #15682.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 15:51:48 +00:00
Vadim Zeitlin
6c336e4d9f Fix harmless signed/unsigned comparison warning in wxOSX wxJoystick.
A better fix would probably be to make wxJoystick::GetNumberAxes() return an
unsigned value.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 15:51:42 +00:00
Vadim Zeitlin
4e89786483 Remove redundant comparison of unsigned value with 0.
This is always true and so is unnecessary.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 15:51:38 +00:00
Vadim Zeitlin
b520eeab16 Don't crash in wxOSX wxDataViewChoiceRenderer if selection was cancelled.
Check for the index validity and ignore the value of -1 as it is passed if the
selection in the popup was cancelled.

Closes #16017.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 15:51:28 +00:00
Vadim Zeitlin
4c152f466f Fix setting the label for already existing menu items with bitmaps in wxMSW.
Do update the label at Windows level if we don't use MF_OWNERDRAW style,
checking for IsOwnerDrawn() is wrong because the flag it tests may be set even
if the item is not really owner drawn from Windows point of view.

This is a mess and setting the bitmap for the existing items is still broken,
but at least setting the label works now.

See #9388.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 13:34:14 +00:00
Vadim Zeitlin
279bf9e545 Fix loading of top to bottom BMP files in wxMSW wxBitmap.
The native LoadImage() function used by wxBMPFileHandler only supports the
standard bottom to top BMPs, fall back to our own implementation in wxImage
wxBMPHandler if it fails to also support the top to bottom ones.

Closes #13650.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-02 13:34:09 +00:00
Stefan Csomor
a0e915acb1 using a lazy translation hash map for conversion between user friendly names and postscript names, so that we get only one warning per font family. The only way to completely get rid of this would be to pre-populate the map during startup which would mean to completely iterate through all installed fonts, so it's a compromise. see #15999
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-01 16:48:58 +00:00
Vadim Zeitlin
b2b49c32ec Fix calculating the size of vertical toolbar in wxMSW.
Use the width of the largest toolbar item as the toolbar width, not the width
of the first one. The implicit assumption that all items had the same width
was wrong and resulted in items wider than the first one being truncated.

Closes #3788.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-28 23:40:22 +00:00
Vadim Zeitlin
ae4b084e77 Allow passing NULL buffer to wx{,F}File::{Read,Write} when count==0.
If the count of bytes to read or write is 0, the buffer pointer value
shouldn't matter as it's not used at all anyhow, so relax the assert and allow
it to be NULL in this case.

Closes #16018.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-27 15:46:36 +00:00
Vadim Zeitlin
d5216a4afc Fix Intel compiler warnings about hiding member variables.
Rename method parameters to avoid conflicts with member variables names.

Closes #15971.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-27 15:46:32 +00:00
Václav Slavík
c7972da951 Be more permissive when validating format string arguments.
Previously, the code would assert if the caller passed too many
arguments to wxPrintf() or other printf-like functions. But that can
happen legitimately in translations: in some languages such as Hebrew,
using "1" (i.e. "%d") in the singular feels unnatural and it's better to
use the word "one" and left the variadic argument unused.

Relax the check not to assert in this case. This is consistent with the
standard library and other implementations. Notice that gettext's msgfmt
doesn't complain about this case either in the specific case of singular
forms.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-27 15:24:21 +00:00
Julian Smart
9adba53251 Paragraph and image layout fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-27 15:15:18 +00:00
Julian Smart
f631f732af Corrections to attribute manipulation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-27 10:03:53 +00:00
Paul Cornett
70ef1e192d Index: src/generic/graphicc.cpp
===================================================================
--- src/generic/graphicc.cpp	(revision 76007)
+++ src/generic/graphicc.cpp	(working copy)
@@ -1569,12 +1569,13 @@
             {
                 const wxUint32 argb = *src++;
 
-                *alpha++ = (argb & 0xff000000) >> 24;
+                const unsigned char a = argb >> 24;
+                *alpha++ = a;
 
                 // Copy the RGB data undoing the pre-multiplication.
-                *dst++ = Unpremultiply(*alpha, (argb & 0x00ff0000) >> 16);
-                *dst++ = Unpremultiply(*alpha, (argb & 0x0000ff00) >>  8);
-                *dst++ = Unpremultiply(*alpha, (argb & 0x000000ff));
+                *dst++ = Unpremultiply(a, argb >> 16);
+                *dst++ = Unpremultiply(a, argb >>  8);
+                *dst++ = Unpremultiply(a, argb);
             }
 
             src = rowStart + stride;


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-25 17:38:34 +00:00
Vadim Zeitlin
b1273c0d8a Fix wxGenericTreeCtrl::ScrollTo() for all ports, not just wxOSX.
When scrolling down, make the item being scrolled into view completely visible
instead of just showing its top part.

The fix was already used for wxOSX but not for the other ports for some
reason, do use it everywhere as this code is generic and behaves in the same
way in all ports.

Also fix the wrong comments about scrolling direction.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-25 17:26:57 +00:00
Vadim Zeitlin
a2d22f8b93 Fix font size when using wxGraphicsContext with wxPrinterDC in wxMSW.
Use pixel size which is scaled correctly by GDI+ itself instead of the size in
points which is currently not scaled correctly by wx.

Closes #3566.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-25 17:26:48 +00:00
Vadim Zeitlin
779af88f43 Fix loading of bitmap with non-pre-multiplied alpha in wxMSW.
Detect when the bitmap file doesn't have pre-multiplied alpha and pre-multiply
it ourselves when loading it in this case.

Closes #12762.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-24 20:55:00 +00:00
Vadim Zeitlin
f88fbcc2b3 Add helper Set32bppHDIB() method to wxMSW wxBitmapRefData.
No real changes, just add a helper to allow replacing the HBITMAP stored in
wxBitmapRefData without changing anything else, this is going to be used in
another place soon.

See #12762.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76006 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-24 20:54:54 +00:00
Stefan Csomor
bd45a79a99 using old code for carbon only, new code for cocoa, fixing doubly apply flip of y axis
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-24 08:17:15 +00:00
Stefan Csomor
c8b105a5f5 add fix for 32 bit builds, also when wx is drawing CGContextRef is always flipped
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75998 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-24 08:10:26 +00:00
Paul Cornett
5c32565ef1 add support for wxDD_DIR_MUST_EXIST, closes #16002
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-24 06:44:49 +00:00
Paul Cornett
42f0d1c020 native GTK3 implementation for DrawSash()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-24 01:00:24 +00:00
Stefan Csomor
64503e36f9 new DrawIcon implementation, turned off by default
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-23 19:14:49 +00:00
Stefan Csomor
d692ea1c0e adding NSImage support to wxIcon on OSX, as IconRefs are on their way out, and performance under 10.9 is suffering
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-23 19:11:31 +00:00
Stefan Csomor
21aa2122f4 make sure a frozen control calls a native 'thaw' on the tlw during destruction, otherwise tlws might end up unresponsive, see #16011
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-23 19:02:58 +00:00
Vadim Zeitlin
332952a18c Always initialize values returned from wxGDDC::GetChar{Width,Height}().
Don't return garbage in case of error.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 22:40:03 +00:00
Vadim Zeitlin
25a03f93a5 Improve parameter validation in wxStream code.
Replace wxASSERT_MSG()s with wxCHECK_MSG()s to ensure that we don't crash even
if we are passed a NULL pointer, saying "Warning: Null pointer is about to be
used" and crashing just isn't very useful in the grand scheme of things.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 22:40:00 +00:00
Vadim Zeitlin
663bbf892b Remove confusing delete from wxIdRangeManager dtor.
The singleton dtor shouldn't delete the global singleton object, if this were
ever really possible, it would result in an infinite recursion. And even
though it was not (because ms_instance was reset to NULL before destroying the
object pointed by it), this delete was still confusing and unnecessary, so
remove it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 22:39:56 +00:00
Vadim Zeitlin
b905bae91c Fix harmless warnings about unused global variables.
Don't define variables that we never use to fix clang warnings about them.

See #15915.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75986 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 22:39:48 +00:00
Vadim Zeitlin
a2a846e473 Allow customizing bitmap handling in wxSVGFileDC.
Provide a built-in alternative for using external files for the bitmaps in
SVG: allow embedding them inside the SVG itself using "data:" URI.

And also allow to define custom handlers to make the behaviour even more
flexible.

Closes #15968.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 17:26:27 +00:00
Vadim Zeitlin
c59b815f2c Fix several rounding problems with float values in wxPropertyGrid.
Loss of precision when converting floating point numbers to text and back
could result in several problems, notably comparing a valid value with the
minimum could fail after a round trip through wxSpinCtrl.

Fix this by using a specialization of NumericValidation() handling floating
point values specially and correctly.

Closes #15625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 14:54:54 +00:00
Vadim Zeitlin
4ec4dcd3f5 Use symbolic attributes names in wxPropertyGrid code.
No real changes, just use constants instead of hardcoding their values.

See #15625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 14:54:49 +00:00
Vadim Zeitlin
d183babc8d Allow retrieving wxPG_FLOAT_PRECISION and not just setting it.
It was possible to call SetAttribute() to change this attribute value but not
to get it back. Override DoGetAttribute() to also allow the latter.

See #15625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 14:54:44 +00:00
Vadim Zeitlin
876859fcb7 Expose ScintillaWX DoDragEnter() and DoDragLeave() methods.
These methods are needed to allow implementing alternative wxDropTargets, in
addition to the already public DoDragOver().

Closes #16010.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 14:54:39 +00:00
Vadim Zeitlin
b1a92006b9 Fix memory leak when not finishing iteration started by wxFindFirstFile().
Memory allocated by wxFindFirstFile() was only freed when no more files could
be found by wxFindNextFile(), resulting in a memory leak if the iteration was
never finished.

Closes #4631.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75975 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 14:54:24 +00:00
Vadim Zeitlin
1911811fe6 Fix wxOSX compilation error after r75956.
wxScopedArray::get() needs to be explicitly called to access the array
contents as a pointer.

Closes #16015.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 14:14:32 +00:00
Stefan Csomor
633b5c691b make sure a frozen control calls a native 'thaw' on the tlw during destruction, otherwise tlws might end up unresponsive, see #16011
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-21 19:05:22 +00:00
Vadim Zeitlin
5ac26f43bd Fix memory leak in wxRibbonToolBar in case of error.
Use wxScopedPtr to ensure the tool is not leaked, even if we fail to insert
it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-21 00:51:58 +00:00
Vadim Zeitlin
5e204ab52e Fix uninitialized variable use in wxPropertyGrid code.
wxPGProperty::GetItemAtY() uses its input/output "nextItem" parameter, so it
must be initialized before calling it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-21 00:51:55 +00:00