]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/window.h
Changed floats to doubles in wxexpr.h; added a flag in accel.h (wxACCEL_NONE for
[wxWidgets.git] / include / wx / msw / window.h
index c1cb243339783f9f1a201f497bb00da1faa4c6ac..716be466069ab46273e1cefc625e4b12382c8bb6 100644 (file)
@@ -9,8 +9,8 @@
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __WINDOWH__
-#define __WINDOWH__
+#ifndef _WX_WINDOW_H_
+#define _WX_WINDOW_H_
 
 #ifdef __GNUG__
 #pragma interface "window.h"
@@ -26,6 +26,7 @@
 #include "wx/string.h"
 #include "wx/list.h"
 #include "wx/region.h"
+#include "wx/msw/accel.h"
 
 #define wxKEY_SHIFT     1
 #define wxKEY_CTRL      2
@@ -67,7 +68,7 @@ class WXDLLEXPORT wxDC;
 class WXDLLEXPORT wxValidator;
 
 #if USE_DRAG_AND_DROP
-class wxDropTarget;
+class WXDLLEXPORT wxDropTarget;
 #endif
 
 #if USE_WX_RESOURCES
@@ -84,7 +85,6 @@ class WXDLLEXPORT wxWindow: public wxEvtHandler
 {
   DECLARE_ABSTRACT_CLASS(wxWindow)
 
-  friend class wxUpdateIterator;
   friend class wxDC;
   friend class wxPaintDC;
 
@@ -349,6 +349,8 @@ public:
   inline virtual wxButton *GetDefaultItem(void) const;
   inline virtual void SetDefaultItem(wxButton *but);
 
+  virtual void SetAcceleratorTable(const wxAcceleratorTable& accel);
+
   // Override to define new behaviour for default action (e.g. double clicking
   // on a listbox)
   virtual void OnDefaultAction(wxControl *initiatingItem);
@@ -489,6 +491,9 @@ public:
   // Setup background and foreground colours correctly
   virtual void SetupColours(void);
 
+  // Saves the last message information before calling base version
+  virtual bool ProcessEvent(wxEvent& event);
+
   // Handlers
   virtual void MSWOnCreate(WXLPCREATESTRUCT cs);
   virtual bool MSWOnPaint(void);
@@ -503,6 +508,8 @@ public:
   virtual WXHBRUSH MSWOnCtlColor(WXHDC dc, WXHWND pWnd, WXUINT nCtlColor,
                               WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
   virtual bool MSWOnColorChange(WXHWND hWnd, WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
+  virtual long MSWOnPaletteChanged(WXHWND hWndPalChange);
+  virtual long MSWOnQueryNewPalette();
   virtual bool MSWOnEraseBkgnd(WXHDC pDC);
   virtual void MSWOnMenuHighlight(WXWORD item, WXWORD flags, WXHMENU sysmenu);
   virtual void MSWOnInitMenuPopup(WXHMENU menu, int pos, bool isSystem);
@@ -553,6 +560,7 @@ public:
   // Calls an appropriate default window procedure
   virtual long MSWDefWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
   virtual bool MSWProcessMessage(WXMSG* pMsg);
+  virtual bool MSWTranslateMessage(WXMSG* pMsg);
   virtual void MSWDestroyWindow(void);
 
   // Detach "Window" menu from menu bar so it doesn't get deleted
@@ -583,6 +591,7 @@ public:
   ////////////////////////////////////////////////////////////////////////
   //// PROTECTED DATA
 protected:
+  wxAcceleratorTable    m_acceleratorTable;
   int                   m_windowId;
   long                  m_windowStyle;                         // Store the window's style
   wxEvtHandler *        m_windowEventHandler;  // Usually is 'this'
@@ -598,7 +607,7 @@ protected:
   bool                  m_useCtl3D;             // Using CTL3D for this control
 
   bool                  m_inOnSize;                    // Protection against OnSize reentry
-#ifndef __WIN32__
+#ifndef _WX_WIN32__
   // Pointer to global memory, for EDIT controls that need
   // special treatment to reduce USER area consumption.
   WXHGLOBAL             m_globalHandle;
@@ -663,7 +672,7 @@ public:
 #endif
 */
 
-  WXHANDLE              m_acceleratorTable;
+//  WXHANDLE              m_acceleratorTable;
   WXHMENU               m_hMenu; // Menu, if any
   wxList *              m_children;                           // Window's children
   int                   m_returnCode;
@@ -726,32 +735,6 @@ inline bool wxWindow::IsBeingDeleted(void) { return m_isBeingDeleted; }
 // Window specific (so far)
 wxWindow* WXDLLEXPORT wxGetActiveWindow(void);
 
-// OBSOLETE
-#if 0
-// Allows iteration through damaged rectangles in OnPaint
-class WXDLLEXPORT wxUpdateIterator
-{
-  int rects;                                           // How many rects in Update region
-  int current;                                         // Current rectangle index
-  void *rp;                                            // current rectangle
-#ifdef __WIN32__
-  WXRGNDATA *rlist;                                    // Storage for regiondata
-#endif
-
- public:
-  wxUpdateIterator(wxWindow* wnd);
-  ~wxUpdateIterator(void);
-
-  operator int (void);
-  wxUpdateIterator* operator ++(int);
-  void GetRect(wxRectangle *rect);
-  int GetX();
-  int GetY();
-  int GetW();
-  int GetH();
-};
-#endif
-
 WXDLLEXPORT_DATA(extern wxList) wxTopLevelWindows;
 
 int WXDLLEXPORT wxCharCodeMSWToWX(int keySym);
@@ -761,4 +744,4 @@ int WXDLLEXPORT wxCharCodeWXToMSW(int id, bool *IsVirtual);
 int WXDLLEXPORT NewControlId(void);
 
 #endif
-    // __WINDOWH__
+    // _WX_WINDOW_H_