| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: sysopt.h
- // Purpose: interface of wxSystemOptions
- // Author: wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- /**
- @class wxSystemOptions
- 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 @c wx_option to set the given option for all wxWidgets
- applications or @c 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:
- @section sysopt_all All platforms
- @beginFlagTable
- @flag{exit-on-assert}
- 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 to change it without modifying the program code and
- also applies to asserts which may happen before the wxApp object
- creation or after its destruction.
- @endFlagTable
- @section sysopt_win Windows
- @beginFlagTable
- @flag{no-maskblt}
- 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.
- @flag{msw.remap}
- 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.
- @flag{msw.window.no-clip-children}
- 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.
- @flag{msw.notebook.themed-background}
- 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).
- @flag{msw.staticbox.optimized-paint}
- 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).
- @flag{msw.display.directdraw}
- If set to 1, use DirectDraw-based implementation of wxDisplay.
- By default the standard Win32 functions are used.
- @flag{msw.font.no-proof-quality}
- 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.
- @flag{wince.dialog.real-ok-cancel}
- The PocketPC guidelines recommend for Ok/Cancel dialogs to use an OK button
- located inside the caption bar and implement Cancel functionality through
- Undo outside the dialog.
- wxDialog::CreateButtonSizer will follow the native behaviour on WinCE but
- it can be overridden with real wxButtons by setting the option below to 1.
- @endFlagTable
- @section sysopt_gtk GTK+
- @beginFlagTable
- @flag{gtk.tlw.can-set-transparent}
- 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 to
- override 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.
- @flag{gtk.desktop}
- This option can be set to override the default desktop environment
- determination. Supported values are GNOME and KDE.
- @flag{gtk.window.force-background-colour}
- 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).
- @endFlagTable
- @section sysopt_mac Mac
- @beginFlagTable
- @flag{mac.window-plain-transition}
- If 1, uses a plainer transition when showing a window.
- You can also use the symbol wxMAC_WINDOW_PLAIN_TRANSITION.
- @flag{window-default-variant}
- The default variant used by windows (cast to integer from the wxWindowVariant enum).
- Also known as wxWINDOW_DEFAULT_VARIANT.
- @flag{mac.listctrl.always_use_generic}
- Tells wxListCtrl to use the generic control even when it is capable of
- using the native control instead. Also known as wxMAC_ALWAYS_USE_GENERIC_LISTCTRL.
- @flag{mac.textcontrol-use-spell-checker}
- This option only has effect for Mac OS X 10.4 and higher.
- If 1 activates the spell checking in wxTextCtrl.
- @flag{osx.openfiledialog.always-show-types}
- Per default a wxFileDialog with wxFD_OPEN does not show a types-popup on OSX 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).
- @endFlagTable
- @section sysopt_motif Motif
- @beginFlagTable
- @flag{motif.largebuttons}
- If 1, uses a bigger default size for wxButtons.
- @endFlagTable
- The compile-time option to include or exclude this functionality is wxUSE_SYSTEM_OPTIONS.
- @library{wxbase}
- @category{cfg}
- @see wxSystemSettings
- */
- class wxSystemOptions : public wxObject
- {
- public:
- /**
- Default constructor.
- You don't need to create an instance of wxSystemOptions since all
- of its functions are static.
- */
- wxSystemOptions();
- /**
- Gets an option. The function is case-insensitive to @a name.
- Returns empty string if the option hasn't been set.
- @see SetOption(), GetOptionInt(), HasOption()
- */
- static wxString GetOption(const wxString& name);
- /**
- Gets an option as an integer. The function is case-insensitive to @a name.
- If the option hasn't been set, this function returns 0.
- @see SetOption(), GetOption(), HasOption()
- */
- static int GetOptionInt(const wxString& name);
- /**
- Returns @true if the given option is present.
- The function is case-insensitive to @a name.
- @see SetOption(), GetOption(), GetOptionInt()
- */
- static bool HasOption(const wxString& name);
- /**
- Returns @true if the option with the given @a name had been set to 0 value.
- This is mostly useful for boolean options for which you can't use
- @c GetOptionInt(name) == 0 as this would also be @true if the option
- hadn't been set at all.
- */
- static bool IsFalse(const wxString& name);
- //@{
- /**
- Sets an option. The function is case-insensitive to @a name.
- */
- static void SetOption(const wxString& name, const wxString& value);
- static void SetOption(const wxString& name, int value);
- //@}
- };
|