Commit Graph

3080 Commits

Author SHA1 Message Date
Vadim Zeitlin
ea71ea1259 Check for non-null window in wxRendererNative::GetCheckBoxSize()
Instead of running normally under some platforms and crashing under MSW
(when using themes) when passing NULL to GetCheckBoxSize(), now
consistently assert and return zero size everywhere.

Closes #18241.
2018-10-11 00:01:00 +02:00
Robin Dunn
1a31420e92 Add wxACC_SELF and fix parameter name
(cherry picked from commit b75f473ea3e2ee081a4ce0038a3102fa7a000b34)
2018-10-10 10:59:32 -07:00
Vadim Zeitlin
54ef52fbd9 Merge branch 'display-funcs'
Implement all global functions in terms of wxDisplay and add
wxDisplay::GetPPI().

See https://github.com/wxWidgets/wxWidgets/pull/963
2018-10-09 16:31:54 +02:00
Vadim Zeitlin
11f80e3e34 Clarify wording of wxDataViewEvent::GetColumn() documentation
Just that the column is -1 if it's not available instead of speaking
about "event emitter" that people find confusing.
2018-10-09 15:10:11 +02:00
Vadim Zeitlin
ded2894b78 Add wxDisplay::GetPPI() to use instead of wxGetDisplayPPI()
While this is not done for all the ports yet, the new API allows
returning different PPI values for different monitors, unlike the old
(and still existing, but implemented in terms of the new one) global
function.
2018-10-08 13:04:38 +02:00
Vadim Zeitlin
e3e883bbd2 Implement wxColourDisplay() in terms of wxDisplay::GetDepth()
Get rid of another global display-related function, even though this one
only had non-trivial implementation under MSW.
2018-10-07 00:30:12 +02:00
Vadim Zeitlin
24b5e256df Add wxDisplay::GetDepth() and use it for wxDisplayDepth()
Allow getting the depth of any display, not just the primary one, even
though this is not implemented for Unix ports currently.

Mostly do this for consistency with the other display-related functions.
2018-10-07 00:30:12 +02:00
Vadim Zeitlin
1614f7337d Mention that wxDisplaySize() shouldn't be used in the new code
Prefer to use wxDisplay::GetGeometry() which works for any display, not
just the primary one.
2018-10-06 14:11:12 +02:00
Vadim Zeitlin
de840d1813 Document that wxDisplay::GetName() is only non-empty under MSW
"Not available on all platforms" was an understatement: the string
returned by this function is only non-empty under MSW.
2018-10-04 16:38:10 +02:00
Vadim Zeitlin
1d40b629a2 Remove the unused msw.display.directdraw system option
This should have been part of 16e4586527
which removed the code this option pertained to.

See #12387.
2018-09-30 15:30:53 +02:00
Vadim Zeitlin
96ecfd8c77 Provide wxPGChoices ctor, Add(), Set() overloads taking wxStrings
Allow passing an array of wxStrings in addition to an array of wxChar*
strings.
2018-09-29 17:13:00 +02:00
Vadim Zeitlin
d2e072db3c Don't use unclear ValArrItem typedef in wxPGChoices documentation
All the other methods use just "long", so use it in Add() documentation
as well instead of the rather cryptic ValArrItem.
2018-09-29 16:59:32 +02:00
Vadim Zeitlin
8bb5cb1d6e Improve wxPGChoices::Set() documentation too
Refer to Add() and use @overload rather than duplicating the
description.
2018-09-29 16:57:10 +02:00
Vadim Zeitlin
378f62bd08 Improve documentation of wxPGChoices ctor and Add() methods
Mention that the "labels" array must be NULL-terminated and that
"values" must have at least as many items, if they're provided at all.
2018-09-29 16:55:16 +02:00
Stefan Csomor
a5aa044a7b Update deprecation in docs 2018-09-24 00:11:31 +02:00
Maarten Bent
a3eeb4d0be Revert wxAuiDefaultDockArt::DrawIcon API change
Mark the function as deprecated. It should not be part of the public API. It
cannot be overridden and manually calling it has no lasting effect because
DrawCaption calls it as well.

