added wxToolBar::SetToolClientData

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-12-17 13:10:05 +00:00
parent b7c2b5c51d
commit 6fd5fa4fcc
3 changed files with 61 additions and 28 deletions

View File

@@ -566,29 +566,6 @@ change to take place, it will happen immediately.
\helpref{DeleteTool}{wxtoolbardeletetool} \helpref{DeleteTool}{wxtoolbardeletetool}
\membersection{wxToolBar::SetToolBitmapSize}\label{wxtoolbarsettoolbitmapsize}
\func{void}{SetToolBitmapSize}{\param{const wxSize\&}{ size}}
Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 pixels.
\wxheading{Parameters}
\docparam{size}{The size of the bitmaps in the toolbar.}
\wxheading{Remarks}
This should be called to tell the toolbar what the tool bitmap size is. Call
it before you add tools.
Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
and not the eventual size of the tool button.
\wxheading{See also}
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize},\rtfsp
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
\membersection{wxToolBar::SetMargins}\label{wxtoolbarsetmargins} \membersection{wxToolBar::SetMargins}\label{wxtoolbarsetmargins}
\func{void}{SetMargins}{\param{const wxSize\&}{ size}} \func{void}{SetMargins}{\param{const wxSize\&}{ size}}
@@ -614,6 +591,35 @@ default (zero-size) margins are to be overridden.
\helpref{wxToolBar::GetMargins}{wxtoolbargetmargins}, \helpref{wxSize}{wxsize} \helpref{wxToolBar::GetMargins}{wxtoolbargetmargins}, \helpref{wxSize}{wxsize}
\membersection{wxToolBar::SetToolBitmapSize}\label{wxtoolbarsettoolbitmapsize}
\func{void}{SetToolBitmapSize}{\param{const wxSize\&}{ size}}
Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 pixels.
\wxheading{Parameters}
\docparam{size}{The size of the bitmaps in the toolbar.}
\wxheading{Remarks}
This should be called to tell the toolbar what the tool bitmap size is. Call
it before you add tools.
Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
and not the eventual size of the tool button.
\wxheading{See also}
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize},\rtfsp
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
\membersection{wxToolBar::SetToolClientData}\label{wxtoolbarsettoolclientdata}
\func{void}{GetToolClientData}{\param{wxObject* }{clientData}}
Sets the client data associated with the tool.
\membersection{wxToolBar::SetToolLongHelp}\label{wxtoolbarsettoollonghelp} \membersection{wxToolBar::SetToolLongHelp}\label{wxtoolbarsettoollonghelp}
\func{void}{SetToolLongHelp}{\param{int }{toolId}, \param{const wxString\& }{helpString}} \func{void}{SetToolLongHelp}{\param{int }{toolId}, \param{const wxString\& }{helpString}}

View File

@@ -140,10 +140,14 @@ public:
wxObject *GetClientData() const wxObject *GetClientData() const
{ {
wxASSERT_MSG( m_toolStyle != wxTOOL_STYLE_CONTROL, if ( m_toolStyle == wxTOOL_STYLE_CONTROL )
_T("this toolbar tool doesn't have client data") ); {
return m_control->GetClientData();
return m_clientData; }
else
{
return m_clientData;
}
} }
// modifiers: return TRUE if the state really changed // modifiers: return TRUE if the state really changed
@@ -158,6 +162,18 @@ public:
void SetBitmap1(const wxBitmap& bmp) { m_bitmap1 = bmp; } void SetBitmap1(const wxBitmap& bmp) { m_bitmap1 = bmp; }
void SetBitmap2(const wxBitmap& bmp) { m_bitmap2 = bmp; } void SetBitmap2(const wxBitmap& bmp) { m_bitmap2 = bmp; }
void SetClientData(wxObject *clientData)
{
if ( m_toolStyle == wxTOOL_STYLE_CONTROL )
{
m_control->SetClientData(clientData);
}
else
{
m_clientData = clientData;
}
}
// add tool to/remove it from a toolbar // add tool to/remove it from a toolbar
virtual void Detach() { m_tbar = (wxToolBarBase *)NULL; } virtual void Detach() { m_tbar = (wxToolBarBase *)NULL; }
virtual void Attach(wxToolBarBase *tbar) { m_tbar = tbar; } virtual void Attach(wxToolBarBase *tbar) { m_tbar = tbar; }
@@ -284,7 +300,9 @@ public:
// Set this to be togglable (or not) // Set this to be togglable (or not)
virtual void SetToggle(int id, bool toggle); virtual void SetToggle(int id, bool toggle);
virtual wxObject *GetToolClientData(int index) const; // set/get tools client data (not for controls)
virtual wxObject *GetToolClientData(int id) const;
virtual void SetToolClientData(int id, wxObject *clientData);
// return TRUE if the tool is toggled // return TRUE if the tool is toggled
virtual bool GetToolState(int id) const; virtual bool GetToolState(int id) const;

View File

@@ -403,6 +403,15 @@ wxObject *wxToolBarBase::GetToolClientData(int id) const
return tool ? tool->GetClientData() : (wxObject *)NULL; return tool ? tool->GetClientData() : (wxObject *)NULL;
} }
void wxToolBarBase::SetToolClientData(int id, wxObject *clientData)
{
wxToolBarToolBase *tool = FindById(id);
wxCHECK_RET( tool, _T("no such tool in wxToolBar::SetToolClientData") );
tool->SetClientData(clientData);
}
bool wxToolBarBase::GetToolState(int id) const bool wxToolBarBase::GetToolState(int id) const
{ {
wxToolBarToolBase *tool = FindById(id); wxToolBarToolBase *tool = FindById(id);