compilation fixes, doesn't work yet
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -44,26 +44,35 @@ public:
|
|||||||
virtual ~wxToolBar();
|
virtual ~wxToolBar();
|
||||||
|
|
||||||
// override/implement base class virtuals
|
// override/implement base class virtuals
|
||||||
virtual wxToolBarTool *FindToolForPosition(wxCoord x, wxCoord y) const;
|
virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
|
||||||
|
|
||||||
virtual bool Realize();
|
virtual bool Realize();
|
||||||
|
|
||||||
// implementation from now on
|
// implementation from now on
|
||||||
|
|
||||||
// find tool by widget
|
// find tool by widget
|
||||||
wxToolBarTool *FindToolByWidget(WXWidget w) const;
|
wxToolBarToolBase *FindToolByWidget(WXWidget w) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// common part of all ctors
|
// common part of all ctors
|
||||||
void Init();
|
void Init();
|
||||||
|
|
||||||
// implement base class pure virtuals
|
// implement base class pure virtuals
|
||||||
virtual bool DoInsertTool(size_t pos, wxToolBarTool *tool);
|
virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
|
||||||
virtual bool DoDeleteTool(size_t pos, wxToolBarTool *tool);
|
virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
|
||||||
|
|
||||||
virtual void DoEnableTool(wxToolBarTool *tool, bool enable);
|
virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
|
||||||
virtual void DoToggleTool(wxToolBarTool *tool, bool toggle);
|
virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
|
||||||
virtual void DoSetToggle(wxToolBarTool *tool, bool toggle);
|
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
|
||||||
|
|
||||||
|
virtual wxToolBarToolBase *CreateTool(int id,
|
||||||
|
const wxBitmap& bitmap1,
|
||||||
|
const wxBitmap& bitmap2,
|
||||||
|
bool toggle,
|
||||||
|
wxObject *clientData,
|
||||||
|
const wxString& shortHelpString,
|
||||||
|
const wxString& longHelpString);
|
||||||
|
virtual wxToolBarToolBase *CreateTool(wxControl *control);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS(wxToolBar)
|
DECLARE_DYNAMIC_CLASS(wxToolBar)
|
||||||
|
@@ -130,22 +130,21 @@ wxString wxToolBarTimer::helpString;
|
|||||||
// wxToolBarTool
|
// wxToolBarTool
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxToolBarToolBase *wxToolBarToolBase::New(wxToolBar *tbar,
|
wxToolBarToolBase *wxToolBar::CreateTool(int id,
|
||||||
int id,
|
const wxBitmap& bitmap1,
|
||||||
const wxBitmap& bitmap1,
|
const wxBitmap& bitmap2,
|
||||||
const wxBitmap& bitmap2,
|
bool toggle,
|
||||||
bool toggle,
|
wxObject *clientData,
|
||||||
wxObject *clientData,
|
const wxString& shortHelpString,
|
||||||
const wxString& shortHelpString,
|
const wxString& longHelpString)
|
||||||
const wxString& longHelpString)
|
|
||||||
{
|
{
|
||||||
return new wxToolBarTool(tbar, id, bitmap1, bitmap2, toggle,
|
return new wxToolBarTool(this, id, bitmap1, bitmap2, toggle,
|
||||||
clientData, shortHelpString, longHelpString);
|
clientData, shortHelpString, longHelpString);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxToolBarToolBase *wxToolBarToolBase::New(wxToolBar *tbar, wxControl *control)
|
wxToolBarToolBase *wxToolBar::CreateTool(wxControl *control)
|
||||||
{
|
{
|
||||||
return new wxToolBarTool(tbar, control);
|
return new wxToolBarTool(this, control);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxToolBarTool::Init()
|
void wxToolBarTool::Init()
|
||||||
@@ -156,8 +155,11 @@ void wxToolBarTool::Init()
|
|||||||
|
|
||||||
wxToolBarTool::~wxToolBarTool()
|
wxToolBarTool::~wxToolBarTool()
|
||||||
{
|
{
|
||||||
XtDestroyWidget(m_widget);
|
if ( m_widget )
|
||||||
XmDestroyPixmap(DefaultScreenOfDisplay((Display*)wxGetDisplay()), m_pixmap);
|
XtDestroyWidget(m_widget);
|
||||||
|
if ( m_pixmap )
|
||||||
|
XmDestroyPixmap(DefaultScreenOfDisplay((Display*)wxGetDisplay()),
|
||||||
|
m_pixmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -383,6 +385,8 @@ bool wxToolBar::Realize()
|
|||||||
insensPixmap2 = XCreateInsensitivePixmap((Display*) wxGetDisplay(), pixmap2);
|
insensPixmap2 = XCreateInsensitivePixmap((Display*) wxGetDisplay(), pixmap2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tool->SetPixmap(pixmap2);
|
||||||
|
|
||||||
XtVaSetValues (button,
|
XtVaSetValues (button,
|
||||||
XmNindicatorOn, False,
|
XmNindicatorOn, False,
|
||||||
XmNshadowThickness, 2,
|
XmNshadowThickness, 2,
|
||||||
@@ -413,6 +417,9 @@ bool wxToolBar::Realize()
|
|||||||
pixmap2 = (Pixmap) bmp.GetArmPixmap(button);
|
pixmap2 = (Pixmap) bmp.GetArmPixmap(button);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tool->SetPixmap(pixmap2);
|
||||||
|
|
||||||
// Normal button
|
// Normal button
|
||||||
XtVaSetValues(button,
|
XtVaSetValues(button,
|
||||||
XmNlabelPixmap, pixmap,
|
XmNlabelPixmap, pixmap,
|
||||||
@@ -420,6 +427,7 @@ bool wxToolBar::Realize()
|
|||||||
XmNarmPixmap, pixmap2,
|
XmNarmPixmap, pixmap2,
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
XtManageChild(button);
|
XtManageChild(button);
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -447,48 +455,53 @@ bool wxToolBar::Realize()
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxToolBarTool *wxToolBar::FindToolForPosition(wxCoord WXUNUSED(x),
|
wxToolBarToolBase *wxToolBar::FindToolForPosition(wxCoord WXUNUSED(x),
|
||||||
wxCoord WXUNUSED(y)) const
|
wxCoord WXUNUSED(y)) const
|
||||||
{
|
{
|
||||||
wxFAIL_MSG( _T("TODO") );
|
wxFAIL_MSG( _T("TODO") );
|
||||||
|
|
||||||
return (wxToolBarTool *)NULL;
|
return (wxToolBarToolBase *)NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxToolBar::DoInsertTool(size_t WXUNUSED(pos), wxToolBarTool *tool)
|
bool wxToolBar::DoInsertTool(size_t WXUNUSED(pos), wxToolBarToolBase *tool)
|
||||||
{
|
{
|
||||||
tool->Attach(this);
|
tool->Attach(this);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos), wxToolBarTool *tool)
|
bool wxToolBar::DoDeleteTool(size_t WXUNUSED(pos), wxToolBarToolBase *tool)
|
||||||
{
|
{
|
||||||
tool->Detach();
|
tool->Detach();
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxToolBar::DoEnableTool(wxToolBarTool *tool, bool enable)
|
void wxToolBar::DoEnableTool(wxToolBarToolBase *toolBase, bool enable)
|
||||||
{
|
{
|
||||||
|
wxToolBarTool *tool = (wxToolBarTool *)toolBase;
|
||||||
|
|
||||||
XtSetSensitive(tool->GetButtonWidget(), (Boolean) enable);
|
XtSetSensitive(tool->GetButtonWidget(), (Boolean) enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxToolBar::DoToggleTool(wxToolBarTool *tool, bool toggle)
|
void wxToolBar::DoToggleTool(wxToolBarToolBase *toolBase, bool toggle)
|
||||||
{
|
{
|
||||||
|
wxToolBarTool *tool = (wxToolBarTool *)toolBase;
|
||||||
|
|
||||||
XmToggleButtonSetState(tool->GetButtonWidget(), (Boolean) toggle, False);
|
XmToggleButtonSetState(tool->GetButtonWidget(), (Boolean) toggle, False);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxToolBar::DoSetToggle(wxToolBarTool *tool, bool toggle)
|
void wxToolBar::DoSetToggle(wxToolBarToolBase * WXUNUSED(tool),
|
||||||
|
bool WXUNUSED(toggle))
|
||||||
{
|
{
|
||||||
wxFAIL_MSG( _T("TODO") );
|
// nothing to do
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Motif callbacks
|
// Motif callbacks
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxToolBarTool *wxToolBar::FindToolByWidget(WXWidget w) const
|
wxToolBarToolBase *wxToolBar::FindToolByWidget(WXWidget w) const
|
||||||
{
|
{
|
||||||
wxToolBarToolsList::Node* node = m_tools.GetFirst();
|
wxToolBarToolsList::Node* node = m_tools.GetFirst();
|
||||||
while ( node )
|
while ( node )
|
||||||
@@ -502,7 +515,7 @@ wxToolBarTool *wxToolBar::FindToolByWidget(WXWidget w) const
|
|||||||
node = node->GetNext();
|
node = node->GetNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
return (wxToolBarTool *)NULL;
|
return (wxToolBarToolBase *)NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void wxToolButtonCallback(Widget w,
|
static void wxToolButtonCallback(Widget w,
|
||||||
@@ -510,7 +523,7 @@ static void wxToolButtonCallback(Widget w,
|
|||||||
XtPointer WXUNUSED(ptr))
|
XtPointer WXUNUSED(ptr))
|
||||||
{
|
{
|
||||||
wxToolBar *toolBar = (wxToolBar *) clientData;
|
wxToolBar *toolBar = (wxToolBar *) clientData;
|
||||||
wxToolBarTool *tool = toolBar->FindToolByWidget((WXWidget) w);
|
wxToolBarToolBase *tool = toolBar->FindToolByWidget((WXWidget) w);
|
||||||
if ( !tool )
|
if ( !tool )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -534,7 +547,7 @@ static void wxToolButtonPopupCallback(Widget w,
|
|||||||
static const int delayMilli = 800;
|
static const int delayMilli = 800;
|
||||||
|
|
||||||
wxToolBar* toolBar = (wxToolBar*) client_data;
|
wxToolBar* toolBar = (wxToolBar*) client_data;
|
||||||
wxToolBarTool *tool = toolBar->FindToolByWidget((WXWidget) w);
|
wxToolBarToolBase *tool = toolBar->FindToolByWidget((WXWidget) w);
|
||||||
|
|
||||||
if ( !tool )
|
if ( !tool )
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user