git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			152 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			152 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/msw/tbarmsw.h
 | |
| // Purpose:     wxToolBar for Win16
 | |
| // Author:      Julian Smart
 | |
| // Modified by: 13.12.99 by VZ during toolbar classes reorganization
 | |
| // Created:     01/02/97
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) Julian Smart
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_TBARMSW_H_
 | |
| #define _WX_TBARMSW_H_
 | |
| 
 | |
| #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 | |
| #pragma interface "tbarmsw.h"
 | |
| #endif
 | |
| 
 | |
| #if wxUSE_TOOLBAR
 | |
| 
 | |
| #include "wx/tbarbase.h"
 | |
| 
 | |
| WXDLLEXPORT_DATA(extern const wxChar*) wxButtonBarNameStr;
 | |
| 
 | |
| class WXDLLEXPORT wxMemoryDC;
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // wxToolBar for Win16
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| class WXDLLEXPORT wxToolBar : public wxToolBarBase
 | |
| {
 | |
| public:
 | |
|     // construction
 | |
|     wxToolBar() { Init(); }
 | |
| 
 | |
|     wxToolBar(wxWindow *parent,
 | |
|               wxWindowID id,
 | |
|               const wxPoint& pos = wxDefaultPosition,
 | |
|               const wxSize& size = wxDefaultSize,
 | |
|               long style = wxNO_BORDER|wxTB_HORIZONTAL,
 | |
|               const wxString& name = wxButtonBarNameStr)
 | |
|     {
 | |
|         Init();
 | |
| 
 | |
|         Create(parent, id, pos, size, style, name);
 | |
|     }
 | |
| 
 | |
|     bool Create(wxWindow *parent,
 | |
|                 wxWindowID id,
 | |
|                 const wxPoint& pos = wxDefaultPosition,
 | |
|                 const wxSize& size = wxDefaultSize,
 | |
|                 long style = wxNO_BORDER|wxTB_HORIZONTAL,
 | |
|                 const wxString& name = wxButtonBarNameStr);
 | |
| 
 | |
|     ~wxToolBar();
 | |
| 
 | |
|     // implement/override base class (pure) virtuals
 | |
|     virtual wxToolBarToolBase *AddTool(int id,
 | |
|                                        const wxBitmap& bitmap,
 | |
|                                        const wxBitmap& pushedBitmap,
 | |
|                                        bool toggle,
 | |
|                                        wxCoord xPos,
 | |
|                                        wxCoord yPos = -1,
 | |
|                                        wxObject *clientData = NULL,
 | |
|                                        const wxString& helpString1 = wxEmptyString,
 | |
|                                        const wxString& helpString2 = wxEmptyString);
 | |
| 
 | |
|     virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
 | |
| 
 | |
|     virtual void SetToolBitmapSize(const wxSize& size);
 | |
|     virtual wxSize GetToolSize() const;
 | |
| 
 | |
|     virtual bool Realize();
 | |
| 
 | |
|     // implementation only from now on
 | |
|     // -------------------------------
 | |
| 
 | |
|     // Handle wxWindows events
 | |
|     void OnPaint(wxPaintEvent& event);
 | |
|     void OnMouseEvent(wxMouseEvent& event);
 | |
| 
 | |
| protected:
 | |
|     void Init();
 | |
| 
 | |
|     virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
 | |
|     virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
 | |
|     virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
 | |
|     virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
 | |
|     virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
 | |
| 
 | |
|     virtual wxToolBarToolBase *CreateTool(int id,
 | |
|                                           const wxString& label,
 | |
|                                           const wxBitmap& bmpNormal,
 | |
|                                           const wxBitmap& bmpDisabled,
 | |
|                                           wxItemKind kind,
 | |
|                                           wxObject *clientData,
 | |
|                                           const wxString& shortHelp,
 | |
|                                           const wxString& longHelp);
 | |
|     virtual wxToolBarToolBase *CreateTool(wxControl *control);
 | |
| 
 | |
|     void DoRedrawTool(wxToolBarToolBase *tool);
 | |
| 
 | |
|     void DrawTool(wxDC& dc, wxToolBarToolBase *tool);
 | |
|     void DrawTool(wxDC& dc, wxToolBarToolBase *tool, int state);
 | |
| 
 | |
|     void GetSysColors();
 | |
|     bool InitGlobalObjects();
 | |
|     void FreeGlobalObjects();
 | |
|     void PatB(WXHDC hdc,int x,int y,int dx,int dy, long rgb);
 | |
|     void CreateMask(WXHDC hDC, int xoffset, int yoffset, int dx, int dy);
 | |
|     void DrawBlankButton(WXHDC hdc, int x, int y, int dx, int dy, int state);
 | |
|     void DrawButton(WXHDC hdc, int x, int y, int dx, int dy,
 | |
|                     wxToolBarToolBase *tool, int state);
 | |
|     WXHBITMAP CreateDitherBitmap();
 | |
|     bool CreateDitherBrush();
 | |
|     bool FreeDitherBrush();
 | |
|     WXHBITMAP CreateMappedBitmap(WXHINSTANCE hInstance, void *lpBitmapInfo);
 | |
|     WXHBITMAP CreateMappedBitmap(WXHINSTANCE hInstance, WXHBITMAP hBitmap);
 | |
| 
 | |
|     int               m_currentRowsOrColumns;
 | |
|     int               m_pressedTool, m_currentTool;
 | |
| 
 | |
|     wxCoord           m_xPos, m_yPos;
 | |
|     wxCoord           m_lastX, m_lastY;
 | |
| 
 | |
|     WXHBRUSH          m_hbrDither;
 | |
|     WXDWORD           m_rgbFace;
 | |
|     WXDWORD           m_rgbShadow;
 | |
|     WXDWORD           m_rgbHilight;
 | |
|     WXDWORD           m_rgbFrame;
 | |
| 
 | |
|     //
 | |
|     // m_hdcMono is the DC that holds a mono bitmap, m_hbmMono
 | |
|     // that is used to create highlights
 | |
|     // of button faces.
 | |
|     // m_hbmDefault hold the default bitmap if there is one.
 | |
|     //
 | |
|     WXHDC             m_hdcMono;
 | |
|     WXHBITMAP         m_hbmMono;
 | |
|     WXHBITMAP         m_hbmDefault;
 | |
| 
 | |
| private:
 | |
|     DECLARE_EVENT_TABLE()
 | |
|     DECLARE_DYNAMIC_CLASS(wxToolBar)
 | |
| };
 | |
| 
 | |
| #endif // wxUSE_TOOLBAR
 | |
| 
 | |
| #endif
 | |
|     // _WX_TBARMSW_H_
 |