Closes https://github.com/wxWidgets/wxWidgets/pull/943
2018-09-22 14:44:00 +02:00
Maarten Bent
7a8e314736 Fix clicking on drop down button in wxAuiToolBar on wxMSW
The code handling the mouse events assumed the drop down button with was
10px, but wxAuiMSWToolBarArt uses a different width (14px). So clicking
on the left-most 4 pixels was not registered as a drop down click.

Allow the get (and set) the width of the drop down button of the
ToolBarArt.

Increase the detection area for drop down events, because the drop down
button is drawn 1 pixel larger than the actual size.

Rename some variables where dropdown was used instead of overflow.

Closes https://github.com/wxWidgets/wxWidgets/pull/939
2018-09-20 23:23:53 +02:00
Vadim Zeitlin
6401c2e956 Merge branch 'font-fixes'
Complete support for fractional point sizes and font weights other than
light/bold.

Also harmonize wxFont API and implementation among all ports (fixing
compilation of those of them that were broken by recent changes).

See https://github.com/wxWidgets/wxWidgets/pull/919
2018-09-17 22:58:56 +02:00
Vadim Zeitlin
6cbc661179 Merge branch 'grid-corner-label'
Add wxGrid::SetCornerLabelValue().

See https://github.com/wxWidgets/wxWidgets/pull/928
2018-09-17 22:57:05 +02:00
770e0bcd16 Improve high DPI support in wxAui
Window initial/minimum/maximum sizes are now treated as logical pixels.

Furthermore, many margins and paddings are now converted using
wxWindow::FromDIP() to allow their growth in accord with screen DPI.
This places buttons on toolbars more apart on high DPI screens providing
space for easier touch operations.

Closes https://github.com/wxWidgets/wxWidgets/pull/933
2018-09-17 22:54:29 +02:00
Vadim Zeitlin
c61fc16f96 Add wxFontInfo::Style() for consistency with Weight()
This will also be useful when changing the existing code to use
wxFontInfo().
2018-09-17 15:24:41 +02:00
Vadim Zeitlin
23f2929eb4 Add wxFontInfo::Weight()
Also add not yet used wxFontInfo::GetNumericWeight().
2018-09-17 15:24:41 +02:00
Vadim Zeitlin
ff5766a8fb Move GetWeightClosestToNumericValue() to wxFontInfo too
This is similar to a recent commit which moved float to int point size
conversions to wxFontInfo and is done for the same reasons: wxFont and
wxNativeFontInfo can depend on wxFontInfo, but the converse is not true.

No real changes.
2018-09-17 15:24:41 +02:00
Vadim Zeitlin
27434db911 Add wxFontInfo ctor taking fractional font size in points
And implement support for it in the major ports.

Also add wxFontInfo::GetFractionalPointSize().
2018-09-17 15:24:41 +02:00
Vadim Zeitlin
6dd9f4208e Make converters between wxFontWeight and raw values public
These functions can be useful outside of src/common/fontcmn.cpp and,
potentially, even in the user code, so make them public methods of
wxFont.

No real changes, just add asserts verifying input argument value to
GetWeightClosestToNumericValue().
2018-09-17 15:24:40 +02:00
Vadim Zeitlin
c98879e379 Add wxFont::SetFractionalPointSize()
Changing SetPointSize() argument type from int to float wasn't 100%
backwards-compatible as it notably started resulting in warnings (from
at least MSVC) about conversions from int to float in the existing code.

To avoid these warnings and for symmetry with GetFractionalPointSize(),
add SetFractionalPointSize() taking float argument and preserve the
argument of type int in SetPointSize() for compatibility.

SetPointSize() is now just a wrapper forwarding to the more general
SetFractionalPointSize().

Notice that the other ports still remain broken, this commit only
updates the currently working wxGTK, wxMac and wxMSW.
2018-09-17 15:24:40 +02:00
Vadim Zeitlin
e05a732666 Switch to using float for point size in wxNativeFontInfo
Use float as the fundamental type for the font size and implement
wxNativeFontInfo::{Set,Get}PointSize() as wrappers around the new
{Set,Get}FractionalPointSize().

