Commit graph

7855 commits

Author SHA1 Message Date
Vadim Zeitlin
0a1b0fbe01 Merge branch 'msw-about'
Improve generic and MSW "About" dialog appearance.

See #23196.
2023-02-03 15:11:48 +01:00
Vadim Zeitlin
05e49f7989 Add "About" dialog screenshots under different platforms
Show both "simple" and "fancy" (which just means with the web site
link specified here) forms from the dialogs sample.
2023-01-30 21:11:42 +01:00
Vadim Zeitlin
3fdebc96cd Add support for XRC "feature" attribute
This is a generalization of the existing "platform" attribute and allows
to only include some XRC elements if and only if an arbitrary "feature"
is enabled by the application before loading the XRC document.
2023-01-29 00:54:42 +00:00
Vadim Zeitlin
e5380e739b Remove Alpha architecture detection
This architecture doesn't exist and is not supported since a very long
time, so stop testing for it and defining __ALPHA__ which was never used
anyhow.
2023-01-26 17:31:05 +01:00
Vadim Zeitlin
15e556e027 Remove vestiges of PowerPC support
It may still be supported for wxGTK, but we don't need to do anything
special for it, so we don't need to define __POWERPC__, which was never
used anyhow, neither.
2023-01-26 17:27:48 +01:00
Vadim Zeitlin
bed3896189 Allow, and even require, semicolon after wxTEST_DIALOG() macro
This macro was documented (in its comment) and even used with a
semicolon after it, but it didn't require one and using one after it
resulted in a warning with gcc in pedantic mode.

Change the macro definition to use wxSTATEMENT_MACRO_BEGIN/END to
require (and, trivially, also allow to be used without warnings) a
semicolon after it now.
2023-01-13 17:27:53 +01:00
Vadim Zeitlin
1830c37550 Fix a link in the installation documentation
Using quotes isn't needed and doesn't seem seem to work here.
2023-01-09 23:22:17 +00:00
Vadim Zeitlin
e7297592cb Move manifest explanation in the main wxMSW install docs
This is important enough to be described directly there, especially now
when a manifest is required.
2023-01-09 23:22:17 +00:00
Vadim Zeitlin
fc9ade48b9 Fix hierarchy in the MSW build instructions documentation
Don't make "Make Parameters" and "Advanced Configurations" top level
sections, they're not as important as the other ones.
2023-01-07 18:23:47 +00:00
Vadim Zeitlin
e89f05faba Remove memory debugging/tracing support and all related options
Drop disabled by default and pretty useless memory tracing code and all
the overlapping and poorly documented build options related to it.

Remove memory.cpp entirely and update all the make/project files, but
preserve the now completely trivial wx/memory.h for compatibility and
also keep including wx/string.h from wx/object.h as it seems like a lot
of existing code actually depends on this, even if it should not.

Replace the options in the propgrid sample with a couple of other
debug-related options that were not used before to avoid leaving the
"Debugging Section" completely empty.
2023-01-05 21:41:38 +01:00
Vadim Zeitlin
d74c9e51da Remove memcheck sample
This sample wasn't really useful and demonstrated functionality which
was disabled by default since many years and will be completely removed
soon.
2023-01-05 18:24:57 +01:00
Vadim Zeitlin
b7ed2c8376 Merge branch 'cirrus-ci-arm'
Add ARM task to Cirrus CI.

See #23104.
2023-01-03 04:20:19 +01:00
Vadim Zeitlin
ab08e17bf2 Use libtiff-dev instead of deprecated libtiff5-dev package
No real changes, just use the real, instead of the transitional, package
name.

Co-Authored-By: Scott Talbert <swt@techie.net>
2023-01-03 04:18:26 +01:00
Vadim Zeitlin
f5daf28932 Update copyright years to 2023
Just run misc/scripts/inc_year and commit the results.

See #18690.
2023-01-03 04:15:08 +01:00
Vadim Zeitlin
06f5267582 Use named links in Markdown instead of numbered ones
This is more clear and avoids problems with mis-numbering.

Closes #23090.
2022-12-31 17:14:26 +01:00
Vadim Zeitlin
2bca8c405d Fix documentation of the arch suffix in the DLL names
Mention that it's only used when building with MSVC.
2022-12-29 18:39:46 +01:00
Vadim Zeitlin
e0db72d80e Include arch-specific suffix in the DLLs names in makefile.vc too
This is similar to edcfeab29d (Include arch-specific suffix in the DLL
names in CMake builds too, 2022-12-23).

See #23053.
2022-12-28 22:06:41 +01:00
Vadim Zeitlin
208142c14a Merge branch 'msw-dark-mode'
Add experimental support for dark mode for wxMSW.

