Commit Graph

13442 Commits

Author SHA1 Message Date
Vadim Zeitlin
180f3c7461 Add support for bilinear resize algorithm to wxImage.
Add wxIMAGE_QUALITY_BILINEAR in addition to the existing wxIMAGE_QUALITY_BICUBIC,
it is supposed to be much faster yet yield almost the same results.

Closes #11034.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-30 21:11:37 +00:00
Vadim Zeitlin
d301c44093 Fix selection events generation in multi-select wxTreeCtrl.
Only deselect the items when the mouse is released if really necessary: add a
flag indicating when it is instead of trying to deduce it in the mouse up
handler.

Closes #11099 (thanks to Jonathan Liu).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-30 17:24:53 +00:00
Jaakko Salli
08c1613f88 Disabled top-level parent tracking by default (crashes with AUI), must now use wxPG_EX_ENABLE_TLP_TRACKING style to enable old behavior.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-29 08:09:45 +00:00
Vadim Zeitlin
d55906de77 Add A0 and A1 formats to wxPaperSize enumeration.
Closes #11083.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-24 21:42:11 +00:00
Vadim Zeitlin
345ff9c65b Allow entering minus sign in wxMSW wxSpinCtrl if needed.
Only restrict input to wxMSW wxSpinCtrl to digits only if it doesn't support
negative values, otherwise the user can't enter any negative numbers. As there
is no built in support for entering digits and minus sign only, simply allow
all characters to be used if the negative numbers must indeed be possible to
enter.

Closes #11082.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 22:48:35 +00:00
Vadim Zeitlin
0274a7973d Added wxGridSize::GetEffective{Cols,Rows}Count().
These functions return the number of columns or rows being currently used and
not 0, unlike the existing Get{Cols,Rows}(), if the corresponding number is
determined dynamically.

Closes #10254.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 22:24:48 +00:00
Vadim Zeitlin
fef6a2f1a0 No changes, just clarify a comment for WXK_XXX values.
Part of patch in #10268.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 21:39:42 +00:00
Vadim Zeitlin
4f742042b8 Make WXK_NUMPAD_TAB member of WXK_CATEGORY_TAB.
See #10268.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 21:39:32 +00:00
Jaakko Salli
0ee316821c Made wxPropertyGridHitTestResult a real class (works better that way with SWIG)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 18:38:13 +00:00
Jaakko Salli
1bfcd80c2f Removed obsolete conditional compile option wxPG_CREATE_CONTROLS_HIDDEN
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 15:34:25 +00:00
Jaakko Salli
58935d4a5c Added label editing capability into wxPropertyGrid
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 15:31:03 +00:00
Vadim Zeitlin
7a34307e24 Added wxKeyEvent::IsKeyInCategory() method.
This allows to test whether a given key belongs to the category of e.g. arrow
keys or navigation keys in a more concise and more readable manner.

Closes #10268.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 00:32:17 +00:00
Vadim Zeitlin
c0f02dab27 Fix typo in wxNewEventFunctor() comment.
Closes #11117.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 18:46:32 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Vadim Zeitlin
6e6b532c1a Rename wxRendererNative::DrawRadioButton() to DrawRadioBitmap().
This old name function conflicted with the one in wxRenderer in wxUniv and
also was misleading as this function draws only a bitmap and not the entire
wxRadioButton control.

The old workaround for the warnings about the function names conflict was ugly
and unmaintainable, as proven by the fact that wxRenderer method signature
already became different from the wxRendererNative one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-20 00:44:22 +00:00
Stefan Csomor
f66ecdc4fb simplifying native string handling, see #11061
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-18 15:30:24 +00:00
Jaakko Salli
7f3f8f1e85 Made code that uses wxArrayPGProperty more STL compliant (still can't use wxVector for it because I think there is no wx equivalent of std::sort)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-18 14:28:08 +00:00
Vadim Zeitlin
b0d58b0ea8 Fix compilation for wxUSE_LOG==0.
Move wxObject and wxFrame forward declarations so that they are accessible to
empty wxLogXXX() functions defined in wxUSE_LOG==0 case too.

Also take wxFormatString, not wxString, in these functions to avoid overload
ambiguities.

Closes #11103.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-18 01:22:57 +00:00
Vadim Zeitlin
b804f9924d Fix last error display in wxLogSysError().
After recent changes of wxLogXXX() functions into macros the last error was
overwritten by wxString::Format() called between the call to wxLogSysError()
and wxLog::CallDoLogNow() which called wxSysErrorCode() and so its original
value was lost and, unless the last error was specified explicitly, it always
came out as 0.

To fix this, call wxSysErrorCode() directly when calling wxLogSysError(). This
may be unnecessary (if the error is given explicitly) but there doesn't seem
to be any other way to fix it and the overhead of calling wxSysErrorCode()
shouldn't be that big.

Also add a unit test checking that wxLogSysError() behaves as expected.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-18 01:22:48 +00:00
Vadim Zeitlin
29a35dd5fe Don't define wxArrayPGProperty as std::vector in STL build.
wxArray::Remove() method is used on it so defining it as std::vector<> breaks
compilation in STL build. It is also insonsistent with all the other arrays in
wx none of which used "#if wxUSE_STL" around its definition.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-18 00:27:21 +00:00
Vadim Zeitlin
6bcc1145fe Cleanly separate GUI socket-related code from net library.
This fixes linking problems under Unix introduced by recent changes which
fixed previous problems which were due to files not being linked in at all.

In order to provide a clean separation between base, net and core libraries we
now use the same wxSocketManager (wxSocketFDBasedManager), defined in net
library for both console and GUI Unix applications and just use different FD
IO manager for them: the latter can be defined in base and core libraries as
it doesn't involve wxSocketImpl at all, only its base wxFDIOHandler class.

At more detailed level, these changes required:
 1. Adding the new wxFDIOManager class.
 2. Refactoring the old (and now removed) wxSocketFDIOManager to use the same
    code as wxSocketFDIOManager. This involved:
  a) Adding handler and direction parameter to RemoveInput().
  b) Storing the mask of registered events in wxFDIOHandler itself.
  c) Defining wxFDIOManagerUnix which works with wxFDIODispatcher.
 3. Changing the traits classes in Unix ports to define GetFDIOManager()
    instead of GetSocketManager().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-17 23:02:46 +00:00