Update wxNativeFontInfo for all platforms and replace the use of its
SetPointSize() method with SetFractionalPointSize() in wxFont for the
platforms already supporting fractional point sizes (don't change the
others just yet).

Note that wxNativeFontInfo::{Get,Set}PointSize() are preserved for
backwards compatibility but shouldn't be used in any code inside the
library itself any more (again, this is not the case yet, but will be
soon).
2018-09-13 19:58:17 +02:00
PB
12c44f1c79 Make small corrections in wxTimePickerCtrl docs 2018-09-12 17:05:06 +02:00
Vadim Zeitlin
4fd80960ca Document wxGridTable::GetValueAsCustom() return value constraint
The returned pointer must be allocated on the heap as
wxGridCellDateTimeRenderer::GetString() currently deletes it.

This seems like a rather poor idea, as any internally stored values must
be cloned on each call, but it seems too dangerous to change this as it
could result in massive memory leaks in the existing code.
2018-09-11 01:38:39 +02:00
Vadim Zeitlin
08e5acedcc Centralize backwards compatibility code in wxFont
Add wxFontBase::AccountForCompatValues() and use it in all ports instead
of redoing the same comparison with wxDEFAULT in all of them.

This is done not so much to avoid the code duplication, which was
minimal anyhow, but to make the code more clear and make it easier to
remove it from all ports at once in the bright (but remote) future when
we don't need these compatibility hacks any more.

Also document that wxDEFAULT and wxNORMAL are only handled specially in
the old-style ctor taking the individual font components and not the new
one using wxFontInfo and extend the unit test to check this.
2018-09-07 03:08:42 +02:00
Pavel Kalugin
6a9dea37f7 Rename a class to restore backward compatibility
This solves backward incompatibility problem introduced in 2d8bbbe3c9.
The name of base class for grid header renderers hierarchy is restored
to be wxGridHeaderLabelsRenderer. This introduces another problem: now
wxGridCornerHeaderRenderer is derived from wxGridHeaderLabelsRenderer,
not vice versa, as it was before. But it is considered less disruptive
change, compared to base class rename.
2018-09-05 18:34:07 +03:00
Pavel Kalugin
fcae53c5b1 Add documentation for new [Get/Set]CornerLabelValue functionality 2018-09-04 21:00:47 +03:00
Vadim Zeitlin
cd915a63fa Provide an even more detailed explanation of wxWindow::Create()
Explicitly mention that it is not virtual and thus can't be overridden
by the derived class.
2018-09-04 12:44:45 +02:00
Vadim Zeitlin
8283a760bb Document wxWindow::Create() and explain why it can be useful
Somehow, this important function wasn't documented at all previously.
2018-09-03 23:25:54 +02:00
Vadim Zeitlin
967ff67459 Merge branch 'adv-merge'
Move the entire contents of wxAdv library into wxCore.

In the future, wxAdv will disappear entirely, but for now keep it as an
empty placeholder to allow the existing make/project files to work.

