cleaning up image mess for os/2

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster 1999-12-17 05:42:26 +00:00
parent d895ad7c54
commit 97fdfcc9fd
6 changed files with 125 additions and 86 deletions

View File

@ -72,6 +72,9 @@ protected:
long m_type; long m_type;
}; };
#if !defined(__VISAGECPP__)
// Why define these here and then again in the individual image format headers??
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxPNGHandler // wxPNGHandler
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -208,6 +211,8 @@ public:
}; };
#endif // wxUSE_PCX #endif // wxUSE_PCX
#endif //__VISAGECPP__
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxImage // wxImage
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@ -51,8 +51,11 @@
#error "See the documentation on the 'longlong' pragma." #error "See the documentation on the 'longlong' pragma."
#endif #endif
#else #else
#if !defined(__VISAGECPP__)
// Visualage does not support this pragma
#warning "Your compiler does not appear to support 64 bit integers, "\ #warning "Your compiler does not appear to support 64 bit integers, "\
"using emulation class instead." "using emulation class instead."
#endif
#define wxUSE_LONGLONG_WX 1 #define wxUSE_LONGLONG_WX 1
#endif // compiler #endif // compiler

View File

@ -255,6 +255,7 @@
// wxToolBar class // wxToolBar class
#define wxUSE_TOOLBAR 1 #define wxUSE_TOOLBAR 1
#define wxUSE_TOOLBAR_NATIVE 1
// wxStatusBar class // wxStatusBar class
#define wxUSE_STATUSBAR 1 #define wxUSE_STATUSBAR 1

View File

@ -254,6 +254,7 @@
// wxToolBar class // wxToolBar class
#define wxUSE_TOOLBAR 1 #define wxUSE_TOOLBAR 1
#define wxUSE_TOOLBAR_NATIVE 1
// wxStatusBar class // wxStatusBar class
#define wxUSE_STATUSBAR 1 #define wxUSE_STATUSBAR 1

View File

@ -19,73 +19,102 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxToolBarNameStr;
class WXDLLEXPORT wxToolBar: public wxToolBarBase class WXDLLEXPORT wxToolBar: public wxToolBarBase
{ {
DECLARE_DYNAMIC_CLASS(wxToolBar) public:
public:
/* /*
* Public interface * Public interface
*/ */
wxToolBar(); wxToolBar() { Init(); }
inline wxToolBar(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, inline wxToolBar( wxWindow* pParent
long style = wxNO_BORDER|wxTB_HORIZONTAL, ,wxWindowID vId
const wxString& name = wxToolBarNameStr) ,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize
,long lStyle = wxNO_BORDER|wxTB_HORIZONTAL
,const wxString& rName = wxToolBarNameStr
)
{ {
Create(parent, id, pos, size, style, name); Create( pParent
,vId
,rPos
,rSize
,lStyle
,rName
);
} }
~wxToolBar(); bool Create( wxWindow* pParent
,wxWindowID vId
,const wxPoint& rPos = wxDefaultPosition
,const wxSize& rSize = wxDefaultSize
,long lStyle = wxNO_BORDER|wxTB_HORIZONTAL
,const wxString& rName = wxToolBarNameStr
);
bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, virtual ~wxToolBar();
long style = wxNO_BORDER|wxTB_HORIZONTAL,
const wxString& name = wxToolBarNameStr);
// Call default behaviour // override/implement base class virtuals
void OnMouseEvent(wxMouseEvent& event); virtual wxToolBarToolBase* FindToolForPosition( wxCoord x
,wxCoord y
// If pushedBitmap is NULL, a reversed version of bitmap is ) const;
// created and used as the pushed/toggled image.
// If toggle is TRUE, the button toggles between the two states.
wxToolBarTool *AddTool(int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap,
bool toggle = FALSE, long xPos = -1, long yPos = -1, wxObject *clientData = NULL,
const wxString& helpString1 = "", const wxString& helpString2 = "");
//Virtual function hiding suppression
inline wxToolBarTool *AddTool(int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap,
bool toggle = FALSE, wxCoord xPos = -1, wxCoord yPos = -1, wxObject *clientData = NULL,
const wxString& helpString1 = "", const wxString& helpString2 = "")
{ return(AddTool(toolIndex, bitmap, pushedBitmap, toggle, (long)xPos, (long)yPos, clientData, helpString1, helpString2)); }
// Set default bitmap size
void SetToolBitmapSize(const wxSize& size);
void EnableTool(int toolIndex, bool enable); // additional drawing on enabling
void ToggleTool(int toolIndex, bool toggle); // toggle is TRUE if toggled on
void ClearTools();
// The button size is bigger than the bitmap size
wxSize GetToolSize() const;
wxSize GetMaxSize() const;
virtual bool GetToolState(int toolIndex) const;
// Add all the buttons
virtual bool CreateTools();
virtual void SetRows(int nRows);
virtual void LayoutButtons() {}
// The post-tool-addition call // The post-tool-addition call
bool Realize() { return CreateTools(); }; virtual bool Realize(void);
virtual void SetToolBitmapSize(const wxSize& rSize);
virtual wxSize GetToolSize(void) const;
virtual void SetRows(int nRows);
// IMPLEMENTATION // IMPLEMENTATION
virtual bool OS2Command(WXUINT param, WXWORD id); virtual bool OS2Command( WXUINT uParam
virtual bool OS2OnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); ,WXWORD wId
);
// Responds to colour changes virtual bool OS2OnNotify( int nCtrl
void OnSysColourChanged(wxSysColourChangedEvent& event); ,WXLPARAM lParam
,WXLPARAM* pResult
);
void OnMouseEvent(wxMouseEvent& rEvent);
void OnSysColourChanged(wxSysColourChangedEvent& rEvent);
protected: protected:
void Init(void);
// implement base class pure virtuals
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 vId
,const wxBitmap& rBitmap1
,const wxBitmap& rBitmap2
,bool bToggle
,wxObject* pClientData
,const wxString& rShortHelpString
,const wxString& rLongHelpString
);
virtual wxToolBarToolBase* CreateTool(wxControl* pControl);
// should be called whenever the toolbar size changes
void UpdateSize(void);
// override WndProc to process WM_SIZE
virtual MRESULT OS2WindowProc( HWND hWnd
,WXUINT ulMsg
,WXWPARAM wParam
,WXLPARAM lParam
);
// the big bitmap containing all bitmaps of the toolbar buttons
WXHBITMAP m_hBitmap; WXHBITMAP m_hBitmap;
DECLARE_EVENT_TABLE() // the total number of toolbar elements
size_t m_nButtons;
private:
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxToolBar)
}; };
#endif // wxUSE_TOOLBAR #endif // wxUSE_TOOLBAR