/////////////////////////////////////////////////////////////////////////////
// Name:        No names yet.
// Purpose:     Contrib. demo
// Author:      Aleksandras Gluchovas
// Modified by:
// Created:     2000/02/08
// RCS-ID:      $Id: inf_toolbarmgr.h,v 1.2 2001/04/04 12:42:37 aleksandras Exp $
// Copyright:   (c) Aleksandras Gluchovas
// Licence:   	GPL (version 2.0 or later)
/////////////////////////////////////////////////////////////////////////////

#ifndef __INF_TOOLBARMGR_G__
#define __INF_TOOLBARMGR_G__

#include "wx/pmf/pm.h"

typedef void* wxToolBarClientHandle;

class wxPMInf_ToolBarManager
{
public:
	virtual bool RegisterClient( wxClassInfo* pClass, wxObject* pInstance = NULL ) = 0;
	virtual bool UnregisterClient( wxClassInfo* pClass, wxObject* pInstance = NULL ) = 0;

	virtual bool IsRegisteredClient( wxClassInfo* pClass, wxObject* pInstance = NULL ) = 0;

	virtual wxToolBarClientHandle FindClient( wxClassInfo* pClass, wxObject* pInstance = NULL ) = 0;

	virtual void BeginToolBar( wxToolBarClientHandle hClient, const wxString& title = "", 
							   int align = wxALIGN_TOP, int ofs = 0, int row = 0 ) = 0;

	virtual void AddTool( wxToolBarClientHandle hClient, int cmdId, const wxBitmap& bmp, 
						  const wxString& toolTip = "", bool togglable = FALSE ) = 0;

	virtual void EndToolBar( wxToolBarClientHandle hClient ) = 0;

	virtual void UpdateUI( wxToolBarClientHandle hClient ) = 0;
};

#endif // __INF_TOOLBARMGR_G__

