# wxSystemOptions

###
Module

wxSystemOptions

###
Module Summary

Functions for wxSystemOptions class

###
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/2 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() (not implemented in wx)). 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

Windows

GTK+

Mac

Motif

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

See: wxSystemSettings

wxWidgets docs: wxSystemOptions

###
Data Types

####
wxSystemOptions() = wx:wx_object()

###
Exports

####
getOption(Name) -> unicode:charlist()

### Types

Name = unicode:chardata()

Gets an option.

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

See: setOption/2, getOptionInt/1, hasOption/1

####
getOptionInt(Name) -> integer()

### Types

Name = unicode:chardata()

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: setOption/2, getOption/1, hasOption/1

####
hasOption(Name) -> boolean()

### Types

Name = unicode:chardata()

Returns true if the given option is present.

The function is case-insensitive to name.

See: setOption/2, getOption/1, getOptionInt/1

####
isFalse(Name) -> boolean()

### Types

Name = unicode:chardata()

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(Name, Value) -> ok

####
setOption(Name, Value) -> ok

### Types

Name = Value = unicode:chardata()

Sets an option.

The function is case-insensitive to name.