@class wxArrayString
@wxheader{arrstr.h}
- wxArrayString is an efficient container for storing
- wxString objects. It has the same features as all
- wxArray classes, i.e. it dynamically expands when new items
- are added to it (so it is as easy to use as a linked list), but the access
- time to the elements is constant, instead of being linear in number of
- elements as in the case of linked lists. It is also very size efficient and
- doesn't take more space than a C array @e wxString[] type (wxArrayString
- uses its knowledge of internals of wxString class to achieve this).
-
- This class is used in the same way as other dynamic arrays(),
- except that no @e WX_DEFINE_ARRAY declaration is needed for it. When a
- string is added or inserted in the array, a copy of the string is created, so
- the original string may be safely deleted (e.g. if it was a @e wxChar *
- pointer the memory it was using can be freed immediately after this). In
- general, there is no need to worry about string memory deallocation when using
+ wxArrayString is an efficient container for storing wxString objects.
+
+ It has the same features as all wxArray classes, i.e. it dynamically expands
+ when new items are added to it (so it is as easy to use as a linked list),
+ but the access time to the elements is constant, instead of being linear in
+ number of elements as in the case of linked lists. It is also very size
+ efficient and doesn't take more space than a C array @e wxString[] type
+ (wxArrayString uses its knowledge of internals of wxString class to achieve this).
+
+ This class is used in the same way as other dynamic arrays(), except that no
+ @e WX_DEFINE_ARRAY declaration is needed for it.
+ When a string is added or inserted in the array, a copy of the string is created,
+ so the original string may be safely deleted (e.g. if it was a @e wxChar *
+ pointer the memory it was using can be freed immediately after this).
+ In general, there is no need to worry about string memory deallocation when using
this class - it will always free the memory it uses itself.
- The references returned by wxArrayString::Item,
- wxArrayString::Last or
- @ref wxArrayString::operatorindex operator[] are not constant, so the
- array elements may be modified in place like this
+ The references returned by wxArrayString::Item, wxArrayString::Last or
+ wxArrayString::operator[] are not constant, so the array elements may
+ be modified in place like this:
@code
array.Last().MakeUpper();
There is also a variant of wxArrayString called wxSortedArrayString which has
exactly the same methods as wxArrayString, but which always keeps the string
in it in (alphabetical) order. wxSortedArrayString uses binary search in its
- wxArrayString::Index function (instead of linear search for
- wxArrayString::Index) which makes it much more efficient if you add strings to
- the array rarely (because, of course, you have to pay for Index() efficiency
- by having Add() be slower) but search for them often. Several methods should
- not be used with sorted array (basically, all which break the order of items)
- which is mentioned in their description.
+ wxArrayString::Index() function (instead of linear search for wxArrayString::Index())
+ which makes it much more efficient if you add strings to the array rarely
+ (because, of course, you have to pay for Index() efficiency by having Add() be
+ slower) but search for them often. Several methods should not be used with
+ sorted array (basically, all which break the order of items) which is
+ mentioned in their description.
- Final word: none of the methods of wxArrayString is virtual including its
- destructor, so this class should not be used as a base class.
+ @note none of the methods of wxArrayString is virtual including its
+ destructor, so this class should not be used as a base class.
+
+ Although this is not true strictly speaking, this class may be considered as
+ a specialization of wxArray class for the wxString member data: it is not
+ implemented like this, but it does have all of the wxArray functions.
@library{wxbase}
@category{containers}
- @see wxArray, wxString, @ref overview_wxstringoverview "wxString overview"
+ @see wxArray, wxString, @ref overview_string
*/
class wxArrayString : public wxArray
{
public:
- //@{
/**
- Constructor from a wxString array. Pass a size @a sz and array @e arr.
+ Default constructor.
*/
wxArrayString();
+
+ /**
+ Copy constructor. Note that when an array is assigned to a sorted array,
+ its contents is automatically sorted during construction.
+ */
wxArrayString(const wxArrayString& array);
+
+ //@{
+ /**
+ Constructor from a C string array. Pass a size sz and array arr.
+ **/
wxArrayString(size_t sz, const char** arr);
wxArrayString(size_t sz, const wchar_t** arr);
- wxArrayString(size_t sz, const wxString* arr);
//@}
/**
- Destructor frees memory occupied by the array strings. For the performance
+ Constructor from a wxString array. Pass a size @a sz and array @e arr.
+ */
+ wxArrayString(size_t sz, const wxString* arr);
+
+ /**
+ Destructor frees memory occupied by the array strings. For performance
reasons it is not virtual, so this class should not be derived from.
*/
~wxArrayString();
/**
Appends the given number of @a copies of the new item @a str to the
array and returns the index of the first new item in the array.
- @b Warning: For sorted arrays, the index of the inserted item will not be,
- in general, equal to GetCount() - 1 because
- the item is inserted at the correct position to keep the array sorted and not
- appended.
- See also: Insert()
+
+ @warning
+ For sorted arrays, the index of the inserted item will not be, in general,
+ equal to GetCount() - 1 because the item is inserted at the correct position
+ to keep the array sorted and not appended.
+
+ @see Insert()
*/
size_t Add(const wxString& str, size_t copies = 1);
Preallocates enough memory to store @a nCount items. This function may be
used to improve array class performance before adding a known number of items
consecutively.
- See also: @ref wxArray::memorymanagement "Dynamic array memory management"
+
+ @todo FIX THIS LINK
+
+ @see @ref wxArray::memorymanagement "Dynamic array memory management"
*/
void Alloc(size_t nCount);
/**
Clears the array contents and frees memory.
- See also: Empty()
+
+ @see Empty()
*/
void Clear();
/**
- Empties the array: after a call to this function
- GetCount() will return 0. However, this
- function does not free the memory used by the array and so should be used when
- the array is going to be reused for storing other strings. Otherwise, you
- should use Clear() to empty the array and free
- memory.
+ Empties the array: after a call to this function GetCount() will return 0.
+ However, this function does not free the memory used by the array and so
+ should be used when the array is going to be reused for storing other strings.
+ Otherwise, you should use Clear() to empty the array and free memory.
*/
void Empty();
size_t GetCount() const;
/**
- Search the element in the array, starting from the beginning if
- @a bFromEnd is @false or from end otherwise. If @e bCase, comparison is
- case sensitive (default), otherwise the case is ignored.
+ Search the element in the array, starting from the beginning if @a bFromEnd
+ is @false or from end otherwise. If @e bCase, comparison is case sensitive
+ (default), otherwise the case is ignored.
+
This function uses linear search for wxArrayString and binary search for
- wxSortedArrayString, but it ignores the @a bCase and @a bFromEnd
- parameters in the latter case.
+ wxSortedArrayString, but it ignores the @a bCase and @a bFromEnd parameters
+ in the latter case.
Returns index of the first item matched or @c wxNOT_FOUND if there is no match.
*/
int Index(const wxString& sz, bool bCase = true,
/**
Insert the given number of @a copies of the new element in the array before the
- position @e nIndex. Thus, for
- example, to insert the string in the beginning of the array you would write
+ position @e nIndex. Thus, for example, to insert the string in the beginning of
+ the array you would write:
+
+ @code
+ Insert("foo", 0);
+ @endcode
- If @a nIndex is equal to @e GetCount() this function behaves as
- Add().
- @b Warning: this function should not be used with sorted arrays because it
- could break the order of items and, for example, subsequent calls to
- Index() would then not work!
+ If @a nIndex is equal to @e GetCount() this function behaves as Add().
+
+ @warning this function should not be used with sorted arrays because it
+ could break the order of items and, for example, subsequent calls
+ to Index() would then not work!
*/
void Insert(const wxString& str, size_t nIndex,
size_t copies = 1);
Return the array element at position @e nIndex. An assert failure will
result from an attempt to access an element beyond the end of array in debug
mode, but no check is done in release mode.
- See also @ref operatorindex() operator[] for the operator
- version.
+
+ @see operator[] for the operator version.
*/
wxString Item(size_t nIndex) const;
/**
Removes the first item matching this value. An assert failure is provoked by
an attempt to remove an element which does not exist in debug build.
- See also: Index()
+
+ @see Index()
*/
void Remove(const wxString& sz);
/**
Releases the extra memory allocated by the array. This function is useful to
minimize the array memory consumption.
- See also: Alloc(), @ref wxArray::memorymanagement "Dynamic array memory
+
+ @todo FIX THIS LINK
+
+ @see Alloc(), @ref wxArray::memorymanagement "Dynamic array memory
management"
*/
void Shrink();
- //@{
+ /**
+ Sorts the array in alphabetical order or in reverse alphabetical order if
+ @a reverseOrder is @true. The sort is case-sensitive.
+
+ @warning this function should not be used with sorted array because it could
+ break the order of items and, for example, subsequent calls to Index()
+ would then not work!
+ */
+
+ void Sort(bool reverseOrder = false);
+
/**
Sorts the array using the specified @a compareFunction for item comparison.
- @e CompareFunction is defined as a function taking two @e const
- wxString parameters and returning an @e int value less than, equal to or
- greater than 0 if the first string is less than, equal to or greater than the
+ @e CompareFunction is defined as a function taking two @e const wxString
+ parameters and returning an @e int value less than, equal to or greater
+ than 0 if the first string is less than, equal to or greater than the
second one.
+
+ Example:
+ The following example sorts strings by their length.
+
+ @code
+ static int CompareStringLen(const wxString& first, const wxString& second)
+ {
+ return first.length() - second.length();
+ }
+
+ ...
+
+ wxArrayString array;
+
+ array.Add("one");
+ array.Add("two");
+ array.Add("three");
+ array.Add("four");
+
+ array.Sort(CompareStringLen);
+ @endcode
+
+ @warning this function should not be used with sorted array because
+ it could break the order of items and, for example, subsequent
+ calls to Index() would then not work!
*/
- void Sort(bool reverseOrder = false);
-Warning:
void Sort(CompareFunction compareFunction);
- //@}
/**
Compares 2 arrays respecting the case. Returns @true if the arrays have
/**
Return the array element at position @e nIndex. An assert failure will
- result from an attempt to access an element beyond the end of array in debug
- mode, but no check is done in release mode.
- This is the operator version of Item() method.
+ result from an attempt to access an element beyond the end of array in
+ debug mode, but no check is done in release mode.
+
+ This is the operator version of the Item() method.
*/
wxString operator[](size_t nIndex);
};
// Global functions/macros
// ============================================================================
+/** @ingroup group_funcmacro_string */
+//@{
+
/**
Splits the given wxString object using the separator @a sep and returns the
result as a wxArrayString.
+
If the @a escape character is non-@NULL, then the occurrences of @a sep
- immediately prefixed
- with @a escape are not considered as separators.
+ immediately prefixed with @a escape are not considered as separators.
Note that empty tokens will be generated if there are two or more adjacent
separators.
@see wxJoin()
*/
wxArrayString wxSplit(const wxString& str, const wxChar sep,
- const wxChar escape = '
- ');
+ const wxChar escape = '\\');
/**
- Concatenate all lines of the given wxArrayString object using the separator @a
- sep and returns
- the result as a wxString.
+ Concatenate all lines of the given wxArrayString object using the separator
+ @a sep and returns the result as a wxString.
+
If the @a escape character is non-@NULL, then it's used as prefix for each
- occurrence of @e sep
- in the strings contained in @a arr before joining them which is necessary
- in order to be able to recover the original array contents from the string
- later using wxSplit().
+ occurrence of @e sep in the strings contained in @a arr before joining them
+ which is necessary in order to be able to recover the original array contents
+ from the string later using wxSplit().
+
+ @see wxSplit()
*/
wxString wxJoin(const wxArrayString& arr, const wxChar sep,
- const wxChar escape = '\');
+ const wxChar escape = '\\');
+//@}
@wxheader{artprov.h}
wxArtProvider class is used to customize the look of wxWidgets application.
+
When wxWidgets needs to display an icon or a bitmap (e.g. in the standard file
dialog), it does not use a hard-coded resource but asks wxArtProvider for it
instead. This way users can plug in their own wxArtProvider class and easily
- replace standard art with their own version. All
- that is needed is to derive a class from wxArtProvider, override either its
- wxArtProvider::CreateBitmap and/or its
- wxArtProvider::CreateIconBundle methods
- and register the provider with
- wxArtProvider::Push:
+ replace standard art with their own version.
+
+ All that is needed is to derive a class from wxArtProvider, override either its
+ wxArtProvider::CreateBitmap and/or its wxArtProvider::CreateIconBundle methods
+ and register the provider with wxArtProvider::Push:
@code
- class MyProvider : public wxArtProvider
+ class MyProvider : public wxArtProvider
{
protected:
wxBitmap CreateBitmap(const wxArtID& id,
@endcode
If you need bitmap images (of the same artwork) that should be displayed at
- different sizes
- you should probably consider overriding wxArtProvider::CreateIconBundle
+ different sizes you should probably consider overriding wxArtProvider::CreateIconBundle
and supplying icon bundles that contain different bitmap sizes.
There's another way of taking advantage of this class: you can use it in your
- code and use
- platform native icons as provided by wxArtProvider::GetBitmap or
- wxArtProvider::GetIcon (NB: this is not yet really
- possible as of wxWidgets 2.3.3, the set of wxArtProvider bitmaps is too
- small).
-
-
- wxArtProvider::~wxArtProvider
- wxArtProvider::CreateBitmap
- wxArtProvider::CreateIconBundle
- wxArtProvider::Delete
- wxArtProvider::GetBitmap
- wxArtProvider::GetIconBundle
- wxArtProvider::GetIcon
- wxArtProvider::Insert
- wxArtProvider::Pop
- wxArtProvider::Push
- wxArtProvider::Remove
+ code and use platform native icons as provided by wxArtProvider::GetBitmap or
+ wxArtProvider::GetIcon.
+ @todo IS THIS NB TRUE?
+ (NB: this is not yet really possible as of wxWidgets 2.3.3, the set of wxArtProvider
+ bitmaps is too small).
- Identifying art resources
+ @section wxartprovider_identify Identifying art resources
Every bitmap and icon bundle are known to wxArtProvider under an unique ID that
- is used when
- requesting a resource from it. The ID is represented by wxArtID type and can
- have one of these predefined values (you can see bitmaps represented by these
- constants in the artprov() sample):
-
- wxART_ERROR
- wxART_QUESTION
- wxART_WARNING
- wxART_INFORMATION
- wxART_ADD_BOOKMARK
- wxART_DEL_BOOKMARK
- wxART_HELP_SIDE_PANEL
- wxART_HELP_SETTINGS
- wxART_HELP_BOOK
- wxART_HELP_FOLDER
- wxART_HELP_PAGE
- wxART_GO_BACK
- wxART_GO_FORWARD
- wxART_GO_UP
- wxART_GO_DOWN
- wxART_GO_TO_PARENT
- wxART_GO_HOME
- wxART_PRINT
- wxART_HELP
- wxART_TIP
- wxART_REPORT_VIEW
- wxART_LIST_VIEW
- wxART_NEW_DIR
- wxART_FOLDER
- wxART_FOLDER_OPEN
- wxART_GO_DIR_UP
- wxART_EXECUTABLE_FILE
- wxART_NORMAL_FILE
- wxART_TICK_MARK
- wxART_CROSS_MARK
- wxART_MISSING_IMAGE
- wxART_NEW
- wxART_FILE_OPEN
- wxART_FILE_SAVE
- wxART_FILE_SAVE_AS
- wxART_DELETE
- wxART_COPY
- wxART_CUT
- wxART_PASTE
- wxART_UNDO
- wxART_REDO
- wxART_QUIT
- wxART_FIND
- wxART_FIND_AND_REPLACE
- wxART_HARDDISK
- wxART_FLOPPY
- wxART_CDROM
- wxART_REMOVABLE
+ is used when requesting a resource from it. The ID is represented by wxArtID type
+ and can have one of these predefined values (you can see bitmaps represented by these
+ constants in the @ref page_utils_samples_artprovider):
+ <table>
+ <tr><td>
+ @li wxART_ERROR
+ @li wxART_QUESTION
+ @li wxART_WARNING
+ @li wxART_INFORMATION
+ @li wxART_ADD_BOOKMARK
+ @li wxART_DEL_BOOKMARK
+ @li wxART_HELP_SIDE_PANEL
+ @li wxART_HELP_SETTINGS
+ @li wxART_HELP_BOOK
+ @li wxART_HELP_FOLDER
+ @li wxART_HELP_PAGE
+ @li wxART_GO_BACK
+ @li wxART_GO_FORWARD
+ @li wxART_GO_UP
+ </td><td>
+ @li wxART_GO_DOWN
+ @li wxART_GO_TO_PARENT
+ @li wxART_GO_HOME
+ @li wxART_PRINT
+ @li wxART_HELP
+ @li wxART_TIP
+ @li wxART_REPORT_VIEW
+ @li wxART_LIST_VIEW
+ @li wxART_NEW_DIR
+ @li wxART_FOLDER
+ @li wxART_FOLDER_OPEN
+ @li wxART_GO_DIR_UP
+ @li wxART_EXECUTABLE_FILE
+ @li wxART_NORMAL_FILE
+ @li wxART_TICK_MARK
+ @li wxART_CROSS_MARK
+ </td><td>
+ @li wxART_MISSING_IMAGE
+ @li wxART_NEW
+ @li wxART_FILE_OPEN
+ @li wxART_FILE_SAVE
+ @li wxART_FILE_SAVE_AS
+ @li wxART_DELETE
+ @li wxART_COPY
+ @li wxART_CUT
+ @li wxART_PASTE
+ @li wxART_UNDO
+ @li wxART_REDO
+ @li wxART_QUIT
+ @li wxART_FIND
+ @li wxART_FIND_AND_REPLACE
+ @li wxART_HARDDISK
+ @li wxART_FLOPPY
+ @li wxART_CDROM
+ @li wxART_REMOVABLE
+ </td></tr>
+ </table>
Additionally, any string recognized by custom art providers registered using
wxArtProvider::Push may be used.
+ @note
+ When running under GTK+ 2, GTK+ stock item IDs (e.g. @c "gtk-cdrom") may be used
+ as well. Additionally, if wxGTK was compiled against GTK+ >= 2.4, then it is also
+ possible to load icons from current icon theme by specifying their name (without
+ extension and directory components).
+ Icon themes recognized by GTK+ follow the freedesktop.org Icon Themes specification
+ (see http://freedesktop.org/Standards/icon-theme-spec).
+ Note that themes are not guaranteed to contain all icons, so wxArtProvider may
+ return ::wxNullBitmap or ::wxNullIcon.
+ The default theme is typically installed in @c /usr/share/icons/hicolor.
+
+
+ @section wxartprovider_clients Clients
+
+ Client is the entity that calls wxArtProvider's GetBitmap or GetIcon function.
+ It is represented by wxClientID type and can have one of these values:
+
+ @li wxART_TOOLBAR
+ @li wxART_MENU
+ @li wxART_BUTTON
+ @li wxART_FRAME_ICON
+ @li wxART_CMN_DIALOG
+ @li wxART_HELP_BROWSER
+ @li wxART_MESSAGE_BOX
+ @li wxART_OTHER (used for all requests that don't fit into any of the
+ categories above)
+
+ Client ID servers as a hint to wxArtProvider that is supposed to help it to
+ choose the best looking bitmap. For example it is often desirable to use
+ slightly different icons in menus and toolbars even though they represent
+ the same action (e.g. wxART_FILE_OPEN). Remember that this is really only a
+ hint for wxArtProvider -- it is common that wxArtProvider::GetBitmap returns
+ identical bitmap for different client values!
+
@library{wxcore}
- @category{FIXME}
+ @category{misc,data}
- @see See the artprov() sample for an example of wxArtProvider usage.
+ @see the @ref page_utils_samples_artprovider for an example of wxArtProvider usage.
*/
class wxArtProvider : public wxObject
{
*/
~wxArtProvider();
- /**
- Client is the entity that calls wxArtProvider's GetBitmap or GetIcon
- function. It is represented by wxClientID type and can have one of these
- values:
- wxART_TOOLBAR
- wxART_MENU
- wxART_BUTTON
- wxART_FRAME_ICON
- wxART_CMN_DIALOG
- wxART_HELP_BROWSER
- wxART_MESSAGE_BOX
- wxART_OTHER (used for all requests that don't fit into any of the categories
- above)
- Client ID servers as a hint to wxArtProvider that is supposed to help it to
- choose the best looking bitmap. For example it is often desirable to use
- slightly different icons in menus and toolbars even though they represent the
- same action (e.g. @c wx_ART_FILE_OPEN). Remember that this is really
- only a hint for wxArtProvider -- it is common that
- GetBitmap()
- returns identical bitmap for different @e client values!
-
- @see See the artprov() sample for an example of wxArtProvider usage.
- */
-
-
/**
Derived art provider classes must override this method to create requested art
resource. Note that returned bitmaps are cached by wxArtProvider and it is
@param size
Preferred size of the bitmap. The function may return a bitmap of different
dimensions, it will be automatically rescaled to meet client's request.
+
+ @note
+ This is not part of wxArtProvider's public API, use wxArtProvider::GetBitmap
+ or wxArtProvider::GetIconBundle or wxArtProvider::GetIcon to query wxArtProvider
+ for a resource.
@see CreateIconBundle()
*/
const wxSize& size);
/**
- This method is similar to CreateBitmap() but
- can be used when a bitmap (or an icon) exists in several sizes.
+ This method is similar to CreateBitmap() but can be used when a bitmap
+ (or an icon) exists in several sizes.
*/
wxIconBundle CreateIconBundle(const wxArtID& id,
const wxArtClient& client);
const wxArtClient& client = wxART_OTHER,
const wxSize& size = wxDefaultSize);
- //@{
+ /**
+ Same as wxArtProvider::GetBitmap, but return a wxIcon object
+ (or ::wxNullIcon on failure).
+ */
+ static wxIcon GetIcon(const wxArtID& id,
+ const wxArtClient& client = wxART_OTHER,
+ const wxSize& size = wxDefaultSize);
+
/**
Returns a suitable size hint for the given @e wxArtClient. If
@a platform_default is @true, return a size based on the current platform,
otherwise return the size from the topmost wxArtProvider. @e wxDefaultSize may
- be
- returned if the client doesn't have a specified size, like wxART_OTHER for
+ be returned if the client doesn't have a specified size, like wxART_OTHER for
example.
*/
- static wxIcon GetIcon(const wxArtID& id,
- const wxArtClient& client = wxART_OTHER,
- const wxSize& size = wxDefaultSize);
static wxSize GetSizeHint(const wxArtClient& client,
bool platform_default = false);
- //@}
/**
Query registered providers for icon bundle with given ID.
wxArtID unique identifier of the icon bundle.
@param client
wxArtClient identifier of the client (i.e. who is asking for the icon
- bundle).
+ bundle).
@returns The icon bundle if one of registered providers recognizes the ID
or wxNullIconBundle otherwise.
const wxArtClient& client = wxART_OTHER);
/**
- Every bitmap and icon bundle are known to wxArtProvider under an unique ID that
- is used when
- requesting a resource from it. The ID is represented by wxArtID type and can
- have one of these predefined values (you can see bitmaps represented by these
- constants in the artprov() sample):
-
- wxART_ERROR
- wxART_QUESTION
- wxART_WARNING
- wxART_INFORMATION
- wxART_ADD_BOOKMARK
- wxART_DEL_BOOKMARK
- wxART_HELP_SIDE_PANEL
- wxART_HELP_SETTINGS
- wxART_HELP_BOOK
- wxART_HELP_FOLDER
- wxART_HELP_PAGE
- wxART_GO_BACK
- wxART_GO_FORWARD
- wxART_GO_UP
- wxART_GO_DOWN
- wxART_GO_TO_PARENT
- wxART_GO_HOME
- wxART_PRINT
- wxART_HELP
- wxART_TIP
- wxART_REPORT_VIEW
- wxART_LIST_VIEW
- wxART_NEW_DIR
- wxART_FOLDER
- wxART_FOLDER_OPEN
- wxART_GO_DIR_UP
- wxART_EXECUTABLE_FILE
- wxART_NORMAL_FILE
- wxART_TICK_MARK
- wxART_CROSS_MARK
- wxART_MISSING_IMAGE
- wxART_NEW
- wxART_FILE_OPEN
- wxART_FILE_SAVE
- wxART_FILE_SAVE_AS
- wxART_DELETE
- wxART_COPY
- wxART_CUT
- wxART_PASTE
- wxART_UNDO
- wxART_REDO
- wxART_QUIT
- wxART_FIND
- wxART_FIND_AND_REPLACE
- wxART_HARDDISK
- wxART_FLOPPY
- wxART_CDROM
- wxART_REMOVABLE
- Additionally, any string recognized by custom art providers registered using
- Push() may be used.
- */
-
-
- /**
- Register new art provider and add it to the bottom of providers stack (i.e.
- it will be queried as the last one).
+ Register new art provider and add it to the bottom of providers stack
+ (i.e. it will be queried as the last one).
@see Push()
*/
static bool Pop();
/**
- Register new art provider and add it to the top of providers stack (i.e. it
- will be queried as the first provider).
+ Register new art provider and add it to the top of providers stack
+ (i.e. it will be queried as the first provider).
@see Insert()
*/
*/
void wxInfoMessageBox(wxWindow ( parent = NULL);
- /**
- Find a menu item identifier associated with the given frame's menu bar.
- */
- int wxFindMenuItemId(wxFrame* frame, const wxString& menuString,
- const wxString& itemString);
-
- /**
- This function enables or disables all top level windows. It is used by
- ::wxSafeYield.
- */
- void wxEnableTopLevelWindows(bool enable = true);
-
- /**
- Strips any menu codes from @a str and returns the result.
- By default, the functions strips both the mnemonics character (@c '')
- which is used to indicate a keyboard shortkey, and the accelerators, which are
- used only in the menu items and are separated from the main text by the
- @c \t (TAB) character. By using @a flags of
- @c wxStrip_Mnemonics or @c wxStrip_Accel to strip only the former
- or the latter part, respectively.
- Notice that in most cases
- wxMenuItem::GetLabelFromText or
- wxControl::GetLabelText can be used instead.
- */
- wxString wxStripMenuCodes(const wxString& str,
- int flags = wxStrip_All);
-
- /**
- @b NB: This function is now obsolete, please use wxLogError()
- instead.
- Displays @a msg and continues. This writes to standard error under
- Unix, and pops up a message box under Windows. Used for internal
- wxWidgets errors. See also wxFatalError().
- */
- void wxError(const wxString& msg,
- const wxString& title = "wxWidgets Internal Error");
-
- /**
- Open the @a url in user's default browser. If @a flags parameter contains
- @c wxBROWSER_NEW_WINDOW flag, a new window is opened for the URL
- (currently this is only supported under Windows). The @a url may also be a
- local file path (with or without @c file:// prefix), if it doesn't
- correspond to an existing file and the URL has no scheme @c http:// is
- prepended to it by default.
- Returns @true if the application was successfully launched.
- Note that for some configurations of the running user, the application which
- is launched to open the given URL may be URL-dependent (e.g. a browser may be
- used for
- local URLs while another one may be used for remote URLs).
- */
- bool wxLaunchDefaultBrowser(const wxString& url, int flags = 0);
-
- /**
- Executes a command in an interactive shell window. If no command is
- specified, then just the shell is spawned.
- See also wxExecute(), @ref overview_sampleexec "Exec sample".
- */
- bool wxShell(const wxString& command = NULL);
-
- /**
- Gets the version and the operating system ID for currently running OS.
- See wxPlatformInfo for more details about wxOperatingSystemId.
-
- @see ::wxGetOsDescription, wxPlatformInfo
- */
- wxOperatingSystemId wxGetOsVersion(int* major = NULL,
- int* minor = NULL);
-
- /**
- Returns the FQDN (fully qualified domain host name) or an empty string on
- error.
-
- @see wxGetHostName()
- */
- wxString wxGetFullHostName();
-
- /**
- Changes the cursor to the given cursor for all windows in the application.
- Use wxEndBusyCursor() to revert the cursor back
- to its previous state. These two calls can be nested, and a counter
- ensures that only the outer calls take effect.
- See also wxIsBusy(), wxBusyCursor.
- */
- void wxBeginBusyCursor(wxCursor* cursor = wxHOURGLASS_CURSOR);
-
- /**
- Tells the system to delete the specified object when
- all other events have been processed. In some environments, it is
- necessary to use this instead of deleting a frame directly with the
- delete operator, because some GUIs will still send events to a deleted window.
- Now obsolete: use wxWindow::Close instead.
- */
- void wxPostDelete(wxObject* object);
-
- /**
- @b NB: This function is obsolete, please use
- wxWindow::FindWindowByLabel instead.
- Find a window by its label. Depending on the type of window, the label may be a
- window title
- or panel item label. If @a parent is @NULL, the search will start from all
- top-level
- frames and dialog boxes; if non-@NULL, the search will be limited to the given
- window hierarchy.
- The search is recursive in both cases.
- */
- wxWindow* wxFindWindowByLabel(const wxString& label,
- wxWindow* parent = NULL);
-
- /**
- This function is similar to wxYield, except that it disables the user input to
- all program windows before calling wxYield and re-enables it again
- afterwards. If @a win is not @NULL, this window will remain enabled,
- allowing the implementation of some limited user interaction.
- Returns the result of the call to ::wxYield.
- */
- bool wxSafeYield(wxWindow* win = NULL, bool onlyIfNeeded = false);
-
- /**
- Returns the mouse position in screen coordinates.
- */
- wxPoint wxGetMousePosition();
-
- /**
- Loads a user-defined Windows resource as a string. If the resource is found,
- the function creates
- a new character array and copies the data into it. A pointer to this data is
- returned. If unsuccessful, @NULL is returned.
- The resource must be defined in the @c .rc file using the following syntax:
-
- @code
- myResource TEXT file.ext
- @endcode
-
- where @c file.ext is a file that the resource compiler can find.
- This function is available under Windows only.
- */
- wxString wxLoadUserResource(const wxString& resourceName,
- const wxString& resourceType = "TEXT");
-
- /**
- Returns the amount of free memory in bytes under environments which
- support it, and -1 if not supported or failed to perform measurement.
- */
- wxMemorySize wxGetFreeMemory();
-
- /**
- This is a macro defined as @c getenv() or its wide char version in Unicode
- mode.
- Note that under Win32 it may not return correct value for the variables set
- with wxSetEnv(), use wxGetEnv() function
- instead.
- */
- wxChar* wxGetEnv(const wxString& var);
+/**
+ Find a menu item identifier associated with the given frame's menu bar.
+*/
+int wxFindMenuItemId(wxFrame* frame, const wxString& menuString,
+ const wxString& itemString);
+
+/**
+ This function enables or disables all top level windows. It is used by
+ ::wxSafeYield.
+*/
+void wxEnableTopLevelWindows(bool enable = true);
+
+/**
+ Strips any menu codes from @a str and returns the result.
+ By default, the functions strips both the mnemonics character (@c '')
+ which is used to indicate a keyboard shortkey, and the accelerators, which are
+ used only in the menu items and are separated from the main text by the
+ @c \t (TAB) character. By using @a flags of
+ @c wxStrip_Mnemonics or @c wxStrip_Accel to strip only the former
+ or the latter part, respectively.
+ Notice that in most cases
+ wxMenuItem::GetLabelFromText or
+ wxControl::GetLabelText can be used instead.
+*/
+wxString wxStripMenuCodes(const wxString& str,
+ int flags = wxStrip_All);
+
+/**
+ @b NB: This function is now obsolete, please use wxLogError()
+ instead.
+ Displays @a msg and continues. This writes to standard error under
+ Unix, and pops up a message box under Windows. Used for internal
+ wxWidgets errors. See also wxFatalError().
+*/
+void wxError(const wxString& msg,
+ const wxString& title = "wxWidgets Internal Error");
+
+/**
+ Open the @a url in user's default browser. If @a flags parameter contains
+ @c wxBROWSER_NEW_WINDOW flag, a new window is opened for the URL
+ (currently this is only supported under Windows). The @a url may also be a
+ local file path (with or without @c file:// prefix), if it doesn't
+ correspond to an existing file and the URL has no scheme @c http:// is
+ prepended to it by default.
+ Returns @true if the application was successfully launched.
+ Note that for some configurations of the running user, the application which
+ is launched to open the given URL may be URL-dependent (e.g. a browser may be
+ used for
+ local URLs while another one may be used for remote URLs).
+*/
+bool wxLaunchDefaultBrowser(const wxString& url, int flags = 0);
+
+/**
+ Executes a command in an interactive shell window. If no command is
+ specified, then just the shell is spawned.
+ See also wxExecute(), @ref overview_sampleexec "Exec sample".
+*/
+bool wxShell(const wxString& command = NULL);
+
+/**
+ Gets the version and the operating system ID for currently running OS.
+ See wxPlatformInfo for more details about wxOperatingSystemId.
+
+ @see ::wxGetOsDescription, wxPlatformInfo
+*/
+wxOperatingSystemId wxGetOsVersion(int* major = NULL,
+ int* minor = NULL);
+
+/**
+ Returns the FQDN (fully qualified domain host name) or an empty string on
+ error.
+
+ @see wxGetHostName()
+*/
+wxString wxGetFullHostName();
+
+/**
+ Changes the cursor to the given cursor for all windows in the application.
+ Use wxEndBusyCursor() to revert the cursor back
+ to its previous state. These two calls can be nested, and a counter
+ ensures that only the outer calls take effect.
+ See also wxIsBusy(), wxBusyCursor.
+*/
+void wxBeginBusyCursor(wxCursor* cursor = wxHOURGLASS_CURSOR);
+
+/**
+ Tells the system to delete the specified object when
+ all other events have been processed. In some environments, it is
+ necessary to use this instead of deleting a frame directly with the
+ delete operator, because some GUIs will still send events to a deleted window.
+ Now obsolete: use wxWindow::Close instead.
+*/
+void wxPostDelete(wxObject* object);
+
+/**
+ @b NB: This function is obsolete, please use
+ wxWindow::FindWindowByLabel instead.
+ Find a window by its label. Depending on the type of window, the label may be a
+ window title
+ or panel item label. If @a parent is @NULL, the search will start from all
+ top-level
+ frames and dialog boxes; if non-@NULL, the search will be limited to the given
+ window hierarchy.
+ The search is recursive in both cases.
+*/
+wxWindow* wxFindWindowByLabel(const wxString& label,
+ wxWindow* parent = NULL);
+
+
+/**
+ Returns the mouse position in screen coordinates.
+*/
+wxPoint wxGetMousePosition();
+
+/**
+ Loads a user-defined Windows resource as a string. If the resource is found,
+ the function creates
+ a new character array and copies the data into it. A pointer to this data is
+ returned. If unsuccessful, @NULL is returned.
+ The resource must be defined in the @c .rc file using the following syntax:
+
+ @code
+ myResource TEXT file.ext
+ @endcode
+
+ where @c file.ext is a file that the resource compiler can find.
+ This function is available under Windows only.
+*/
+wxString wxLoadUserResource(const wxString& resourceName,
+ const wxString& resourceType = "TEXT");
+
+/**
+ Returns the amount of free memory in bytes under environments which
+ support it, and -1 if not supported or failed to perform measurement.
+*/
+wxMemorySize wxGetFreeMemory();
+
+/**
+ This is a macro defined as @c getenv() or its wide char version in Unicode
+ mode.
+ Note that under Win32 it may not return correct value for the variables set
+ with wxSetEnv(), use wxGetEnv() function
+ instead.
+*/
+wxChar* wxGetEnv(const wxString& var);
//@{
- /**
- Copies the current host machine's name into the supplied buffer. Please note
- that the returned name is @e not fully qualified, i.e. it does not include
- the domain name.
- Under Windows or NT, this function first looks in the environment
- variable SYSTEM_NAME; if this is not found, the entry @b HostName
- in the @b wxWidgets section of the WIN.INI file is tried.
- The first variant of this function returns the hostname if successful or an
- empty string otherwise. The second (deprecated) function returns @true
- if successful, @false otherwise.
-
- @see wxGetFullHostName()
- */
- wxString wxGetHostName();
- bool wxGetHostName(char* buf, int sz);
+/**
+ Copies the current host machine's name into the supplied buffer. Please note
+ that the returned name is @e not fully qualified, i.e. it does not include
+ the domain name.
+ Under Windows or NT, this function first looks in the environment
+ variable SYSTEM_NAME; if this is not found, the entry @b HostName
+ in the @b wxWidgets section of the WIN.INI file is tried.
+ The first variant of this function returns the hostname if successful or an
+ empty string otherwise. The second (deprecated) function returns @true
+ if successful, @false otherwise.
+
+ @see wxGetFullHostName()
+*/
+wxString wxGetHostName();
+bool wxGetHostName(char* buf, int sz);
//@}
- /**
- Returns the current value of the environment variable @a var in @e value.
- @a value may be @NULL if you just want to know if the variable exists
- and are not interested in its value.
- Returns @true if the variable exists, @false otherwise.
- */
- bool wxGetEnv(const wxString& var, wxString* value);
-
- /**
- Under X only, returns the current display name. See also wxSetDisplayName().
- */
- wxString wxGetDisplayName();
-
- /**
- Ring the system bell.
- Note that this function is categorized as a GUI one and so is not thread-safe.
- */
- void wxBell();
-
- /**
- Returns the home directory for the given user. If the @a user is empty
- (default value), this function behaves like
- wxGetHomeDir() i.e. returns the current user home
- directory.
- If the home directory couldn't be determined, an empty string is returned.
- */
- wxString wxGetUserHome(const wxString& user = "");
+/**
+ Returns the current value of the environment variable @a var in @e value.
+ @a value may be @NULL if you just want to know if the variable exists
+ and are not interested in its value.
+ Returns @true if the variable exists, @false otherwise.
+*/
+bool wxGetEnv(const wxString& var, wxString* value);
+
+/**
+ Under X only, returns the current display name. See also wxSetDisplayName().
+*/
+wxString wxGetDisplayName();
+
+/**
+ Ring the system bell.
+ Note that this function is categorized as a GUI one and so is not thread-safe.
+*/
+void wxBell();
+
+/**
+ Returns the home directory for the given user. If the @a user is empty
+ (default value), this function behaves like
+ wxGetHomeDir() i.e. returns the current user home
+ directory.
+ If the home directory couldn't be determined, an empty string is returned.
+*/
+wxString wxGetUserHome(const wxString& user = "");
//@{
- /**
- @b wxPerl note: In wxPerl this function is called @c Wx::ExecuteStdoutStderr
- and it only takes the @c command argument,
- and returns a 3-element list @c ( status, output, errors ), where
- @c output and @c errors are array references.
- Executes another program in Unix or Windows.
- The first form takes a command string, such as @c "emacs file.txt".
- The second form takes an array of values: a command, any number of
- arguments, terminated by @NULL.
- The semantics of the third and fourth versions is different from the first two
- and is described in more details below.
- If @a flags parameter contains @c wxEXEC_ASYNC flag (the default), flow
- of control immediately returns. If it contains @c wxEXEC_SYNC, the current
- application waits until the other program has terminated.
- In the case of synchronous execution, the return value is the exit code of
- the process (which terminates by the moment the function returns) and will be
- -1 if the process couldn't be started and typically 0 if the process
- terminated successfully. Also, while waiting for the process to
- terminate, wxExecute will call wxYield(). Because of this, by
- default this function disables all application windows to avoid unexpected
- reentrancies which could result from the users interaction with the program
- while the child process is running. If you are sure that it is safe to not
- disable the program windows, you may pass @c wxEXEC_NODISABLE flag to
- prevent this automatic disabling from happening.
- For asynchronous execution, however, the return value is the process id and
- zero value indicates that the command could not be executed. As an added
- complication, the return value of -1 in this case indicates that we didn't
- launch a new process, but connected to the running one (this can only happen in
- case of using DDE under Windows for command execution). In particular, in this,
- and only this, case the calling code will not get the notification about
- process termination.
- If callback isn't @NULL and if execution is asynchronous,
- wxProcess::OnTerminate will be called when
- the process finishes. Specifying this parameter also allows you to redirect the
- standard input and/or output of the process being launched by calling
- wxProcess::Redirect. If the child process IO is redirected,
- under Windows the process window is not shown by default (this avoids having to
- flush an unnecessary console for the processes which don't create any windows
- anyhow) but a @c wxEXEC_NOHIDE flag can be used to prevent this from
- happening, i.e. with this flag the child process window will be shown normally.
- Under Unix the flag @c wxEXEC_MAKE_GROUP_LEADER may be used to ensure
- that the new process is a group leader (this will create a new session if
- needed). Calling wxKill() passing wxKILL_CHILDREN will
- kill this process as well as all of its children (except those which have
- started their own session).
- The @c wxEXEC_NOEVENTS flag prevents processing of any events from taking
- place while the child process is running. It should be only used for very
- short-lived processes as otherwise the application windows risk becoming
- unresponsive from the users point of view. As this flag only makes sense with
- @c wxEXEC_SYNC, @c wxEXEC_BLOCK equal to the sum of both of these flags
- is provided as a convenience.
- Finally, you may use the third overloaded version of this function to execute
- a process (always synchronously, the contents of @a flags is or'd with
- @c wxEXEC_SYNC) and capture its output in the array @e output. The
- fourth version adds the possibility to additionally capture the messages from
- standard error output in the @a errors array.
- @b NB: Currently wxExecute() can only be used from the main thread, calling
- this function from another thread will result in an assert failure in debug
- build and won't work.
-
- @param command
- The command to execute and any parameters to pass to it as a
- single string.
- @param argv
- The command to execute should be the first element of this
- array, any additional ones are the command parameters and the array must be
- terminated with a @NULL pointer.
- @param flags
- Combination of bit masks wxEXEC_ASYNC,
- wxEXEC_SYNC and wxEXEC_NOHIDE
- @param callback
- An optional pointer to wxProcess
-
- @see wxShell(), wxProcess, @ref overview_sampleexec "Exec sample".
- */
- long wxExecute(const wxString& command, int sync = wxEXEC_ASYNC,
- wxProcess* callback = NULL);
- wxPerl note: long wxExecute(char** argv,
- int flags = wxEXEC_ASYNC,
- wxProcess* callback = NULL);
- wxPerl note: long wxExecute(const wxString& command,
- wxArrayString& output,
- int flags = 0);
- wxPerl note: long wxExecute(const wxString& command,
- wxArrayString& output,
- wxArrayString& errors,
- int flags = 0);
+/**
+ @b wxPerl note: In wxPerl this function is called @c Wx::ExecuteStdoutStderr
+ and it only takes the @c command argument,
+ and returns a 3-element list @c ( status, output, errors ), where
+ @c output and @c errors are array references.
+ Executes another program in Unix or Windows.
+ The first form takes a command string, such as @c "emacs file.txt".
+ The second form takes an array of values: a command, any number of
+ arguments, terminated by @NULL.
+ The semantics of the third and fourth versions is different from the first two
+ and is described in more details below.
+ If @a flags parameter contains @c wxEXEC_ASYNC flag (the default), flow
+ of control immediately returns. If it contains @c wxEXEC_SYNC, the current
+ application waits until the other program has terminated.
+ In the case of synchronous execution, the return value is the exit code of
+ the process (which terminates by the moment the function returns) and will be
+ -1 if the process couldn't be started and typically 0 if the process
+ terminated successfully. Also, while waiting for the process to
+ terminate, wxExecute will call wxYield(). Because of this, by
+ default this function disables all application windows to avoid unexpected
+ reentrancies which could result from the users interaction with the program
+ while the child process is running. If you are sure that it is safe to not
+ disable the program windows, you may pass @c wxEXEC_NODISABLE flag to
+ prevent this automatic disabling from happening.
+ For asynchronous execution, however, the return value is the process id and
+ zero value indicates that the command could not be executed. As an added
+ complication, the return value of -1 in this case indicates that we didn't
+ launch a new process, but connected to the running one (this can only happen in
+ case of using DDE under Windows for command execution). In particular, in this,
+ and only this, case the calling code will not get the notification about
+ process termination.
+ If callback isn't @NULL and if execution is asynchronous,
+ wxProcess::OnTerminate will be called when
+ the process finishes. Specifying this parameter also allows you to redirect the
+ standard input and/or output of the process being launched by calling
+ wxProcess::Redirect. If the child process IO is redirected,
+ under Windows the process window is not shown by default (this avoids having to
+ flush an unnecessary console for the processes which don't create any windows
+ anyhow) but a @c wxEXEC_NOHIDE flag can be used to prevent this from
+ happening, i.e. with this flag the child process window will be shown normally.
+ Under Unix the flag @c wxEXEC_MAKE_GROUP_LEADER may be used to ensure
+ that the new process is a group leader (this will create a new session if
+ needed). Calling wxKill() passing wxKILL_CHILDREN will
+ kill this process as well as all of its children (except those which have
+ started their own session).
+ The @c wxEXEC_NOEVENTS flag prevents processing of any events from taking
+ place while the child process is running. It should be only used for very
+ short-lived processes as otherwise the application windows risk becoming
+ unresponsive from the users point of view. As this flag only makes sense with
+ @c wxEXEC_SYNC, @c wxEXEC_BLOCK equal to the sum of both of these flags
+ is provided as a convenience.
+ Finally, you may use the third overloaded version of this function to execute
+ a process (always synchronously, the contents of @a flags is or'd with
+ @c wxEXEC_SYNC) and capture its output in the array @e output. The
+ fourth version adds the possibility to additionally capture the messages from
+ standard error output in the @a errors array.
+ @b NB: Currently wxExecute() can only be used from the main thread, calling
+ this function from another thread will result in an assert failure in debug
+ build and won't work.
+
+ @param command
+ The command to execute and any parameters to pass to it as a
+ single string.
+ @param argv
+ The command to execute should be the first element of this
+ array, any additional ones are the command parameters and the array must be
+ terminated with a @NULL pointer.
+ @param flags
+ Combination of bit masks wxEXEC_ASYNC,
+ wxEXEC_SYNC and wxEXEC_NOHIDE
+ @param callback
+ An optional pointer to wxProcess
+
+ @see wxShell(), wxProcess, @ref overview_sampleexec "Exec sample".
+*/
+long wxExecute(const wxString& command, int sync = wxEXEC_ASYNC,
+ wxProcess* callback = NULL);
+wxPerl note: long wxExecute(char** argv,
+ int flags = wxEXEC_ASYNC,
+ wxProcess* callback = NULL);
+wxPerl note: long wxExecute(const wxString& command,
+ wxArrayString& output,
+ int flags = 0);
+wxPerl note: long wxExecute(const wxString& command,
+ wxArrayString& output,
+ wxArrayString& errors,
+ int flags = 0);
//@}
- /**
- Returns a string representing the current date and time.
- */
- wxString wxNow();
-
- /**
- Returns @true if the operating system the program is running under is 64 bit.
- The check is performed at run-time and may differ from the value available at
- compile-time (at compile-time you can just check if @c sizeof(void*)==8)
- since the program could be running in emulation mode or in a mixed 32/64 bit
- system
- (bi-architecture operating system).
- Very important: this function is not 100% reliable on some systems given the
- fact
- that there isn't always a standard way to do a reliable check on the OS
- architecture.
- */
- bool wxIsPlatform64Bit();
-
- /**
- Returns the number uniquely identifying the current process in the system.
- If an error occurs, 0 is returned.
- */
- unsigned long wxGetProcessId();
-
- /**
- Equivalent to the Unix kill function: send the given signal @a sig to the
- process with PID @e pid. The valid signal values are
-
- @code
- enum wxSignal
- {
- wxSIGNONE = 0, // verify if the process exists under Unix
- wxSIGHUP,
- wxSIGINT,
- wxSIGQUIT,
- wxSIGILL,
- wxSIGTRAP,
- wxSIGABRT,
- wxSIGEMT,
- wxSIGFPE,
- wxSIGKILL, // forcefully kill, dangerous!
- wxSIGBUS,
- wxSIGSEGV,
- wxSIGSYS,
- wxSIGPIPE,
- wxSIGALRM,
- wxSIGTERM // terminate the process gently
- };
- @endcode
-
- @c wxSIGNONE, @c wxSIGKILL and @c wxSIGTERM have the same meaning
- under both Unix and Windows but all the other signals are equivalent to
- @c wxSIGTERM under Windows.
- Returns 0 on success, -1 on failure. If @a rc parameter is not @NULL, it will
- be filled with an element of @c wxKillError enum:
-
- @code
- enum wxKillError
- {
- wxKILL_OK, // no error
- wxKILL_BAD_SIGNAL, // no such signal
- wxKILL_ACCESS_DENIED, // permission denied
- wxKILL_NO_PROCESS, // no such process
- wxKILL_ERROR // another, unspecified error
- };
- @endcode
-
- The @a flags parameter can be wxKILL_NOCHILDREN (the default),
- or wxKILL_CHILDREN, in which case the child processes of this
- process will be killed too. Note that under Unix, for wxKILL_CHILDREN
- to work you should have created the process by passing wxEXEC_MAKE_GROUP_LEADER
- to wxExecute.
-
- @see wxProcess::Kill, wxProcess::Exists, @ref overview_sampleexec "Exec sample"
- */
- int wxKill(long pid, int sig = wxSIGTERM, wxKillError rc = NULL,
- int flags = 0);
-
- /**
- Returns the current state of the mouse. Returns a wxMouseState
- instance that contains the current position of the mouse pointer in
- screen coordinates, as well as boolean values indicating the up/down
- status of the mouse buttons and the modifier keys.
- */
- wxMouseState wxGetMouseState();
-
- /**
- Returns @true if between two wxBeginBusyCursor() and
- wxEndBusyCursor() calls.
- See also wxBusyCursor.
- */
- bool wxIsBusy();
+/**
+ Returns a string representing the current date and time.
+*/
+wxString wxNow();
+
+/**
+ Returns @true if the operating system the program is running under is 64 bit.
+ The check is performed at run-time and may differ from the value available at
+ compile-time (at compile-time you can just check if @c sizeof(void*)==8)
+ since the program could be running in emulation mode or in a mixed 32/64 bit
+ system
+ (bi-architecture operating system).
+ Very important: this function is not 100% reliable on some systems given the
+ fact
+ that there isn't always a standard way to do a reliable check on the OS
+ architecture.
+*/
+bool wxIsPlatform64Bit();
+
+/**
+ Returns the number uniquely identifying the current process in the system.
+ If an error occurs, 0 is returned.
+*/
+unsigned long wxGetProcessId();
+
+/**
+ Equivalent to the Unix kill function: send the given signal @a sig to the
+ process with PID @e pid. The valid signal values are
+
+ @code
+ enum wxSignal
+ {
+ wxSIGNONE = 0, // verify if the process exists under Unix
+ wxSIGHUP,
+ wxSIGINT,
+ wxSIGQUIT,
+ wxSIGILL,
+ wxSIGTRAP,
+ wxSIGABRT,
+ wxSIGEMT,
+ wxSIGFPE,
+ wxSIGKILL, // forcefully kill, dangerous!
+ wxSIGBUS,
+ wxSIGSEGV,
+ wxSIGSYS,
+ wxSIGPIPE,
+ wxSIGALRM,
+ wxSIGTERM // terminate the process gently
+ };
+ @endcode
+
+ @c wxSIGNONE, @c wxSIGKILL and @c wxSIGTERM have the same meaning
+ under both Unix and Windows but all the other signals are equivalent to
+ @c wxSIGTERM under Windows.
+ Returns 0 on success, -1 on failure. If @a rc parameter is not @NULL, it will
+ be filled with an element of @c wxKillError enum:
+
+ @code
+ enum wxKillError
+ {
+ wxKILL_OK, // no error
+ wxKILL_BAD_SIGNAL, // no such signal
+ wxKILL_ACCESS_DENIED, // permission denied
+ wxKILL_NO_PROCESS, // no such process
+ wxKILL_ERROR // another, unspecified error
+ };
+ @endcode
+
+ The @a flags parameter can be wxKILL_NOCHILDREN (the default),
+ or wxKILL_CHILDREN, in which case the child processes of this
+ process will be killed too. Note that under Unix, for wxKILL_CHILDREN
+ to work you should have created the process by passing wxEXEC_MAKE_GROUP_LEADER
+ to wxExecute.
+
+ @see wxProcess::Kill, wxProcess::Exists, @ref overview_sampleexec "Exec sample"
+*/
+int wxKill(long pid, int sig = wxSIGTERM, wxKillError rc = NULL,
+ int flags = 0);
+
+/**
+ Returns the current state of the mouse. Returns a wxMouseState
+ instance that contains the current position of the mouse pointer in
+ screen coordinates, as well as boolean values indicating the up/down
+ status of the mouse buttons and the modifier keys.
+*/
+wxMouseState wxGetMouseState();
+
+/**
+ Returns @true if between two wxBeginBusyCursor() and
+ wxEndBusyCursor() calls.
+ See also wxBusyCursor.
+*/
+bool wxIsBusy();
//@{
- /**
- Copies the user's email address into the supplied buffer, by
- concatenating the values returned by wxGetFullHostName()
- and wxGetUserId().
- Returns @true if successful, @false otherwise.
- */
- wxString wxGetEmailAddress();
- bool wxGetEmailAddress(char* buf, int sz);
+/**
+ Copies the user's email address into the supplied buffer, by
+ concatenating the values returned by wxGetFullHostName()
+ and wxGetUserId().
+ Returns @true if successful, @false otherwise.
+*/
+wxString wxGetEmailAddress();
+bool wxGetEmailAddress(char* buf, int sz);
//@}
- /**
- Sleeps for the specified number of seconds.
- */
- void wxSleep(int secs);
-
- /**
- Sets the value of the environment variable @a var (adding it if necessary)
- to @e value.
- Returns @true on success.
-
- @see wxUnsetEnv()
- */
- bool wxSetEnv(const wxString& var, const wxString& value);
-
- /**
- Returns @true if the current platform is little endian (instead of big
- endian).
- The check is performed at run-time.
-
- @see @ref overview_byteordermacros "Byte order macros"
- */
- bool wxIsPlatformLittleEndian();
-
- /**
- Under X only, sets the current display name. This is the X host and display
- name such
- as "colonsay:0.0", and the function indicates which display should be used for
- creating
- windows from this point on. Setting the display within an application allows
- multiple
- displays to be used.
- See also wxGetDisplayName().
- */
- void wxSetDisplayName(const wxString& displayName);
+/**
+ Sleeps for the specified number of seconds.
+*/
+void wxSleep(int secs);
+
+/**
+ Sets the value of the environment variable @a var (adding it if necessary)
+ to @e value.
+ Returns @true on success.
+
+ @see wxUnsetEnv()
+*/
+bool wxSetEnv(const wxString& var, const wxString& value);
+
+/**
+ Returns @true if the current platform is little endian (instead of big
+ endian).
+ The check is performed at run-time.
+
+ @see @ref overview_byteordermacros "Byte order macros"
+*/
+bool wxIsPlatformLittleEndian();
+
+/**
+ Under X only, sets the current display name. This is the X host and display
+ name such
+ as "colonsay:0.0", and the function indicates which display should be used for
+ creating
+ windows from this point on. Setting the display within an application allows
+ multiple
+ displays to be used.
+ See also wxGetDisplayName().
+*/
+void wxSetDisplayName(const wxString& displayName);