See #23028.
2022-12-27 22:20:34 +01:00
Vadim Zeitlin
7ce2ba9b0c Add wxSystemAppearance::AreAppsDark() and IsSystemDark()
This allows to determine if dark mode is enabled (for the applications
and/or the system UI itself, respectively) system-wide which is useful
now that IsDark() returns false unless MSWEnableDarkMode() is called.

Also document the incompatible change to IsDark().
2022-12-26 22:02:11 +00:00
PB
e67532085b Improve wxWidgets naming conventions docs
Fix swapped names for static and shared build folder on Windows
in "type" description.

Also provide more details in some paragraphs.

Closes #23053.
2022-12-23 20:07:50 +01:00
ali kettab
2578ffb54a Assert if wxListCtrl::EditLabel() is used without wxLC_EDIT_LABELS
Since wxListCtrl under wxMSW cannot edit labels without the presence of
this flag, and an assertion failure triggered if the flag is missing to
it and also all the other ports for consistency.

Also document that wxLC_EDIT_LABELS flag is required in EditLabel()
description.

See #23024.
2022-12-10 12:57:46 +01:00
Vadim Zeitlin
d737d98d27 Consistently include trailing NUL in wxMSW wxTextDataObject size
Fix a long-standing bug in wxMSW wxTextDataObject which returned the
size including the trailing NUL from its GetDataSize() and used the same
convention in GetData(), but didn't account for this NUL being included
into the buffer passed to SetData().

This was partially compensated by also passing the wrong (too small)
buffer size when calling SetData() from wxIDataObject, but still
resulted in problems when using SetData() with the length returned from
GetDataSize(), as done in wxDataViewCtrl code.

Fix this by now always considering NUL part of the buffer (as this is
the platform convention, i.e. all CF_TEXT data on the system clipboard
must include the trailing NUL) and taking it into account when
determining the buffer size in wxIDataObject.

This change is not fully backwards-compatible as it breaks any code
calling SetData() directly, as e.g. wxURLDataObject in wxMSW itself did,
so document it as such, but it's still worth making it as there doesn't
seem to be any other way of fixing the problem described in the linked
issue and direct calls to SetData() should be rare as simpler SetText()
should be used instead.

Also add a unit test for wxTextDataObject and extend the existing test
of wxURLDataObject.

Closes #22928.
2022-12-06 02:25:44 +01:00
Vadim Zeitlin
20bbc43a20 Redefine wxTRANSPARENT_WINDOW as 0 and stop using it
This style never did anything useful in wxMSW and did nothing at all in
all the other ports, so always was rather useless, but became actively
harmful not that WS_EX_COMPOSITED is used in wxMSW because using it and
WS_EX_TRANSPARENT, enabled by wxTRANSPARENT_WINDOW, together doesn't
work and results in an endless stream of WM_PAINT messages being sent to
the _siblings_ of the window with wxTRANSPARENT_WINDOW style.
2022-11-28 19:04:56 +00:00
Vadim Zeitlin
5c6bce627b Check wxImageList validity in all of its methods
Some of wxImageList methods asserted when called on an invalid image
list while others just failed silently.

Assert in all of them now for consistency and to help detecting problems
in the code using invalid wxImageList objects.

Extend the documentation and the tests.
2022-11-26 23:29:13 +01:00
Vadim Zeitlin
5660b0cc2d Merge branch 'prune-old-files'
Remove files that are no longer useful.

See #22980.
2022-11-26 16:52:46 +01:00
Vadim Zeitlin
42ea375816 Point to docs/contributing from docs/tech
Give people following some ancient links to the tech notes in this
directory a chance to find something still relevant.
2022-11-26 16:52:04 +01:00
PB
8030d3124a Remove wxWidgets slogan ideas
The slogans are not used.
2022-11-20 10:35:20 +01:00
PB
57ab5f5d1a Remove old technical notes
The technical notes were replaced by other documents long time ago.
2022-11-19 21:36:25 +01:00
Vadim Zeitlin
be7860c766 Remove wxUSE_STD_STRING and wxUSE_STD_CONTAINERS_COMPATIBLY
Assume they are always 1 now, there is no good reason to ever set them
to 0 any more.

Note that we still keep wxUSE_STD_IOSTREAM for now, but we can drop
wxUSE_STD_DEFAULT as it's not worth having it just for this single
option (previously it was used as the default value for 3 of them).
2022-11-17 00:40:50 +01:00
Vadim Zeitlin
5904d177fb Merge branch 'msw-drop-pre7-support'
Drop pre Windows 7 versions support.

Closes #22961.
2022-11-12 18:02:32 +01:00
Vadim Zeitlin
43ff845e77 Remove Windows XP and Vista support
Supporting XP requires too many hacks, and while it wouldn't be very
difficult to support Vista as long as we support Windows 7, it's still
not worth it because nobody uses this system anyhow.

