Commit Graph

65326 Commits

Author SHA1 Message Date
Vadim Zeitlin
f7b0ec38dd Remove useless wxAuiMDIClientWindow::SetSelection()
It just called the base class version, so it's better to not have it at
all.
2018-05-13 02:45:40 +02:00
Vadim Zeitlin
c756d18bc4 Allow using AUI-based MDI classes in the docview sample
For testing, allow using wxAuiMDI{Parent,Child}Frame in the sample.

This change also shows that the AUI classes are now sufficiently
compatible with the standard ones for switching to them to be almost
trivial.
2018-05-13 02:45:40 +02:00
Vadim Zeitlin
6cdd564237 Redo layout from wxAuiMDIChildFrame::Show()
This makes using this class more similar to using wxMDIChildFrame and
fixes the initial appearance of docview sample child windows in AUI
mode.
2018-05-13 02:45:40 +02:00
Vadim Zeitlin
2e5554019a Allow calling wxAuiMDIChildFrame::Show()
Even if it doesn't do anything, allow calling this method even after
creating the child frame for consistency with the normal MDI
implementation.
2018-05-13 02:45:40 +02:00
Vadim Zeitlin
24e06054fc Remove wxAuiMDIChildFrame::DoShow()
This method is confusing as it's not used for implementing Show(), which
is the usual naming convention when both Foo() and DoFoo() members
exist, and gives no clear indication about what does it really do.

Just call wxWindow::Show() directly instead.

Also create the wxAuiMDIChildFrame window hidden from the beginning,
instead of creating it in a visible state and then hiding it.
2018-05-13 02:45:40 +02:00
Vadim Zeitlin
ceee16c01a Remove sizing hacks from wxAuiMDIChildFrame
There doesn't seem to be any reason for overriding DoSetSize() and
DoMoveWindow(), so just stop doing it.

Notice that this was already changed for wxGTK many years ago in
a94476deb9 and there is no reason to use
different code wxGTK and other ports.
2018-05-13 02:44:18 +02:00
Vadim Zeitlin
c1bcf16eb9 Derive wxAuiMDIChildFrame from wxFrame for consistency
Make it easier to use AUI-based MDI child frame class instead of
normal wxMDIChildFrame itself by inheriting it from the same base class.

