Commit Graph

102 Commits

Author SHA1 Message Date
Maarten Bent
39ff5b90e5 Replace wxDeprecatedGUIConstants enum values 2018-11-25 21:29:32 +01:00
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
Vadim Zeitlin
30f73aea6a Make using custom colour for wxDataViewProgressRenderer work again
This used to work in 3.0, but got broken with the switch to using a
native function for rendering the gauge in generic wxDataViewCtrl
86cf756ba9 (see #16406).

Restore it now, even if it requires not one, but two hacks: one at
wxRendererGeneric level to guess whether a custom colour is being used
or not by examining wxDC::GetBackground(), and the other one in
wxDataViewProgressRenderer itself to fall back to wxRendererGeneric if
the colour is specified. But it is arguably worth doing this to fix the
regression, even if it would be nice to provide a better API instead
(see #18076).

Closes #17885.
2018-02-04 00:14:31 +01:00
Vadim Zeitlin
5f8f60107a Allow using wxRendererNative::DrawGauge() for vertical gauges too
It was unexpected that this method could only be used for horizontal
gauges, so make it work for the vertical ones if wxCONTROL_SPECIAL flag
is specified.

Update MSW and generic implementations and the render sample to show a
vertical gauge as well.
2018-02-03 18:46:17 +01:00
Vadim Zeitlin
b6a75ff0b2 Don't pass nor use wxCONTROL_FOCUSED in wxRenderer::DrawItemText()
It doesn't make much sense to always use wxCONTROL_FOCUSED in wxDataViewCtrl
code whenever wxDATAVIEW_CELL_SELECTED state bit is set, wxCONTROL_SELECTED
seems to be enough and is with the native MSW wxRenderer implementation which
doesn't even test for wxCONTROL_FOCUSED anyhow, while the generic one did and
didn't use the correct colour unless it was set.

No real changes, but this will make upcoming commits more straightforward and
already simplifies the code a little bit.
2016-06-16 00:02:09 +02:00
Tobias Taschner
5ba67c67e4 Remove wxOSX/Carbon support.
Cocoa has been the default toolkit in wxWidgets for a long time. There is really no good reason to use Carbon in 2016 and this removes a lot of unused and unmaintained code.
2016-02-01 13:48:48 +01:00
Paul Cornett
b74923eb29 add missing wxOVERRIDE 2016-01-16 11:08:25 -08:00
Maarten Bent
64c4e0674c Determine correct checkbox size when using theme. 2015-12-16 20:59:27 +01:00
Vadim Zeitlin
6cd37dd3c8 Don't eat ampersands in wxDataViewCtrl and similar controls items
Fix the call to wxControl::Ellipsize() inside DrawItemText() added in
b7a89f8746 (see #16414) which removed all
ampersands from the string with the default flags to not do it.

Closes #17269.
2015-11-30 00:08:06 +01:00
Steve Browne
633d04ca92 Changed several places using hard-coded size values to use FromDIP instead. 2015-11-24 12:21:43 -05:00
Tobias Taschner
4ac0250f90 Fix cell selection drawing in wxDVC on MSW with system theme
Keyboard focus rect when selecting a column was nearly invisible against the
light background. Now the correct theme parts are used when drawing with UX
theme and the old behavior (white focus rect) is used everywhere else.

See #16414
2015-10-04 01:13:27 +02:00
Tobias Taschner
76a75ddc6a Fix text colour for items drawn using wxRenderer::DrawItemText()
After the addition and usage of DrawItemText() in
b7a89f8746 custom colors in wxDataViewCtrl where
ignored, restore the correct behavior (custom color for unselected items) by
avoiding changing the colour for the normal items in this function.

Closes #17164.
2015-09-28 15:34:12 +02:00
Tobias Taschner
44bcc3a723 Add ellipsizeMode parameter to wxRenderNative::DrawItemText()
Instead of the default end ellipsize mode used in the native and generic
implementation, allow specifying the mode with an additional parameter.

Closes https://github.com/wxWidgets/wxWidgets/pull/97
2015-09-28 15:34:08 +02:00
Tobias Taschner
ef5ff89008 Add wxRendererNative::DrawCollapseButton() for use in collapsible pane like controls.
Add a new method that should be used for controls like wxCollapsiblePane.

It is implemented natively for wxMSW (Windows Vista+) and provides a generic fallback for other ports and WinXP.
2015-09-19 00:06:42 +02:00
Tobias Taschner
b7a89f8746 Add wxRendererNative::DrawItemText() for list-like controls
Add a new method that should be used for drawing the elements of list-like
controls (i.e. wx{List,Tree,DataView}Ctrl and similar).

Implement it for wxMSW natively and provide a straightforward generic fallback
for the other ports.

See #16414.
2015-09-17 14:49:13 +02:00
Tobias Taschner
804f83b13a Fix SetBackgroundColour() for wxSplitterWindow.
Background colour was ignored even if wxSP_3DSASH was not included in the window flags. The OSX renderer already used the background colour.
2015-09-04 11:09:00 +02:00
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
090a8353e5 Move wxRendererMSW::DrawTextCtrl() implementation to wxRendererGeneric.
This ensures that wxRendererGeneric::DrawGauge() is actually usable as
otherwise calling it always resulted in an assertion failure because it used
DrawTextCtrl() which was not implemented in wxRendererGeneric. So this fixes
using DrawGauge() in non-MSW ports which was added by r77023 (see #16406) but
apparently never worked.

Also remove wxRendererMSW::DrawGauge() as it's exactly the same as the version
inherited from wxRendererGeneric.

Closes #16725.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-16 20:16:20 +00:00
Vadim Zeitlin
73eaaa97c3 Fix compilation of generic renderer DrawGauge() in non-PCH build.
Include "wx/msw/wrapwin.h" explicitly to get the declaration of MulDiv()
needed since the changes of r77748.

Closes #16577.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-24 14:55:16 +00:00
Vadim Zeitlin
4d561bf02c Use wxMulDivInt32() instead of multiplying and dividing ints with doubles.
This is mostly done to avoid warnings about converting the result of
multiplying and dividing an int by doubles back to int, but is also more
correct as wxMulDivInt32() rounds the result correctly instead of truncating
the fractional part, and is also a tiny bit more efficient under MSW where the
native ::MulDiv() is available.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-20 22:07:45 +00:00
Vadim Zeitlin
86cf756ba9 Add wxRendererNative::DrawGauge() method.
Add the method with the native implementations for MSW and OS X and a generic
version fallback.

Closes #16406.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-08 01:03:31 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
10df406479 Revert changes to the drawing of the tree item buttons in the generic renderer.
This reverts r74887 as this created problems when drawing them at standard
size.

See #15526.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 22:28:29 +00:00
Vadim Zeitlin
bddab017c6 Improve drawing of the tree item buttons in the generic renderer.
Draw the "-" and "+" signs always properly centered.

Closes #15526.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 23:49:15 +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
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Vadim Zeitlin
7822ffb1de Add #if checks fixing minimal wxGTK build.
Check for functions availability before using them. This fixes compilation of
wxGTK with all features disabled.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-10 13:52:22 +00:00
Václav Slavík
9aebcb5e44 Add wxRenderer::GetHeaderButtonMargin().
Used for best size calculations of column width.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 15:57:32 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Vadim Zeitlin
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +00:00
Robert Roebling
5d947bc835 No-PCH compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 15:36:14 +00:00
Vadim Zeitlin
08043a1c27 Clip drawing in wxRendererGeneric::DrawHeaderButtonContents().
Clip drawing of the icon and bitmap to the header rectangle.

Don't clip the text because we already ellipsize it to avoid overflowing but
do the ellipsization correctly, using wxControl::Ellipsize() instead of the
simple (and wrong) duplicated version here.

Also correct and simplify the alignment calculations.

Closes #12047.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-15 11:15:09 +00:00
Vadim Zeitlin
78010a1f33 Don't change the current pen and brush in DrawHeaderButtonContents().
Renderer methods shouldn't affect the functions drawing on the DC after it but
the wxRendererGeneric implementation did.

Use wxDC{Pen,Brush}Changer classes instead of calling wxDC::Set{Pen,Brush}()
directly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-15 11:15:05 +00:00
Vadim Zeitlin
c93e68a85a Remove wxGTK-specific text shift in wxRenderer::DrawHeaderButtonContents().
This was probably related to the code removed by r63947 and doesn't seem to be
needed here neither (and could presumably result in the same problems as in
the ticket #11780).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-15 10:47:28 +00:00
Vadim Zeitlin
b50d93d1da Added wxRendererNative::DrawTitleBarBitmap().
This is currently only implemented for wxMSW as there is no advantage to use a
generic implementation compared to using wxArtProvider directly under the
other ports. But for MSW this allows to have perfectly natively looking
titlebar-like buttons.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:57:04 +00:00
Vadim Zeitlin
6e6b532c1a Rename wxRendererNative::DrawRadioButton() to DrawRadioBitmap().
This old name function conflicted with the one in wxRenderer in wxUniv and
also was misleading as this function draws only a bitmap and not the entire
wxRadioButton control.

The old workaround for the warnings about the function names conflict was ugly
and unmaintainable, as proven by the fact that wxRenderer method signature
already became different from the wxRendererNative one.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-20 00:44:22 +00:00
Vadim Zeitlin
c22ace4dff fix a couple of harmless warnings during wxOSX build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-18 22:54:21 +00:00
Francesco Montorsi
191e43fd02 revert r59246; the window parameter was there by purpose (i.e. for consistency with other Get* methods -- even if unused); document what the win parameter does in the various wxRenderer::Get* methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-02 20:09:10 +00:00
Francesco Montorsi
92c32bbee7 deprecated GetCheckBoxSize(wxWindow *) in favour of GetCheckBoxSize() const (the window parameter was unused and not documented)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-01 16:46:49 +00:00
Kevin Ollivier
a2ee194587 Restore DrawRadioButton to the main wxRenderer API, create a method overload for the wxUniv API so that it can coexist with the wxUniv method of the same name.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-12 01:06:53 +00:00
Kevin Ollivier
b0b71b31c3 Assert if these methods are triggered to alert the user they are not implemented.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-07 23:19:35 +00:00
Vadim Zeitlin
99c4be6806 rename wxRendererNative::DrawRadioButton() to DrawOptionButton() to avoid conflict with wxUniv function with the same name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-28 13:55:51 +00:00
Robert Roebling
eec49654fc draw icon before text label in header (huh?)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-22 14:40:35 +00:00
Robert Roebling
6f91f3a333 Further header button details
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-22 14:28:07 +00:00
Kevin Ollivier
e413198572 Forward port new wxRenderer methods in 2.8 to trunk.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-13 17:36:27 +00:00
Stefan Csomor
530a427a4c adaptions to new osx ouside the main trees
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-02 17:00:30 +00:00
Vadim Zeitlin
e8759560f8 add wxRenderer::GetCheckBoxSize(); refactor wxGTK code to avoid duplication (#9642)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 21:51:22 +00:00
Stefan Csomor
33ddeabab9 fixing file paths after renaming
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-11 19:23:52 +00:00
Paul Cornett
04ee05f92a fix a huge number of build errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-17 18:26:00 +00:00
Stefan Csomor
9553702e46 mac cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-20 16:21:04 +00:00