Commit Graph

64695 Commits

Author SHA1 Message Date
Simon Rozman
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
Vitaly Stakhovsky
2af7e38153 Replace obsolete object array with vector in wxGenericListCtrl
Use wxVector<wxListLineData*> instead of WX_DECLARE_OBJARRAY().

This modernizes the code and allows to get rid of the static variables
previously used for sorting as now we can use std::sort().

Closes https://github.com/wxWidgets/wxWidgets/pull/924
2018-09-17 22:50:43 +02:00
Vadim Zeitlin
f69dbaa1ae Introduce MSW ARM64 support
This is a preliminary ARM64 platform support for wxWidgets at "it
compiles" stage. This will allow building and testing wxWidgets based
apps for oncoming Windows 10 ARM64.

Requirements:
- Visual Studio 2017 Update 4 or later with Visual C++ compilers and
  libraries for ARM64 component installed

Building:
1. Open command prompt.
2. Change directory to build\msw subfolder.
3. Run "C:\Program Files (x86)\Microsoft Visual
   Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" once.
4. Use `nmake TARGET_CPU=ARM64 ...` to build required flavor of wxWidget
   libraries.

Notes:
1. Building of *.sln/*.vcxproj files does not support ARM64 yet. This
   requires to hardcode Windows SDK to 10.0.15063.0 or later in
   *.vcxproj files, which would render them non-compilable in older
   Visual Studio versions. Microsoft is aware of this issue and is
   planning a fix in the next version of Visual Studio.
2. wxmsw31ud_gl.dll does not build yet. Awaiting Microsoft to deliver
   missing opengl32.lib for ARM64. Please, specify USE_OPENGL=0.

Closes https://github.com/wxWidgets/wxWidgets/pull/923
2018-09-17 22:34:32 +02:00
Vadim Zeitlin
e29f8fdf03 Revert "update gtk1 font routines to support nwe code in wxWidgets"
This reverts commit 8d1063389a which
prevents https://github.com/wxWidgets/wxWidgets/pull/919 from being
automatically merged and CI builds from running. The changes of that
commit will soon be replaced with the more extensive fixes from this PR.
2018-09-15 02:39:22 +02:00
Artur Wieczorek
75225cc1a6 Remove references to "adv" library from MSVS 201x test projects 2018-09-13 20:56:54 +02:00
Vadim Zeitlin
19caf034c3 Fix build problem with MSVS 2005 in wx/msw/uxtheme.h
Avoid conflict with the incomplete MENUPARTS enum defined in the SDK
header included with this compiler.

Closes #18217.
2018-09-13 00:08:36 +02:00
Artur Wieczorek
5b1aa5bb9c Don't use deprecated SetHBITMAP() method
Inside wxBitmap we have a direct access to wxBitampData so HBITMAP can be stored directly in this structure and there is no need to call SetHBITMAP() function.
2018-09-12 22:02:56 +02:00
Artur Wieczorek
26ee45e4a5 Deprecate wxBitmap::SetWidth/Height/Size/Depth, wxIcon::SetSize functions
wxBitmap and wxIcon dimensions and colour depth are determined during creation so using all these functions could lead to inconsistencies.
2018-09-12 22:02:56 +02:00
Artur Wieczorek
5115fe31ef Set HICON and its parameters in one call
To avoid separate calls to SetSize() function after calling SetHICON() use newly implemented InitFromHICON() function which allows set HICON together with its parameters in one call.
2018-09-12 22:02:56 +02:00
Artur Wieczorek
97f73acddb Set HBITMAP and its parameters in one call
To avoid separate calls to SetWidth/Height/Size/Depth functions after calling SetHBITMAP() use newly implemented InitFromHBITMAP() function which allows to set HBITMAP together with its parameters in one call.
2018-09-12 22:02:56 +02:00
PB
12c44f1c79 Make small corrections in wxTimePickerCtrl docs 2018-09-12 17:05:06 +02:00
Stefano D. Mtangoo
e6a2aa5ae3 Show correct icon for branch nodes in wxDataViewTreeCtrl
The icon wasn't updated when the node was expanded (or collapsed) due to
the inversed check for HasImageList().

Fix this by correcting the check.

Closes https://github.com/wxWidgets/wxWidgets/pull/929
2018-09-12 14:10:51 +02:00
Josue Andrade Gomes
0bd8fe91e7 Fire wxEVT_WEBVIEW_NAVIGATING when redirecting
When using IE wxWebView backend, this event wasn't generated as expected
when the client was redirected.

Fix this by using DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION flag.

Closes https://github.com/wxWidgets/wxWidgets/pull/893
2018-09-11 14:32:14 +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
Alexander Kovalenko
df87960bfc Russian translations update from Alexander Kovalenko 2018-09-07 18:48:56 +02:00
F
32af4c8727 Consistently handle wxImage Load_Verbose flag in LoadFile
In wxImage, it is possible to set the Load_Verbose flag (default) if
messages are to be shown to the user in popup message boxes (via
wxLogError and wxLogWarning).

Unsetting this flag is supposed to remove these message boxes but in
practice, this was only applied in the function DoLoad() while other
messages could be issued earlier in overloads of the function LoadFile().

This commit checks if Load_Verbose is set or not and behaves accordingly
in LoadFile() overloads so that all messages can be suppressed.

See https://github.com/wxWidgets/wxWidgets/pull/920
2018-09-05 23:24:18 +02:00
Jouk
236c79f809 undoing previous commit 2018-09-05 14:44:53 +02:00
Jouk
bd9c89f96d Avoid double (contradicting) specification of wxNativeFontInfo::SetWeight 2018-09-05 10:44:55 +02:00
Jouk
8d1063389a update gtk1 font routines to support nwe code in wxWidgets 2018-09-05 10:42:35 +02:00
Stefan Csomor
ccff3e43fc fix window menu on macOS
the window menu was potentially added multiple times and could have multiple copies of the active window

closes https://github.com/wxWidgets/wxWidgets/pull/917 , thanks to @hwiesmann
2018-09-04 19:57:48 +02: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
c97fbe9331 Merge branch 'adv-fixes'
Use dummy source file when building wxAdv if necessary and do not use
the wxSound SDL plugin file.

See https://github.com/wxWidgets/wxWidgets/pull/915
2018-09-03 23:48:54 +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
Frédéric Bron
e685ae1d13 Fix wxMac compilation in 32 bits after font changes
Resolve ambiguity in wxCFTypeRef::GetValue() calls: CGFloat is float,
not double, in 32 bit builds, so the type of the first argument is
"float *" while the type of 0.0 is "double".

Fix this by casting 0 to CGFloat too, as this works in both 32 and 64
bit builds.
2018-09-02 23:49:21 +02:00
Vadim Zeitlin
c3bc7941c8 Avoid errors due to not having any files in "adv" library
Compile dummy.cpp as part of the library under Unix to avoid problems
with some versions of ar refusing to create empty static libraries.
2018-09-02 23:42:22 +02:00
Vadim Zeitlin
0225f191e8 Replace PLUGIN_ADV_SRC to PLUGIN_SRC and put them into "core"
wxSound SDL plugin should be in "core" too, when linking the plugins
statically, rather than in "adv", now that wxSound itself is in core.
2018-09-02 23:36:41 +02:00
Bryan Petty
f4b0ae0370 Update docs.wxwidgets.org links to HTTPS. 2018-09-02 15:35:48 -06: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
Vadim Zeitlin
746b082de7 Normalize email address for Frédéric Bron
Recognize Frédéric as author of commits done with 2 different email
addresses.
2018-09-02 15:40:16 +02:00
Vadim Zeitlin
a443249a3d Normalize email address for Hartwig Wiesmann
Recognize Hartwig as author of commits done with 2 different email
addresses.
2018-09-02 15:38:56 +02:00
Hartwig
bee5852a16 Remove commented out code in wxOSX wxMenuBar
The code seems to be unused since 2008.

Closes https://github.com/wxWidgets/wxWidgets/pull/913
2018-09-02 15:26:46 +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
F
d2c77146db wxImageList::GetIcon() converts wxBitmap to wxIcon instead of wxNullIcon on OSX (#906)
On OSX, wxImageList::GetIcon() returned wxNullIcon when a wxBitmap was
stored. This could lead to no image seen in controls like wxTreeListCtrl.

Instead of that, we convert the wxBitmap to wxIcon with CopyFromBitmap.
2018-09-01 11:33:03 +02:00
Daniel Kulp
0b69ba6459 Set the appearance when working with wxColour components (#910) 2018-09-01 07:29:11 +02:00
Vadim Zeitlin
d70b515216 Remove <shobjidl.h> inclusion to fix MinGW TDM 32 bit build
This header, added in b61123cd7d, doesn't
seem to be needed and breaks compilation with TDM gcc 4.8 and 5.1, so
just avoid including it.

See #15402.
2018-08-31 19:23:43 +02:00
Jouk
a5756073f7 set WXWIN_COMPATIBILITY_x_y to 0 for OpenVMS 2018-08-31 12:44:20 +02:00
Jouk
4c29056ea4 include wxcrtvararg.h (non precomp) for wxVsnprintf/wxSscanf 2018-08-31 12:42:46 +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
Nineis K
54ddce99f5 Fix wxColour::Green() wxColour::Blue() wxColour::Alpha() returns wrong value on macOS (#902) 2018-08-28 08:13:29 +02:00
Hartwig
372daae9dc Remove stray backspace character from wxCocoaDataViewControl
Somehow, a raw ASCII ^H made its way into this source file. Remove it.

See https://github.com/wxWidgets/wxWidgets/pull/901
2018-08-27 22:59:09 +02:00
Hartwig
3591756166 Update wxDataViewColumn when sort order changes under macOS
The value returned by wxDataViewColumn::IsSortOrderAscending() wasn't
updated when the sort order changed due to the user clicking on a column
and reversing the sort order.

Fix this now by explicitly calling SetSortOrderVariable() when this
happens.

Closes https://github.com/wxWidgets/wxWidgets/pull/901
2018-08-27 22:57:08 +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
f40a39e666 Remove "adv" library from MSVS-specific header
Also stop documenting wxNO_ADV_LIB as it has no effect any more.
2018-08-27 22:50:58 +02:00
Vadim Zeitlin
7a77d8d9e6 Don't use a separate section for "adv" library controls
Put them together with the other "miscellaneous" controls now that the
"adv" library doesn't exist any more.
2018-08-27 22:49:45 +02:00
Vadim Zeitlin
f71c4f55a3 Completely remove "adv" library from CMake build system
This build system is new and so doesn't need to keep "adv" for
compatibility.
2018-08-27 21:13:04 +02:00
Vadim Zeitlin
424bc34d9d Remove references to "adv" library from MSVS 201x projects
They are not generated by bakefile, so need to be updated manually.
2018-08-27 21:13:04 +02:00
Vadim Zeitlin
c98751cb5b Force creating import library for "adv" DLL under MSW
No library was created as no symbols were exported by the DLL any more,
so add a dummy symbol just to force the import library creation -- this
is important to let the projects referencing it to continue to link,
even if it's now useless.
2018-08-27 21:13:04 +02:00
Vadim Zeitlin
21263b8c22 Fix wrong DLL in the declaration of wxPendingDelete
This object is defined in "base", not "core".

Somehow this still worked before, but it was still wrong and stopped
working when taskbarcmn.cpp was moved to "core" itself from "adv".
2018-08-27 21:13:04 +02:00
Vadim Zeitlin
3ffa651a34 Move wxAdv library contents into wxCore
This basically removes the "adv" library, even though it's still
preserved for compatibility with user make/project files referring to
it.

It is done because the distinction between "adv" and "core" was never
really clear (e.g. why wxTreeCtrl was in core but wxTreeListCtrl in
adv?) and it prevented some core classes from using adv ones.
2018-08-27 21:13:04 +02:00
Stefan Csomor
b38813a5e9 use Cocoa fix for nested modal loops for system dialogs also 2
Header was missing in 99eba63796, see #18204
2018-08-27 13:57:58 +02:00