Vadim Zeitlin [Mon, 23 Jan 2012 11:28:21 +0000 (11:28 +0000)]
Add wxFont ctor taking a single flags argument instead of style/weight/...
Currently this ctor just does the same thing as the existing ctors in a
different way but it will be extended to support wxFONTFLAG_STRIKETHROUGH in
the next commits.
Vadim Zeitlin [Mon, 23 Jan 2012 11:28:16 +0000 (11:28 +0000)]
Fix wxAffineMatrix2D::Translate() to multiply on the left.
The affine transform was previously multiplied by the translation matrix on
the right but this was incompatible with both the MSW version of the same
method and all the other methods of the generic version.
So multiply the transform by the translation on the left, as everywhere else.
Vadim Zeitlin [Mon, 23 Jan 2012 11:28:12 +0000 (11:28 +0000)]
Fix incorrect scroll positions used in SetScrollbars().
SetScrollbars() passed its input positions expressed in scroll units to
CalcUnscrolledPosition() which takes positions in pixels. This was definitely
wrong so don't do this and perform the conversion from scroll units to pixels
in SetScrollbars() itself for clarity instead.
It's not clear what concrete bugs, if any, does this fix as the calculated
positions are almost never used anyhow but the old code was obviously
incorrect and the new version has a chance of not being wrong so it's already
an improvement.
Vadim Zeitlin [Mon, 23 Jan 2012 11:28:01 +0000 (11:28 +0000)]
Avoid warnings about mismatched format string in wxMSW wxClipboard code.
Cast the string offsets to "unsigned" explicitly, even though they can be 64
bit (whereas unsigned is 32 bits) under Win64, the strings we operate with
here shouldn't be more than 4GiB long.
Vadim Zeitlin [Sun, 22 Jan 2012 00:58:05 +0000 (00:58 +0000)]
Create wxStaticText with correct label directly in wxTextSizerWrapper.
This is shorter and arguably more clear than doing it in two steps as we did
before and also works in wxUniv, unlike creating wxStaticText with empty label
and setting it later.
Vadim Zeitlin [Sat, 21 Jan 2012 17:03:52 +0000 (17:03 +0000)]
Fix reparenting generic wxSpinCtrl.
The existing Reparent() implementation was wrong as it reparented spin control
subwindows under the new parent but left the main window itself under the old
one. Fix this by just not overriding Reparent() at all, the inherited version
works just fine for this control.
Vadim Zeitlin [Fri, 20 Jan 2012 23:18:29 +0000 (23:18 +0000)]
Update the message catalog charset expected by the unit test.
The charset of the message catalog files changed to UTF-8 in r70411 but the
unit test still expected ISO-8859-1. Update the unit test too to make it pass
again.
Vadim Zeitlin [Fri, 20 Jan 2012 22:11:55 +0000 (22:11 +0000)]
Fix time zone in wxDateTime::UNow().
The internal wxDateTime representation is in the UTC, so use
wxGetUTCTimeMillis() in UNow(), using wxGetLocalTimeMillis() made it
inconsistent with Now() and wrong.
Vadim Zeitlin [Fri, 20 Jan 2012 22:11:51 +0000 (22:11 +0000)]
Ensure wxCharTypeBuffer data is NUL-terminated after extend() call.
As wxCharTypeBuffer ctor taking the length NUL-terminates the buffer, it may
be expected that extend() does the same but it did not. Do add the NUL at the
end for consistency, even though it's not really needed for the existing code
using extend() in wxWidgets itself.
Vadim Zeitlin [Fri, 20 Jan 2012 22:11:47 +0000 (22:11 +0000)]
Fix documentation of wxConfig::Read(float*) overload.
Grouping methods using "//@{" and "//@}" apparently doesn't work and
completely wrong documentation is used in this case, so document the two
overloads separately, as it's done for the other methods.
Vadim Zeitlin [Fri, 20 Jan 2012 22:11:44 +0000 (22:11 +0000)]
Add error checking when retrieving client data from wxMSW wxListBox.
Verify if retrieving client data failed which might happen if the index
is invalid for example. This makes code more robust and also consistent with
wxChoice.
Vadim Zeitlin [Fri, 20 Jan 2012 22:11:39 +0000 (22:11 +0000)]
Check that an error really occurred when getting wxChoice data in wxMSW.
We could wrongly return NULL client data if -1 was stored as client data in
wxChoice because it's the same value as CB_ERR and we always interpreted it as
an error, while it may not be one if GetLastError() doesn't indicate it.
Vadim Zeitlin [Fri, 20 Jan 2012 22:11:32 +0000 (22:11 +0000)]
Destroy modeless wxGenericAboutDialog when it is closed.
Don't leave the wxGenericAboutDialog object alive when non-modal about dialog
(as can be used under GTK and OS X) is closed. This is wasteful and, worse,
resulted in the program not exiting after such a dialog was shown because it
counted as a remaining open top level window.
This also fixes the same bug in wxGTK when using GTK+ 2.4.
MS and Apple guidelines mention ellipses should generally be used when a command needs additional information from the user before the operation can execute. This is not the case for showing an about dialog so the ellipses have been removed.
Vadim Zeitlin [Fri, 20 Jan 2012 12:30:08 +0000 (12:30 +0000)]
Try to avoid truncation of the message in wxMSW wxMessageDialog.
Use (documented but undefined) TDF_SIZE_TO_CONTENT flag under Windows Vista/7
to reduce the chance that Windows truncates or ellipsizes the message text if
it can't wrap it.
Truncation can still happen for very long words but there doesn't seem to be
any drawbacks to using TDF_SIZE_TO_CONTENT and it does avoid truncation in at
least some cases.
This also improves the situation for wxRichMessageDialog and wxProgressDialog.
Vadim Zeitlin [Wed, 18 Jan 2012 23:12:03 +0000 (23:12 +0000)]
Skip EVT_RIGHT_UP event in wxHtmlWindow if it wasn't handled.
This fixes generation of EVT_CONTEXT_MENU for mouse clicks in wxHtmlWindow
under MSW: it wasn't generated before because we always ate the right mouse
clicks.
Vadim Zeitlin [Wed, 18 Jan 2012 19:42:58 +0000 (19:42 +0000)]
Avoid needless second string conversion when adding files to memory FS.
Create the buffer holding the result of conversion instead of converting
twice, once to only get the length of the result and the second time to get
the data.
Vadim Zeitlin [Wed, 18 Jan 2012 17:26:23 +0000 (17:26 +0000)]
Don't auto-link with 3rd party libraries in DLL build using MSVC.
It's unnecessary to link with these libraries as they're already embedded
inside our DLLs and the functions from them can't be used anyhow as they're
not declared as DLL-exported in the libraries headers.
Václav Slavík [Tue, 17 Jan 2012 14:05:17 +0000 (14:05 +0000)]
Replace wxDataViewCtrl::StartEditor() with EditItem().
This is more consistent with other wxDVC methods (taking column pointer
as its argument) and other DVC-like classes where the name EditLabel()
is used for similar purposes.
The script or application in this file was used to set the file type for CodeWarrior projects on the Mac. Since that IDE is not supported anymore and OS X is moving away from file and creator types the file can be deleted.
Fixed keyboard navigation in generic tree control.
Under MSW any cursor key presses would not be handled by the generic tree control (and it would lose focus). Added the style wxWANTS_CHARS to the creation of wxGenericTreeCtrl to fix keyboard navigation.
Vadim Zeitlin [Mon, 16 Jan 2012 13:37:18 +0000 (13:37 +0000)]
Only return the requested data from generic wxListCtrl::GetItem().
For compatibility with MSW, only return the data that was requested by the
item mask from wxListCtrl::GetItem(). This harmonizes the behaviour between
all ports.
Steve Lamerton [Sun, 15 Jan 2012 19:19:00 +0000 (19:19 +0000)]
Implement IDocHostUIHandler in wxWebViewIE to improve the default behaviour. Disable built-in keyboard handlers, remove the 3D border and enable themes.
Václav Slavík [Sun, 15 Jan 2012 17:45:14 +0000 (17:45 +0000)]
Don't crash if XRC file contains '_' at the end of a string.
Parsing code for translating between '_' and '&' didn't properly handle
the case when the input was malformed and '_' wasn't followed by either
another '_' or another character. Added a check to guard against this.
Vadim Zeitlin [Sun, 15 Jan 2012 14:46:41 +0000 (14:46 +0000)]
Remove wxMGL port.
The company behind MGL toolkit (SciTech) doesn't exist since several years and
this port is not used by anybody, so remove it to ease maintenance burden.
Vadim Zeitlin [Sun, 15 Jan 2012 13:41:17 +0000 (13:41 +0000)]
Implement wxMenuBar::EnableTop() for wxMSW and wxGTK.
This method was only available in wxUniv before and just always returned true
in the other ports. Implement it for wxMSW and wxGTK too now and document it.
Also add a unit test.
Vadim Zeitlin [Sun, 15 Jan 2012 01:05:28 +0000 (01:05 +0000)]
Remove Palm OS port.
The platform targeted by this port doesn't exist any more and the port never
achieved really working state so remove the code to avoid having to maintain
it.
Vadim Zeitlin [Sat, 14 Jan 2012 17:57:11 +0000 (17:57 +0000)]
Fix the size of the font returned from wxTextCtrl::GetStyle() in wxMSW.
Due to a typo the size was expressed in 1/10th of a point and not in points.
Fix this and add a unit test checking that GetStyle() returns the same font as
was set by SetStyle().
Vadim Zeitlin [Sat, 14 Jan 2012 17:57:08 +0000 (17:57 +0000)]
Update wxNotebook selection when user changes the page in wxOSX.
wxNotebook::m_selection was only updated if the selected page was changed
programmatically but not if it was done by the user. Do update it in this case
as well, it fixes generation of the events which was broken before because of
comparison of the new selection with the incorrect current selection value in
m_selection.
Vadim Zeitlin [Fri, 13 Jan 2012 11:36:33 +0000 (11:36 +0000)]
Call tzset() for all compilers before using time zone variable.
Changes of r66245 shouldn't have been specific to MSVC, we must call tzset()
when using any other compiler as well, otherwise time zone information can be
initially incorrect.