Version: 3.2.8

#include <wx/sysopt.h>

+ Inheritance diagram for wxSystemOptions:

Detailed Description


wxSystemOptions stores option/value pairs that wxWidgets itself or
applications can use to alter behaviour at run-time.

It can be used to optimize behaviour that doesn't deserve a distinct API, but is still important to be able to configure.

System options can be set by the program itself using SetOption() method and they also can be set from the program environment by defining an environment variable wx_option to set the given option for all wxWidgets applications or wx_appname_option to set it just for the application with the given name (as returned by wxApp::GetAppName()). Notice that any characters not allowed in the environment variables names, such as periods and dashes, should be replaced with underscores. E.g. to define a system option "foo-bar" you need to define the environment variable "wx_foo_bar".

The program may use system options for its own needs but they are mostly used to control the behaviour of wxWidgets library itself.

These options are currently recognised by wxWidgets:

All platforms

<div>
</div>\li <span class='flag'>exit-on-assert</span>:<div class='flagDesc'>
    If set to non-zero value, abort the program if an assertion fails. The
    default behaviour in case of assertion failure depends on the build mode
    and can be changed by overriding wxApp::OnAssertFailure() but setting
    this option allows changing it without modifying the program code and
    also applies to asserts which may happen before the wxApp object
    creation or after its destruction.
</div>

Windows

<div>
</div>\li <span class='flag'>no-maskblt</span>:<div class='flagDesc'>
    1 to never use WIN32's MaskBlt function, 0 to allow it to be used where possible.
    Default: 0. In some circumstances the MaskBlt function can be slower than using
    the fallback code, especially if using DC caching. By default, MaskBlt will be
    used where it is implemented by the operating system and driver.
</div>\li <span class='flag'>msw.remap</span>:<div class='flagDesc'>
    If 1 (the default), wxToolBar bitmap colours will be remapped to the current
    theme's values. Set this to 0 to disable this functionality, for example if
    you're using more than 16 colours in your tool bitmaps.
</div>\li <span class='flag'>msw.window.no-clip-children</span>:<div class='flagDesc'>
    If 1, windows will not automatically get the WS_CLIPCHILDREN style.
    This restores the way windows are refreshed back to the method used in
    versions of wxWidgets earlier than 2.5.4, and for some complex window
    hierarchies it can reduce apparent refresh delays.
    You may still specify wxCLIP_CHILDREN for individual windows.
</div>\li <span class='flag'>msw.notebook.themed-background</span>:<div class='flagDesc'>
    If set to 0, globally disables themed backgrounds on notebook pages.
    Note that this won't disable the theme on the actual notebook background
    (noticeable only if there are no pages).
</div>\li <span class='flag'>msw.staticbox.optimized-paint</span>:<div class='flagDesc'>
    If set to 0, switches off optimized wxStaticBox painting.
    Setting this to 0 causes more flicker, but allows applications to paint
    graphics on the parent of a static box (the optimized refresh causes any
    such drawing to disappear).
</div>\li <span class='flag'>msw.font.no-proof-quality</span>:<div class='flagDesc'>
    If set to 1, use default fonts quality instead of proof quality when
    creating fonts. With proof quality the fonts have slightly better
    appearance but not all fonts are available in this quality,
    e.g. the Terminal font in small sizes is not and this option may be
    used if wider fonts selection is more important than higher quality.
</div>\li <span class='flag'>msw.native-dialogs-pmdpi</span>:<div class='flagDesc'>
    Some native win32 dialogs (like the font and colour pickers) are not
    per-monitor DPI aware, and wxWidgets will forcefully show them as
    system DPI aware when there are monitors with different DPI connected.
    If set to 1, these dialogs will always be shown as per-monitor DPI
    aware (when enabled in the manifest).
</div>

GTK+

<div>
</div>\li <span class='flag'>gtk.tlw.can-set-transparent</span>:<div class='flagDesc'>
    wxTopLevelWindow::CanSetTransparent() method normally tries to detect
    automatically whether transparency for top level windows is currently
    supported, however this may sometimes fail and this option allows
    overriding the automatic detection. Setting it to 1 makes the transparency
    be always available (setting it can still fail, of course) and setting it
    to 0 makes it always unavailable.
