Replace a few more __WXMSW__ tests with __WINDOWS__ ones and modify bakefiles
to allow specifying the toolkit to be built in wxMSW makefiles.
Closes#13902.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Debian distribution target uses GNU make extensions to make syntax which makes
the entire makefile impossible to use with other make versions, e.g. Solaris
make.
Fix this by prepending IF_GNU_MAKE to all Debian-specific lines, there should
be never any need to use them with non-GNU make.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Split wxXmlResourceHandler into an ABC and the real implementation to allow
referencing the ABC in the core library itself but without pulling in all of
the XRC into it. This also allows defining XRC handlers, which only depend on
this ABC and not the xrc library, in other libraries, such as richtext, as
demonstrated by the now enabled wxRichTextXMLHandler.
Closes#10996.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is a very simple template allowing to remove the reference from the given
type, similar to std::remove_reference<>.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add a new private wxTextMeasure class implementing methods for measuring text
and move the often duplicated (but not always identically) code for doing the
same from wxDC and wxWindow into it.
Currently this class is only really implemented in wxMSW and wxGTK.
Also extend the test for text measuring functions and rename it to
MeasuringTextTestCase from MeasuringContextTestCase as it's not wxGC-specific
any more.
Closes#14705.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add a new wxSafeArray<> class wrapping SAFEARRAY.
Also add support for converting VARIANTs containing other, previously
unsupported, standard types.
Closes#14637.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
USE_RTTI, USE_AUI, USE_PROPGRID, USE_RIBBON, USE_RICHTEXT, USE_STC and USE_XRC
options were not output to the build configuration file, unlike the rest of
them.
Do output those ones as well now for consistency.
Also sort the options corresponding to different wx libraries alphabetically.
Closes#14608.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
A newer version of XML Tools has been released (2.9.4) which supports OS X 10.6 and later. As such a link to the beta version of 2.9.4 is not needed anymore.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxOSX doesn't provide a native spinner+text control so it used a generic
implementation of wxSpinCtrl but a different one to the version found in
src/generic/spinctlg.cpp.
Just use the real generic version instead, it doesn't make sense to have two
different versions of the same generic control.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72413 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This new control allows the program to show one of the several pages without
allowing the user to change them (or even see that there are several of them)
himself.
This class is fully inline, so it doesn't add anything to the library and
hence doesn't need neither wxUSE_SIMPLEBOOK nor the corresponding configure
option.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It's the usual thing to do. Ideally, we'd also compile them as part of
build process, at least on Unix, but this is better than nothing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
In an attempt to fix DESTDIR support on platforms without symbolic
links, this commit completely broke the wx-config symlink created by
"make install" everywhere (unless you were insane enough to use
"--prefix=/", that is): $(libdir) is absolute path and so using
../$(libdir) has no chance of working.
Fixed by using `basename $(libdir)`. This is still unsatisfactory,
because it assumes that $(libdir) and $(bindir) are at the same level in
the filesystem -- which, while usually true, is by no means guaranteed.
But at least this works most of the time.
See #14517.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use libnotify -- if detected by configure -- to provide native notifications
in wxGTK. Our API maps to libnotify one in rather straightforward way, we
might consider extending it to cover more of libnotify functionality
(categories, user-defined icons and, especially, actions) later.
Also update the dialogs sample to show another kind of notification and the
documentation to clarify the behaviour of various methods.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Some libraries (e.g. Pango) were added to GUI_TK_LIBRARY already while others
(e.g. Hildon) had their own EXTRALIBS_HILDON variables that were then added to
EXTRALIBS_GUI separately. Finally, some others were simply broken because
neither EXTRALIBS_GNOMEVFS nor EXTRALIBS_GTKPRINT were set anywhere.
Standardize on using GUI_TK_LIBRARY for everything.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This fixes "make DESTDIR=..." Broken by r71050 but still allows "make
DESTDIR=... install" to work even under MinGW where "ln -s" is mapped to "cp"
and so doesn't work with non-existing first argument.
Closes#14517.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Extract wxMSW-specific part of src/msw/utilsgui.cpp into a new
src/msw/utilswin.cpp file to allow reuse the rest of the former file in wxGTK.
Closes#14424.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Refactor the console event loop code into separate files to untangle it from
the GUI version and ensure that it doesn't depend on the GUI at all. It can
now be defined in the base library and simply reused by the core one.
This also makes the console event loop usable for other ports under Windows,
e.g. wxGTK.
Closes#14426.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Still accept "amd64" as a valid TARGET_CPU value but also accept, and
encourage people to use, "x64".
Add a new section about the build system changes to the change log and added a
mini-TOC to it to make navigating it a bit easier and show what changes are
there at a glance.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We also need to rename wx/univ/setup0.h and wx/gtk/setup0.h and it probably
doesn't hurt to rename all the other ones even if though they're unused
anyhow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't flood the screen with the messages about converting the files, we know
that we convert them, this is what we run the bloody thing for.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
For the official builds (only), include the compiler version and the
architecture suffix, unless it's the default x86, into the DLL names, to allow
their concurrent installations for multiple compiler versions and architectures.
Closes#13857.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This will be soon used in the libraries names and not only in the directory
paths so rename the variable to make things more clear (or at least less
confusing).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make wxEntry(HINSTANCE, ...) available in wxGTK under Windows too.
Refactor the headers to allow this and extract Windows-specific wxEntry()
declarations in wx/msw/init.h from wx/msw/app.h for consistency with the
normal wxEntry(int, char**) declared in wx/init.h.
Closes#14423.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't check the toolkit unnecessarily, this doesn't really change anything
right now but will not break wxGTK build under MSW when support for it is
added.
Closes#14379.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes as the output is currently the same for all supported
PLATFORM/TOOLKIT combinations anyhow but prefer checking for PLATFORM to
prepare for the support of GTK toolkit under MSW platform.
Closes#14379.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Private headers are not supposed to be installed because they are only use
when building wxWidgets itself, so don't list them in files.bkl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This header is used by public headers and hence is not really private, move it
to a better place and add it to the list of OSX headers in the bakefile.
Closes#14339.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We need some hacks for the older systems before including this header, extract
them from src/x11/utilsx.cpp into a new private header to be able to reuse it
from wxGTK in the next commit.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
These headers don't exist in official distributions as they're renamed to
setup.h in them. Moreover, they don't need to be installed anyhow when using
configure as the real setup.h is installed specially, so there is no real need
to have them in the list of headers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just extract wxAuiTabArt into its own file. Also rename
wxAuiDefaultTabArt to wxAuiSimpleTabArt in preparation for having other tab
art classes as the default one.
See #14098.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The built-in of /bin/sh doesn't handle "-n" option that we use (at least not
under OS X 10.6), so we were getting "-n APPL????" in the generated files.
Fix this by using /bin/echo which does support this option.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Define _CRT_SECURE_NO_DEPRECATE, _CRT_NON_CONFORMING_SWPRINTFS and
_SCL_SECURE_NO_WARNINGS when using makefiles to build the library too for
consistency with the project files.
These defines are only needed for VC8 and later but should do no harm for the
previous versions.
See #11009.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
MS and Apple guidelines mention ellipses should generally be used when a command needs additional information from the user before the operation can execute. This is not the case for showing an about dialog so the ellipses have been removed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The company behind MGL toolkit (SciTech) doesn't exist since several years and
this port is not used by anybody, so remove it to ease maintenance burden.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The platform targeted by this port doesn't exist any more and the port never
achieved really working state so remove the code to avoid having to maintain
it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We already define the symbols needed to disable the warnings in wx/defs.h but
this isn't enough for third party code not including it, so define them in the
project settings directly.
Closes#11009.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix linking errors when using wxXML in sttaic monolithic build: in this case
we must link with expat but it was listed too early, before wxWidgets
libraries using it, in the bakefile-generated makefiles.
Now add it to the end of the linker command line too by including -lexpat in
EXTRALIBS_FOR_BASE which are appended to the linker arguments.
Notice that now -lexpat is linked twice because it is still added by
<wx-lib>xml</wx-lib> in bakefiles, even in monolithic build, but I don't know
how to avoid it and it is harmless anyhow.
Closes#12573.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use NSDatePicker to implement both of these controls. Almost all of
wxDatePickerCtrl styles are not supported in the native version but the basic
functionality does work and looks much better than the generic version (which
is still available as wxDatePickerCtrlGeneric if needed) under Mac.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The webview library wasn't linked in correctly when using MSW bakefile
presets. Fix this by adding the corresponding <sys-lib> for it (this needs to
be done for MSW only, under Unix it's handled by wx-config).
Closes#13789.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We can't use the same names for these files with VC6, it doesn't support this
and the project can't be built because of the output object file names
conflict.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Due to a typo in files.bkl (${...} was used instead of $(...) so the variable
didn't get really dereferenced), the web view headers were not included in the
list of all headers and hence not installed by "make install" under Unix.
Closes#13690.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Allow defining event filters to globally pre-process all application events
without having to override wxApp::FilterEvent().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It can be used to show more customizable tooltips than the native wxToolTip
but at the price of using generic implementation in some cases (actually
almost always now, with the exceptions of text control tooltips under MSW).
Extra features include:
- The balloon-like tooltip form.
- Possibility to show an icon.
- Title display in a different form.
More customization could be added later. It should be also possible to fully
implement this class natively under MSW.
Update the dialogs sample to show the rich tooltips in action.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Move SetShape() implementation from wxTopLevelWindow to wxNonOwnedWindow so
that wxPopupWindow, which also inherits from the latter, could use it as well.
This makes it possible to have popup windows with irregular shapes in wxGTK as
well as in wxMSW and wxOSX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxCustomBackgroundWindow is a new class allowing to set a custom bitmap for
the background of any window. The relevant code was mostly moved from wxPanel
to which it was added only recently (before 2.9.2) making it unnecessary to
preserve compatibility.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Also add wxNonOwnedWindow for wxMSW (which previously simply typedef'd it to
wxWindow) and document this class now that it provides some user-visible
functionality.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This library includes some wx headers and so setup.h must be available when
it's being compiled but there was no rule to copy it in its projects, so add
it now.
Closes#13526.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Implement wxTimePickerCtrl natively for MSW and add a generic implementation
(very loosely based on the original class by Paul Breen) for the other
platforms.
Also update the calendar sample to show the new control.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just refactor wxMSW wxDatePickerCtrl to allow sharing code
with the upcoming wxTimePickerCtrl class. Even less changes for the other
platforms where wxDateTimePickerCtrl is trivial.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Updated the Xcode projects to include latest source additions and newer settings from template *_in.xcodeproj project files.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
done for GDI+.
* Enable the use of the wxCairoContext on MSW.
* Enable creating a wxGCDC from an exisiting wxGraphicsContext.
* Since it's possible for a DLL that is using wx to not be on the PATH nor in
the same location as the .exe, change the wxDynamicLibrary::RawLoad method to
explicitly look first in the same place as the main wx-using binary. This way
it will find DLLs that are in the same folder as the wx-using binary even if
that would not be in the normal DLL search path.
* Change wxDCImpl and wxDC::GetLogicalScale to be const methods.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is a facade for wxDataViewCtrl allowing to easily work with multi-column
trees, possibly with an optional checkbox in the first column. Its API is very
similar to wxTreeListCtrl and it provides a simple migration path from the
latter.
Add the class itself, documentation for it and minimal unit tests.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Buttons had a border of wxBORDER_NONE resulting in wxButton::DoDraw not drawing the button's border. Fixed by adding wxAnyButton::GetDefaultBorder() for wxUniv which returns wxBORDER_STATIC. Regression since r67931.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxItemId<> template which can be used to identify items in different
{tree,list}-like controls, including wxDataViewCtrl (where it replaces, in
backwards compatible way, wxDataViewItem), wxTreeCtrl (where it replaces
wxTreeItemId) and the upcoming wxTreeListCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Avoid defining SetImageList() in several different places in wx API as not
only this resulted in (trivial) code duplication but this method also had
different semantics before: it didn't take ownership of the pointer passed to
it in wxTreeCtrl, wxListCtrl and wxBookCtrl and derived classes but did take
its ownership in wxDataViewTreeCtrl and wxRichTextFormattingDialog.
Harmonize this for all the classes now: SetImageList() never takes ownership
while AssignImageList() (which is now available in all classes having
SetImageList()) always does.
Also add convenience wxWithImages::GetImage() helper to avoid (more) code
duplication in wxDataViewTreeCtrl code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Even Clang++ shipped with Xcode 4.1 still can't handle visibility
of non-inline methods in exported template classes if the default
visibility is 'hidden'.
Disable visibility support for Clang for now, we'll revisit it in the future.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Introduce wxAnyButton class, a common base class for wxButton and
wxToggleButton, allowing to reuse the same implementation for them.
This also allows to implement support for bitmaps in wxToggleButton for all
platforms and make wxBitmapToggleButton a trivial subclass of it everywhere,
similarly to wxBitmapButton and wxButton.
Closes#13198.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Move src/msw/hyperlink.cpp and include/wx/msw/hyperlink.h to
ADVANCED_MSW_NATIVE_SRC/HDR from ADVANCED_MSW_SRC/HDR respectively to ensure
that these files are not used in wxUniv build that uses its own, generic,
versions.
This should fix wxUniv/MSW build as the native files didn't even compile with
wxUniv.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Sort RICHTEXT_{SRC,HDR} contents in alphabetical order, just as it's done for
all the other files list and to make it easier to check if a file already
occurs in these lists or not.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775