// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __WINDOWH__
-#define __WINDOWH__
+#ifndef _WX_WINDOW_H_
+#define _WX_WINDOW_H_
#ifdef __GNUG__
#pragma interface "window.h"
#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
class WXDLLEXPORT wxValidator;
#if USE_DRAG_AND_DROP
-class wxDropTarget;
+class WXDLLEXPORT wxDropTarget;
#endif
#if USE_WX_RESOURCES
{
DECLARE_ABSTRACT_CLASS(wxWindow)
- friend class wxUpdateIterator;
friend class wxDC;
friend class wxPaintDC;
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);
// 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);
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);
// 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
////////////////////////////////////////////////////////////////////////
//// PROTECTED DATA
protected:
+ wxAcceleratorTable m_acceleratorTable;
int m_windowId;
long m_windowStyle; // Store the window's style
wxEvtHandler * m_windowEventHandler; // Usually is 'this'
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;
#endif
*/
- WXHANDLE m_acceleratorTable;
+// WXHANDLE m_acceleratorTable;
WXHMENU m_hMenu; // Menu, if any
wxList * m_children; // Window's children
int m_returnCode;
// 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);
int WXDLLEXPORT NewControlId(void);
#endif
- // __WINDOWH__
+ // _WX_WINDOW_H_