This also allows to get rid of duplicate stubs in wxAuiMDIChildFrame.
2018-05-13 02:41:58 +02:00
Vadim Zeitlin
826ab19ac9 Add missing wxUSE_MDI check to wxAUI MDI header
The implementation file already checked for both wxUSE_AUI && wxUSE_MDI,
but wx/aui/tabmdi.h didn't check the value of the latter -- do it now.
2018-05-13 02:41:58 +02:00
Vadim Zeitlin
ff023ef6b3 Don't show docview sample --mdi option in help if it's not supported
No real changes, just avoid describing the "--mdi" option in the help
message if it's not really supported in this library build.
2018-05-13 02:41:59 +02:00
Vadim Zeitlin
f53923dd31 Left-align wxSpinCtrl contents by default
The default alignment of the text in wxSpinCtrl was changed to "right"
in 7e4952db83, which added alignment
support (see #10621), but this made it inconsistent with the native
up-down control under MSW and, perhaps more importantly, with spin
controls created from XRC as the default style was never modified there
and did not include wxALIGN_RIGHT.

Resolve this inconsistency by reverting to left-aligning the text by
default.
2018-05-12 19:14:00 +02:00
Frédéric Bron
232d123f8d Remove the separator static line in wxGenericCollapsiblePane
The horizontal static line was added to separate the button from the
child window when visible, but this didn't seem very useful and looked
bad and was inconsistent with the native GTK+ implementation as well as
similar controls commonly used under MSW (wxOSX already disabled the
static line use).

Just remove it to make things simpler and better looking.

Closes https://github.com/wxWidgets/wxWidgets/pull/804
2018-05-12 19:10:28 +02:00
Paul Cornett
98cd5a6b20 Use wxString::clear() instead of assignment to wxEmptyString 2018-05-11 10:52:56 -07:00
Paul Cornett
7d039a2e0b Fix potential memory leak
See #15991
2018-05-11 10:47:21 -07:00
Paul Cornett
ff215a4349 Use wxString::empty() instead of comparing to wxEmptyString 2018-05-11 10:22:12 -07:00
Paul Cornett
b3d7a631c0 More use of wxFALLTHROUGH 2018-05-11 10:19:47 -07:00
Paul Cornett
9bfa890480 Build fixes for __WXUNIVERSAL__==1 2018-05-11 10:16:49 -07:00
Paul Cornett
220200ce07 Add missing break statement 2018-05-11 10:13:35 -07:00
Robin Dunn
ecc3de3f04 Merge pull request #802 from RobinD42/fix-tabmdi-close
Ensure the selection is in range.
2018-05-08 17:46:09 -07:00
Vadim Zeitlin
69e33a6657 Yet another fix for not existing event loop under Mac
The previous commit fixed never exiting the event loop in GUI Mac modal
loops but at the price of breaking it for Mac console applications as
Dispatch() never returns for them if there are no more events.

Finally, just don't call Dispatch() at all here, just as it wasn't done
until 9caa3d5d8e and keep only the changes
sufficient for dispatching the pending events and making CallAfter()
work in console applications.
2018-05-09 02:38:30 +02:00
Vadim Zeitlin
e2609f3c21 Fix recently broken infinite event loop under Mac
Changes of 9caa3d5d8e resulted in never
exiting modal event loops as wxCFEventLoop::Pending() always returns
true. While this is certainly wrong on its own, for now just avoid using
it and check the return value of Dispatch() instead to allow the modal
event loops to terminate again.
2018-05-09 00:45:30 +02:00
Vadim Zeitlin
e3e4a88423 Correct the return value of wxDataViewTreeCtrl::GetNthChild()
Wrong pointer was used to initialize wxDataViewItem (apparently since
always, i.e. this function could never have been used successfully...).

Closes #18132.
2018-05-08 23:59:22 +02:00
Vadim Zeitlin
9caa3d5d8e Fix dispatching pending events in console applications under Mac
Apply parts of the changes of 34c5aaa769
done in the common code to Mac-specific wxCFEventLoop too.

This is not ideal as we really should reuse the same common code here,
but for now it's better than nothing as previously pending events were
just not dispatched at all in console Mac applications, meaning that
CallAfter() from worker threads never executed.
2018-05-08 01:14:03 +02:00
Vadim Zeitlin
1680c28284 Fix alignment for multiline buttons using custom colours in wxMSW
Owner-drawn buttons with multiline labels were always centered.

Fix this by handling their alignment explicitly when drawing them, as
::DrawText() doesn't do it for multiline strings.

Closes #18131.
2018-05-07 13:48:43 +02:00
Paul Cornett
41a920cf72 Improve accuracy of destination coordinates in generic StretchBlit() implementation
It's not possible to map the scaled integer coordinates to the exact
destination location. The inaccuracy can be (mostly) avoided by shifting
the DC origin instead. Also fixes handling of non-zero logical origin.

See #18129
2018-05-05 11:45:54 -07:00
Robin Dunn
c2fcc14bac Ensure the selection is in range.
There are some cases when in the process of closing wxAuiMDIChildFrames that this method will be called while the current selection is out of range.
2018-05-02 19:12:41 -07:00
Vadim Zeitlin
2e8516c5fe Merge branch 'MoveOutsideShortInterval' of https://github.com/catalinr/wxWidgets
Allow using positions in the entire int range for window positions under
MSW, and not just those in (slightly less than) short range, that are
supported by the native API.

Closes #4262.

Closes https://github.com/wxWidgets/wxWidgets/pull/779
2018-05-02 23:19:11 +02:00
Vadim Zeitlin
f10487f060 Fix buffer overflow in wxMSW stack walking code
VarSizedStruct buffer had a too small size in Unicode build as it forgot
to multiply the name length by sizeof(TCHAR), resulting in overwriting
memory on the stack after it when calling SymFromAddrW().

Closes #18127.
2018-05-02 22:47:48 +02:00
dos
6e093f5a84 Add wxrc.exe to the MSVS release archives
Include wxrc.exe in the release.

Also change the way checksums are calculated due to fciv tool
limitations.

Closes #18124.

Closes https://github.com/wxWidgets/wxWidgets/pull/800
2018-05-02 18:29:40 +02:00
PB
0e6b4899e0 Add space around expressions in if () statements 2018-05-02 17:50:02 +02:00
PB
8aae3c0356 Fix typos in code comment 2018-05-02 17:47:42 +02:00
Vadim Zeitlin
7fdd446cc8 Remove a reference to Info_carbon.plist
This file was removed in 5ba67c67e4 so
don't tell people to update it when changing version.
2018-05-02 16:01:36 +02:00
Vadim Zeitlin
ff06e12ceb Remove unused and outdates samples/Info.plist file
This file was added in 4d524cdd0e a long
time ago but doesn't seem to have been ever actually used for anything
and is outdated, e.g. contains LSRequiresCarbon=true, which shouldn't be
used any longer.

Remove the file itself and all references to it.
2018-05-02 16:01:02 +02:00
Tobias Taschner
183ba1cb4c Set NSPrincipalClass to wxNSApplcation for CMake builds too
This setting is important for some functionality provided by
wxNSApplcation and most importantly without the setting all samples
where only shown scaled on high DPI displays.

Notice that it was already present in src/osx/carbon/Info.plist.in which
is used for the samples in autoconf build.

Closes https://github.com/wxWidgets/wxWidgets/pull/743
2018-05-02 15:53:09 +02:00
Maarten Bent
2a5aafb274 Fix missing tool in the overflow menu of wxAuiToolBar
When determining if a tool is hidden, it takes the width (or height) of
the overflow sizer into account -- but when tools are overlapping, this
is 0. By setting and getting the minimum size of the overflow sizer, the
actual size of the overflow button can be used.

Closes #17960.

Closes https://github.com/wxWidgets/wxWidgets/pull/799
2018-05-02 15:41:56 +02:00
Maarten Bent
58a7339cb9 Show the mouse wheel axis in the text sample
This helps debugging these events generation.

Closes https://github.com/wxWidgets/wxWidgets/pull/798
2018-05-02 15:38:23 +02:00
Maarten Bent
59c37cb5eb Show correct save path when using compressed debug report
The compressed report location could be set to a different location from
the one shown in the dialog.

Closes #17176.

Closes https://github.com/wxWidgets/wxWidgets/pull/797
2018-05-02 15:36:11 +02:00
Vadim Zeitlin
390c45d1d9 Merge branch 'tlw-geom'
Improve saving/restoring TLW geometry under MSW.

See https://github.com/wxWidgets/wxWidgets/pull/795
2018-05-02 15:27:04 +02:00
Jouk
0cb7c55e93 add wxUSE_LIBLZMA definition 2018-05-02 08:13:26 +02:00
Vadim Zeitlin
9b554c0974 Avoid narrowing conversion in wxMac struct initialization
Multiplying 2 float values is promoted to double, which is then narrowed
to float when initializing CGPoint with it, resulting in errors in C++11
build.

Fix this by initializing the CGFloat variable, which doesn't uniform
initialization, to the correct value instead, as this also seems more
clear ("height" is the height at which the strike is drawn).

Closes https://github.com/wxWidgets/wxWidgets/pull/793
2018-05-01 15:10:55 +02:00
Scott Talbert
83af2a428e Fix return type of wxNumberEntryDialog::GetValue() in documentation
Closes https://github.com/wxWidgets/wxWidgets/pull/796
2018-05-01 15:02:00 +02:00
Cătălin Răceanu
bb29b87a45 Add test case for window positioning beyond Short limit 2018-04-30 00:58:39 +03:00
Vadim Zeitlin
6ae7aa4443 Fix saving/restoring window position for maximized windows
Save both the normal window geometry and its maximized position instead
of saving just its current position. This fixes restoring geometry of
the maximized windows as previously they were always restored on the
primary monitor, as their original position was lost.

Use the native {Get,Set}WindowPlacement() functions for a MSW-specific
wxTLWGeometry implementation to achieve this.

Closes #16335.
2018-04-29 20:35:44 +02:00
Vadim Zeitlin
d97c055514 Introduce platform-dependent wxTLWGeometry class
Previously, TLW geometry was implicitly defined as just its position,
size and the maximized/iconized state by wxPersistentTLW code. This
already wasn't enough for wxGTK which added the decoration sizes to the
geometry being saved/restored, but this had to be done using conditional
compilation, which was not ideal. And it didn't allow using an entirely
different geometry representation as will be done for wxMSW soon.

Change the code to use wxTLWGeometry class defining the geometry, as
used by the current port, explicitly and move wxPersistentTLW logic into
it, as wxPersistentXXX classes are supposed to be very simple, which
wasn't really the case.

Also provide public SaveGeometry() and RestoreToGeometry() methods in
wxTopLevelWindow, which can be useful even to people not using
wxPersistentTLW for whatever reason.

There should be no changes in behaviour so far.
2018-04-29 19:51:10 +02:00
Vadim Zeitlin
f04a46364c Remove useless forward declaration of wxTopLevelWindowBase
This class is fully declared just below, so there is no need to
forward-declare it.
2018-04-29 19:43:22 +02:00
Paul Cornett
cec5d067e5 Avoid deferred show when TLW decoration size is already known
See https://github.com/wxWidgets/wxWidgets/pull/789
2018-04-28 16:00:03 -07:00
Scott Talbert
20a98406f0 Add missing documentation for wxNumberEntryDialog
Also explain when this dialog should be used instead of using the
usually more convenient wxGetNumberFromUser() function.

See https://github.com/wxWidgets/wxWidgets/pull/790
2018-04-25 18:26:27 +02:00
Paul Cornett
91919f4514 Fix saving/restoring TLW position on HiDPI X11 display with GTK+3
X11 frame extents need to be converted to GTK+ "logical" units
2018-04-25 09:19:18 -07:00
Cătălin Răceanu
578474526f fix window position under MSW when limited by short range 2018-04-18 20:19:45 +03:00
Vadim Zeitlin
aaa9670dd1 Apply replacement of "" with wxString() to wxSTC correctly
The changes of 8d02384792 only modified
the generated file without updating the file it was generated from and
so were lost during the next regeneration.

Back-propagate them to the correct file to prevent this from happening.

See https://github.com/wxWidgets/wxWidgets/pull/782
2018-04-18 18:29:47 +02:00
Vadim Zeitlin
03d942002d Really fix trailing spaces in the generated wxSTC file
Commit 496da2e550 removed the trailing
spaces from the generated file, but they were reintroduced whenever it
was regenerated.

Really fix this by removing the extra spaces from the script generating
the file.

See https://github.com/wxWidgets/wxWidgets/pull/787
2018-04-18 18:08:10 +02:00