]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/wince/tbarwce.h
Don't create multiple parent-less top level frames in layout sample.
[wxWidgets.git] / include / wx / msw / wince / tbarwce.h
index 938559aca31063dce6cd2eb1e7bb90c02fb98347..9e7eb0cc27b31f7572d81cb54c1f99acc20dacbc 100644 (file)
 #ifndef _WX_BARWCE_H_
 #define _WX_BARWCE_H_
 
-#ifdef __GNUG__
-    #pragma interface "tbarwce.h"
-#endif
-
 #if wxUSE_TOOLBAR
 
 #include "wx/dynarray.h"
 
-class WXDLLEXPORT wxToolBar : public wxToolBarBase
+// Smartphones don't have toolbars, so use a dummy class
+#ifdef __SMARTPHONE__
+
+class WXDLLIMPEXP_CORE wxToolBar : public wxToolBarBase
 {
 public:
     // ctors and dtor
-    wxToolBar() { Init(); }
+    wxToolBar() { }
 
     wxToolBar(wxWindow *parent,
                 wxWindowID id,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
-                long style = wxNO_BORDER | wxTB_HORIZONTAL,
+                long style = wxTB_HORIZONTAL,
+                const wxString& name = wxToolBarNameStr)
+    {
+        Create(parent, id, pos, size, style, name);
+    }
+
+    bool Create(wxWindow *parent,
+                wxWindowID id,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxTB_HORIZONTAL,
+                const wxString& name = wxToolBarNameStr);
+
+    // override/implement base class virtuals
+    virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
+    virtual bool Realize() { return true; }
+
+protected:
+    // 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 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,
+                                          const wxString& label);
+
+private:
+    DECLARE_EVENT_TABLE()
+    DECLARE_DYNAMIC_CLASS(wxToolBar)
+    wxDECLARE_NO_COPY_CLASS(wxToolBar);
+};
+
+#else
+
+// For __POCKETPC__
+
+#include "wx/msw/toolbar.h"
+
+class WXDLLIMPEXP_CORE wxToolMenuBar : public wxToolBar
+{
+public:
+    // ctors and dtor
+    wxToolMenuBar() { Init(); }
+
+    wxToolMenuBar(wxWindow *parent,
+                wxWindowID id,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = wxTB_HORIZONTAL,
                 const wxString& name = wxToolBarNameStr,
                 wxMenuBar* menuBar = NULL)
     {
@@ -43,36 +101,22 @@ public:
                 wxWindowID id,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
-                long style = wxNO_BORDER | wxTB_HORIZONTAL,
+                long style = wxTB_HORIZONTAL,
                 const wxString& name = wxToolBarNameStr,
                 wxMenuBar* menuBar = NULL);
 
-    virtual ~wxToolBar();
+    virtual ~wxToolMenuBar();
 
     // override/implement base class virtuals
-    virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
-
     virtual bool Realize();
 
-    virtual void SetToolBitmapSize(const wxSize& size);
-    virtual wxSize GetToolSize() const;
-
-    virtual void SetRows(int nRows);
-
     // implementation only from now on
     // -------------------------------
 
-    virtual void SetWindowStyleFlag(long style);
+    // Override in order to bypass wxToolBar's overridden function
+    virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
 
     virtual bool MSWCommand(WXUINT param, WXWORD id);
-    virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
-
-    void OnMouseEvent(wxMouseEvent& event);
-    void OnSysColourChanged(wxSysColourChangedEvent& event);
-
-    void SetFocus() {}
-
-    static WXHBITMAP MapBitmap(WXHBITMAP bitmap, int width, int height);
 
     // Return HMENU for the menu associated with the commandbar
     WXHMENU GetHMenu();
@@ -97,10 +141,6 @@ protected:
     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,
@@ -109,39 +149,21 @@ protected:
                                           wxObject *clientData,
                                           const wxString& shortHelp,
                                           const wxString& longHelp);
-    virtual wxToolBarToolBase *CreateTool(wxControl *control);
-
-    // override WndProc mainly to process WM_SIZE
-    virtual long MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
-
-    // return the appropriate size and flags for the toolbar control
-    virtual wxSize DoGetBestSize() const;
-    virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
-
-    // handlers for various events
-    void HandleMouseMove(WXWPARAM wParam, WXLPARAM lParam);
-
-    // should be called whenever the toolbar size changes
-    void UpdateSize();
-
-    // the big bitmap containing all bitmaps of the toolbar buttons
-    WXHBITMAP m_hBitmap;
-
-    // the total number of toolbar elements
-    size_t m_nButtons;
-
-    // the tool the cursor is in
-    wxToolBarToolBase *m_pInTool;
+    virtual wxToolBarToolBase *CreateTool(wxControl *control,
+                                          const wxString& label);
 
     // The menubar associated with this toolbar
     wxMenuBar*  m_menuBar;
 
 private:
     DECLARE_EVENT_TABLE()
-    DECLARE_DYNAMIC_CLASS(wxToolBar)
-    DECLARE_NO_COPY_CLASS(wxToolBar)
+    DECLARE_DYNAMIC_CLASS(wxToolMenuBar)
+    wxDECLARE_NO_COPY_CLASS(wxToolMenuBar);
 };
 
+#endif
+  // __SMARTPHONE__
+
 #endif // wxUSE_TOOLBAR
 
 #endif