Remove most of XP-specific code and don't use wxDynamicLibrary for using
the functions not present in it any longer.

Don't use <wspiapi.h> neither as we shouldn't use it any more.

Update some comments to not mention Windows versions not supported any
longer and also remove mentions of "Vista and newer Windows versions"
from the documentation as this is now always the case.

This commit is best viewed ignoring whitespace-only changes.
2022-11-12 16:57:52 +00:00
Vadim Zeitlin
63696b55cf Merge branch 'searchctrl-textentry'
Derive generic wxSearchCtrl from wxTextEntry too.

See #22954.
2022-11-12 17:52:16 +01:00
Vadim Zeitlin
d9734baed5 Add msw.window.no-composited system option
For some applications turning off double buffering for individual
windows may be infeasible, so allow doing it globally using this system
option.

Note that wxAutoBufferedPaintDC still does no buffering in wxMSW now,
even when this option is set, so setting it will result in flickering in
any code using it. The solution is to use wxBufferedPaintDC directly in
the programs that use this option.

Closes #22953.
2022-11-12 17:51:27 +01:00
Vadim Zeitlin
b4b23ac423 Merge branch 'always-use-thread-local'
Always use thread_local as we can rely on compiler TLS support working
under Windows 7 and later.

There are some known problems in MinGW thread local variable support,
but they only affect (obsolete) 32-bit builds and will hopefully be
fixed in this compiler soon.

See #22917.
2022-11-10 16:32:42 +01:00
Vadim Zeitlin
c501fd0c0f Derive generic wxSearchCtrl from only wxTextEntry too
This is similar to the changes of 020b6ebcb8 (Derive from wxTextEntry
instead of wxTextCtrlBase, 2019-12-29) for wxGTK and removes the methods
that don't exist in the other ports from the generic wxSearchCtrl too.
2022-11-08 23:28:24 +00:00
PB
b112dfb4a0 Update Windows Theme support page 2022-11-08 23:41:12 +01:00
PB
82f4d5dde0 Update Build and Install Instructions for Windows
Just change "Windows XP" support to "Theme Support" when referring
to visual styles.
2022-11-08 23:41:12 +01:00
PB
a46e50b31d Update wxMSW part of Platform Details overview
Just change minimal supported MSVS version from 2005 to 2015.
2022-11-08 23:41:12 +01:00
PB
ebf807dcf5 Update Installing wxWidgets for Windows platform guide 2022-11-08 23:41:12 +01:00
PB
41fc16489e Update Multithreading Overview programming guide 2022-11-08 23:41:12 +01:00
PB
dd9f47d1a7 Update C++ Exceptions programming guide 2022-11-08 23:41:12 +01:00
PB
6115692265 Update Environment Variables programming guide
No real changes, just add reference to wxSystemOptions,
which also uses system environment variables to affect
behaviour of wxWidgets applications.
2022-11-08 23:41:12 +01:00
PB
cf43c97f7d Update Backwards Compatibility programming guide.
No real changes, basically just update wxWidgets versions used
to more recent ones.
2022-11-08 23:41:12 +01:00
PB
875872b53b Update Archive Formats programming guide.
Remove mentions of unsupported rar and cab formats.

Mention that XZ format using LZMA2 algorithm can be used.

Update the code examples (remove wxT() and use unique_ptr instead of
auto_ptr).
2022-11-08 23:40:45 +01:00
Vadim Zeitlin
b1a4287b36 Remove mentions of non-Unicode build from wxMBConv overview
Also try to make it more useful for 2022.
2022-10-28 18:56:27 +01:00
Vadim Zeitlin
6e7ca418b7 Update libraries and wx-config names documentation
Hardcode "u" and "unicode" as they're not build options any longer.
2022-10-28 18:40:09 +01:00
Vadim Zeitlin
cf474d7f48 Remove wxOnAssert() overload used in ANSI build only
This could be also used by the applications if they decided to call it
directly, for whatever reason, but, hopefully, this shouldn't be a
common occurrence, as passing wide file name is really inconvenient, and
it was deprecated since 2.8, so should be safe to remove by now.
2022-10-28 18:38:41 +01:00
Vadim Zeitlin
c78b0d652b Remove UNICODE build option, hardcode its value as 1
Also hardcode "u" suffix for the library names -- it doesn't make sense
any longer, but we need to keep it for compatibility.
2022-10-27 19:43:59 +02:00
Vadim Zeitlin
53b3b979fe Remove tests for _UNICODE too
It is now always defined, so testing for it is useless.

Give an error in MSVC-specific header if it is not defined as it should
be.
2022-10-27 19:43:30 +02:00
Vadim Zeitlin
340998fe77 Add a note about not supporting wxUSE_UNICODE=0 to the change log 2022-10-27 19:43:30 +02:00