Vadim Zeitlin
3327957c0f Extract wxFDIOHandler in its own header.
The files defining classes processing events on file descriptor only need this
class and not wxFDIODispatcher itself so reduce build dependencies by extracting
wxFDIOHandler in a separate header which they can include instead of the
entire fdiodispatcher.h.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61686 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-17 23:02:29 +00:00
Vadim Zeitlin
251e98cb73 Added wxFDIOHandler::IsOk() and use it with wxSocketImplUnix.
This will allow to use the base wxFDIOHandler class only in GUI-specific
network code and this remove its dependency on wxSocketImplUnix. IOW it paves
the way for a proper solution of the problem fixed by r61336 without the hack
of r61335 which results in linking problems (which went undiscovered until now
but were, in fact, always present, i.e. r61335 couldn't work).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-17 23:02:18 +00:00
Jaakko Salli
fc72fab6c6 Added multiple selection feature to wxPropertyGrid (enabled by setting wxPG_EX_MULTIPLE_SELECTION style)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-17 18:36:00 +00:00
Vadim Zeitlin
5815e95907 Use CF socket manager in GUI OS X applications.
wxSocketManagerMac was never created under OS X since wxSocket code
refactoring as wxGUIAppTraits::GetSocketManager() wasn't overridden.

Doing this required an extra nasty hack with a global variable in the base
library which is used just to pass the socket manager pointer from the net
library to the core one without creating a dependency between them but this
seems unfortunately unavoidable.

See #11030.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-16 23:13:55 +00:00
Vadim Zeitlin
4f260c9c68 Virtualize wxSocketImpl creation by routing it via wxSocketManager.
This is necessary to create different kinds of sockets for the console and GUI
applications under OS X: unlike Unix which use different socket managers for
the console and GUI programs but still use the same data structures in both
cases as X11 and derived toolkits APIs are very similar, Core Foundation
sockets don't have anything in common with their console counterparts and so
we need to use different wxSocketImpl versions too.

A side effect of this commit is that now we need to force linking of
src/msw/sockmsw.cpp when using sockets: this wasn't necessary before because
it contained wxSocketImpl method definition but now that there are no more
direct dependencies on it, MSVC linker simply discards the object file unless
we force it to link with it.

Notice that this commit doesn't change anything yet, it simply refactors the
code to use wxSocketManager::CreateSocket() instead of wxSocketImpl::Create()
in preparation for the next change.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-16 23:13:45 +00:00
Jaakko Salli
5fdb635092 Fixed bug: wxPGProperty::SetName() crashed if it was called before property was added to grid (fixes #11111)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-16 15:17:50 +00:00
Vadim Zeitlin
fdf20a26db Allow customizing wxDebugReportCompress output file.
It may be useful to change the directory where it is generated to allow the
users to find it more quickly. Also allow changing the crash report base name
for completeness.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-14 00:06:03 +00:00
Vadim Zeitlin
94aff795d4 Added wxStandardPaths::MSWGetShellDir().
This function allows to get the location of Windows shell special folders not
covered by wxStandardPaths methods (yet), e.g. CSIDL_DESKTOPDIRECTORY.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-14 00:05:56 +00:00
Jaakko Salli
01b5ad3b50 Do not generate wxEVT_PG_SELECTED with direct ClearSelection() and SelectProperty() calls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-11 16:53:05 +00:00
Vadim Zeitlin
0be3080aed Use "non-negative" in assert message instead of "positive".
Closes #11059.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-10 11:18:31 +00:00
Vadim Zeitlin
4a00e77ce6 Update wxFlexGridSizer ctors to match (new) wxGridSizer ones.
Confusing wxFlexGridSizer(int cols, int vgap = 0, int hgap = 0) was removed as
well as corresponding wxGridSizer ctor overload. New ctor overloads taking gap
as wxSize were added.

See #11040.

Closes #11091.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-10 11:18:23 +00:00
Vadim Zeitlin
c5cc7fbd27 Made wxWindow::HasScrollbar() do what it says.
Added wxWindow::CanScroll() with the old HasScrollbar() meaning but changed
HasScrollbar() to check for the scrollbar existence instead of just checking
if it might exist.

Closes #10897.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-10 11:18:09 +00:00
Jaakko Salli
a6ca568ce0 Fixed wxPGProperty ctor documentation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-09 09:14:29 +00:00
Vadim Zeitlin
f0f03f3242 Don't overwrite status message when restoring it if it changed.
wxFrameBase::DoGiveHelp() could rewrite the status bar message if it was
changed while the menu was showing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-06 00:21:16 +00:00
Vadim Zeitlin
6cf6897100 Don't pop explicitly changed status messages.
Calls to SetStatusText() in between Push/PopStatusText() were simply lost
before, now the text explicitly changed by SetStatusText() is preserved by the
next call to PopStatusText().

This required adding a new virtual method, called DoUpdateStatusText(), which
is now implemented in all the derived classes instead of overriding
SetStatusText() (on the bright side, it doesn't need to do any checks already
done in the base class any more).

Also fix PushStatusText() to actually show the text being pushed at all under
wxMSW as a side effect.

And further reduce code duplication between wxStatusBarBase and the derived
classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-06 00:01:43 +00:00
Vadim Zeitlin
41d6e8b683 No changes, just removed the whitespace.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-06 00:00:32 +00:00
Vadim Zeitlin
b5a9b87e16 wxSplitterWindow mouse capture improvements and cleanup.
- Handle mouse-capture-lost event to abort dragging mode.
- Remember mouse and sash position on buttondown event and use them as
  absolute reference during dragging. Avoid delta values from one mousemove to
  the next as this may introduce a skew during dragging and especially when
  coordinate clipping occurs.
- Clear the requested sash position when dragging in live mode.
- Draw the tracker at correct coordinates - taking into account the width of
  the pen used to draw the tracker.
- The old code did not clearly distinguish between live vs. tracking mode in
  some places.

Closes #11076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-05 17:25:27 +00:00
Vadim Zeitlin
ad09ec03f2 Compilation fix for wxUSE_FILECTRL && !(wxUSE_DIRDLG || wxUSE_FILEDLG).
wxFileCtrl needs wxFileIconsTable too.

Closes #11064.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-03 20:45:07 +00:00
Vadim Zeitlin
31eacdaf44 Correct wxPATH_NORM_DOTS comment and documentation.
It doesn't prepend the current working directory, only wxPATH_NORM_ABSOLUTE does.

Closes #11035.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-02 01:03:00 +00:00
Vadim Zeitlin
7e6edd2772 Make wxGridSizer ctors more consistent.
The old and confusing wxGridSizer(int cols, int vgap = 0, int hgap = 0) is removed and replaced with wxGridSizer(int cols, int vgap, int hgap).

New ctor overloads using wxSize for the gap parameter added.

Closes #11040.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-02 00:48:58 +00:00
Vadim Zeitlin
4f671eebc9 Add checks of wxGridSizer::Set{Cols,Rows}() arguments.
Number of rows or columns must be positive (see #11040).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-02 00:48:49 +00:00
Václav Slavík
d368860323 compilation fix: only one wxInitialize form may have default argument values. It doesn't make sense to specify only argc>0, so removed default values and added default wxInitializer ctor.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-31 18:48:34 +00:00
Vadim Zeitlin
c6d61e6047 Export public wxDelegateTheme class.
This class is supposed to be public but wasn't accessible in shared library
build as it didn't have public visibility.

Closes #11051.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-31 13:38:21 +00:00
Vadim Zeitlin
77497ea37e Don't test whether wxTopLevelWindowNative is defined.
It seems to be defined for all ports now so there is no need to check whether it is.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-31 12:17:12 +00:00
Vadim Zeitlin
49899527ff Use base class ctors in wxTopLevelWindow.
This avoids the second call to Init() already called by wxTopLevelWindowNative.

Closes #11054.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-31 12:17:05 +00:00
Václav Slavík
f380e251aa added wxInitialize() overload taking char**, to make use from main() easier
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-30 07:43:10 +00:00
Vadim Zeitlin
704006b381 Allow setting long version field in About dialog.
Long version is constructed by concatenating "Version " with the short version but can be overridden for the platforms which use it (currently MSW and OS X).

Closes 11027.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-25 22:53:23 +00:00
Vadim Zeitlin
c82c5274f2 Move #error for non-MSVC to the top of file.
This allows to reduce indentation of the rest of it and avoid a very long #if...#else.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-25 22:26:15 +00:00
Vadim Zeitlin
ad73320555 Add support for stc library.
Closes #11025.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-25 22:26:06 +00:00