Added wx.RendererNative class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
f78d506b88
commit
c95499b9be
@ -1,6 +1,22 @@
|
||||
Recent Changes for wxPython
|
||||
=====================================================================
|
||||
|
||||
2.6.1.1
|
||||
-------
|
||||
|
||||
wxMSW: Fix for bug #1211907, popup menu indenting inconsistent with
|
||||
bitmaps.
|
||||
|
||||
wxMac: Don't send an event for wx.RadioButton deselections, just the
|
||||
selections. This was done to make it consistent with the other
|
||||
platforms.
|
||||
|
||||
Added wx.RendererNative class.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2.6.1.0
|
||||
-------
|
||||
* 4-June-2005
|
||||
@ -41,6 +57,7 @@ change will get written at the next flush.
|
||||
|
||||
|
||||
|
||||
|
||||
2.6.0.1
|
||||
-------
|
||||
* 30-May-2005
|
||||
|
@ -186,6 +186,7 @@ swig_sources = run_swig(['gdi.i'], 'src', GENDIR, PKGDIR,
|
||||
'src/_icon.i',
|
||||
'src/_pen.i',
|
||||
'src/_palette.i',
|
||||
'src/_renderer.i',
|
||||
],
|
||||
True)
|
||||
ext = Extension('_gdi_', ['src/drawlist.cpp'] + swig_sources,
|
||||
|
@ -475,5 +475,21 @@
|
||||
%rename(TheBrushList) wxTheBrushList;
|
||||
%rename(TheColourDatabase) wxTheColourDatabase;
|
||||
%rename(Effects) wxEffects;
|
||||
%rename(CONTROL_DISABLED) wxCONTROL_DISABLED;
|
||||
%rename(CONTROL_FOCUSED) wxCONTROL_FOCUSED;
|
||||
%rename(CONTROL_PRESSED) wxCONTROL_PRESSED;
|
||||
%rename(CONTROL_ISDEFAULT) wxCONTROL_ISDEFAULT;
|
||||
%rename(CONTROL_ISSUBMENU) wxCONTROL_ISSUBMENU;
|
||||
%rename(CONTROL_EXPANDED) wxCONTROL_EXPANDED;
|
||||
%rename(CONTROL_CURRENT) wxCONTROL_CURRENT;
|
||||
%rename(CONTROL_SELECTED) wxCONTROL_SELECTED;
|
||||
%rename(CONTROL_CHECKED) wxCONTROL_CHECKED;
|
||||
%rename(CONTROL_CHECKABLE) wxCONTROL_CHECKABLE;
|
||||
%rename(CONTROL_UNDETERMINED) wxCONTROL_UNDETERMINED;
|
||||
%rename(CONTROL_FLAGS_MASK) wxCONTROL_FLAGS_MASK;
|
||||
%rename(CONTROL_DIRTY) wxCONTROL_DIRTY;
|
||||
%rename(SplitterRenderParams) wxSplitterRenderParams;
|
||||
%rename(RendererVersion) wxRendererVersion;
|
||||
%rename(RendererNative) wxRendererNative;
|
||||
|
||||
#endif
|
||||
|
237
wxPython/src/_renderer.i
Normal file
237
wxPython/src/_renderer.i
Normal file
@ -0,0 +1,237 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: _renderer.i
|
||||
// Purpose: SWIG interface for wxRendererNative
|
||||
//
|
||||
// Author: Robin Dunn
|
||||
//
|
||||
// Created: 9-June-2005
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2005 by Total Control Software
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Not a %module
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup
|
||||
|
||||
%{
|
||||
#include "wx/renderer.h"
|
||||
%}
|
||||
|
||||
|
||||
// control state flags used in wxRenderer and wxColourScheme
|
||||
enum
|
||||
{
|
||||
wxCONTROL_DISABLED = 0x00000001, // control is disabled
|
||||
wxCONTROL_FOCUSED = 0x00000002, // currently has keyboard focus
|
||||
wxCONTROL_PRESSED = 0x00000004, // (button) is pressed
|
||||
wxCONTROL_ISDEFAULT = 0x00000008, // only applies to the buttons
|
||||
wxCONTROL_ISSUBMENU = wxCONTROL_ISDEFAULT, // only for menu items
|
||||
wxCONTROL_EXPANDED = wxCONTROL_ISDEFAULT, // only for the tree items
|
||||
wxCONTROL_CURRENT = 0x00000010, // mouse is currently over the control
|
||||
wxCONTROL_SELECTED = 0x00000020, // selected item in e.g. listbox
|
||||
wxCONTROL_CHECKED = 0x00000040, // (check/radio button) is checked
|
||||
wxCONTROL_CHECKABLE = 0x00000080, // (menu) item can be checked
|
||||
wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state
|
||||
|
||||
wxCONTROL_FLAGS_MASK = 0x000000ff,
|
||||
|
||||
// this is a pseudo flag not used directly by wxRenderer but rather by some
|
||||
// controls internally
|
||||
wxCONTROL_DIRTY = 0x80000000
|
||||
};
|
||||
|
||||
|
||||
|
||||
DocStr(wxSplitterRenderParams,
|
||||
"This is just a simple struct used as a return value of
|
||||
`wx.RendererNative.GetSplitterParams` and contains some platform
|
||||
specific metrics about splitters.
|
||||
|
||||
* widthSash: the width of the splitter sash.
|
||||
* border: the width of the border of the splitter window.
|
||||
* isHotSensitive: ``True`` if the splitter changes its
|
||||
appearance when the mouse is over it.
|
||||
|
||||
", "");
|
||||
|
||||
struct wxSplitterRenderParams
|
||||
{
|
||||
wxSplitterRenderParams(wxCoord widthSash_, wxCoord border_, bool isSens_);
|
||||
~wxSplitterRenderParams();
|
||||
|
||||
// the width of the splitter sash
|
||||
const wxCoord widthSash;
|
||||
|
||||
// the width of the border of the splitter window
|
||||
const wxCoord border;
|
||||
|
||||
// true if the splitter changes its appearance when the mouse is over it
|
||||
const bool isHotSensitive;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
DocStr(wxRendererVersion,
|
||||
"This simple struct represents the `wx.RendererNative` interface
|
||||
version and is only used as the return value of
|
||||
`wx.RendererNative.GetVersion`.", "");
|
||||
|
||||
struct wxRendererVersion
|
||||
{
|
||||
wxRendererVersion(int version_, int age_);
|
||||
~wxRendererVersion();
|
||||
|
||||
enum
|
||||
{
|
||||
Current_Version,
|
||||
Current_Age
|
||||
};
|
||||
|
||||
|
||||
// check if the given version is compatible with the current one
|
||||
static bool IsCompatible(const wxRendererVersion& ver);
|
||||
|
||||
const int version;
|
||||
const int age;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
DocStr(wxRendererNative,
|
||||
"One of the design principles of wxWidgets is to use the native widgets
|
||||
on every platform in order to be as close to the native look and feel
|
||||
on every platform. However there are still cases when some generic
|
||||
widgets are needed for various reasons, but it can sometimes take a
|
||||
lot of messy work to make them conform to the native LnF.
|
||||
|
||||
The wx.RendererNative class is a collection of functions that have
|
||||
platform-specific implementations for drawing certain parts of
|
||||
genereic controls in ways that are as close to the native look as
|
||||
possible.
|
||||
", "");
|
||||
|
||||
class wxRendererNative
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual void , DrawHeaderButton(wxWindow *win,
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
int flags = 0),
|
||||
"Draw the header control button (such as whar is used by `wx.ListCtrl`
|
||||
in report mode.)", "");
|
||||
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual void , DrawTreeItemButton(wxWindow *win,
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
int flags = 0),
|
||||
"Draw the expanded/collapsed icon for a tree control item.", "");
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual void , DrawSplitterBorder(wxWindow *win,
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
int flags = 0),
|
||||
"Draw the border for a sash window: this border must be such that the
|
||||
sash drawn by `DrawSplitterSash` blends into it well.", "");
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual void , DrawSplitterSash(wxWindow *win,
|
||||
wxDC& dc,
|
||||
const wxSize& size,
|
||||
wxCoord position,
|
||||
wxOrientation orient,
|
||||
int flags = 0),
|
||||
"Draw a sash. The orient parameter defines whether the sash should be
|
||||
vertical or horizontal and how the position should be interpreted.", "");
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual void , DrawComboBoxDropButton(wxWindow *win,
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
int flags = 0),
|
||||
"Draw a button like the one used by `wx.ComboBox` to show a drop down
|
||||
window. The usual appearance is a downwards pointing arrow.
|
||||
|
||||
The ``flags`` parameter may have the ``wx.CONTROL_PRESSED`` or
|
||||
``wx.CONTROL_CURRENT`` bits set.", "");
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual void , DrawDropArrow(wxWindow *win,
|
||||
wxDC& dc,
|
||||
const wxRect& rect,
|
||||
int flags = 0),
|
||||
"Draw a drop down arrow that is suitable for use outside a combo
|
||||
box. Arrow will have a transparent background.
|
||||
|
||||
``rect`` is not entirely filled by the arrow. Instead, you should use
|
||||
bounding rectangle of a drop down button which arrow matches the size
|
||||
you need. ``flags`` may have the ``wx.CONTROL_PRESSED`` or
|
||||
``wx.CONTROL_CURRENT`` bit set.", "");
|
||||
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual wxSplitterRenderParams , GetSplitterParams(const wxWindow *win),
|
||||
"Get the splitter parameters, see `wx.SplitterRenderParams`.", "");
|
||||
|
||||
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
static wxRendererNative& , Get(),
|
||||
"Return the currently used renderer", "");
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
static wxRendererNative& , GetGeneric(),
|
||||
"Return the generic implementation of the renderer. Under some
|
||||
platforms, this is the default renderer implementation, others have
|
||||
platform-specific default renderer which can be retrieved by calling
|
||||
`GetDefault`.", "");
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
static wxRendererNative& , GetDefault(),
|
||||
"Return the default (native) implementation for this platform -- this
|
||||
is also the one used by default but this may be changed by calling `Set`
|
||||
in which case the return value of this method may be different from
|
||||
the return value of `Get`.", "");
|
||||
|
||||
|
||||
|
||||
|
||||
// // load the renderer from the specified DLL, the returned pointer must be
|
||||
// // deleted by caller if not NULL when it is not used any more
|
||||
// static wxRendererNative *Load(const wxString& name);
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
static wxRendererNative *, Set(wxRendererNative *renderer),
|
||||
"Set the renderer to use, passing None reverts to using the default
|
||||
renderer. Returns the previous renderer used with Set or None.", "");
|
||||
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
virtual wxRendererVersion , GetVersion() const,
|
||||
"Returns the version of the renderer. Will be used for ensuring
|
||||
compatibility of dynamically loaded renderers.", "");
|
||||
|
||||
};
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
@ -48,6 +48,7 @@ MAKE_CONST_WXSTRING_NOSWIG(EmptyString);
|
||||
%include _imaglist.i
|
||||
%include _stockobjs.i
|
||||
%include _effects.i
|
||||
%include _renderer.i
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -581,6 +581,30 @@ wxTheBrushList = wx._gdi.TheBrushList
|
||||
wxTheColourDatabase = wx._gdi.TheColourDatabase
|
||||
wxEffects = wx._gdi.Effects
|
||||
wxEffectsPtr = wx._gdi.EffectsPtr
|
||||
wxCONTROL_DISABLED = wx._gdi.CONTROL_DISABLED
|
||||
wxCONTROL_FOCUSED = wx._gdi.CONTROL_FOCUSED
|
||||
wxCONTROL_PRESSED = wx._gdi.CONTROL_PRESSED
|
||||
wxCONTROL_ISDEFAULT = wx._gdi.CONTROL_ISDEFAULT
|
||||
wxCONTROL_ISSUBMENU = wx._gdi.CONTROL_ISSUBMENU
|
||||
wxCONTROL_EXPANDED = wx._gdi.CONTROL_EXPANDED
|
||||
wxCONTROL_CURRENT = wx._gdi.CONTROL_CURRENT
|
||||
wxCONTROL_SELECTED = wx._gdi.CONTROL_SELECTED
|
||||
wxCONTROL_CHECKED = wx._gdi.CONTROL_CHECKED
|
||||
wxCONTROL_CHECKABLE = wx._gdi.CONTROL_CHECKABLE
|
||||
wxCONTROL_UNDETERMINED = wx._gdi.CONTROL_UNDETERMINED
|
||||
wxCONTROL_FLAGS_MASK = wx._gdi.CONTROL_FLAGS_MASK
|
||||
wxCONTROL_DIRTY = wx._gdi.CONTROL_DIRTY
|
||||
wxSplitterRenderParams = wx._gdi.SplitterRenderParams
|
||||
wxSplitterRenderParamsPtr = wx._gdi.SplitterRenderParamsPtr
|
||||
wxRendererVersion = wx._gdi.RendererVersion
|
||||
wxRendererVersionPtr = wx._gdi.RendererVersionPtr
|
||||
wxRendererVersion_IsCompatible = wx._gdi.RendererVersion_IsCompatible
|
||||
wxRendererNative = wx._gdi.RendererNative
|
||||
wxRendererNativePtr = wx._gdi.RendererNativePtr
|
||||
wxRendererNative_Get = wx._gdi.RendererNative_Get
|
||||
wxRendererNative_GetGeneric = wx._gdi.RendererNative_GetGeneric
|
||||
wxRendererNative_GetDefault = wx._gdi.RendererNative_GetDefault
|
||||
wxRendererNative_Set = wx._gdi.RendererNative_Set
|
||||
wxMaskColour = wx._gdi.MaskColour
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user