// Created: 17/09/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_PRIVATE_H_
#define _WX_PRIVATE_H_
#include "wx/defs.h"
+#include "wx/hashmap.h"
#include "wx/utils.h"
#if defined( __cplusplus ) && defined( __VMS )
#pragma message disable nosimpint
// Include common declarations
#include "wx/x11/privx.h"
-#if wxUSE_UNICODE
-#include "pango/pango.h"
+#if wxUSE_PANGO
+#include <pango/pango.h>
#endif
-class wxMouseEvent;
-class wxKeyEvent;
-class wxWindow;
+class WXDLLIMPEXP_FWD_CORE wxMouseEvent;
+class WXDLLIMPEXP_FWD_CORE wxKeyEvent;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
// ----------------------------------------------------------------------------
// Some Unicode <-> UTF8 macros stolen from GTK
// corresponding to the window for this widget
// ----------------------------------------------------------------------------
+WX_DECLARE_HASH_MAP(Window, wxWindow *, wxIntegerHash, wxIntegerEqual, wxWindowHash);
+
+// these hashes are defined in app.cpp
+extern wxWindowHash *wxWidgetHashTable;
+extern wxWindowHash *wxClientWidgetHashTable;
+
extern void wxDeleteWindowFromTable(Window w);
extern wxWindow *wxGetWindowFromTable(Window w);
extern bool wxAddWindowToTable(Window w, wxWindow *win);