</div>\li <span class='flag'>gtk.desktop</span>:<div class='flagDesc'>
    This option can be set to override the default desktop environment
    determination. Supported values are GNOME and KDE.
</div>\li <span class='flag'>gtk.window.force-background-colour</span>:<div class='flagDesc'>
    If 1, the backgrounds of windows with the wxBG_STYLE_COLOUR background
    style are cleared forcibly instead of relying on the underlying GTK+
    window colour. This works around a display problem when running
    applications under KDE with the gtk-qt theme installed (0.6 and below).
</div>

Mac

<div>
</div>\li <span class='flag'>mac.window-plain-transition</span>:<div class='flagDesc'>
    If 1, uses a plainer transition when showing a window.
    You can also use the symbol wxMAC_WINDOW_PLAIN_TRANSITION.
</div>\li <span class='flag'>window-default-variant</span>:<div class='flagDesc'>
    The default variant used by windows (cast to integer from the wxWindowVariant enum).
    Also known as wxWINDOW_DEFAULT_VARIANT.
</div>\li <span class='flag'>mac.textcontrol-use-spell-checker</span>:<div class='flagDesc'>
    If 1 activates the spell checking in wxTextCtrl.
</div>\li <span class='flag'>osx.openfiledialog.always-show-types</span>:<div class='flagDesc'>
    Per default a wxFileDialog with wxFD_OPEN does not show a types-popup on macOS but allows
    the selection of files from any of the supported types. Setting this to 1 shows a wxChoice
    for selection (if there is more than one supported filetype).
</div>

Motif

<div>
</div>\li <span class='flag'>motif.largebuttons</span>:<div class='flagDesc'>
    If 1, uses a bigger default size for wxButtons.
</div>



The compile-time option to include or exclude this functionality is wxUSE_SYSTEM_OPTIONS.

<h2></h2><div><span class='lib'>Library:</span>&nbsp;&nbsp;<span class='lib_text'>\ref page_libs_wxbase</span></div>
Category:  Application and System configuration
@see wxSystemSettings

Public Member Functions

 wxSystemOptions ()
 Default constructor. More...
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to NULL the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 
void * operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 

Static Public Member Functions

static wxString GetOption (const wxString &name)
 Gets an option. More...
 
static int GetOptionInt (const wxString &name)
 Gets an option as an integer. More...
 
static bool HasOption (const wxString &name)
 Returns true if the given option is present. More...
 
static bool IsFalse (const wxString &name)
 Returns true if the option with the given name had been set to 0 value. More...
 
static void SetOption (const wxString &name, const wxString &value)
 Sets an option. More...
 
static void SetOption (const wxString &name, int value)
 Sets an option. More...
 

Additional Inherited Members

- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

◆ wxSystemOptions()

wxSystemOptions::wxSystemOptions ( )

Default constructor.

You don't need to create an instance of wxSystemOptions since all of its functions are static.

Member Function Documentation

◆ GetOption()

static wxString wxSystemOptions::GetOption ( const wxString name)
static

Gets an option.

The function is case-insensitive to name. Returns empty string if the option hasn't been set.

See also
SetOption(), GetOptionInt(), HasOption()

◆ GetOptionInt()

static int wxSystemOptions::GetOptionInt ( const wxString name)
static

Gets an option as an integer.

The function is case-insensitive to name. If the option hasn't been set, this function returns 0.

See also
SetOption(), GetOption(), HasOption()

◆ HasOption()

static bool wxSystemOptions::HasOption ( const wxString name)
static

Returns true if the given option is present.

The function is case-insensitive to name.

See also
SetOption(), GetOption(), GetOptionInt()

◆ IsFalse()

static bool wxSystemOptions::IsFalse ( const wxString name)
static

Returns true if the option with the given name had been set to 0 value.

This is mostly useful for boolean options for which you can't use GetOptionInt(name) == 0 as this would also be true if the option hadn't been set at all.

◆ SetOption() [1/2]

static void wxSystemOptions::SetOption ( const wxString name,
const wxString value 
)
static

Sets an option.

The function is case-insensitive to name.

◆ SetOption() [2/2]

static void wxSystemOptions::SetOption ( const wxString name,
int  value 
)
static

Sets an option.

The function is case-insensitive to name.