More interface header reviews by Azriel Fasten, and added skeleton docs for wxBookCtrlBase (still needs docs though).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Bryan Petty 2008-05-20 07:48:30 +00:00
parent 79996663e2
commit 7977b62ae2
7 changed files with 991 additions and 680 deletions

25
interface/bookctrl.h Normal file
View File

@ -0,0 +1,25 @@
/////////////////////////////////////////////////////////////////////////////
// Name: bookctrl.h
// Purpose: interface of wxBookCtrlBase
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
/**
@class wxBookCtrlBase
@wxheader{bookctrl.h}
@todo Document this class.
@library{wxcore}
@category{miscwnd}
@see @ref overview_bookctrl
*/
class wxBookCtrlBase : public wxControl
{
public:
};

View File

@ -10,49 +10,123 @@
@class wxToolBar
@wxheader{toolbar.h}
The name wxToolBar is defined to be a synonym for one of the following classes:
The name wxToolBar is defined to be a synonym for one of the following
classes:
@b wxToolBar95 The native Windows 95 toolbar. Used on Windows 95, NT 4 and
above.
@b wxToolBarMSW A Windows implementation. Used on 16-bit Windows.
@b wxToolBarGTK The GTK toolbar.
- @b wxToolBar95 - The native Windows 95 toolbar. Used on Windows 95, NT 4
and above.
- @b wxToolBarMSW - A Windows implementation. Used on 16-bit Windows.
- @b wxToolBarGTK - The GTK toolbar.
You may also create a toolbar that is managed by the frame, by calling
wxFrame::CreateToolBar(). Under Pocket PC, you should always use this
function for creating the toolbar to be managed by the frame, so that
wxWidgets can use a combined menubar and toolbar. Where you manage your
own toolbars, create a wxToolBar as usual.
The meaning of a "separator" is a vertical line under Windows and simple
space under GTK+.
@b wxToolBar95: Note that this toolbar paints tools to reflect
system-wide colours. If you use more than 16 colours in your tool
bitmaps, you may wish to suppress this behaviour, otherwise system
colours in your bitmaps will inadvertently be mapped to system colours.
To do this, set the msw.remap system option before creating the toolbar:
@code
wxSystemOptions::SetOption(wxT("msw.remap"), 0);
@endcode
If you wish to use 32-bit images (which include an alpha channel for
transparency) use:
@code
wxSystemOptions::SetOption(wxT("msw.remap"), 2);
@endcode
Then colour remapping is switched off, and a transparent background
used. But only use this option under Windows XP with true colour:
@code
if (wxTheApp->GetComCtl32Version() >= 600 && ::wxDisplayDepth() >= 32)
@endcode
There are several different types of tools you can add to a toolbar. These
types are controlled by the ::wxItemKind enumeration.
@beginStyleTable
@style{wxTB_FLAT}
Gives the toolbar a flat look (Windows and GTK only).
Gives the toolbar a flat look (Windows and GTK only).
@style{wxTB_DOCKABLE}
Makes the toolbar floatable and dockable (GTK only).
Makes the toolbar floatable and dockable (GTK only).
@style{wxTB_HORIZONTAL}
Specifies horizontal layout (default).
Specifies horizontal layout (default).
@style{wxTB_VERTICAL}
Specifies vertical layout.
Specifies vertical layout.
@style{wxTB_TEXT}
Shows the text in the toolbar buttons; by default only icons are
shown.
Shows the text in the toolbar buttons; by default only icons are shown.
@style{wxTB_NOICONS}
Specifies no icons in the toolbar buttons; by default they are
shown.
Specifies no icons in the toolbar buttons; by default they are shown.
@style{wxTB_NODIVIDER}
Specifies no divider (border) above the toolbar (Windows only).
Specifies no divider (border) above the toolbar (Windows only)
@style{wxTB_NOALIGN}
Specifies no alignment with the parent window (Windows only, not
very useful).
Specifies no alignment with the parent window (Windows only, not very
useful).
@style{wxTB_HORZ_LAYOUT}
Shows the text and the icons alongside, not vertically stacked
(Windows and GTK 2 only). This style must be used with wxTB_TEXT.
Shows the text and the icons alongside, not vertically stacked (Windows
and GTK 2 only). This style must be used with @c wxTB_TEXT.
@style{wxTB_HORZ_TEXT}
Combination of wxTB_HORZ_LAYOUT and wxTB_TEXT.
Combination of @c wxTB_HORZ_LAYOUT and @c wxTB_TEXT.
@style{wxTB_NO_TOOLTIPS}
Don't show the short help tooltips for the tools when the mouse
hovers over them.
Don't show the short help tooltips for the tools when the mouse hovers
over them.
@style{wxTB_BOTTOM}
Align the toolbar at the bottom of parent window.
Align the toolbar at the bottom of parent window.
@style{wxTB_RIGHT}
Align the toolbar at the right side of parent window.
Align the toolbar at the right side of parent window.
@endStyleTable
@library{wxbase}
See also @ref overview_windowstyles. Note that the Win32 native toolbar
ignores @c wxTB_NOICONS style. Also, toggling the @c wxTB_TEXT works only
if the style was initially on.
@beginEventTable{wxCommandEvent}
@event{EVT_TOOL(id, func)}
Process a @c wxEVT_COMMAND_TOOL_CLICKED event (a synonym for @c
wxEVT_COMMAND_MENU_SELECTED). Pass the id of the tool.
@event{EVT_MENU(id, func)}
The same as EVT_TOOL().
@event{EVT_TOOL_RANGE(id1, id2, func)}
Process a @c wxEVT_COMMAND_TOOL_CLICKED event for a range of
identifiers. Pass the ids of the tools.
@event{EVT_MENU_RANGE(id1, id2, func)}
The same as EVT_TOOL_RANGE().
@event{EVT_TOOL_RCLICKED(id, func)}
Process a @c wxEVT_COMMAND_TOOL_RCLICKED event. Pass the id of the
tool.
@event{EVT_TOOL_RCLICKED_RANGE(id1, id2, func)}
Process a @c wxEVT_COMMAND_TOOL_RCLICKED event for a range of ids. Pass
the ids of the tools.
@event{EVT_TOOL_ENTER(id, func)}
Process a @c wxEVT_COMMAND_TOOL_ENTER event. Pass the id of the toolbar
itself. The value of wxCommandEvent::GetSelection() is the tool id, or
-1 if the mouse cursor has moved off a tool.
@event{EVT_TOOL_DROPDOWN(id, func)}
Process a @c wxEVT_COMMAND_TOOL_DROPDOWN_CLICKED event. If unhandled,
displays the default dropdown menu set using
wxToolBar::SetDropdownMenu().
@endEventTable
The toolbar class emits menu commands in the same way that a frame menubar
does, so you can use one EVT_MENU() macro for both a menu item and a toolbar
button. The event handler functions take a wxCommandEvent argument. For most
event macros, the identifier of the tool is passed, but for EVT_TOOL_ENTER()
the toolbar window identifier is passed and the tool identifier is retrieved
from the wxCommandEvent. This is because the identifier may be -1 when the
mouse moves off a tool, and -1 is not allowed as an identifier in the event
system.
@library{wxcore}
@category{miscwnd}
@see @ref overview_toolbar
@ -60,7 +134,11 @@
class wxToolBar : public wxControl
{
public:
//@{
/**
Default constructor.
*/
wxToolBar();
/**
Constructs a toolbar.
@ -69,31 +147,26 @@ public:
@param id
Window identifier. If -1, will automatically create an identifier.
@param pos
Window position. wxDefaultPosition is (-1, -1) which indicates that
wxWidgets
should generate a default position for the window. If using the wxWindow
class directly, supply
an actual position.
Window position. ::wxDefaultPosition is (-1, -1) which indicates that
wxWidgets should generate a default position for the window. If
using the wxWindow class directly, supply an actual position.
@param size
Window size. wxDefaultSize is (-1, -1) which indicates that wxWidgets
should generate a default size for the window.
Window size. ::wxDefaultSize is (-1, -1) which indicates that
wxWidgets should generate a default size for the window.
@param style
Window style. See wxToolBar for details.
@param name
Window name.
@remarks After a toolbar is created, you use AddTool() and
perhaps AddSeparator(), and then you must call
Realize() to construct and display the toolbar
tools.
@remarks After a toolbar is created, you use AddTool() and perhaps
AddSeparator(), and then you must call Realize() to construct and
display the toolbar tools.
*/
wxToolBar();
wxToolBar(wxWindow* parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxTB_HORIZONTAL | wxBORDER_NONE,
const wxString& name = wxPanelNameStr);
//@}
/**
Toolbar destructor.
@ -101,8 +174,8 @@ public:
~wxToolBar();
/**
Adds a new check (or toggle) tool to the toolbar. The parameters are the same
as in AddTool().
Adds a new check (or toggle) tool to the toolbar. The parameters are the
same as in AddTool().
@see AddTool()
*/
@ -115,26 +188,34 @@ public:
wxObject* clientData = NULL);
/**
Adds any control to the toolbar, typically e.g. a combobox.
Adds any control to the toolbar, typically e.g. a wxComboBox.
@param control
The control to be added.
@param label
Text to be displayed near the control.
@remarks wxMSW: the label is only displayed if there is enough space
available below the embedded control.
@remarks
wxMSW: the label is only displayed if there is enough space
available below the embedded control.
@remarks
wxMac: labels are only displayed if wxWidgets is built with @c
wxMAC_USE_NATIVE_TOOLBAR set to 1
*/
bool AddControl(wxControl* control, const wxString label = "");
/**
Adds a new radio tool to the toolbar. Consecutive radio tools form a radio
group such that exactly one button in the group is pressed at any moment, in
other words whenever a button in the group is pressed the previously pressed
button is automatically released. You should avoid having the radio groups of
only one element as it would be impossible for the user to use such button.
By default, the first button in the radio group is initially pressed, the
others are not.
Adds a new radio tool to the toolbar. Consecutive radio tools form a
radio group such that exactly one button in the group is pressed at any
moment, in other words whenever a button in the group is pressed the
previously pressed button is automatically released. You should avoid
having the radio groups of only one element as it would be impossible
for the user to use such button.
By default, the first button in the radio group is initially pressed,
the others are not.
@see AddTool()
*/
@ -155,40 +236,39 @@ public:
//@{
/**
Adds a tool to the toolbar. The first (short and most commonly used) version
has fewer parameters than the full version at the price of not being able to
specify some of the more rarely used button features. The last version allows
you to add an existing tool.
Adds a tool to the toolbar. The first (short and most commonly used)
version has fewer parameters than the full version at the price of not
being able to specify some of the more rarely used button features. The
last version allows you to add an existing tool.
@param toolId
An integer by which
the tool may be identified in subsequent operations.
An integer by which the tool may be identified in subsequent
operations.
@param kind
May be wxITEM_NORMAL for a normal button (default),
wxITEM_CHECK for a checkable tool (such tool stays pressed after it had been
toggled) or wxITEM_RADIO for a checkable tool which makes part of a radio
group of tools each of which is automatically unchecked whenever another
button
in the group is checked
May be ::wxITEM_NORMAL for a normal button (default), ::wxITEM_CHECK
for a checkable tool (such tool stays pressed after it had been
toggled) or ::wxITEM_RADIO for a checkable tool which makes part of
a radio group of tools each of which is automatically unchecked
whenever another button in the group is checked.
@param bitmap1
The primary tool bitmap.
@param bitmap2
The bitmap used when the tool is disabled. If it is equal to
wxNullBitmap, the disabled bitmap is automatically generated by greing the
normal one.
::wxNullBitmap, the disabled bitmap is automatically generated by
greying the normal one.
@param shortHelpString
This string is used for the tools tooltip
This string is used for the tools tooltip.
@param longHelpString
This string is shown in the statusbar (if any) of the
parent frame when the mouse pointer is inside the tool
This string is shown in the statusbar (if any) of the parent frame
when the mouse pointer is inside the tool.
@param clientData
An optional pointer to client data which can be
retrieved later using GetToolClientData().
An optional pointer to client data which can be retrieved later
using GetToolClientData().
@param tool
The tool to be added.
@remarks After you have added tools to a toolbar, you must call
Realize() in order to have the tools appear.
Realize() in order to have the tools appear.
@see AddSeparator(), AddCheckTool(), AddRadioTool(),
InsertTool(), DeleteTool(), Realize()
@ -213,20 +293,22 @@ public:
void ClearTools();
/**
Removes the specified tool from the toolbar and deletes it. If you don't want
to delete the tool, but just to remove it from the toolbar (to possibly add it
back later), you may use RemoveTool() instead.
Note that it is unnecessary to call Realize() for the
change to take place, it will happen immediately.
Returns @true if the tool was deleted, @false otherwise.
Removes the specified tool from the toolbar and deletes it. If you don't
want to delete the tool, but just to remove it from the toolbar (to
possibly add it back later), you may use RemoveTool() instead.
@note It is unnecessary to call Realize() for the change to take
place, it will happen immediately.
@returns @true if the tool was deleted, @false otherwise.
@see DeleteToolByPos()
*/
bool DeleteTool(int toolId);
/**
This function behaves like DeleteTool() but it
deletes the tool at the specified position and not the one with the given id.
This function behaves like DeleteTool() but it deletes the tool at the
specified position and not the one with the given id.
*/
bool DeleteToolByPos(size_t pos);
@ -239,21 +321,22 @@ public:
If @true, enables the tool, otherwise disables it.
@remarks Some implementations will change the visible state of the tool
to indicate that it is disabled.
to indicate that it is disabled.
@see GetToolEnabled(), ToggleTool()
*/
void EnableTool(int toolId, bool enable);
/**
Returns a pointer to the tool identified by @a id or
@NULL if no corresponding tool is found.
Returns a pointer to the tool identified by @a id or @NULL if no
corresponding tool is found.
*/
wxToolBarToolBase* FindById(int id);
/**
Returns a pointer to the control identified by @a id or
@NULL if no corresponding control is found.
Returns a pointer to the control identified by @a id or @NULL if no
corresponding control is found.
*/
wxControl* FindControl(int id);
@ -267,7 +350,8 @@ public:
@return A pointer to a tool if a tool is found, or @NULL otherwise.
@remarks Currently not implemented in wxGTK (always returns @NULL there).
@remarks Currently not implemented in wxGTK (always returns @NULL
there).
*/
wxToolBarToolBase* FindToolForPosition(wxCoord x, wxCoord y) const;
@ -280,12 +364,11 @@ public:
wxSize GetMargins() const;
/**
Returns the size of bitmap that the toolbar expects to have. The default bitmap
size is 16 by 15 pixels.
Returns the size of bitmap that the toolbar expects to have. The default
bitmap size is 16 by 15 pixels.
@remarks Note that this is the size of the bitmap you pass to
AddTool(), and not the eventual size of the
tool button.
@remarks Note that this is the size of the bitmap you pass to AddTool(),
and not the eventual size of the tool button.
@see SetToolBitmapSize(), GetToolSize()
*/
@ -331,8 +414,8 @@ public:
int GetToolPacking() const;
/**
Returns the tool position in the toolbar, or @c wxNOT_FOUND if the tool is not
found.
Returns the tool position in the toolbar, or @c wxNOT_FOUND if the tool
is not found.
*/
int GetToolPos(int toolId) const;
@ -354,9 +437,8 @@ public:
wxString GetToolShortHelp(int toolId) const;
/**
Returns the size of a whole button, which is usually larger than a tool bitmap
because
of added 3D effects.
Returns the size of a whole button, which is usually larger than a tool
bitmap because of added 3D effects.
@see SetToolBitmapSize(), GetToolBitmapSize()
*/
@ -380,16 +462,16 @@ public:
int GetToolsCount() const;
/**
Inserts the control into the toolbar at the given position.
You must call Realize() for the change to take place.
Inserts the control into the toolbar at the given position. You must
call Realize() for the change to take place.
@see AddControl(), InsertTool()
*/
wxToolBarToolBase* InsertControl(size_t pos, wxControl* control);
/**
Inserts the separator into the toolbar at the given position.
You must call Realize() for the change to take place.
Inserts the separator into the toolbar at the given position. You must
call Realize() for the change to take place.
@see AddSeparator(), InsertTool()
*/
@ -397,8 +479,9 @@ public:
//@{
/**
Inserts the tool with the specified attributes into the toolbar at the given
position.
Inserts the tool with the specified attributes into the toolbar at the
given position.
You must call Realize() for the change to take place.
@see AddTool(), InsertControl(), InsertSeparator()
@ -415,49 +498,50 @@ public:
//@}
/**
Called when the user clicks on a tool with the left mouse button.
This is the old way of detecting tool clicks; although it will still work,
you should use the EVT_MENU or EVT_TOOL macro instead.
Called when the user clicks on a tool with the left mouse button. This
is the old way of detecting tool clicks; although it will still work,
you should use the EVT_MENU() or EVT_TOOL() macro instead.
@param toolId
The identifier passed to AddTool().
@param toggleDown
@true if the tool is a toggle and the toggle is down, otherwise is @false.
@true if the tool is a toggle and the toggle is down, otherwise is
@false.
@return If the tool is a toggle and this function returns @false, the
toggle toggle state (internal and visual) will not be
changed. This provides a way of specifying that toggle
operations are not permitted in some circumstances.
toggle state (internal and visual) will not be changed. This
provides a way of specifying that toggle operations are not
permitted in some circumstances.
@see OnMouseEnter(), OnRightClick()
*/
bool OnLeftClick(int toolId, bool toggleDown);
/**
This is called when the mouse cursor moves into a tool or out of
the toolbar.
This is the old way of detecting mouse enter events; although it will still
work,
you should use the EVT_TOOL_ENTER macro instead.
This is called when the mouse cursor moves into a tool or out of the
toolbar. This is the old way of detecting mouse enter events;
although it will still work, you should use the EVT_TOOL_ENTER()
macro instead.
@param toolId
Greater than -1 if the mouse cursor has moved into the tool,
or -1 if the mouse cursor has moved. The
programmer can override this to provide extra information about the tool,
such as a short description on the status line.
Greater than -1 if the mouse cursor has moved into the tool, or -1
if the mouse cursor has moved. The programmer can override this to
provide extra information about the tool, such as a short
description on the status line.
@remarks With some derived toolbar classes, if the mouse moves quickly
out of the toolbar, wxWidgets may not be able to detect
it. Therefore this function may not always be called
when expected.
out of the toolbar, wxWidgets may not be able to detect it.
Therefore this function may not always be called when expected.
*/
void OnMouseEnter(int toolId);
/**
@deprecated This is the old way of detecting tool right clicks;
although it will still work, you should use the
EVT_TOOL_RCLICKED() macro instead.
Called when the user clicks on a tool with the right mouse button. The
programmer should override this function to detect right tool clicks.
This is the old way of detecting tool right clicks; although it will still work,
you should use the EVT_TOOL_RCLICKED macro instead.
@param toolId
The identifier passed to AddTool().
@ -478,26 +562,29 @@ public:
bool Realize();
/**
Removes the given tool from the toolbar but doesn't delete it. This allows to
insert/add this tool back to this (or another) toolbar later.
Note that it is unnecessary to call Realize() for the
change to take place, it will happen immediately.
Removes the given tool from the toolbar but doesn't delete it. This
allows to insert/add this tool back to this (or another) toolbar later.
@note It is unnecessary to call Realize() for the change to take place,
it will happen immediately.
@see DeleteTool()
*/
wxToolBarToolBase* RemoveTool(int id);
/**
Sets the bitmap resource identifier for specifying tool bitmaps as indices
into a custom bitmap. Windows CE only.
Sets the bitmap resource identifier for specifying tool bitmaps as
indices into a custom bitmap. Windows CE only.
*/
void SetBitmapResource(int resourceId);
/**
Sets the dropdown menu for the tool given by its @e id. The tool itself will
delete the menu when it's no longer needed.
If you define a EVT_TOOL_DROPDOWN handler in your program, you must call
wxEvent::Skip from it or the menu won't be displayed.
Sets the dropdown menu for the tool given by its @e id. The tool itself
will delete the menu when it's no longer needed.
If you define a EVT_TOOL_DROPDOWN() handler in your program, you must
call wxEvent::Skip() from it or the menu won't be displayed.
*/
bool SetDropdownMenu(int id, wxMenu* menu);
@ -513,8 +600,8 @@ public:
Top margin, bottom margin and inter-tool separation value.
@remarks This must be called before the tools are added if absolute
positioning is to be used, and the default (zero-size)
margins are to be overridden.
positioning is to be used, and the default (zero-size) margins are
to be overridden.
@see GetMargins(), wxSize
*/
@ -523,14 +610,14 @@ public:
//@}
/**
Sets the default size of each tool bitmap. The default bitmap size is 16 by 15
pixels.
Sets the default size of each tool bitmap. The default bitmap size is 16
by 15 pixels.
@param size
The size of the bitmaps in the toolbar.
@remarks This should be called to tell the toolbar what the tool bitmap
size is. Call it before you add tools.
size is. Call it before you add tools.
@see GetToolBitmapSize(), GetToolSize()
*/
@ -543,10 +630,13 @@ public:
/**
Sets the bitmap to be used by the tool with the given ID when the tool
is in a disabled state. This can only be used on Button tools, not
controls. NOTE: The native toolbar classes on the main platforms all
synthesize the disabled bitmap from the normal bitmap, so this
function will have no effect on those platforms.
is in a disabled state. This can only be used on Button tools, not
controls.
@note The native toolbar classes on the main platforms all synthesize
the disabled bitmap from the normal bitmap, so this function will
have no effect on those platforms.
*/
void SetToolDisabledBitmap(int id, const wxBitmap& bitmap);
@ -559,15 +649,15 @@ public:
A string for the long help.
@remarks You might use the long help for displaying the tool purpose on
the status line.
the status line.
@see GetToolLongHelp(), SetToolShortHelp(),
*/
void SetToolLongHelp(int toolId, const wxString& helpString);
/**
Sets the bitmap to be used by the tool with the given ID. This can
only be used on Button tools, not controls.
Sets the bitmap to be used by the tool with the given ID. This can only
be used on Button tools, not controls.
*/
void SetToolNormalBitmap(int id, const wxBitmap& bitmap);
@ -577,9 +667,9 @@ public:
@param packing
The value for packing.
@remarks The packing is used for spacing in the vertical direction if the
toolbar is horizontal, and for spacing in the
horizontal direction if the toolbar is vertical.
@remarks The packing is used for spacing in the vertical direction if
the toolbar is horizontal, and for spacing in the horizontal
direction if the toolbar is vertical.
@see GetToolPacking()
*/
@ -604,7 +694,8 @@ public:
The string for the short help.
@remarks An application might use short help for identifying the tool
purpose in a tooltip.
purpose in a tooltip.
@see GetToolShortHelp(), SetToolLongHelp()
*/
@ -618,7 +709,8 @@ public:
@param toggle
If @true, toggles the tool on, otherwise toggles it off.
@remarks Only applies to a tool that has been specified as a toggle tool.
@remarks Only applies to a tool that has been specified as a toggle
tool.
*/
void ToggleTool(int toolId, bool toggle);
};