See https://github.com/wxWidgets/wxWidgets/pull/900
2018-09-02 15:43:02 +02:00
Stefan Csomor
4580cdb9ad Extending wxFont API & OSX Core Text Implementation (#877)
* Switch to pure Core Text Implementation, Start extended Font API

* mac fixes

* First msw implementation

* Fixing paste error

* fixing typo

* Rearranging lines to former fallthrough order

* Blind fixes for covering new abstract methods

* Blind gtk implementations

* Fixing according to travis ..

* Removing method defined in base

* formatting adaptions

* Extending the schema definition for new weights

* fixing typo, using wxRound, other fixes according to comments

* changes according to suggestions

* fixing init order, before the init of m_info was overridden by Init()

* redo

* redo

* redo

* Cleanup

Removing obsolete code snippets, proper traces for font names

* Moving common code

Only the Get/SetNumericWeight calls should now be implemented in the native part, the ‚old‘ Get/SetWeight are common code and use the numeric counterparts.

* Updating docs

* commit wa missing changes.txt

* Doc fixes

* Full stops added
2018-09-01 19:42:18 +02:00
Vadim Zeitlin
783b82913b Mention wxTL_NO_HEADER in wxTreeListCtrl documentation too
This style was documented in the global scope, but not in the class
description where it would be expected to be found.
2018-08-30 00:21:02 +02:00
Vadim Zeitlin
560d00f3cc Replace references to "adv" with "core" in classes documentation
All classes previously in "wxadv" are now in "wxcore".
2018-08-27 22:52:15 +02:00
Vadim Zeitlin
fd569842b1 Merge branch 'html-set-cell'
Make wxHTML API more flexible by allowing to operate on individual
wxHtmlContainerCell instead of only the entire HTML document text.

See https://github.com/wxWidgets/wxWidgets/pull/899
2018-08-27 02:17:10 +02:00
Vadim Zeitlin
895edcdddf Merge branch 'id-docs'
Improve documentation of window and menu item IDs.

Closes https://github.com/wxWidgets/wxWidgets/pull/890
2018-08-27 02:15:53 +02:00
Vadim Zeitlin
f9f82714db Document wxTR_LINES_AT_ROOT peculiar behaviour under MSW
Without this style, expander button is not shown for the tree item
neither by the native control, so recommend always using it.

Closes #18201.
2018-08-25 22:33:57 +02:00
Vadim Zeitlin
d09a7180e7 Make wxHtmlContainerCell ctor explicit
No real changes, just make it more difficult to misuse it accidentally.
2018-08-25 21:19:33 +02:00
Vadim Zeitlin
a59f5932df Add wxHtmlContainerCell::Detach()
This allows manipulating the HTML DOM from the outside, e.g. to detach
a header element in order to be able to repeat it on all pages.
2018-08-25 21:16:55 +02:00
Vadim Zeitlin
2895e5c4a1 Document that wxHtmlContainerCell::InsertCell() takes ownership
This might have been already clear, but it doesn't hurt to specify it
explicitly.
2018-08-25 21:14:40 +02:00
Vadim Zeitlin
9db0234abc Allow passing already parsed HTML to wxHtmlDCRenderer
This is more efficient when the same HTML is reused multiple times, e.g.
for measuring it first and then rendering it.

The new function also makes it simpler to parse HTML and manipulate it
in some way before measuring and rendering it.
2018-08-25 02:37:55 +02:00
Vadim Zeitlin
de5ba70203 Fix handling events from their items in submenu itself
This previously worked in wxGTK, but not in wxMSW and even under wxGTK
it could be surprising that the submenu got the event, but its parent
menu did not.

Make things consistent between the platforms and send the event to the
menu directly containing it first, but then also to its parent menu(s).

Document the new behaviour and verify that it works as intended with a
new unit test.

Closes #18202.
2018-08-25 02:36:45 +02:00
PB
b01f4ef8e7 Add more references to wxIconBundle to documentation
Add wxIconBundle to the list in the Overview of Available Classes /
Image and bitmap classes as well as to the documentation page for
wxIcon.

Closes https://github.com/wxWidgets/wxWidgets/pull/898
2018-08-24 20:07:38 +02:00
Steven Lamerton
b61123cd7d Allow distinguishing user- from script-opened wxWebView windows
Add wxWebViewEvent::GetNavigationAction() returning a value that can be
either wxWEBVIEW_NAV_ACTION_USER for the links opened by the user, or
wxWEBVIEW_NAV_ACTION_OTHER for the other ones (e.g. opened from
JavaScript code on the page).

Closes #15402.
2018-08-19 22:27:34 +02:00
Igor Korot
36d21ce6c8 Implement strike-through support for wxDataViewCtrl in wxGTK too
Previously it was supported in the generic version only, see #18180 and
the changes of 09124932eb

Closes https://github.com/wxWidgets/wxWidgets/pull/892
2018-08-19 12:06:32 +02:00
Vadim Zeitlin
151309b2e4 Improve wxDataViewModel::HasDefaultCompare() documentation
Document that returning true from it means that Compare() can (and will)
be called with -1 as the column index when the default sort order is
being used.

Closes #18190.
2018-08-18 15:28:16 +02:00