Commit Graph

251 Commits

Author SHA1 Message Date
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
af01ef1bb0 Make default wxSizer border DPI-aware.
Scale the (still hard-coded) border in pixels by the content scale factor for
the platforms where this needs to be done, i.e. not wxGTK nor wxOSX where the
underlying toolkit already does it.
2015-04-23 19:18:10 +02:00
Vadim Zeitlin
58114f22c3 Detect the use of incompatible flags for wxGridSizer too.
Complain if wxEXPAND is combined with both horizontal and vertical alignment
flags, as this doesn't make sense and, moreover, the behaviour has changed
since the last commit: now wxEXPAND is ignored instead of overriding the
alignment flags if they are combined.
2015-04-08 23:35:19 +02:00
Vadim Zeitlin
9aaa38c7c8 Make it possible to combine wxEXPAND and alignment in wxGridSizer.
Allow overriding wxEXPAND effect in one of the directions by specifying
wxALIGN_{RIGHT,BOTTOM} or wxALIGN_CENTRE_{HORIZONTAL,VERTICAL} together with
it (unfortunately this doesn't work for wxALIGN_{LEFT,TOP} as their value is 0
and so their presence in flags can't be detected).
2015-04-08 23:35:19 +02:00
Vadim Zeitlin
78b98bf00c Validate wxBoxSizer flags instead of silently ignoring invalid combinations.
Detect using flags corresponding to the major sizer direction (which doesn't
make sense as only the proportion governs the behaviour in this direction) and
also combinations of alignment flags with wxEXPAND.
2015-04-08 23:35:19 +02:00
Vadim Zeitlin
636d08323f Assert if incompatible sizer flags are used.
We can't check for all the invalid combinations, but at least check for
wxALIGN_CENTER_HORIZONTAL+wxALIGN_RIGHT and wxALIGN_CENTER_VERTICAL+
wxALIGN_BOTTOM which never make sense and can be detected.
2015-04-08 23:35:18 +02:00
Vadim Zeitlin
b5c18cfec4 Avoid unused variable warnings in !wxDEBUG_LEVEL builds.
Don't define a constant which is only used inside wxASSERT() at all if debug
checks are disabled.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:32:10 +00:00
Stefan Csomor
a5d8826def removing extraneous parentheses
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-14 16:36:58 +00:00
Vadim Zeitlin
f1aac9d707 Don't delete child controls when deleting wxStaticBoxSizer.
This is an incompatible change compared to 2.8 which can make the existing
code crash and it also goes against the usual rule that the windows are never
owned by sizers, only other windows.

Closes #15698.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-18 15:08:49 +00:00
Paul Cornett
967a94c91a remove WXWIN_COMPATIBILITY_2_6, add WXWIN_COMPATIBILITY_3_0
closes #15792

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-04 20:07:33 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
ff3493c0ce Use deferred window positioning in wxWindow::Layout() in wxMSW.
Ensure that {Begin,End}RepositioningChildren() are called before/after
changing the positions of multiple children, whether we're using sizers or
constraints.

This fixes display corruption which could happen under Windows 7 and a child
resized first became bigger, pushing off the children resized later.

Closes #15214.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-31 23:21:06 +00:00
Vadim Zeitlin
49cfad613b Fix display of empty wxStaticBoxSizers.
wxStaticBoxSizer should be considered shown if its static box is shown, even
if it has no elements (or all of them are hidden).

Closes #14698.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-27 23:10:15 +00:00
Vadim Zeitlin
01936e1d49 Remove unnecessary variable assignment from wxBoxSizer::RecalcSizes().
The "delta" variable was assigned a value that was never used afterwards.

Closes #14908.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-22 02:33:44 +00:00
Vadim Zeitlin
b8885bb39b Fix handling of not fully specified min/max size in wxBoxSizer.
wxSizerItem::AddBorderToSize() added in r72344 (see #11497) didn't work
correctly as it replaced unspecified (i.e. set to -1) components of wxSize
with the small positive values that did take effect, contrary to the
intention.

Fix it to only adjust the actually set component(s) of wxSize.

Closes #14696.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-30 22:19:47 +00:00
Vadim Zeitlin
93b87dd910 Respect item max sizes in wxBoxSizer.
Don't give more space than the max size, if set, to wxBoxSizer elements.

Closes #11497.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-15 23:34:27 +00:00
Vadim Zeitlin
465de0be70 No real changes, just add wxSizerItem::AddBorderToSize() helper.
Factor out this function from GetMinSizeWithBorder() as it will be used for
max size too in a next commit.

See #11497.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-15 23:34:22 +00:00
Stefan Csomor
34f35c75c4 adding explanation for osx and fixing typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-13 17:55:19 +00:00
Vadim Zeitlin
25e3f0c69e No changes, just spelling corrections in the comments.
Closes #14275.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-05 14:09:59 +00:00
Vadim Zeitlin
b83d8f7339 Don't limit window size to (0, 0) in wxSizer if getting display size failed.
It's possible that wxDisplay::GetClientArea() returns (0, 0) size indicating
that it failed. Don't set the maximal window size to (0, 0) in this case as
this prevents the user from seeing the window at all and just don't do
anything instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-21 15:07:37 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Stefan Csomor
8591c94695 fixing support for true children of wxStaticBox with wxStaticBoxSizer under osx_cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-26 15:44:14 +00:00
Julian Smart
e723991bb0 Fixed bug #9856: wxSizer::Replace( size_t, wxSizerItem *) doesn't call SetContainingSizer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-17 09:53:06 +00:00
Julian Smart
a134e2677a Reverted for a quiet life
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-22 21:25:13 +00:00
Julian Smart
5fc6acb389 Don't pointlessly forbid calling AddGrowableRow/Col before adding items.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-22 20:43:55 +00:00
Robin Dunn
d22e07bf6c Add some asserts to ensure cols and rows are >= 0 to avoid crashes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-02 03:09:27 +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
Vadim Zeitlin
a01d6442f4 Fix button order in wxStdDialogButtonSizer in all cases under GTK.
The order of Yes/No/Cancel was recently fixed by the changes in r65346 but it
broke the order of the buttons in Ok/Cancel case. Ensure the correct order is
used in all cases now: the one described by GNOME HIG by default but different
order for the special case of Yes/No/Cancel which follows the native message
box.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-30 21:48:11 +00:00
Vadim Zeitlin
4c624eb1e5 Rewrite GTK section of wxStdDialogButtonSizer using wxSizerFlags.
Using wxSizerFlags makes the code shorter and more understandable but
otherwise there are no real changes in behaviour except for a minor fix to one
of the border which was wrong before.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-30 21:48:06 +00:00
Vadim Zeitlin
2afba7c46c Fix Yes/No/Cancel buttons order in wxGTK wxStdDialogButtonSizer.
"Yes" and "No" buttons should be positioned next to each other for consistency
with the native message box instead of separating them with the "Cancel"
button.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-18 22:48:15 +00:00
Vadim Zeitlin
4a49fa24c9 Fix harmless float to int conversion warnings in wxOSX build.
Add casts to truncate the values as the code intended anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-28 11:26:26 +00:00
Julian Smart
79b7701c0b Fix VC++ compile error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-25 13:34:16 +00:00
Vadim Zeitlin
cbc751bc56 Don't show empty sizers.
Revert the change of r44514 and do hide the empty sizers. Code relying on them
being shown/positioned should use wxRESERVE_SPACE_EVEN_IF_HIDDEN flag but
assuming it by default results in completely unexpected layouts, e.g. still
using margins around a sizer with hidden window if it contains an empty
sub-sizer.

Closes #11426.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65079 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-24 12:27:34 +00:00
Vadim Zeitlin
f27d62bf2f Modify wxBoxSizer minimal size calculations to respect the proportions.
Make wxBoxSizer minimal size big enough to not only give each item enough
space to satisfy its minimal size but also to respect the proportions among
the items by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-22 14:57:34 +00:00
Vadim Zeitlin
75738bb65b Don't enter an infinite loop if a spacer with min size of -1 is used.
Sizer layout algorithm broke down if min size of an item happened to be -1,
i.e. the same value as we use as a sentinel for indicating that the min size
hasn't been fixed yet. It doesn't make much sense for min size to be negative
in the first place but currently this can happen at least for spacers so deal
with it here by ensuring that the min size we use is positive.

Closes #11842.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-22 11:40:26 +00:00
Vadim Zeitlin
729f53d421 Fix box sizer layout algorithm to respect both proportions and min sizes.
The new version of the algorithm tries to distribute the entire space
allocated to the sizer among its children, just as the version in 2.8 did,
while still respecting minimal children sizes first and foremost. This means
that the space allocated to the item will always be at least its minimal size
if the total space is at least equal to the sum of minimal sizes of the
children but that if there is enough space, the proportions will be respected
too.

Extended the unit test to check that laying out various combinations of three
elements results in the expected results.

Closes #11311.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-18 15:07:24 +00:00
Vadim Zeitlin
a71aeb2426 Ensure that size in the minor direction of box sizer doesn't exceed the total.
This is similar to the previous commit but for the transversal direction of a
box sizer: we could give an item size larger than the size of the sizer itself
making only part of its window visible (and thus potentially making the window
unusable e.g. because the scrollbar wasn't visible at all).

Fix this by always restricting the item size in the minor direction to the
total size available and add a unit test which failed previously and passes
now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-18 15:07:19 +00:00
Vadim Zeitlin
26022721e8 Ensure that size in the major direction of box sizer doesn't exceed the total.
After fixing the problem with "growing items by negative proportion" in r56010
(which still was the correct thing to do as it fixed such indefensibly broken
behaviour as shrinking items with larger proportion by more than "smaller"
items when there was not enough space) the items in a box sizer could become
larger than the total space allocated to the sizer resulting in only parts of
them being visible.

Fix this by truncating the items to the (remaining) total size even if this
means making them less than their minimal sizes -- because there is nothing
else we can do when the total space is smaller than the sum of minimal sizes
anyhow.

Closes #10008.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-18 15:07:14 +00:00
Vadim Zeitlin
e556b61236 Add virtual wxSizer::DoInsert() to replace Insert().
This allows to avoid problems with hiding all but the overridden overloads of
Insert() in wxSizer-derived classes, see #11616, without having to explicitly
write any using statements.

Keep Insert(size_t, wxSizerItem) virtual to allow the existing code overriding
it to keep working.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:44:46 +00:00
Vadim Zeitlin
1a2df6a75b Change wxBoxSizer::AddSpacer() to only add space in sizer direction.
It used to add a spacer with the given size in both directions but this was
counter-intuitive and wasn't expected even by the original author of this code
so change it to behave more reasonably.

Closes #11197.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-15 17:05:32 +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
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
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
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
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Francesco Montorsi
2003d0037f fix placement of wxStaticBox contents also under wxMSW, when using the (new) approach (i.e. when creating wxStaticBox contents as children of the staticbox itself, instead of as siblings)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-03 22:27:48 +00:00
Francesco Montorsi
f25f6620e6 fix for placement of wxStaticBox childrens (which doesn't affect the placement of the siblings) when using wxStaticBoxSizer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-01 15:28:58 +00:00
Francesco Montorsi
9b49405777 no real change; just add the standard separator where it's missing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-21 00:05:14 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Vadim Zeitlin
997e8e2979 take into account the width of the static box label in wxStaticBoxSizer minimal size computation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-08 15:59:23 +00:00