/////////////////////////////////////////////////////////////////////////////
// Name: cat_functions.h
// Purpose: Functions-by-category page of the Doxygen manual
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
/**
@page page_func_cat Functions by Category
@li @ref page_func_cat_appinitterm
@li @ref page_func_cat_procctrl
@li @ref page_func_cat_thread
@li @ref page_func_cat_file
@li @ref page_func_cat_networkuseros
@li @ref page_func_cat_string
@li @ref page_func_cat_dialog
@li @ref page_func_cat_math
@li @ref page_func_cat_gdi
@li @ref page_func_cat_printer
@li @ref page_func_cat_clipboard
@li @ref page_func_cat_log
@li @ref page_func_cat_time
@li @ref page_func_cat_debug
@li @ref page_func_cat_env
@li @ref page_func_cat_atomic
@li @ref page_func_cat_misc
@section page_func_cat_appinitterm Application Initialization and Termination
The functions in this section are used on application startup/shutdown and also
to control the behaviour of the main event loop of the GUI programs.
@li ::wxEntry()
@li ::wxEntryCleanup()
@li ::wxEntryStart()
@li ::wxGetApp()
@li ::wxHandleFatalExceptions()
@li ::wxInitAllImageHandlers()
@li ::wxInitialize()
@li ::wxSafeYield()
@li ::wxUninitialize()
@li ::wxYield()
@li ::wxWakeUpIdle()
@section page_func_cat_procctrl Process Control
The functions in this section are used to launch or terminate the other
processes.
@li ::wxExecute()
@li ::wxExit()
@li ::wxJoin()
@li ::wxKill()
@li ::wxGetProcessId()
@li ::wxShell()
@li ::wxShutdown()
@section page_func_cat_thread Threads
The functions and macros here mainly exist to make it writing the code which
may be compiled in multi thread build (wxUSE_THREADS = 1) as well as in single
thread configuration (wxUSE_THREADS = 0).
For example, a static variable must be protected against simultaneous access by
multiple threads in the former configuration but in the latter the extra
overhead of using the critical section is not needed. To solve this problem,
the wxCRITICAL_SECTION macro may be used to create and use the critical section
only when needed.
@header{wx/thread.h}
@sa wxThread, wxMutex, @ref overview_thread
@li ::wxIsMainThread()
@li ::wxMutexGuiEnter()
@li ::wxMutexGuiLeave()
@section page_func_cat_file Files and Directories
@header{wx/filefn.h}
@sa wxPathList, wxDir, wxFile, wxFileName
@li ::wxDos2UnixFilename()
@li ::wxFileExists()
@li ::wxFileModificationTime()
@li ::wxFileNameFromPath()
@li ::wxFindFirstFile()
@li ::wxFindNextFile()
@li ::wxGetDiskSpace()
@li ::wxGetFileKind()
@li ::wxGetOSDirectory()
@li ::wxIsAbsolutePath()
@li ::wxDirExists()
@li ::wxPathOnly()
@li ::wxUnix2DosFilename()
@li ::wxConcatFiles()
@li ::wxCopyFile()
@li ::wxGetCwd()
@li ::wxGetWorkingDirectory()
@li ::wxGetTempFileName()
@li ::wxIsWild()
@li ::wxMatchWild()
@li ::wxMkdir()
@li ::wxParseCommonDialogsFilter()
@li ::wxRemoveFile()
@li ::wxRenameFile()
@li ::wxRmdir()
@li ::wxSetWorkingDirectory()
@li ::wxSplit()
@li ::wxSplitPath()
@li ::wxTransferFileToStream()
@li ::wxTransferStreamToFile()
@section page_func_cat_networkuseros Network, User and OS
The functions in this section are used to retrieve information about the
current computer and/or user characteristics.
@li ::wxGetEmailAddress()
@li ::wxGetFreeMemory()
@li ::wxGetFullHostName()
@li ::wxGetHomeDir()
@li ::wxGetHostName()
@li ::wxGetOsDescription()
@li ::wxGetOsVersion()
@li ::wxIsPlatformLittleEndian()
@li ::wxIsPlatform64Bit()
@li ::wxGetUserHome()
@li ::wxGetUserId()
@li ::wxGetUserName()
@section page_func_cat_string Strings
@li ::wxGetTranslation()
@li ::wxIsEmpty()
@li ::wxStrcmp()
@li ::wxStricmp()
@li ::wxStringEq()
@li ::wxStringMatch()
@li ::wxStringTokenize()
@li ::wxStrlen()
@li ::wxSnprintf()
@li ::wxVsnprintf()
@section page_func_cat_dialog Dialogs
Below are a number of convenience functions for getting input from the user
or displaying messages. Note that in these functions the last three parameters
are optional. However, it is recommended to pass a parent frame parameter, or
(in MS Windows or Motif) the wrong window frame may be brought to the front when
the dialog box is popped up.
@li ::wxAboutBox()
@li ::wxBeginBusyCursor()
@li ::wxBell()
@li ::wxCreateFileTipProvider()
@li ::wxDirSelector()
@li ::wxFileSelector()
@li ::wxEndBusyCursor()
@li ::wxGenericAboutBox()
@li ::wxGetColourFromUser()
@li ::wxGetFontFromUser()
@li ::wxGetMultipleChoices()
@li ::wxGetNumberFromUser()
@li ::wxGetPasswordFromUser()
@li ::wxGetTextFromUser()
@li ::wxGetSingleChoice()
@li ::wxGetSingleChoiceIndex()
@li ::wxGetSingleChoiceData()
@li ::wxInfoMessageBox()
@li ::wxIsBusy()
@li ::wxMessageBox()
@li ::wxShowTip()
@section page_func_cat_math Math
@header{wx/math.h}
@li ::wxFinite()
@li ::wxIsNaN()
@section page_func_cat_gdi Graphics Device Interface
The following are relevant to the GDI (Graphics Device Interface).
@header{wx/gdicmn.h}
@li ::wxBITMAP()
@li ::wxClientDisplayRect()
@li ::wxColourDisplay()
@li ::wxDisplayDepth()
@li ::wxDisplaySize()
@li ::wxDisplaySizeMM()
@li ::wxDROP_ICON()
@li ::wxICON()
@li ::wxMakeMetafilePlaceable()
@li ::wxSetCursor()
@section page_func_cat_printer Printing
@warning These functions are deprecated and should no longer be used.
The following functions are used to control PostScript printing. Under Windows,
PostScript output can only be sent to a file.
@header{wx/dcps.h}
@li ::wxGetPrinterCommand()
@li ::wxGetPrinterFile()
@li ::wxGetPrinterMode()
@li ::wxGetPrinterOptions()
@li ::wxGetPrinterOrientation()
@li ::wxGetPrinterPreviewCommand()
@li ::wxGetPrinterScaling()
@li ::wxGetPrinterTranslation()
@li ::wxSetPrinterCommand()
@li ::wxSetPrinterFile()
@li ::wxSetPrinterMode()
@li ::wxSetPrinterOptions()
@li ::wxSetPrinterOrientation()
@li ::wxSetPrinterPreviewCommand()
@li ::wxSetPrinterScaling()
@li ::wxSetPrinterTranslation()
@section page_func_cat_clipboard Clipboard
@warning These functions are deprecated, use the wxClipboard class instead.
These clipboard functions are implemented for Windows only.
@header{wx/clipbrd.h}
@li ::wxClipboardOpen()
@li ::wxCloseClipboard()
@li ::wxEmptyClipboard()
@li ::wxEnumClipboardFormats()
@li ::wxGetClipboardData()
@li ::wxGetClipboardFormatName()
@li ::wxIsClipboardFormatAvailable()
@li ::wxOpenClipboard()
@li ::wxRegisterClipboardFormat()
@li ::wxSetClipboardData()
@section page_func_cat_log Logging
These functions provide a variety of logging functions. The functions use
(implicitly) the currently active log target, so their descriptions here may
not apply if the log target is not the standard one (installed by wxWidgets in
the beginning of the program).
Related Overviews: @ref overview_log
@header{wx/log.h}
@li ::wxDebugMsg()
@li ::wxError()
@li ::wxFatalError()
@li ::wxLogError()
@li ::wxLogFatalError()
@li ::wxLogWarning()
@li ::wxLogMessage()
@li ::wxLogVerbose()
@li ::wxLogStatus()
@li ::wxLogSysError()
@li ::wxLogDebug()
@li ::wxLogTrace()
@li ::wxSafeShowMessage()
@li ::wxSysErrorCode()
@li ::wxSysErrorMsg()
@li ::wxTrace()
@li ::wxTraceLevel()
@section page_func_cat_time Time
The functions in this section deal with getting the current time and sleeping
for the specified time interval.
@li ::wxGetLocalTime()
@li ::wxGetLocalTimeMillis()
@li ::wxGetUTCTime()
@li ::wxMicroSleep()
@li ::wxMilliSleep()
@li ::wxNow()
@li ::wxSleep()
@li ::wxUsleep()
@section page_func_cat_debug Debugging
Useful macros and functions for error checking and defensive programming.
wxWidgets defines three families of the assert-like macros: the wxASSERT and
wxFAIL macros only do anything if __WXDEBUG__ is defined (in other words, in
the debug build) but disappear completely in the release build. On the other
hand, the wxCHECK macros stay event in release builds but a check failure
doesn't generate any user-visible effects then. Finally, the compile time
assertions don't happen during the run-time but result in the compilation error
messages if the condition they check fail.
@header{wx/debug.h}
@li ::wxOnAssert()
@li ::wxTrap()
@li ::wxIsDebuggerRunning()
@section page_func_cat_env Environment
The functions in this section allow to access (get) or change value of
environment variables in a portable way. They are currently implemented under
Win32 and POSIX-like systems (Unix).
@header{wx/utils.h}
@li ::wxGetenv()
@li ::wxGetEnv()
@li ::wxSetEnv()
@li ::wxUnsetEnv()
@section page_func_cat_atomic Atomic Operations
When using multi-threaded applications, it is often required to access or
modify memory which is shared between threads. Atomic integer and pointer
operations are an efficient way to handle this issue (another, less efficient,
way is to use a mutex or critical section). A native implementation exists for
Windows, Linux, Solaris and Mac OS X, for other OS, a wxCriticalSection is used
to protect the data.
One particular application is reference counting (used by so-called smart
pointers).
You should define your variable with the type wxAtomicInt in order to apply
atomic operations to it.
@header{wx/atomic.h}
@li ::wxAtomicInc()
@li ::wxAtomicDec()
@section page_func_cat_misc Miscellaneous
@li ::wxBase64Decode()
@li ::wxBase64DecodedSize()
@li ::wxBase64Encode()
@li ::wxBase64EncodedSize()
@li ::wxGetKeyState()
@li ::wxNewId()
@li ::wxRegisterId()
@li ::wxDDECleanUp()
@li ::wxDDEInitialize()
@li ::wxEnableTopLevelWindows()
@li ::wxFindMenuItemId()
@li ::wxFindWindowByLabel()
@li ::wxFindWindowByName()
@li ::wxFindWindowAtPoint()
@li ::wxFindWindowAtPointer()
@li ::wxGetActiveWindow()
@li ::wxGetBatteryState()
@li ::wxGetDisplayName()
@li ::wxGetPowerType()
@li ::wxGetMousePosition()
@li ::wxGetMouseState()
@li ::wxGetStockLabel()
@li ::wxGetTopLevelParent()
@li ::wxLaunchDefaultBrowser()
@li ::wxLoadUserResource()
@li ::wxPostDelete()
@li ::wxPostEvent()
@li ::wxSetDisplayName()
@li ::wxStripMenuCodes()
*/