View File

@ -10,25 +10,23 @@
@class wxTrackable
@wxheader{tracker.h}
Add-on base class for a trackable object. This class maintains
an internal linked list of classes of type wxTrackerNode and
calls OnObjectDestroy() on them if this object is destroyed.
The most common usage is by using the wxWeakRefT()
class template which automates this. This class has no public
API. Its only use is by deriving another class from it to
make it trackable.
Add-on base class for a trackable object. This class maintains an internal
linked list of classes of type wxTrackerNode and calls OnObjectDestroy() on
them if this object is destroyed. The most common usage is by using the
wxWeakRef<T> class template which automates this. This class has no public
API. Its only use is by deriving another class from it to make it trackable.
@code
class MyClass: public Foo, public wxTrackable
{
// whatever
// whatever
}
typedef wxWeakRefMyClass MyClassRef;
typedef wxWeakRef<MyClass> MyClassRef;
@endcode
@library{wxbase}
@category{FIXME}
@category{smartpointers}
*/
class wxTrackable
{

View File

@ -13,18 +13,17 @@
An opaque reference to a tree item.
@library{wxcore}
@category{FIXME}
@category{misc}
@see wxTreeCtrl, wxTreeItemData, @ref overview_wxtreectrloverview "wxTreeCtrl
overview"
@see wxTreeCtrl, wxTreeItemData, @ref overview_treectrl
*/
class wxTreeItemId
{
public:
/**
Default constructor. wxTreemItemIds are not meant to be constructed explicitly
by
the user; they are returned by the wxTreeCtrl functions instead.
Default constructor. A wxTreeItemId is not meant to be constructed
explicitly by the user; only those returned by the wxTreeCtrl functions
should be used.
*/
wxTreeItemId();
@ -35,11 +34,96 @@ public:
//@{
/**
Operators for comparison between wxTreeItemId objects.
Operators for comparison between wxTreeItemId objects.
*/
void operator !() const;
const bool operator ==(const wxTreeItemId& item) const;
const bool operator !=(const wxTreeItemId& item) const;
bool operator ==(const wxTreeItemId& item) const;
bool operator !=(const wxTreeItemId& item) const;
//@}
/**
Antonym of IsOk(), i.e. returns @true only if the item is not valid.
*/
bool operator !() const;
};
/**
@class wxTreeItemData
@wxheader{treebase.h}
wxTreeItemData is some (arbitrary) user class associated with some item. The
main advantage of having this class is that wxTreeItemData objects are
destroyed automatically by the tree and, as this class has virtual
destructor, it means that the memory and any other resources associated with
a tree item will be automatically freed when it is deleted. Note that we
don't use wxObject as the base class for wxTreeItemData because the size of
this class is critical: in many applications, each tree leaf will have
wxTreeItemData associated with it and the number of leaves may be quite big.
Also please note that because the objects of this class are deleted by the
tree using the operator @c delete, they must always be allocated on the heap
using @c new.
@library{wxcore}
@category{containers}
@see wxTreeCtrl
*/
class wxTreeItemData : public wxClientData
{
public:
/**
Default constructor.
@beginWxPythonOnly
The following methods are added in wxPython for accessing the object:
- GetData(): Returns a reference to the Python Object.
- SetData(obj): Associates a new Python Object with the wxTreeItemData.
@endWxPythonOnly
*/
wxTreeItemData();
/**
Virtual destructor.
*/
~wxTreeItemData();
/**
Returns the item associated with this node.
*/
const wxTreeItemId GetId();
/**
Sets the item associated with this node.
*/
void SetId(const wxTreeItemId& id);
};
/**
Indicates which type to associate an image with a wxTreeCtrl item.
@see wxTreeCtrl::GetItemImage(), wxTreeCtrl::SetItemImage()
*/
enum wxTreeItemIcon
{
/**
To get/set the item image for when the item is
@b not selected and @b not expanded.
*/
wxTreeItemIcon_Normal,
/**
To get/set the item image for when the item is
@b selected and @b not expanded.
*/
wxTreeItemIcon_Selected,
/**
To get/set the item image for when the item is
@b not selected and @b expanded.
*/
wxTreeItemIcon_Expanded,
/**
To get/set the item image for when the item is
@b selected and @b expanded.
*/
wxTreeItemIcon_SelectedExpanded,
wxTreeItemIcon_Max
};

View File

@ -11,20 +11,34 @@
@wxheader{treebook.h}
This class represents the events generated by a treebook control: currently,
there are four of them. The PAGE_CHANGING and PAGE_CHANGED - have exactly the
same
behaviour as wxNotebookEvent.
The other two NODE_COLLAPSED and NODE_EXPANDED are triggered when page node in
the tree control
is collapsed/expanded. The page index could be retreived by calling
wxTreebookEvent::GetSelection.
there are four of them. The EVT_TREEBOOK_PAGE_CHANGING() and
EVT_TREEBOOK_PAGE_CHANGED() - have exactly the same behaviour as
wxNotebookEvent.
The other two EVT_TREEBOOK_NODE_COLLAPSED() and EVT_TREEBOOK_NODE_EXPANDED()
are triggered when page node in the tree control is collapsed/expanded. The
page index could be retreived by calling GetSelection().
@beginEventTable{wxTreebookEvent}
@event{EVT_TREEBOOK_PAGE_CHANGED(id, func)}
The page selection was changed. Processes a @c
wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED event.
@event{EVT_TREEBOOK_PAGE_CHANGING(id, func)}
The page selection is about to be changed. Processes a @c
wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING event. This event can be @ref
wxNotifyEvent::Veto() "vetoed".
@event{EVT_TREEBOOK_NODE_COLLAPSED(id, func)}
The page node is going to be collapsed. Processes a @c
wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED event.
@event{EVT_TREEBOOK_NODE_EXPANDED(id, func)}
The page node is going to be expanded. Processes a @c
wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED event.
@endEventTable
@library{wxcore}
@category{events}
@see wxNotebookEvent, wxTreebook
@see wxTreebook, wxNotebookEvent
*/
class wxTreebookEvent : public wxNotifyEvent
{
@ -37,13 +51,16 @@ public:
int nOldSel = wxNOT_FOUND);
/**
Returns the page that was selected before the change, wxNOT_FOUND if none was
selected.
Returns the page that was selected before the change, @c wxNOT_FOUND if
none was selected.
*/
int GetOldSelection() const;
/**
Returns the currently selected page, or wxNOT_FOUND if none was selected.
Returns the currently selected page, or @c wxNOT_FOUND if none was
selected.
@see wxNotebookEvent::GetSelection()
*/
int GetSelection() const;
};
@ -54,34 +71,50 @@ public:
@class wxTreebook
@wxheader{treebook.h}
This class is an extension of the Notebook class that allows a tree structured
set of pages to be shown in a control.
A classic example is a netscape preferences dialog that shows a tree
of preference sections on the left and select section page on the right.
This class is an extension of the wxNotebook class that allows a tree
structured set of pages to be shown in a control. A classic example is a
netscape preferences dialog that shows a tree of preference sections on
the left and select section page on the right.
To use the class simply create it and populate with pages using
wxTreebook::InsertPage,
wxTreebook::InsertSubPage,
wxTreebook::AddPage,
wxTreebook::AddSubPage.
InsertPage(), InsertSubPage(), AddPage(), AddSubPage().
If your tree is no more than 1 level in depth then you could
simply use wxTreebook::AddPage and
wxTreebook::AddSubPage to sequentially populate your tree
by adding at every step a page or a subpage to the end of the tree.
If your tree is no more than 1 level in depth then you could simply use
AddPage() and AddSubPage() to sequentially populate your tree by adding at
every step a page or a subpage to the end of the tree.
@beginEventTable{wxTreebookEvent}
@event{EVT_TREEBOOK_PAGE_CHANGED(id, func)}
The page selection was changed. Processes a @c
wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED event.
@event{EVT_TREEBOOK_PAGE_CHANGING(id, func)}
The page selection is about to be changed. Processes a @c
wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING event. This event can be @ref
wxNotifyEvent::Veto() "vetoed".
@event{EVT_TREEBOOK_NODE_COLLAPSED(id, func)}
The page node is going to be collapsed. Processes a @c
wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED event.
@event{EVT_TREEBOOK_NODE_EXPANDED(id, func)}
The page node is going to be expanded. Processes a @c
wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED event.
@endEventTable
@library{wxcore}
@category{miscwnd}
@see wxNotebook, wxTreebookEvent, wxImageList, @ref overview_samplenotebook
"notebook sample"
@see wxTreebookEvent, wxNotebook, wxTreeCtrl, wxImageList,
@ref overview_bookctrl, @ref page_samples_notebook
*/
class wxTreebook : public wxBookCtrl overview
class wxTreebook : public wxBookCtrlBase
{
public:
//@{
/**
Creates an empty TreeBook control.
Default constructor.
*/
wxTreebook();
/**
Creates an empty wxTreebook.
@param parent
The parent window. Must be non-@NULL.
@ -96,59 +129,61 @@ public:
@param name
The name of the control (used only under Motif).
*/
wxTreebook();
wxTreebook(wxWindow* parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxBK_DEFAULT,
const wxString& name = wxEmptyString);
//@}
/**
Destroys the wxTreebook object.
Also deletes all the pages owned by the control (inserted previously into it).
Destroys the wxTreebook object. Also deletes all the pages owned by the
control (inserted previously into it).
*/
~wxTreebook();
/**
Adds a new page. The page is placed at the topmost level after all other pages.
@NULL could be specified for page to create an empty page.
Adds a new page. The page is placed at the topmost level after all other
pages. @NULL could be specified for page to create an empty page.
*/
bool AddPage(wxWindow* page, const wxString& text,
bool bSelect = false,
int imageId = wxNOT_FOUND);
/**
Adds a new child-page to the last top-level page.
@NULL could be specified for page to create an empty page.
Adds a new child-page to the last top-level page. @NULL could be
specified for page to create an empty page.
*/
bool AddSubPage(wxWindow* page, const wxString& text,
bool bSelect = false,
int imageId = wxNOT_FOUND);
/**
Sets the image list for the page control and takes ownership of the list.
Sets the image list for the page control and takes ownership of the
list.
@see wxImageList, SetImageList()
*/
void AssignImageList(wxImageList* imageList);
/**
Changes the selection for the given page, returning the previous selection.
Changes the selection for the given page, returning the previous
selection.
The call to this function does not generate the page changing events.
This is the only difference with SetSelection().
See @ref overview_progevent "this topic" for more info.
This is the only difference with SetSelection(). See
@ref overview_eventhandling_prog for more info.
*/
int ChangeSelection(size_t page);
/**
Shortcut for wxTreebook::ExpandNode(pageId, @false).
Shortcut for @ref wxTreebook::ExpandNode() "ExpandNode"( @a pageId,
@false ).
*/
bool CollapseNode(size_t pageId);
/**
Creates a treebook control. See wxTreebook() for the description of the
parameters.
Creates a treebook control. See wxTreebook::wxTreebook() for the
description of the parameters.
*/
bool Create(wxWindow* parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
@ -162,17 +197,16 @@ public:
bool DeleteAllPages();
/**
Deletes the page at the specified position and all its children. Could trigger
page selection change
in a case when selected page is removed. In that case its parent is selected
(or the next page if no parent).
Deletes the page at the specified position and all its children. Could
trigger page selection change in a case when selected page is removed.
In that case its parent is selected (or the next page if no parent).
*/
bool DeletePage(size_t pagePos);
/**
Expands (collapses) the pageId node. Returns the previous state.
May generate page changing events (if selected page
is under the collapsed branch, then its parent is autoselected).
Expands (collapses) the @a pageId node. Returns the previous state. May
generate page changing events (if selected page is under the collapsed
branch, then its parent is autoselected).
*/
bool ExpandNode(size_t pageId, bool expand = true);
@ -193,18 +227,20 @@ public:
wxString GetPageText(size_t n) const;
/**
Returns the currently selected page, or wxNOT_FOUND if none was selected.
Note that this method may return either the previously or newly selected page
when called from the EVT_TREEBOOK_PAGE_CHANGED handler
depending on the platform and so wxTreebookEvent::GetSelection should be used
instead in this case.
Returns the currently selected page, or @c wxNOT_FOUND if none was
selected.
@note This method may return either the previously or newly selected
page when called from the EVT_TREEBOOK_PAGE_CHANGED() handler
depending on the platform and so wxTreebookEvent::GetSelection()
should be used instead in this case.
*/
int GetSelection() const;
/**
Inserts a new page just before the page indicated by pagePos.
The new page is placed before pagePos page and on the same level.
@NULL could be specified for page to create an empty page.
Inserts a new page just before the page indicated by @a pagePos. The new
page is placed before @a pagePos page and on the same level. @NULL could
be specified for page to create an empty page.
*/
bool InsertPage(size_t pagePos, wxWindow* page,
const wxString& text,
@ -213,6 +249,7 @@ public:
/**
Inserts a sub page under the specified page.
@NULL could be specified for page to create an empty page.
*/
bool InsertSubPage(size_t pagePos, wxWindow* page,
@ -221,36 +258,37 @@ public:
int imageId = wxNOT_FOUND);
/**
Gets the pagePos page state -- whether it is expanded or collapsed
Returns @true if the page represented by @a pageId is expanded.
*/
bool IsNodeExpanded(size_t pageId) const;
/**
Sets the image list for the page control. It does not take ownership of the
image list, you must delete it yourself.
Sets the image list for the page control. It does not take ownership of
the image list, you must delete it yourself.
@see wxImageList, AssignImageList()
*/
void SetImageList(wxImageList* imageList);
/**
Sets the image index for the given page. ImageId is an index into the image list
which was set with SetImageList().
Sets the image index for the given @a page. @a imageId is an index into
the image list which was set with SetImageList().
*/
bool SetPageImage(size_t page, int imageId);
/**
Sets the text for the given page.
Sets the @a text for the given @a page.
*/
bool SetPageText(size_t page, const wxString& text);
/**
Sets the selection for the given page, returning the previous selection.
The call to this function generates the page changing events.
This function is deprecated and should not be used in new code. Please use the
ChangeSelection() function instead.
@deprecated Please use ChangeSelection() instead.
@see GetSelection()
Sets the selection for the given page, returning the previous selection.
The call to this function generates page changing events.
@see GetSelection(), ChangeSelection()
*/
int SetSelection(size_t n);
};

File diff suppressed because it is too large Load Diff

View File

@ -6,57 +6,56 @@
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
/**
@class wxTextInputStream
@wxheader{txtstrm.h}
This class provides functions that read text datas using an input stream.
So, you can read @e text floats, integers.
This class provides functions that reads text data using an input stream,
allowing you to read text, floats, and integers.
The wxTextInputStream correctly reads text files (or streams) in DOS, Macintosh
and Unix formats and reports a single newline char as a line ending.
The wxTextInputStream correctly reads text files (or streams) in DOS,
Macintosh and Unix formats and reports a single newline char as a line
ending.
Operator is overloaded and you can use this class like a standard C++ iostream.
Note, however, that the arguments are the fixed size types wxUint32, wxInt32 etc
and on a typical 32-bit computer, none of these match to the "long" type
(wxInt32
is defined as int on 32-bit architectures) so that you cannot use long. To avoid
problems (here and elsewhere), make use of wxInt32, wxUint32 and similar types.
wxTextInputStream::operator>>() is overloaded and you can use this class
like a standard C++ iostream. Note, however, that the arguments are the
fixed size types wxUint32, wxInt32 etc and on a typical 32-bit computer,
none of these match to the "long" type (wxInt32 is defined as int on 32-bit
architectures) so that you cannot use long. To avoid problems (here and
elsewhere), make use of wxInt32, wxUint32 and similar types.
If you're scanning through a file using wxTextInputStream, you should check for
EOF @b before
reading the next item (word / number), because otherwise the last item may get
lost.
You should however be prepared to receive an empty item (empty string / zero
number) at the
end of file, especially on Windows systems. This is unavoidable because most
(but not all) files end
with whitespace (i.e. usually a newline).
If you're scanning through a file using wxTextInputStream, you should check
for @c EOF @b before reading the next item (word / number), because
otherwise the last item may get lost. You should however be prepared to
receive an empty item (empty string / zero number) at the end of file,
especially on Windows systems. This is unavoidable because most (but not
all) files end with whitespace (i.e. usually a newline).
For example:
@code
wxFileInputStream input( "mytext.txt" );
wxTextInputStream text( input );
wxUint8 i1;
float f2;
wxString line;
wxTextInputStream text( input );
wxUint8 i1;
float f2;
wxString line;
text i1; // read a 8 bit integer.
text i1 f2; // read a 8 bit integer followed by float.
text line; // read a text line
text >> i1; // read a 8 bit integer.
text >> i1 >> f2; // read a 8 bit integer followed by float.
text >> line; // read a text line
@endcode
@library{wxbase}
@category{streams}
@see wxTextInputStream::SetStringSeparators
@see wxTextOutputStream
*/
class wxTextInputStream
{
public:
/**
)
Constructs a text stream associated to the given input stream.
@param stream
@ -64,67 +63,69 @@ public:
@param sep
The initial string separator characters.
@param conv
In Unicode build only: The encoding converter used to convert the bytes in
the
underlying input stream to characters.
<b>In Unicode build only:</b> The encoding converter used to
convert the bytes in the underlying input stream to characters.
*/
wxTextInputStream(wxInputStream& stream,
const wxString& sep = " \t");
const wxString& sep = " \t",
const wxMBConv& conv = wxConvAuto());
/**
Destroys the wxTextInputStream object.
Destructor.
*/
~wxTextInputStream();
/**
Reads a character, returns 0 if there are no more characters in the stream.
Reads a character, returns 0 if there are no more characters in the
stream.
*/
wxChar GetChar();
/**
Reads a unsigned 16 bit integer from the stream.
See wxTextInputStream::Read8 for the
description of the @a base parameter.
See Read8() for the description of the @a base parameter.
*/
wxUint16 Read16(int base = 10);
/**
Reads a signed 16 bit integer from the stream.
See wxTextInputStream::Read8 for the
description of the @a base parameter.
See Read8() for the description of the @a base parameter.
*/
wxInt16 Read16S(int base = 10);
/**
Reads a 32 bit unsigned integer from the stream.
See wxTextInputStream::Read8 for the
description of the @a base parameter.
See Read8() for the description of the @a base parameter.
*/
wxUint32 Read32(int base = 10);
/**
Reads a 32 bit signed integer from the stream.
See wxTextInputStream::Read8 for the
description of the @a base parameter.
See Read8() for the description of the @a base parameter.
*/
wxInt32 Read32S(int base = 10);
/**
Reads a single unsigned byte from the stream, given in base @e base.
Reads a single unsigned byte from the stream, given in base @a base.
The value of @a base must be comprised between 2 and 36, inclusive, or
be a special value 0 which means that the usual rules of @c C numbers are
be a special value 0 which means that the usual rules of C numbers are
applied: if the number starts with @c 0x it is considered to be in base
16, if it starts with @c 0 - in base 8 and in base 10 otherwise. Note
that you may not want to specify the base 0 if you are parsing the numbers
which may have leading zeroes as they can yield unexpected (to the user not
familiar with C) results.
16, if it starts with 0 - in base 8 and in base 10 otherwise. Note that
you may not want to specify the base 0 if you are parsing the numbers
which may have leading zeroes as they can yield unexpected (to the user
not familiar with C) results.
*/
wxUint8 Read8(int base = 10);
/**
Reads a single signed byte from the stream.
See wxTextInputStream::Read8 for the
description of the @a base parameter.
See Read8() for the description of the @a base parameter.
*/
wxInt8 Read8S(int base = 10);
@ -134,21 +135,21 @@ public:
double ReadDouble();
/**
Reads a line from the input stream and returns it (without the end of line
character).
Reads a line from the input stream and returns it (without the end of
line character).
*/
wxString ReadLine();
/**
@note This method is deprecated, use ReadLine()
or ReadWord() instead.
@deprecated Use ReadLine() or ReadWord() instead.
Same as ReadLine().
*/
wxString ReadString();
/**
Reads a word (a sequence of characters until the next separator) from the
input stream.
Reads a word (a sequence of characters until the next separator) from
the input stream.
@see SetStringSeparators()
*/
@ -157,55 +158,84 @@ public:
/**
Sets the characters which are used to define the word boundaries in
ReadWord().
The default separators are the space and @c TAB characters.
The default separators are the @c space and @c TAB characters.
*/
void SetStringSeparators(const wxString& sep);
};
/**
Specifies the end-of-line characters to use with wxTextOutputStream.
*/
typedef enum
{
/**
Specifies wxTextOutputStream to use the native end-of-line characters.
*/
wxEOL_NATIVE,
/**
Specifies wxTextOutputStream to use Unix end-of-line characters.
*/
wxEOL_UNIX,
/**
Specifies wxTextOutputStream to use Mac end-of-line characters.
*/
wxEOL_MAC,
/**
Specifies wxTextOutputStream to use DOS end-of-line characters.
*/
wxEOL_DOS
} wxEOL;
/**
@class wxTextOutputStream
@wxheader{txtstrm.h}
This class provides functions that write text datas using an output stream.
So, you can write @e text floats, integers.
This class provides functions that writes text data using an output stream,
allowing you to write text, floats, and integers.
You can also simulate the C++ cout class:
@code
wxFFileOutputStream output( stderr );
wxTextOutputStream cout( output );
wxTextOutputStream cout( output );
cout "This is a text line" endl;
cout 1234;
cout 1.23456;
cout << "This is a text line" << endl;
cout << 1234;
cout << 1.23456;
@endcode
The wxTextOutputStream writes text files (or streams) on DOS, Macintosh
and Unix in their native formats (concerning the line ending).
The wxTextOutputStream writes text files (or streams) on DOS, Macintosh and
Unix in their native formats (concerning the line ending).
@library{wxbase}
@category{streams}
@see wxTextInputStream
*/
class wxTextOutputStream
{
public:
/**
)
Constructs a text stream object associated to the given output stream.
@param stream
The output stream.
@param mode
The end-of-line mode. One of wxEOL_NATIVE, wxEOL_DOS, wxEOL_MAC and
wxEOL_UNIX.
The end-of-line mode. One of ::wxEOL_NATIVE, ::wxEOL_DOS,
::wxEOL_MAC and ::wxEOL_UNIX.
@param conv
In Unicode build only: The object used to convert
<b>In Unicode build only:</b> The object used to convert
Unicode text into ASCII characters written to the output stream.
*/
wxTextOutputStream(wxOutputStream& stream,
wxEOL mode = wxEOL_NATIVE);
wxEOL mode = wxEOL_NATIVE,
const wxMBConv& conv = wxConvAuto());
/**
Destroys the wxTextOutputStream object.
@ -213,8 +243,8 @@ public:
~wxTextOutputStream();
/**
Returns the end-of-line mode. One of @b wxEOL_DOS, @b wxEOL_MAC and @b
wxEOL_UNIX.
Returns the end-of-line mode. One of ::wxEOL_DOS, ::wxEOL_MAC and
::wxEOL_UNIX.
*/
wxEOL GetMode();
@ -224,8 +254,8 @@ public:
void PutChar(wxChar c);
/**
Set the end-of-line mode. One of @b wxEOL_NATIVE, @b wxEOL_DOS, @b wxEOL_MAC
and @b wxEOL_UNIX.
Set the end-of-line mode. One of ::wxEOL_NATIVE, ::wxEOL_DOS,
::wxEOL_MAC and ::wxEOL_UNIX.
*/
void SetMode(wxEOL mode = wxEOL_NATIVE);
@ -251,8 +281,8 @@ public:
/**
Writes @a string as a line. Depending on the end-of-line mode the end of
line ('\n') characters in the string are converted to the correct
line ending terminator.
line ('\\n') characters in the string are converted to the correct line
ending terminator.
*/
virtual void WriteString(const wxString& string);
};