[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

[XaraXtreme-dev] wxWidgets 2.8 work



I have made the necessary changes so that all of the wxWidgets Aui code
has been renamed to reflect the same names used in wxWidgets 2.8.4. I
have compiled against wxWidgets 2.6.3 and 2.8.4, and while I have found
some problems, I do not believe they are caused by my changes. I have a
saved XaraLX binary that I compiled without any of my changes, and I can
reproduce the problems with that.

The worst problem that I have found is when double clicking on a stroke
shape in the line gallery, Xara crashes. Only my release build 1692 that
I downloaded from the web site does not exhibit this problem.

Other problems include:

The colour swatch in the colour rename dialog is in the wrong position.

The profile dialog does not display properly. There is no curve.

Resizing a dialog (colour editor or gallery, so far) distorts the window
until a full window redraw is requested. If the window is enlarged, then
only the extra portion of the window is redrawn.

Get wxAssertions when opening a Xar file and the colour editor is open.

Again, all of the above problems occur even with a build that has none
of my changes, except for this last one:

Get wxAssertions when opening the options dialog, but only when compiled
against wxWidgets 2.8.4. I am reasonably confident that this problem
happens because the newer version of wxWidgets has an additional
assertion that this program is tripping up on that it did not in
wxWidgets 2.6.3. So I believe the bug has always been there, but I'm
just now seeing it.

I think a couple of these problems stem from passing around bad window
IDs. I'll look into debugging the problems, but I hope these changes can
be accepted.

One benefit to using wxWidgets 2.8 is that docking works much better. I
am unable to redock toolbars in 2.6, but I can do so in 2.8.
Index: Kernel/hotkeys.cpp
===================================================================
--- Kernel/hotkeys.cpp	(revision 1766)
+++ Kernel/hotkeys.cpp	(working copy)
@@ -114,6 +114,7 @@
 #include "toollist.h"
 #include "dragmgr.h"
 #include "basebar.h"
+#include "wxkeymap.h"
 
 DECLARE_SOURCE("$Revision$");
 
@@ -167,6 +168,9 @@
 // The size of the text description string object in a HotKey object
 #define TEXT_DESC_SIZE 32
 
+// The size of the enumeration string representation in a HotKey object
+#define ENUM_STR_DESC_SIZE 20
+
 /********************************************************************************************
 
 > static BOOL HotKey::Init()
@@ -842,6 +846,7 @@
 
 	// This is FALSE until we have read the text that describes the key combination
 	BOOL TextDescRead = FALSE;
+	BOOL EnumStringRead = FALSE;
 
 	// We haven't finsihed, but we're OK at the mo
 	BOOL finished = FALSE;
@@ -861,8 +866,27 @@
 			{
 				case TOKEN_STRING:
 
-					if (!TextDescRead)
+					if (!EnumStringRead)
 					{
+						// The first string encountered is the "WXK_" string representation of
+						// the enumeration.
+
+						// Make sure the enum string is not too long.
+						UINT32 TokenLen = camStrlen(TokenBuf);
+						if (TokenLen <= ENUM_STR_DESC_SIZE)
+						{
+							// Is the string not empty (i.e. "") ?
+							if (TokenLen > 0)
+							{
+								VirtKey=wxKeyMap::GetKeyVal(TokenBuf);
+							}
+						}
+						else
+							TRACE( _T("HotKey: Enum string ('%s') is too long - should be <= %d"),TokenBuf,ENUM_STR_DESC_SIZE);
+						EnumStringRead = TRUE;
+					}
+					else if (!TextDescRead)
+					{
 						// We haven't yet read the textual desc of the key definition, so assume
 						// that this is it
 
@@ -912,9 +936,10 @@
 							case HK_TOKEN_CHECKUNICODE	: *pCheckUnicode = TRUE; break;
 
 							case HK_TOKEN_NONE:
-								ok = (camSscanf(TokenBuf,_T("%li"),&VirtKey) == 1);
+								//Should no longer get this token.
+								/*ok = (camSscanf(TokenBuf,_T("%li"),&VirtKey) == 1);
 								if (!ok) TRACE( _T("HotKey: Expected a virtual key code but got : '%s'\n"),TokenBuf);
-								break;
+								break;*/
 
 							default:
 								ok = FALSE;
Index: wxXtra/floatpane.cpp
===================================================================
--- wxXtra/floatpane.cpp	(revision 1766)
+++ wxXtra/floatpane.cpp	(working copy)
@@ -23,13 +23,13 @@
 
 #if wxXTRA_AUI
 
-IMPLEMENT_CLASS( wxFloatingPane, wxFloatingPaneBaseClass )
+IMPLEMENT_CLASS( wxAuiFloatingFrame, wxAuiFloatingFrameBaseClass )
 
-wxFloatingPane::wxFloatingPane(wxWindow* parent,
-                wxFrameManager* owner_mgr,
-                const wxPaneInfo& pane,
+wxAuiFloatingFrame::wxAuiFloatingFrame(wxWindow* parent,
+                wxAuiManager* owner_mgr,
+                const wxAuiPaneInfo& pane,
                 wxWindowID id /*= wxID_ANY*/)
-                : wxFloatingPaneBaseClass(parent, id, wxEmptyString,
+                : wxAuiFloatingFrameBaseClass(parent, id, wxEmptyString,
                         pane.floating_pos, pane.floating_size,
                         wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION |
                         (pane.HasCloseButton()?wxCLOSE_BOX:0) |
@@ -45,17 +45,17 @@
     SetExtraStyle(wxWS_EX_PROCESS_IDLE);
 }
 
-wxFloatingPane::~wxFloatingPane()
+wxAuiFloatingFrame::~wxAuiFloatingFrame()
 {
     m_mgr.UnInit();
 }
 
-void wxFloatingPane::SetPaneWindow(const wxPaneInfo& pane)
+void wxAuiFloatingFrame::SetPaneWindow(const wxAuiPaneInfo& pane)
 {
     m_pane_window = pane.window;
     m_pane_window->Reparent(this);
 
-    wxPaneInfo contained_pane = pane;
+    wxAuiPaneInfo contained_pane = pane;
     contained_pane.Dock().Center().Show().
                     CaptionVisible(false).
                     PaneBorder(false).
@@ -102,23 +102,23 @@
     }
 }
 
-void wxFloatingPane::OnSize(wxSizeEvent& event)
+void wxAuiFloatingFrame::OnSize(wxSizeEvent& event)
 {
     m_owner_mgr->OnFloatingPaneResized(m_pane_window, event.GetSize());
 }
 
-void wxFloatingPane::OnClose(wxCloseEvent& evt)
+void wxAuiFloatingFrame::OnClose(wxCloseEvent& evt)
 {
     m_owner_mgr->OnFloatingPaneClosed(m_pane_window, evt);
     if (!evt.GetVeto())
         Destroy();
 }
 
-void wxFloatingPane::OnMoveEvent(wxMoveEvent& event)
+void wxAuiFloatingFrame::OnMoveEvent(wxMoveEvent& event)
 {
 #ifdef __WXGTK__
     // On wxGTK 2.6 and 2.7 for some unknown reason, wxSizeEvents are not
-    // emitted for wxFloatingPanes when they are manually resized.
+    // emitted for wxAuiFloatingFrames when they are manually resized.
     // See Bug #1528554.
     // However, it does (fortunately) wrongly emit wxMoveEvent in this scenario.
     // So we having on that to update the floating pane size - let's hope noone
@@ -156,7 +156,7 @@
     OnMoving(event.GetRect());
 }
 
-void wxFloatingPane::OnIdle(wxIdleEvent& event)
+void wxAuiFloatingFrame::OnIdle(wxIdleEvent& event)
 {
     if (m_moving)
     {
@@ -172,25 +172,25 @@
     }
 }
 
-void wxFloatingPane::OnMoveStart()
+void wxAuiFloatingFrame::OnMoveStart()
 {
     // notify the owner manager that the pane has started to move
     m_owner_mgr->OnFloatingPaneMoveStart(m_pane_window);
 }
 
-void wxFloatingPane::OnMoving(const wxRect& WXUNUSED(window_rect))
+void wxAuiFloatingFrame::OnMoving(const wxRect& WXUNUSED(window_rect))
 {
     // notify the owner manager that the pane is moving
     m_owner_mgr->OnFloatingPaneMoving(m_pane_window);
 }
 
-void wxFloatingPane::OnMoveFinished()
+void wxAuiFloatingFrame::OnMoveFinished()
 {
     // notify the owner manager that the pane has finished moving
     m_owner_mgr->OnFloatingPaneMoved(m_pane_window);
 }
 
-void wxFloatingPane::OnActivate(wxActivateEvent& event)
+void wxAuiFloatingFrame::OnActivate(wxActivateEvent& event)
 {
     if (event.GetActive())
     {
@@ -202,19 +202,19 @@
 // (independant of having a wxMouseEvent handy) - utimately a better
 // mechanism for this should be found (possibly by adding the
 // functionality to wxWidgets itself)
-bool wxFloatingPane::isMouseDown()
+bool wxAuiFloatingFrame::isMouseDown()
 {
     return wxGetMouseState().LeftDown();
 }
 
 
-BEGIN_EVENT_TABLE(wxFloatingPane, wxFloatingPaneBaseClass)
-    EVT_SIZE(wxFloatingPane::OnSize)
-    EVT_MOVE(wxFloatingPane::OnMoveEvent)
-    EVT_MOVING(wxFloatingPane::OnMoveEvent)
-    EVT_CLOSE(wxFloatingPane::OnClose)
-    EVT_IDLE(wxFloatingPane::OnIdle)
-    EVT_ACTIVATE(wxFloatingPane::OnActivate)
+BEGIN_EVENT_TABLE(wxAuiFloatingFrame, wxAuiFloatingFrameBaseClass)
+    EVT_SIZE(wxAuiFloatingFrame::OnSize)
+    EVT_MOVE(wxAuiFloatingFrame::OnMoveEvent)
+    EVT_MOVING(wxAuiFloatingFrame::OnMoveEvent)
+    EVT_CLOSE(wxAuiFloatingFrame::OnClose)
+    EVT_IDLE(wxAuiFloatingFrame::OnIdle)
+    EVT_ACTIVATE(wxAuiFloatingFrame::OnActivate)
 END_EVENT_TABLE()
 
 #endif // wxUSE_AUI
Index: wxXtra/dockart.cpp
===================================================================
--- wxXtra/dockart.cpp	(revision 1766)
+++ wxXtra/dockart.cpp	(working copy)
@@ -30,19 +30,19 @@
 #include <wx/mac/private.h>
 #endif
 
-// -- wxDefaultDockArt class implementation --
+// -- wxAuiDefaultDockArt class implementation --
 
-// wxDefaultDockArt is an art provider class which does all of the drawing for
+// wxAuiDefaultDockArt is an art provider class which does all of the drawing for
 // wxFrameManager.  This allows the library caller to customize the dock art
 // (probably by deriving from this class), or to completely replace all drawing
 // with custom dock art (probably by writing a new stand-alone class derived
-// from the wxDockArt base class). The active dock art class can be set via
+// from the wxAuiDockArt base class). The active dock art class can be set via
 // wxFrameManager::SetDockArt()
 
 
-// StepColour() it a utility function that simply darkens
+// wxAuiStepColour() it a utility function that simply darkens
 // or lightens a color, based on the specified percentage
-static wxColor StepColour(const wxColor& c, int percent)
+static wxColor wxAuiStepColour(const wxColor& c, int percent)
 {
     int r = c.Red(), g = c.Green(), b = c.Blue();
     return wxColour((unsigned char)wxMin((r*percent)/100,255),
@@ -50,7 +50,7 @@
                     (unsigned char)wxMin((b*percent)/100,255));
 }
 
-static wxColor LightContrastColour(const wxColour& c)
+static wxColor wxAuiLightContrastColour(const wxColour& c)
 {
     int amount = 120;
 
@@ -59,12 +59,12 @@
     if (c.Red() < 128 && c.Green() < 128 && c.Blue() < 128)
         amount = 160;
 
-    return StepColour(c, amount);
+    return wxAuiStepColour(c, amount);
 }
 
-// BitmapFromBits() is a utility function that creates a
+// wxAuiBitmapFromBits() is a utility function that creates a
 // masked bitmap from raw bits (XBM format)
-static wxBitmap BitmapFromBits(const unsigned char bits[], int w, int h,
+static wxBitmap wxAuiBitmapFromBits(const unsigned char bits[], int w, int h,
                                const wxColour& color)
 {
     wxImage img = wxBitmap((const char*)bits, w, h).ConvertToImage();
@@ -110,7 +110,7 @@
 
 }
 
-wxDefaultDockArt::wxDefaultDockArt()
+wxAuiDefaultDockArt::wxAuiDefaultDockArt()
 {
 #ifdef __WXMAC__
     wxBrush toolbarbrush;
@@ -120,16 +120,16 @@
     wxColor base_color = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
 #endif
 
-    wxColor darker1_color = StepColour(base_color, 85);
-    wxColor darker2_color = StepColour(base_color, 70);
-    wxColor darker3_color = StepColour(base_color, 60);
-    wxColor darker4_color = StepColour(base_color, 50);
-    wxColor darker5_color = StepColour(base_color, 40);
+    wxColor darker1_color = wxAuiStepColour(base_color, 85);
+    wxColor darker2_color = wxAuiStepColour(base_color, 70);
+    wxColor darker3_color = wxAuiStepColour(base_color, 60);
+    wxColor darker4_color = wxAuiStepColour(base_color, 50);
+    wxColor darker5_color = wxAuiStepColour(base_color, 40);
 
-    m_active_caption_colour = LightContrastColour(wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT));
+    m_active_caption_colour = wxAuiLightContrastColour(wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT));
     m_active_caption_gradient_colour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT);
     m_active_caption_text_colour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT);
-    m_inactive_caption_colour = StepColour(darker1_color, 80);
+    m_inactive_caption_colour = wxAuiStepColour(darker1_color, 80);
     m_inactive_caption_gradient_colour = darker1_color;
     m_inactive_caption_text_colour = *wxBLACK;
 
@@ -172,17 +172,17 @@
         0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
 
 #ifdef __WXMAC__
-    m_inactive_close_bitmap = BitmapFromBits(close_bits, 16, 16, *wxWHITE);
+    m_inactive_close_bitmap = wxAuiBitmapFromBits(close_bits, 16, 16, *wxWHITE);
 #else
-    m_inactive_close_bitmap = BitmapFromBits(close_bits, 16, 16, m_inactive_caption_text_colour);
+    m_inactive_close_bitmap = wxAuiBitmapFromBits(close_bits, 16, 16, m_inactive_caption_text_colour);
 #endif
-    m_inactive_pin_bitmap = BitmapFromBits(pin_bits, 16, 16, m_inactive_caption_text_colour);
+    m_inactive_pin_bitmap = wxAuiBitmapFromBits(pin_bits, 16, 16, m_inactive_caption_text_colour);
 #ifdef __WXMAC__
-    m_active_close_bitmap = BitmapFromBits(close_bits, 16, 16, *wxWHITE );
+    m_active_close_bitmap = wxAuiBitmapFromBits(close_bits, 16, 16, *wxWHITE );
 #else
-    m_active_close_bitmap = BitmapFromBits(close_bits, 16, 16, m_active_caption_text_colour);
+    m_active_close_bitmap = wxAuiBitmapFromBits(close_bits, 16, 16, m_active_caption_text_colour);
 #endif
-    m_active_pin_bitmap = BitmapFromBits(pin_bits, 16, 16, m_active_caption_text_colour);
+    m_active_pin_bitmap = wxAuiBitmapFromBits(pin_bits, 16, 16, m_active_caption_text_colour);
 
     // default metric values
 #ifdef __WXMAC__
@@ -199,7 +199,7 @@
     m_gradient_type = wxAUI_GRADIENT_VERTICAL;
 }
 
-int wxDefaultDockArt::GetMetric(int id)
+int wxAuiDefaultDockArt::GetMetric(int id)
 {
     switch (id)
     {
@@ -215,7 +215,7 @@
     return 0;
 }
 
-void wxDefaultDockArt::SetMetric(int id, int new_val)
+void wxAuiDefaultDockArt::SetMetric(int id, int new_val)
 {
     switch (id)
     {
@@ -229,7 +229,7 @@
     }
 }
 
-wxColour wxDefaultDockArt::GetColour(int id)
+wxColour wxAuiDefaultDockArt::GetColour(int id)
 {
     switch (id)
     {
@@ -249,7 +249,7 @@
     return wxColour();
 }
 
-void wxDefaultDockArt::SetColour(int id, const wxColor& colour)
+void wxAuiDefaultDockArt::SetColour(int id, const wxColor& colour)
 {
     switch (id)
     {
@@ -264,27 +264,27 @@
         case wxAUI_ART_BORDER_COLOUR:                    m_border_pen.SetColour(colour); break;
         case wxAUI_ART_GRIPPER_COLOUR:
             m_gripper_brush.SetColour(colour);
-            m_gripper_pen1.SetColour(StepColour(colour, 40));
-            m_gripper_pen2.SetColour(StepColour(colour, 60));
+            m_gripper_pen1.SetColour(wxAuiStepColour(colour, 40));
+            m_gripper_pen2.SetColour(wxAuiStepColour(colour, 60));
             break;
         default: wxFAIL_MSG(wxT("Invalid Metric Ordinal")); break;
     }
 }
 
-void wxDefaultDockArt::SetFont(int id, const wxFont& font)
+void wxAuiDefaultDockArt::SetFont(int id, const wxFont& font)
 {
     if (id == wxAUI_ART_CAPTION_FONT)
         m_caption_font = font;
 }
 
-wxFont wxDefaultDockArt::GetFont(int id)
+wxFont wxAuiDefaultDockArt::GetFont(int id)
 {
     if (id == wxAUI_ART_CAPTION_FONT)
         return m_caption_font;
     return wxNullFont;
 }
 
-void wxDefaultDockArt::DrawSash(wxDC& dc, int, const wxRect& rect)
+void wxAuiDefaultDockArt::DrawSash(wxDC& dc, int, const wxRect& rect)
 {
 #ifdef __WXMAC__
     HIRect splitterRect = CGRectMake( rect.x , rect.y , rect.width , rect.height );
@@ -318,7 +318,7 @@
 }
 
 
-void wxDefaultDockArt::DrawBackground(wxDC& dc, int, const wxRect& rect)
+void wxAuiDefaultDockArt::DrawBackground(wxDC& dc, int, const wxRect& rect)
 {
     dc.SetPen(*wxTRANSPARENT_PEN);
 #ifdef __WXMAC__
@@ -331,8 +331,8 @@
     dc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
 }
 
-void wxDefaultDockArt::DrawBorder(wxDC& dc, const wxRect& _rect,
-                                  wxPaneInfo& pane)
+void wxAuiDefaultDockArt::DrawBorder(wxDC& dc, const wxRect& _rect,
+                                  wxAuiPaneInfo& pane)
 {
     dc.SetPen(m_border_pen);
     dc.SetBrush(*wxTRANSPARENT_BRUSH);
@@ -366,7 +366,7 @@
 }
 
 
-void wxDefaultDockArt::DrawCaptionBackground(wxDC& dc, const wxRect& rect, bool active)
+void wxAuiDefaultDockArt::DrawCaptionBackground(wxDC& dc, const wxRect& rect, bool active)
 {
     if (m_gradient_type == wxAUI_GRADIENT_NONE)
     {
@@ -413,18 +413,18 @@
 }
 
 
-void wxDefaultDockArt::DrawCaption(wxDC& dc,
+void wxAuiDefaultDockArt::DrawCaption(wxDC& dc,
                                    const wxString& text,
                                    const wxRect& rect,
-                                   wxPaneInfo& pane)
+                                   wxAuiPaneInfo& pane)
 {
     dc.SetPen(*wxTRANSPARENT_PEN);
     dc.SetFont(m_caption_font);
 
     DrawCaptionBackground(dc, rect,
-                          (pane.state & wxPaneInfo::optionActive)?true:false);
+                          (pane.state & wxAuiPaneInfo::optionActive)?true:false);
 
-    if (pane.state & wxPaneInfo::optionActive)
+    if (pane.state & wxAuiPaneInfo::optionActive)
         dc.SetTextForeground(m_active_caption_text_colour);
     else
         dc.SetTextForeground(m_inactive_caption_text_colour);
@@ -438,9 +438,9 @@
     dc.DestroyClippingRegion();
 }
 
-void wxDefaultDockArt::DrawGripper(wxDC& dc,
+void wxAuiDefaultDockArt::DrawGripper(wxDC& dc,
                                    const wxRect& rect,
-                                   wxPaneInfo& pane)
+                                   wxAuiPaneInfo& pane)
 {
     dc.SetPen(*wxTRANSPARENT_PEN);
     dc.SetBrush(m_gripper_brush);
@@ -489,11 +489,11 @@
     }
 }
 
-void wxDefaultDockArt::DrawPaneButton(wxDC& dc,
+void wxAuiDefaultDockArt::DrawPaneButton(wxDC& dc,
                                       int button,
                                       int button_state,
                                       const wxRect& _rect,
-                                      wxPaneInfo& pane)
+                                      wxAuiPaneInfo& pane)
 {
     wxRect rect = _rect;
 
@@ -506,15 +506,15 @@
     if (button_state == wxAUI_BUTTON_STATE_HOVER ||
         button_state == wxAUI_BUTTON_STATE_PRESSED)
     {
-        if (pane.state & wxPaneInfo::optionActive)
+        if (pane.state & wxAuiPaneInfo::optionActive)
         {
-            dc.SetBrush(wxBrush(StepColour(m_active_caption_colour, 120)));
-            dc.SetPen(wxPen(StepColour(m_active_caption_colour, 70)));
+            dc.SetBrush(wxBrush(wxAuiStepColour(m_active_caption_colour, 120)));
+            dc.SetPen(wxPen(wxAuiStepColour(m_active_caption_colour, 70)));
         }
          else
         {
-            dc.SetBrush(wxBrush(StepColour(m_inactive_caption_colour, 120)));
-            dc.SetPen(wxPen(StepColour(m_inactive_caption_colour, 70)));
+            dc.SetBrush(wxBrush(wxAuiStepColour(m_inactive_caption_colour, 120)));
+            dc.SetPen(wxPen(wxAuiStepColour(m_inactive_caption_colour, 70)));
         }
 
         // draw the background behind the button
@@ -525,14 +525,14 @@
     switch (button)
     {
         default:
-        case wxPaneInfo::buttonClose:
-            if (pane.state & wxPaneInfo::optionActive)
+        case wxAuiPaneInfo::buttonClose:
+            if (pane.state & wxAuiPaneInfo::optionActive)
                 bmp = m_active_close_bitmap;
                  else
                 bmp = m_inactive_close_bitmap;
             break;
-        case wxPaneInfo::buttonPin:
-            if (pane.state & wxPaneInfo::optionActive)
+        case wxAuiPaneInfo::buttonPin:
+            if (pane.state & wxAuiPaneInfo::optionActive)
                 bmp = m_active_pin_bitmap;
                  else
                 bmp = m_inactive_pin_bitmap;
Index: wxXtra/framemanager.h
===================================================================
--- wxXtra/framemanager.h	(revision 1766)
+++ wxXtra/framemanager.h	(working copy)
@@ -32,7 +32,7 @@
 
 #define WXDLLIMPEXP_AUI WXDLLEXPORT
 
-enum wxFrameManagerDock
+enum wxAuiManagerDock
 {
     wxAUI_DOCK_NONE = 0,
     wxAUI_DOCK_TOP = 1,
@@ -43,7 +43,7 @@
     wxAUI_DOCK_CENTRE = wxAUI_DOCK_CENTER
 };
 
-enum wxFrameManagerOption
+enum wxAuiManagerOption
 {
     wxAUI_MGR_ALLOW_FLOATING        = 1 << 0,
     wxAUI_MGR_ALLOW_ACTIVE_PANE     = 1 << 1,
@@ -62,7 +62,7 @@
                         wxAUI_MGR_DISABLE_VENETIAN_BLINDS_FADE
 };
 
-enum wxPaneDockArtSetting
+enum wxAuiPaneDockArtSetting
 {
     wxAUI_ART_SASH_SIZE = 0,
     wxAUI_ART_CAPTION_SIZE = 1,
@@ -83,21 +83,21 @@
     wxAUI_ART_GRADIENT_TYPE = 16
 };
 
-enum wxPaneDockArtGradients
+enum wxAuiPaneDockArtGradients
 {
     wxAUI_GRADIENT_NONE = 0,
     wxAUI_GRADIENT_VERTICAL = 1,
     wxAUI_GRADIENT_HORIZONTAL = 2
 };
 
-enum wxPaneButtonState
+enum wxAuiPaneButtonState
 {
     wxAUI_BUTTON_STATE_NORMAL = 0,
     wxAUI_BUTTON_STATE_HOVER = 1,
     wxAUI_BUTTON_STATE_PRESSED = 2
 };
 
-enum wxPaneInsertLevel
+enum wxAuiPaneInsertLevel
 {
     wxAUI_INSERT_PANE = 0,
     wxAUI_INSERT_ROW = 1,
@@ -107,32 +107,32 @@
 
 
 // forwards and array declarations
-class wxDockUIPart;
-class wxPaneButton;
-class wxPaneInfo;
-class wxDockInfo;
-class wxDockArt;
-class wxFrameManagerEvent;
+class wxAuiDockUIPart;
+class wxAuiPaneButton;
+class wxAuiPaneInfo;
+class wxAuiDockInfo;
+class wxAuiDockArt;
+class wxAuiManagerEvent;
 
 #ifndef SWIG
-WX_DECLARE_USER_EXPORTED_OBJARRAY(wxDockInfo, wxDockInfoArray, WXDLLIMPEXP_AUI);
-WX_DECLARE_USER_EXPORTED_OBJARRAY(wxDockUIPart, wxDockUIPartArray, WXDLLIMPEXP_AUI);
-WX_DECLARE_USER_EXPORTED_OBJARRAY(wxPaneButton, wxPaneButtonArray, WXDLLIMPEXP_AUI);
-WX_DECLARE_USER_EXPORTED_OBJARRAY(wxPaneInfo, wxPaneInfoArray, WXDLLIMPEXP_AUI);
-WX_DEFINE_ARRAY_PTR(wxPaneInfo*, wxPaneInfoPtrArray);
-WX_DEFINE_ARRAY_PTR(wxDockInfo*, wxDockInfoPtrArray);
+WX_DECLARE_USER_EXPORTED_OBJARRAY(wxAuiDockInfo, wxAuiDockInfoArray, WXDLLIMPEXP_AUI);
+WX_DECLARE_USER_EXPORTED_OBJARRAY(wxAuiDockUIPart, wxAuiDockUIPartArray, WXDLLIMPEXP_AUI);
+WX_DECLARE_USER_EXPORTED_OBJARRAY(wxAuiPaneButton, wxAuiPaneButtonArray, WXDLLIMPEXP_AUI);
+WX_DECLARE_USER_EXPORTED_OBJARRAY(wxAuiPaneInfo, wxAuiPaneInfoArray, WXDLLIMPEXP_AUI);
+WX_DEFINE_ARRAY_PTR(wxAuiPaneInfo*, wxAuiPaneInfoPtrArray);
+WX_DEFINE_ARRAY_PTR(wxAuiDockInfo*, wxAuiDockInfoPtrArray);
 #endif // SWIG
 
-extern WXDLLIMPEXP_AUI wxDockInfo wxNullDockInfo;
-extern WXDLLIMPEXP_AUI wxPaneInfo wxNullPaneInfo;
+extern WXDLLIMPEXP_AUI wxAuiDockInfo wxAuiNullDockInfo;
+extern WXDLLIMPEXP_AUI wxAuiPaneInfo wxAuiNullPaneInfo;
 
 
 
-class WXDLLIMPEXP_AUI wxPaneInfo
+class WXDLLIMPEXP_AUI wxAuiPaneInfo
 {
 public:
 
-    wxPaneInfo()
+    wxAuiPaneInfo()
     {
         window = NULL;
         frame = NULL;
@@ -151,10 +151,10 @@
         DefaultPane();
     }
 
-    ~wxPaneInfo() {}
+    ~wxAuiPaneInfo() {}
     
 #ifndef SWIG
-    wxPaneInfo(const wxPaneInfo& c)
+    wxAuiPaneInfo(const wxAuiPaneInfo& c)
     {
         name = c.name;
         caption = c.caption;
@@ -175,7 +175,7 @@
         rect = c.rect;
     }
 
-    wxPaneInfo& operator=(const wxPaneInfo& c)
+    wxAuiPaneInfo& operator=(const wxAuiPaneInfo& c)
     {
         name = c.name;
         caption = c.caption;
@@ -198,9 +198,9 @@
     }
 #endif // SWIG
 
-    // Write the safe parts of a newly loaded PaneInfo structure "source" into "this"
+    // Write the safe parts of a newly loaded AuiPaneInfo structure "source" into "this"
     // used on loading perspectives etc.
-    void SafeSet(wxPaneInfo source)
+    void SafeSet(wxAuiPaneInfo source)
     {
         // note source is not passed by reference so we can overwrite, to keep the
         // unsafe bits of "dest"
@@ -234,58 +234,58 @@
     bool HasGripperTop() const { return HasFlag(optionGripperTop); }
 
 #ifdef SWIG
-    %typemap(out) wxPaneInfo& { $result = $self; Py_INCREF($result); }
+    %typemap(out) wxAuiPaneInfo& { $result = $self; Py_INCREF($result); }
 #endif
-    wxPaneInfo& Window(wxWindow* w) { window = w; return *this; }
-    wxPaneInfo& Name(const wxString& n) { name = n; return *this; }
-    wxPaneInfo& Caption(const wxString& c) { caption = c; return *this; }
-    wxPaneInfo& Left() { dock_direction = wxAUI_DOCK_LEFT; return *this; }
-    wxPaneInfo& Right() { dock_direction = wxAUI_DOCK_RIGHT; return *this; }
-    wxPaneInfo& Top() { dock_direction = wxAUI_DOCK_TOP; return *this; }
-    wxPaneInfo& Bottom() { dock_direction = wxAUI_DOCK_BOTTOM; return *this; }
-    wxPaneInfo& Center() { dock_direction = wxAUI_DOCK_CENTER; return *this; }
-    wxPaneInfo& Centre() { dock_direction = wxAUI_DOCK_CENTRE; return *this; }
-    wxPaneInfo& Direction(int direction) { dock_direction = direction; return *this; }
-    wxPaneInfo& Layer(int layer) { dock_layer = layer; return *this; }
-    wxPaneInfo& Row(int row) { dock_row = row; return *this; }
-    wxPaneInfo& Position(int pos) { dock_pos = pos; return *this; }
-    wxPaneInfo& BestSize(const wxSize& size) { best_size = size; return *this; }
-    wxPaneInfo& MinSize(const wxSize& size) { min_size = size; return *this; }
-    wxPaneInfo& MaxSize(const wxSize& size) { max_size = size; return *this; }
-    wxPaneInfo& BestSize(int x, int y) { best_size.Set(x,y); return *this; }
-    wxPaneInfo& MinSize(int x, int y) { min_size.Set(x,y); return *this; }
-    wxPaneInfo& MaxSize(int x, int y) { max_size.Set(x,y); return *this; }
-    wxPaneInfo& FloatingPosition(const wxPoint& pos) { floating_pos = pos; return *this; }
-    wxPaneInfo& FloatingPosition(int x, int y) { floating_pos.x = x; floating_pos.y = y; return *this; }
-    wxPaneInfo& FloatingSize(const wxSize& size) { floating_size = size; return *this; }
-    wxPaneInfo& FloatingSize(int x, int y) { floating_size.Set(x,y); return *this; }
-    wxPaneInfo& Fixed() { return SetFlag(optionResizable, false); }
-    wxPaneInfo& Resizable(bool resizable = true) { return SetFlag(optionResizable, resizable); }
-    wxPaneInfo& Dock() { return SetFlag(optionFloating, false); }
-    wxPaneInfo& Float() { return SetFlag(optionFloating, true); }
-    wxPaneInfo& Hide() { return SetFlag(optionHidden, true); }
-    wxPaneInfo& Show(bool show = true) { return SetFlag(optionHidden, !show); }
-    wxPaneInfo& CaptionVisible(bool visible = true) { return SetFlag(optionCaption, visible); }
-    wxPaneInfo& PaneBorder(bool visible = true) { return SetFlag(optionPaneBorder, visible); }
-    wxPaneInfo& Gripper(bool visible = true) { return SetFlag(optionGripper, visible); }
-    wxPaneInfo& GripperTop(bool attop = true) { return SetFlag(optionGripperTop, attop); }
-    wxPaneInfo& CloseButton(bool visible = true) { return SetFlag(buttonClose, visible); }
-    wxPaneInfo& MaximizeButton(bool visible = true) { return SetFlag(buttonMaximize, visible); }
-    wxPaneInfo& MinimizeButton(bool visible = true) { return SetFlag(buttonMinimize, visible); }
-    wxPaneInfo& PinButton(bool visible = true) { return SetFlag(buttonPin, visible); }
-    wxPaneInfo& DestroyOnClose(bool b = true) { return SetFlag(optionDestroyOnClose, b); }
-    wxPaneInfo& TopDockable(bool b = true) { return SetFlag(optionTopDockable, b); }
-    wxPaneInfo& BottomDockable(bool b = true) { return SetFlag(optionBottomDockable, b); }
-    wxPaneInfo& LeftDockable(bool b = true) { return SetFlag(optionLeftDockable, b); }
-    wxPaneInfo& RightDockable(bool b = true) { return SetFlag(optionRightDockable, b); }
-    wxPaneInfo& Floatable(bool b = true) { return SetFlag(optionFloatable, b); }
-    wxPaneInfo& Movable(bool b = true) { return SetFlag(optionMovable, b); }
-    wxPaneInfo& Dockable(bool b = true)
+    wxAuiPaneInfo& Window(wxWindow* w) { window = w; return *this; }
+    wxAuiPaneInfo& Name(const wxString& n) { name = n; return *this; }
+    wxAuiPaneInfo& Caption(const wxString& c) { caption = c; return *this; }
+    wxAuiPaneInfo& Left() { dock_direction = wxAUI_DOCK_LEFT; return *this; }
+    wxAuiPaneInfo& Right() { dock_direction = wxAUI_DOCK_RIGHT; return *this; }
+    wxAuiPaneInfo& Top() { dock_direction = wxAUI_DOCK_TOP; return *this; }
+    wxAuiPaneInfo& Bottom() { dock_direction = wxAUI_DOCK_BOTTOM; return *this; }
+    wxAuiPaneInfo& Center() { dock_direction = wxAUI_DOCK_CENTER; return *this; }
+    wxAuiPaneInfo& Centre() { dock_direction = wxAUI_DOCK_CENTRE; return *this; }
+    wxAuiPaneInfo& Direction(int direction) { dock_direction = direction; return *this; }
+    wxAuiPaneInfo& Layer(int layer) { dock_layer = layer; return *this; }
+    wxAuiPaneInfo& Row(int row) { dock_row = row; return *this; }
+    wxAuiPaneInfo& Position(int pos) { dock_pos = pos; return *this; }
+    wxAuiPaneInfo& BestSize(const wxSize& size) { best_size = size; return *this; }
+    wxAuiPaneInfo& MinSize(const wxSize& size) { min_size = size; return *this; }
+    wxAuiPaneInfo& MaxSize(const wxSize& size) { max_size = size; return *this; }
+    wxAuiPaneInfo& BestSize(int x, int y) { best_size.Set(x,y); return *this; }
+    wxAuiPaneInfo& MinSize(int x, int y) { min_size.Set(x,y); return *this; }
+    wxAuiPaneInfo& MaxSize(int x, int y) { max_size.Set(x,y); return *this; }
+    wxAuiPaneInfo& FloatingPosition(const wxPoint& pos) { floating_pos = pos; return *this; }
+    wxAuiPaneInfo& FloatingPosition(int x, int y) { floating_pos.x = x; floating_pos.y = y; return *this; }
+    wxAuiPaneInfo& FloatingSize(const wxSize& size) { floating_size = size; return *this; }
+    wxAuiPaneInfo& FloatingSize(int x, int y) { floating_size.Set(x,y); return *this; }
+    wxAuiPaneInfo& Fixed() { return SetFlag(optionResizable, false); }
+    wxAuiPaneInfo& Resizable(bool resizable = true) { return SetFlag(optionResizable, resizable); }
+    wxAuiPaneInfo& Dock() { return SetFlag(optionFloating, false); }
+    wxAuiPaneInfo& Float() { return SetFlag(optionFloating, true); }
+    wxAuiPaneInfo& Hide() { return SetFlag(optionHidden, true); }
+    wxAuiPaneInfo& Show(bool show = true) { return SetFlag(optionHidden, !show); }
+    wxAuiPaneInfo& CaptionVisible(bool visible = true) { return SetFlag(optionCaption, visible); }
+    wxAuiPaneInfo& PaneBorder(bool visible = true) { return SetFlag(optionPaneBorder, visible); }
+    wxAuiPaneInfo& Gripper(bool visible = true) { return SetFlag(optionGripper, visible); }
+    wxAuiPaneInfo& GripperTop(bool attop = true) { return SetFlag(optionGripperTop, attop); }
+    wxAuiPaneInfo& CloseButton(bool visible = true) { return SetFlag(buttonClose, visible); }
+    wxAuiPaneInfo& MaximizeButton(bool visible = true) { return SetFlag(buttonMaximize, visible); }
+    wxAuiPaneInfo& MinimizeButton(bool visible = true) { return SetFlag(buttonMinimize, visible); }
+    wxAuiPaneInfo& PinButton(bool visible = true) { return SetFlag(buttonPin, visible); }
+    wxAuiPaneInfo& DestroyOnClose(bool b = true) { return SetFlag(optionDestroyOnClose, b); }
+    wxAuiPaneInfo& TopDockable(bool b = true) { return SetFlag(optionTopDockable, b); }
+    wxAuiPaneInfo& BottomDockable(bool b = true) { return SetFlag(optionBottomDockable, b); }
+    wxAuiPaneInfo& LeftDockable(bool b = true) { return SetFlag(optionLeftDockable, b); }
+    wxAuiPaneInfo& RightDockable(bool b = true) { return SetFlag(optionRightDockable, b); }
+    wxAuiPaneInfo& Floatable(bool b = true) { return SetFlag(optionFloatable, b); }
+    wxAuiPaneInfo& Movable(bool b = true) { return SetFlag(optionMovable, b); }
+    wxAuiPaneInfo& Dockable(bool b = true)
     {
         return TopDockable(b).BottomDockable(b).LeftDockable(b).RightDockable(b);
     }
 
-    wxPaneInfo& DefaultPane()
+    wxAuiPaneInfo& DefaultPane()
     {
         state |= optionTopDockable | optionBottomDockable |
                  optionLeftDockable | optionRightDockable |
@@ -294,14 +294,14 @@
         return *this;
     }
 
-    wxPaneInfo& CentrePane() { return CenterPane(); }
-    wxPaneInfo& CenterPane()
+    wxAuiPaneInfo& CentrePane() { return CenterPane(); }
+    wxAuiPaneInfo& CenterPane()
     {
         state = 0;
         return Center().PaneBorder().Resizable();
     }
 
-    wxPaneInfo& ToolbarPane()
+    wxAuiPaneInfo& ToolbarPane()
     {
         DefaultPane();
         state |= (optionToolbar | optionGripper);
@@ -311,7 +311,7 @@
         return *this;
     }
 
-    wxPaneInfo& SetFlag(unsigned int flag, bool option_state)
+    wxAuiPaneInfo& SetFlag(unsigned int flag, bool option_state)
     {
         if (option_state)
             state |= flag;
@@ -326,12 +326,12 @@
     }
 
 #ifdef SWIG
-    %typemap(out) wxPaneInfo& ;
+    %typemap(out) wxAuiPaneInfo& ;
 #endif
     
 public:
 
-    enum wxPaneState
+    enum wxAuiPaneState
     {
         optionFloating        = 1 << 0,
         optionHidden          = 1 << 1,
@@ -366,7 +366,7 @@
 
     wxWindow* window;     // window that is in this pane
     wxFrame* frame;       // floating frame window that holds the pane
-    unsigned int state;   // a combination of wxPaneState values
+    unsigned int state;   // a combination of wxAuiPaneState values
 
     int dock_direction;   // dock direction (top, bottom, left, right, center)
     int dock_layer;       // layer number (0 = innermost layer)
@@ -381,7 +381,7 @@
     wxSize floating_size; // size while floating
     int dock_proportion;  // proportion while docked
 
-    wxPaneButtonArray buttons; // buttons on the pane
+    wxAuiPaneButtonArray buttons; // buttons on the pane
 
     wxRect rect;              // current rectangle (populated by wxAUI)
 };
@@ -390,15 +390,15 @@
 
 
 
-class WXDLLIMPEXP_AUI wxFrameManager : public wxEvtHandler
+class WXDLLIMPEXP_AUI wxAuiManager : public wxEvtHandler
 {
-friend class wxFloatingPane;
+friend class wxAuiFloatingFrame;
 
 public:
 
-    wxFrameManager(wxWindow* managed_wnd = NULL,
+    wxAuiManager(wxWindow* managed_wnd = NULL,
                    unsigned int flags = wxAUI_MGR_DEFAULT);
-    virtual ~wxFrameManager();
+    virtual ~wxAuiManager();
     void UnInit();
 
     void SetFlags(unsigned int flags);
@@ -408,20 +408,20 @@
     wxWindow* GetManagedWindow() const;
 
 #ifdef SWIG
-    %disownarg( wxDockArt* art_provider );
+    %disownarg( wxAuiDockArt* art_provider );
 #endif
-    void SetArtProvider(wxDockArt* art_provider);
-    wxDockArt* GetArtProvider() const;
+    void SetArtProvider(wxAuiDockArt* art_provider);
+    wxAuiDockArt* GetArtProvider() const;
 
-    wxPaneInfo& GetPane(wxWindow* window);
-    wxPaneInfo& GetPane(const wxString& name);
-    wxPaneInfoArray& GetAllPanes();
+    wxAuiPaneInfo& GetPane(wxWindow* window);
+    wxAuiPaneInfo& GetPane(const wxString& name);
+    wxAuiPaneInfoArray& GetAllPanes();
 
     bool AddPane(wxWindow* window,
-                 const wxPaneInfo& pane_info);
+                 const wxAuiPaneInfo& pane_info);
                  
     bool AddPane(wxWindow* window,
-                 const wxPaneInfo& pane_info,
+                 const wxAuiPaneInfo& pane_info,
                  const wxPoint& drop_pos);
 
     bool AddPane(wxWindow* window,
@@ -429,13 +429,13 @@
                  const wxString& caption = wxEmptyString);
 
     bool InsertPane(wxWindow* window,
-                 const wxPaneInfo& insert_location,
+                 const wxAuiPaneInfo& insert_location,
                  int insert_level = wxAUI_INSERT_PANE);
 
     bool DetachPane(wxWindow* window);
 
-    wxString SavePaneInfo(wxPaneInfo& pane);
-    void LoadPaneInfo(wxString pane_part, wxPaneInfo &pane);
+    wxString SavePaneInfo(wxAuiPaneInfo& pane);
+    void LoadPaneInfo(wxString pane_part, wxAuiPaneInfo &pane);
 
     wxString SavePerspective();
 
@@ -468,35 +468,35 @@
     void DoFrameLayout();
 
     void LayoutAddPane(wxSizer* container,
-                       wxDockInfo& dock,
-                       wxPaneInfo& pane,
-                       wxDockUIPartArray& uiparts,
+                       wxAuiDockInfo& dock,
+                       wxAuiPaneInfo& pane,
+                       wxAuiDockUIPartArray& uiparts,
                        bool spacer_only);
 
     void LayoutAddDock(wxSizer* container,
-                       wxDockInfo& dock,
-                       wxDockUIPartArray& uiparts,
+                       wxAuiDockInfo& dock,
+                       wxAuiDockUIPartArray& uiparts,
                        bool spacer_only);
 
-    wxSizer* LayoutAll(wxPaneInfoArray& panes,
-                       wxDockInfoArray& docks,
-                       wxDockUIPartArray& uiparts,
+    wxSizer* LayoutAll(wxAuiPaneInfoArray& panes,
+                       wxAuiDockInfoArray& docks,
+                       wxAuiDockUIPartArray& uiparts,
                        bool spacer_only = false);
 
-    virtual bool ProcessDockResult(wxPaneInfo& target,
-                                   const wxPaneInfo& new_pos);
+    virtual bool ProcessDockResult(wxAuiPaneInfo& target,
+                                   const wxAuiPaneInfo& new_pos);
 
-    bool DoDrop(wxDockInfoArray& docks,
-                wxPaneInfoArray& panes,
-                wxPaneInfo& drop,
+    bool DoDrop(wxAuiDockInfoArray& docks,
+                wxAuiPaneInfoArray& panes,
+                wxAuiPaneInfo& drop,
                 const wxPoint& pt,
                 const wxPoint& action_offset = wxPoint(0,0));
 
-    wxPaneInfo& LookupPane(wxWindow* window);
-    wxPaneInfo& LookupPane(const wxString& name);
-    wxDockUIPart* HitTest(int x, int y);
-    wxDockUIPart* GetPanePart(wxWindow* pane);
-    int GetDockPixelOffset(wxPaneInfo& test);
+    wxAuiPaneInfo& LookupPane(wxWindow* window);
+    wxAuiPaneInfo& LookupPane(const wxString& name);
+    wxAuiDockUIPart* HitTest(int x, int y);
+    wxAuiDockUIPart* GetPanePart(wxWindow* pane);
+    int GetDockPixelOffset(wxAuiPaneInfo& test);
     void OnFloatingPaneMoveStart(wxWindow* window);
     void OnFloatingPaneMoving(wxWindow* window);
     void OnFloatingPaneMoved(wxWindow* window);
@@ -505,10 +505,10 @@
     void OnFloatingPaneResized(wxWindow* window, const wxSize& size);
     void Render(wxDC* dc);
     void Repaint(wxDC* dc = NULL);
-    void ProcessMgrEvent(wxFrameManagerEvent& event);
-    void UpdateButtonOnScreen(wxDockUIPart* button_ui_part,
+    void ProcessMgrEvent(wxAuiManagerEvent& event);
+    void UpdateButtonOnScreen(wxAuiDockUIPart* button_ui_part,
                               const wxMouseEvent& event);
-    void GetPanePositionsAndSizes(wxDockInfo& dock,
+    void GetPanePositionsAndSizes(wxAuiDockInfo& dock,
                               wxArrayInt& positions,
                               wxArrayInt& sizes);
 
@@ -516,8 +516,8 @@
 public:
 
     // public events (which can be invoked externally)
-    void OnRender(wxFrameManagerEvent& evt);
-    void OnPaneButton(wxFrameManagerEvent& evt);
+    void OnRender(wxAuiManagerEvent& evt);
+    void OnPaneButton(wxAuiManagerEvent& evt);
 
 protected:
 
@@ -548,20 +548,20 @@
 protected:
 
     wxWindow* m_frame;           // the window being managed
-    wxDockArt* m_art;            // dock art object which does all drawing
+    wxAuiDockArt* m_art;            // dock art object which does all drawing
     unsigned int m_flags;        // manager flags wxAUI_MGR_*
 
-    wxPaneInfoArray m_panes;     // array of panes structures
-    wxDockInfoArray m_docks;     // array of docks structures
-    wxDockUIPartArray m_uiparts; // array of UI parts (captions, buttons, etc)
+    wxAuiPaneInfoArray m_panes;     // array of panes structures
+    wxAuiDockInfoArray m_docks;     // array of docks structures
+    wxAuiDockUIPartArray m_uiparts; // array of UI parts (captions, buttons, etc)
 
     int m_action;                // current mouse action
     wxPoint m_action_start;      // position where the action click started
     wxPoint m_action_offset;     // offset from upper left of the item clicked
-    wxDockUIPart* m_action_part; // ptr to the part the action happened to
+    wxAuiDockUIPart* m_action_part; // ptr to the part the action happened to
     wxWindow* m_action_window;   // action frame or window (NULL if none)
     wxRect m_action_hintrect;    // hint rectangle for the action
-    wxDockUIPart* m_hover_button;// button uipart being hovered over
+    wxAuiDockUIPart* m_hover_button;// button uipart being hovered over
     wxRect m_last_hint;          // last hint rectangle
     wxPoint m_last_mouse_move;   // last mouse move position (see OnMotion)
 
@@ -579,10 +579,10 @@
 
 // event declarations/classes
 
-class WXDLLIMPEXP_AUI wxFrameManagerEvent : public wxEvent
+class WXDLLIMPEXP_AUI wxAuiManagerEvent : public wxEvent
 {
 public:
-    wxFrameManagerEvent(wxEventType type=wxEVT_NULL) : wxEvent(0, type)
+    wxAuiManagerEvent(wxEventType type=wxEVT_NULL) : wxEvent(0, type)
     {
         pane = NULL;
         button = 0;
@@ -591,7 +591,7 @@
         dc = NULL;
     }
 #ifndef SWIG
-    wxFrameManagerEvent(const wxFrameManagerEvent& c) : wxEvent(c)
+    wxAuiManagerEvent(const wxAuiManagerEvent& c) : wxEvent(c)
     {
         pane = c.pane;
         button = c.button;
@@ -600,13 +600,13 @@
         dc = c.dc;
     }
 #endif
-    wxEvent *Clone() const { return new wxFrameManagerEvent(*this); }
+    wxEvent *Clone() const { return new wxAuiManagerEvent(*this); }
 
-    void SetPane(wxPaneInfo* p) { pane = p; }
+    void SetPane(wxAuiPaneInfo* p) { pane = p; }
     void SetButton(int b) { button = b; }
     void SetDC(wxDC* pdc) { dc = pdc; }
  
-    wxPaneInfo* GetPane() { return pane; }
+    wxAuiPaneInfo* GetPane() { return pane; }
     int GetButton() { return button; }
     wxDC* GetDC() { return dc; }
     
@@ -616,7 +616,7 @@
     bool CanVeto() const { return  canveto_flag && veto_flag; }
     
 public:
-    wxPaneInfo* pane;
+    wxAuiPaneInfo* pane;
     int button;
     bool veto_flag;
     bool canveto_flag;
@@ -624,15 +624,15 @@
 
 #ifndef SWIG
 private:
-    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxFrameManagerEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxAuiManagerEvent)
 #endif
 };
 
 
-class WXDLLIMPEXP_AUI wxDockInfo
+class WXDLLIMPEXP_AUI wxAuiDockInfo
 {
 public:
-    wxDockInfo()
+    wxAuiDockInfo()
     {
         dock_direction = 0;
         dock_layer = 0;
@@ -645,7 +645,7 @@
     }
 
 #ifndef SWIG
-    wxDockInfo(const wxDockInfo& c)
+    wxAuiDockInfo(const wxAuiDockInfo& c)
     {
         dock_direction = c.dock_direction;
         dock_layer = c.dock_layer;
@@ -659,7 +659,7 @@
         rect = c.rect;
     }
 
-    wxDockInfo& operator=(const wxDockInfo& c)
+    wxAuiDockInfo& operator=(const wxAuiDockInfo& c)
     {
         dock_direction = c.dock_direction;
         dock_layer = c.dock_layer;
@@ -682,7 +682,7 @@
                              dock_direction == wxAUI_DOCK_RIGHT ||
                              dock_direction == wxAUI_DOCK_CENTER) ? true:false; }
 public:
-    wxPaneInfoPtrArray panes; // array of panes
+    wxAuiPaneInfoPtrArray panes; // array of panes
     wxRect rect;              // current rectangle
     int dock_direction;       // dock direction (top, bottom, left, right, center)
     int dock_layer;           // layer number (0 = innermost layer)
@@ -696,7 +696,7 @@
 };
 
 
-class WXDLLIMPEXP_AUI wxDockUIPart
+class WXDLLIMPEXP_AUI wxAuiDockUIPart
 {
 public:
     enum
@@ -714,16 +714,16 @@
 
     int type;                // ui part type (see enum above)
     int orientation;         // orientation (either wxHORIZONTAL or wxVERTICAL)
-    wxDockInfo* dock;        // which dock the item is associated with
-    wxPaneInfo* pane;        // which pane the item is associated with
-    wxPaneButton* button;    // which pane button the item is associated with
+    wxAuiDockInfo* dock;        // which dock the item is associated with
+    wxAuiPaneInfo* pane;        // which pane the item is associated with
+    wxAuiPaneButton* button;    // which pane button the item is associated with
     wxSizer* cont_sizer;     // the part's containing sizer
     wxSizerItem* sizer_item; // the sizer item of the part
     wxRect rect;             // client coord rectangle of the part itself
 };
 
 
-class WXDLLIMPEXP_AUI wxPaneButton
+class WXDLLIMPEXP_AUI wxAuiPaneButton
 {
 public:
     int button_id;        // id of the button (e.g. buttonClose)
@@ -735,32 +735,32 @@
 // wx event machinery
 
 BEGIN_DECLARE_EVENT_TYPES()
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_AUI_PANEBUTTON, 0)
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_AUI_PANECLOSE, 0)
+    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_BUTTON, 0)
+    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_CLOSE, 0)
     DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_AUI, wxEVT_AUI_RENDER, 0)
 END_DECLARE_EVENT_TYPES()
 
-typedef void (wxEvtHandler::*wxFrameManagerEventFunction)(wxFrameManagerEvent&);
+typedef void (wxEvtHandler::*wxAuiManagerEventFunction)(wxAuiManagerEvent&);
 
-#define wxFrameManagerEventHandler(func) \
-    (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxFrameManagerEventFunction, &func)
+#define wxAuiManagerEventHandler(func) \
+    (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxAuiManagerEventFunction, &func)
 
-#define EVT_AUI_PANEBUTTON(func) \
-   wx__DECLARE_EVT0(wxEVT_AUI_PANEBUTTON, wxFrameManagerEventHandler(func))
-#define EVT_AUI_PANECLOSE(func) \
-   wx__DECLARE_EVT0(wxEVT_AUI_PANECLOSE, wxFrameManagerEventHandler(func))
+#define EVT_AUI_PANE_BUTTON(func) \
+   wx__DECLARE_EVT0(wxEVT_AUI_PANE_BUTTON, wxAuiManagerEventHandler(func))
+#define EVT_AUI_PANE_CLOSE(func) \
+   wx__DECLARE_EVT0(wxEVT_AUI_PANE_CLOSE, wxAuiManagerEventHandler(func))
 #define EVT_AUI_RENDER(func) \
-   wx__DECLARE_EVT0(wxEVT_AUI_RENDER, wxFrameManagerEventHandler(func))
+   wx__DECLARE_EVT0(wxEVT_AUI_RENDER, wxAuiManagerEventHandler(func))
 
 #else
 
-%constant wxEventType wxEVT_AUI_PANEBUTTON;
-%constant wxEventType wxEVT_AUI_PANECLOSE;
+%constant wxEventType wxEVT_AUI_PANE_BUTTON;
+%constant wxEventType wxEVT_AUI_PANE_CLOSE;
 %constant wxEventType wxEVT_AUI_RENDER;
 
 %pythoncode {
-    EVT_AUI_PANEBUTTON = wx.PyEventBinder( wxEVT_AUI_PANEBUTTON )
-    EVT_AUI_PANECLOSE = wx.PyEventBinder( wxEVT_AUI_PANECLOSE )
+    EVT_AUI_PANE_BUTTON = wx.PyEventBinder( wxEVT_AUI_PANE_BUTTON )
+    EVT_AUI_PANE_CLOSE = wx.PyEventBinder( wxEVT_AUI_PANE_CLOSE )
     EVT_AUI_RENDER = wx.PyEventBinder( wxEVT_AUI_RENDER )
 }
 #endif // SWIG
Index: wxXtra/gridcombo.h
===================================================================
--- wxXtra/gridcombo.h	(revision 1766)
+++ wxXtra/gridcombo.h	(working copy)
@@ -15,6 +15,9 @@
 #include <wx/defs.h>
 //#include <wx/grid.h>
 #include <vector>
+#include <wx/scrolwin.h>
+#include <wx/timer.h>
+#include <wx/settings.h>
 
 #if wxUSE_COMBOCTRL
 #include <wx/combo.h>
Index: wxXtra/floatpane.h
===================================================================
--- wxXtra/floatpane.h	(revision 1766)
+++ wxXtra/floatpane.h	(working copy)
@@ -28,21 +28,21 @@
 
 #if defined( __WXMSW__ ) || defined( __WXMAC__ )
 #include "wx/minifram.h"
-#define wxFloatingPaneBaseClass wxMiniFrame
+#define wxAuiFloatingFrameBaseClass wxMiniFrame
 #else
-#define wxFloatingPaneBaseClass wxFrame
+#define wxAuiFloatingFrameBaseClass wxFrame
 #endif
 
-class WXDLLIMPEXP_AUI wxFloatingPane : public wxFloatingPaneBaseClass
+class WXDLLIMPEXP_AUI wxAuiFloatingFrame : public wxAuiFloatingFrameBaseClass
 {
 public:
-    wxFloatingPane(wxWindow* parent,
-                   wxFrameManager* owner_mgr,
-                   const wxPaneInfo& pane,
+    wxAuiFloatingFrame(wxWindow* parent,
+                   wxAuiManager* owner_mgr,
+                   const wxAuiPaneInfo& pane,
                    wxWindowID id = wxID_ANY
                    );
-    ~wxFloatingPane();
-    void SetPaneWindow(const wxPaneInfo& pane);
+    ~wxAuiFloatingFrame();
+    void SetPaneWindow(const wxAuiPaneInfo& pane);
 private:
     void OnSize(wxSizeEvent& event);
     void OnClose(wxCloseEvent& event);
@@ -59,12 +59,12 @@
     wxRect m_last_rect;
     wxSize m_last_size;
 
-    wxFrameManager* m_owner_mgr;
-    wxFrameManager m_mgr;
+    wxAuiManager* m_owner_mgr;
+    wxAuiManager m_mgr;
 
 #ifndef SWIG
     DECLARE_EVENT_TABLE()
-    DECLARE_CLASS(wxFloatingPaneBaseClass)
+    DECLARE_CLASS(wxAuiFloatingFrameBaseClass)
 #endif // SWIG
 };
 
Index: wxXtra/framemanager.cpp
===================================================================
--- wxXtra/framemanager.cpp	(revision 1766)
+++ wxXtra/framemanager.cpp	(working copy)
@@ -34,15 +34,15 @@
 #include <wx/arrimpl.cpp>
 WX_DECLARE_OBJARRAY(wxRect, wxAuiRectArray);
 WX_DEFINE_OBJARRAY(wxAuiRectArray)
-WX_DEFINE_OBJARRAY(wxDockUIPartArray)
-WX_DEFINE_OBJARRAY(wxDockInfoArray)
-WX_DEFINE_OBJARRAY(wxPaneButtonArray)
-WX_DEFINE_OBJARRAY(wxPaneInfoArray)
+WX_DEFINE_OBJARRAY(wxAuiDockUIPartArray)
+WX_DEFINE_OBJARRAY(wxAuiDockInfoArray)
+WX_DEFINE_OBJARRAY(wxAuiPaneButtonArray)
+WX_DEFINE_OBJARRAY(wxAuiPaneInfoArray)
 
-wxPaneInfo wxNullPaneInfo;
-wxDockInfo wxNullDockInfo;
-DEFINE_EVENT_TYPE(wxEVT_AUI_PANEBUTTON)
-DEFINE_EVENT_TYPE(wxEVT_AUI_PANECLOSE)
+wxAuiPaneInfo wxAuiNullPaneInfo;
+wxAuiDockInfo wxAuiNullDockInfo;
+DEFINE_EVENT_TYPE(wxEVT_AUI_PANE_BUTTON)
+DEFINE_EVENT_TYPE(wxEVT_AUI_PANE_CLOSE)
 DEFINE_EVENT_TYPE(wxEVT_AUI_RENDER)
 
 #ifdef __WXMAC__
@@ -52,7 +52,7 @@
     #include "wx/mac/private.h"
 #endif
 
-IMPLEMENT_DYNAMIC_CLASS(wxFrameManagerEvent, wxEvent)
+IMPLEMENT_DYNAMIC_CLASS(wxAuiManagerEvent, wxEvent)
 
 class wxPseudoTransparentFrame : public wxFrame
 {
@@ -179,21 +179,21 @@
 
 
 // CopyDocksAndPanes() - this utility function creates copies of
-// the dock and pane info.  wxDockInfo's usually contain pointers
-// to wxPaneInfo classes, thus this function is necessary to reliably
+// the dock and pane info.  wxAuiDockInfo's usually contain pointers
+// to wxAuiPaneInfo classes, thus this function is necessary to reliably
 // reconstruct that relationship in the new dock info and pane info arrays
 
-static void CopyDocksAndPanes(wxDockInfoArray& dest_docks,
-                              wxPaneInfoArray& dest_panes,
-                              const wxDockInfoArray& src_docks,
-                              const wxPaneInfoArray& src_panes)
+static void CopyDocksAndPanes(wxAuiDockInfoArray& dest_docks,
+                              wxAuiPaneInfoArray& dest_panes,
+                              const wxAuiDockInfoArray& src_docks,
+                              const wxAuiPaneInfoArray& src_panes)
 {
     dest_docks = src_docks;
     dest_panes = src_panes;
     int i, j, k, dock_count, pc1, pc2;
     for (i = 0, dock_count = dest_docks.GetCount(); i < dock_count; ++i)
     {
-        wxDockInfo& dock = dest_docks.Item(i);
+        wxAuiDockInfo& dock = dest_docks.Item(i);
         for (j = 0, pc1 = dock.panes.GetCount(); j < pc1; ++j)
             for (k = 0, pc2 = src_panes.GetCount(); k < pc2; ++k)
                 if (dock.panes.Item(j) == &src_panes.Item(k))
@@ -203,12 +203,12 @@
 
 // GetMaxLayer() is an internal function which returns
 // the highest layer inside the specified dock
-static int GetMaxLayer(const wxDockInfoArray& docks, int dock_direction)
+static int GetMaxLayer(const wxAuiDockInfoArray& docks, int dock_direction)
 {
     int i, dock_count, max_layer = 0;
     for (i = 0, dock_count = docks.GetCount(); i < dock_count; ++i)
     {
-        wxDockInfo& dock = docks.Item(i);
+        wxAuiDockInfo& dock = docks.Item(i);
         if (dock.dock_direction == dock_direction &&
             dock.dock_layer > max_layer && !dock.fixed)
                 max_layer = dock.dock_layer;
@@ -219,12 +219,12 @@
 
 // GetMaxRow() is an internal function which returns
 // the highest layer inside the specified dock
-static int GetMaxRow(const wxPaneInfoArray& panes, int direction, int layer)
+static int GetMaxRow(const wxAuiPaneInfoArray& panes, int direction, int layer)
 {
     int i, pane_count, max_row = 0;
     for (i = 0, pane_count = panes.GetCount(); i < pane_count; ++i)
     {
-        wxPaneInfo& pane = panes.Item(i);
+        wxAuiPaneInfo& pane = panes.Item(i);
         if (pane.dock_direction == direction &&
             pane.dock_layer == layer &&
             pane.dock_row > max_row)
@@ -237,14 +237,14 @@
 
 // DoInsertDockLayer() is an internal function that inserts a new dock
 // layer by incrementing all existing dock layer values by one
-static void DoInsertDockLayer(wxPaneInfoArray& panes,
+static void DoInsertDockLayer(wxAuiPaneInfoArray& panes,
                               int dock_direction,
                               int dock_layer)
 {
     int i, pane_count;
     for (i = 0, pane_count = panes.GetCount(); i < pane_count; ++i)
     {
-        wxPaneInfo& pane = panes.Item(i);
+        wxAuiPaneInfo& pane = panes.Item(i);
         if (!pane.IsFloating() &&
             pane.dock_direction == dock_direction &&
             pane.dock_layer >= dock_layer)
@@ -254,7 +254,7 @@
 
 // DoInsertDockLayer() is an internal function that inserts a new dock
 // row by incrementing all existing dock row values by one
-static void DoInsertDockRow(wxPaneInfoArray& panes,
+static void DoInsertDockRow(wxAuiPaneInfoArray& panes,
                             int dock_direction,
                             int dock_layer,
                             int dock_row)
@@ -262,7 +262,7 @@
     int i, pane_count;
     for (i = 0, pane_count = panes.GetCount(); i < pane_count; ++i)
     {
-        wxPaneInfo& pane = panes.Item(i);
+        wxAuiPaneInfo& pane = panes.Item(i);
         if (!pane.IsFloating() &&
             pane.dock_direction == dock_direction &&
             pane.dock_layer == dock_layer &&
@@ -273,7 +273,7 @@
 
 // DoInsertDockLayer() is an internal function that inserts a space for
 // another dock pane by incrementing all existing dock row values by one
-static void DoInsertPane(wxPaneInfoArray& panes,
+static void DoInsertPane(wxAuiPaneInfoArray& panes,
                          int dock_direction,
                          int dock_layer,
                          int dock_row,
@@ -282,7 +282,7 @@
     int i, pane_count;
     for (i = 0, pane_count = panes.GetCount(); i < pane_count; ++i)
     {
-        wxPaneInfo& pane = panes.Item(i);
+        wxAuiPaneInfo& pane = panes.Item(i);
         if (!pane.IsFloating() &&
             pane.dock_direction == dock_direction &&
             pane.dock_layer == dock_layer &&
@@ -295,11 +295,11 @@
 // FindDocks() is an internal function that returns a list of docks which meet
 // the specified conditions in the parameters and returns a sorted array
 // (sorted by layer and then row)
-static void FindDocks(wxDockInfoArray& docks,
+static void FindDocks(wxAuiDockInfoArray& docks,
                       int dock_direction,
                       int dock_layer,
                       int dock_row,
-                      wxDockInfoPtrArray& arr)
+                      wxAuiDockInfoPtrArray& arr)
 {
     int begin_layer = dock_layer;
     int end_layer = dock_layer;
@@ -335,7 +335,7 @@
         for (row = begin_row; row <= end_row; ++row)
             for (i = 0; i < dock_count; ++i)
             {
-                wxDockInfo& d = docks.Item(i);
+                wxAuiDockInfo& d = docks.Item(i);
                 if (dock_direction == -1 || dock_direction == d.dock_direction)
                 {
                     if (d.dock_layer == layer && d.dock_row == row)
@@ -345,13 +345,13 @@
 }
 
 // FindPaneInDock() looks up a specified window pointer inside a dock.
-// If found, the corresponding wxPaneInfo pointer is returned, otherwise NULL.
-static wxPaneInfo* FindPaneInDock(const wxDockInfo& dock, wxWindow* window)
+// If found, the corresponding wxAuiPaneInfo pointer is returned, otherwise NULL.
+static wxAuiPaneInfo* FindPaneInDock(const wxAuiDockInfo& dock, wxWindow* window)
 {
     int i, count = dock.panes.GetCount();
     for (i = 0; i < count; ++i)
     {
-        wxPaneInfo* p = dock.panes.Item(i);
+        wxAuiPaneInfo* p = dock.panes.Item(i);
         if (p->window == window)
             return p;
     }
@@ -360,17 +360,17 @@
 
 // RemovePaneFromDocks() removes a pane window from all docks
 // with a possible exception specified by parameter "except"
-static void RemovePaneFromDocks(wxDockInfoArray& docks,
-                                wxPaneInfo& pane,
-                                wxDockInfo* except = NULL)
+static void RemovePaneFromDocks(wxAuiDockInfoArray& docks,
+                                wxAuiPaneInfo& pane,
+                                wxAuiDockInfo* except = NULL)
 {
     int i, dock_count;
     for (i = 0, dock_count = docks.GetCount(); i < dock_count; ++i)
     {
-        wxDockInfo& d = docks.Item(i);
+        wxAuiDockInfo& d = docks.Item(i);
         if (&d == except)
             continue;
-        wxPaneInfo* pi = FindPaneInDock(d, pane.window);
+        wxAuiPaneInfo* pi = FindPaneInDock(d, pane.window);
         if (pi)
             d.panes.Remove(pi);
     }
@@ -379,12 +379,12 @@
 // RenumberDockRows() takes a dock and assigns sequential numbers
 // to existing rows.  Basically it takes out the gaps; so if a
 // dock has rows with numbers 0,2,5, they will become 0,1,2
-static void RenumberDockRows(wxDockInfoPtrArray& docks)
+static void RenumberDockRows(wxAuiDockInfoPtrArray& docks)
 {
     int i, dock_count, j, pane_count;
     for (i = 0, dock_count = docks.GetCount(); i < dock_count; ++i)
     {
-        wxDockInfo& dock = *docks.Item(i);
+        wxAuiDockInfo& dock = *docks.Item(i);
         dock.dock_row = i;
         for (j = 0, pane_count = dock.panes.GetCount(); j < pane_count; ++j)
             dock.panes.Item(j)->dock_row = i;
@@ -395,51 +395,51 @@
 // SetActivePane() sets the active pane, as well as cycles through
 // every other pane and makes sure that all others' active flags
 // are turned off
-static void SetActivePane(wxPaneInfoArray& panes, wxWindow* active_pane)
+static void SetActivePane(wxAuiPaneInfoArray& panes, wxWindow* active_pane)
 {
     int i, pane_count;
     for (i = 0, pane_count = panes.GetCount(); i < pane_count; ++i)
     {
-        wxPaneInfo& pane = panes.Item(i);
-        pane.state &= ~wxPaneInfo::optionActive;
+        wxAuiPaneInfo& pane = panes.Item(i);
+        pane.state &= ~wxAuiPaneInfo::optionActive;
         if (pane.window == active_pane)
-            pane.state |= wxPaneInfo::optionActive;
+            pane.state |= wxAuiPaneInfo::optionActive;
     }
 }
 
 
 // this function is used to sort panes by dock position
-static int PaneSortFunc(wxPaneInfo** p1, wxPaneInfo** p2)
+static int PaneSortFunc(wxAuiPaneInfo** p1, wxAuiPaneInfo** p2)
 {
     return ((*p1)->dock_pos < (*p2)->dock_pos) ? -1 : 1;
 }
 
 
-// -- wxFrameManager class implementation --
+// -- wxAuiManager class implementation --
 
 
-BEGIN_EVENT_TABLE(wxFrameManager, wxEvtHandler)
-    EVT_AUI_PANEBUTTON(wxFrameManager::OnPaneButton)
-    EVT_AUI_RENDER(wxFrameManager::OnRender)
-    EVT_PAINT(wxFrameManager::OnPaint)
-    EVT_ERASE_BACKGROUND(wxFrameManager::OnEraseBackground)
-    EVT_SIZE(wxFrameManager::OnSize)
-    EVT_SET_CURSOR(wxFrameManager::OnSetCursor)
-    EVT_LEFT_DOWN(wxFrameManager::OnLeftDown)
-    EVT_LEFT_UP(wxFrameManager::OnLeftUp)
-    EVT_MOTION(wxFrameManager::OnMotion)
-    EVT_LEAVE_WINDOW(wxFrameManager::OnLeaveWindow)
-    EVT_CHILD_FOCUS(wxFrameManager::OnChildFocus)
-    EVT_TIMER(101, wxFrameManager::OnHintFadeTimer)
+BEGIN_EVENT_TABLE(wxAuiManager, wxEvtHandler)
+    EVT_AUI_PANE_BUTTON(wxAuiManager::OnPaneButton)
+    EVT_AUI_RENDER(wxAuiManager::OnRender)
+    EVT_PAINT(wxAuiManager::OnPaint)
+    EVT_ERASE_BACKGROUND(wxAuiManager::OnEraseBackground)
+    EVT_SIZE(wxAuiManager::OnSize)
+    EVT_SET_CURSOR(wxAuiManager::OnSetCursor)
+    EVT_LEFT_DOWN(wxAuiManager::OnLeftDown)
+    EVT_LEFT_UP(wxAuiManager::OnLeftUp)
+    EVT_MOTION(wxAuiManager::OnMotion)
+    EVT_LEAVE_WINDOW(wxAuiManager::OnLeaveWindow)
+    EVT_CHILD_FOCUS(wxAuiManager::OnChildFocus)
+    EVT_TIMER(101, wxAuiManager::OnHintFadeTimer)
 END_EVENT_TABLE()
 
 
-wxFrameManager::wxFrameManager(wxWindow* managed_wnd, unsigned int flags)
+wxAuiManager::wxAuiManager(wxWindow* managed_wnd, unsigned int flags)
 {
     m_action = actionNone;
     m_last_mouse_move = wxPoint();
     m_hover_button = NULL;
-    m_art = new wxDefaultDockArt;
+    m_art = new wxAuiDefaultDockArt;
     m_hint_wnd = NULL;
     m_flags = flags;
 
@@ -449,48 +449,48 @@
     }
 }
 
-wxFrameManager::~wxFrameManager()
+wxAuiManager::~wxAuiManager()
 {
     delete m_art;
 }
 
-// GetPane() looks up a wxPaneInfo structure based
+// GetPane() looks up a wxAuiPaneInfo structure based
 // on the supplied window pointer.  Upon failure, GetPane()
-// returns an empty wxPaneInfo, a condition which can be checked
-// by calling wxPaneInfo::IsOk().
+// returns an empty wxAuiPaneInfo, a condition which can be checked
+// by calling wxAuiPaneInfo::IsOk().
 //
 // The pane info's structure may then be modified.  Once a pane's
-// info is modified, wxFrameManager::Update() must be called to
+// info is modified, wxAuiManager::Update() must be called to
 // realize the changes in the UI.
 
-wxPaneInfo& wxFrameManager::GetPane(wxWindow* window)
+wxAuiPaneInfo& wxAuiManager::GetPane(wxWindow* window)
 {
     int i, pane_count;
     for (i = 0, pane_count = m_panes.GetCount(); i < pane_count; ++i)
     {
-        wxPaneInfo& p = m_panes.Item(i);
+        wxAuiPaneInfo& p = m_panes.Item(i);
         if (p.window == window)
             return p;
     }
-    return wxNullPaneInfo;
+    return wxAuiNullPaneInfo;
 }
 
 // this version of GetPane() looks up a pane based on a
 // 'pane name', see above comment for more info
-wxPaneInfo& wxFrameManager::GetPane(const wxString& name)
+wxAuiPaneInfo& wxAuiManager::GetPane(const wxString& name)
 {
     int i, pane_count;
     for (i = 0, pane_count = m_panes.GetCount(); i < pane_count; ++i)
     {
-        wxPaneInfo& p = m_panes.Item(i);
+        wxAuiPaneInfo& p = m_panes.Item(i);
         if (p.name == name)
             return p;
     }
-    return wxNullPaneInfo;
+    return wxAuiNullPaneInfo;
 }
 
 // GetAllPanes() returns a reference to all the pane info structures
-wxPaneInfoArray& wxFrameManager::GetAllPanes()
+wxAuiPaneInfoArray& wxAuiManager::GetAllPanes()
 {
     return m_panes;
 }
@@ -498,27 +498,27 @@
 // HitTest() is an internal function which determines
 // which UI item the specified coordinates are over
 // (x,y) specify a position in client coordinates
-wxDockUIPart* wxFrameManager::HitTest(int x, int y)
+wxAuiDockUIPart* wxAuiManager::HitTest(int x, int y)
 {
-    wxDockUIPart* result = NULL;
+    wxAuiDockUIPart* result = NULL;
 
     int i, part_count;
     for (i = 0, part_count = m_uiparts.GetCount(); i < part_count; ++i)
     {
-        wxDockUIPart* item = &m_uiparts.Item(i);
+        wxAuiDockUIPart* item = &m_uiparts.Item(i);
 
         // we are not interested in typeDock, because this space
         // isn't used to draw anything, just for measurements;
         // besides, the entire dock area is covered with other
         // rectangles, which we are interested in.
-        if (item->type == wxDockUIPart::typeDock)
+        if (item->type == wxAuiDockUIPart::typeDock)
             continue;
 
         // if we already have a hit on a more specific item, we are not
         // interested in a pane hit.  If, however, we don't already have
         // a hit, returning a pane hit is necessary for some operations
-        if ((item->type == wxDockUIPart::typePane ||
-            item->type == wxDockUIPart::typePaneBorder) && result)
+        if ((item->type == wxAuiDockUIPart::typePane ||
+            item->type == wxAuiDockUIPart::typePaneBorder) && result)
             continue;
 
         // if the point is inside the rectangle, we have a hit
@@ -531,13 +531,13 @@
 
 
 // SetFlags() and GetFlags() allow the owner to set various
-// options which are global to wxFrameManager
-void wxFrameManager::SetFlags(unsigned int flags)
+// options which are global to wxAuiManager
+void wxAuiManager::SetFlags(unsigned int flags)
 {
     m_flags = flags;
 }
 
-unsigned int wxFrameManager::GetFlags() const
+unsigned int wxAuiManager::GetFlags() const
 {
     return m_flags;
 }
@@ -545,12 +545,12 @@
 
 // don't use these anymore as they are deprecated
 // use Set/GetManagedFrame() instead
-void wxFrameManager::SetFrame(wxFrame* frame)
+void wxAuiManager::SetFrame(wxFrame* frame)
 {
     SetManagedWindow((wxWindow*)frame);
 }
 
-wxFrame* wxFrameManager::GetFrame() const
+wxFrame* wxAuiManager::GetFrame() const
 {
     return (wxFrame*)m_frame;
 }
@@ -561,7 +561,7 @@
 // SetManagedWindow() is usually called once when the frame
 // manager class is being initialized.  "frame" specifies
 // the frame which should be managed by the frame mananger
-void wxFrameManager::SetManagedWindow(wxWindow* frame)
+void wxAuiManager::SetManagedWindow(wxWindow* frame)
 {
     wxASSERT_MSG(frame, wxT("specified frame must be non-NULL"));
 
@@ -581,7 +581,7 @@
         wxASSERT_MSG(client_window, wxT("Client window is NULL!"));
 
         AddPane(client_window,
-                wxPaneInfo().Name(wxT("mdiclient")).
+                wxAuiPaneInfo().Name(wxT("mdiclient")).
                 CenterPane().PaneBorder(false));
     }
 #endif
@@ -644,23 +644,23 @@
 // UnInit() must be called, usually in the destructor
 // of the frame class.   If it is not called, usually this
 // will result in a crash upon program exit
-void wxFrameManager::UnInit()
+void wxAuiManager::UnInit()
 {
     m_frame->RemoveEventHandler(this);
 }
 
 // GetManagedWindow() returns the window pointer being managed
-wxWindow* wxFrameManager::GetManagedWindow() const
+wxWindow* wxAuiManager::GetManagedWindow() const
 {
     return m_frame;
 }
 
-wxDockArt* wxFrameManager::GetArtProvider() const
+wxAuiDockArt* wxAuiManager::GetArtProvider() const
 {
     return m_art;
 }
 
-void wxFrameManager::ProcessMgrEvent(wxFrameManagerEvent& event)
+void wxAuiManager::ProcessMgrEvent(wxAuiManagerEvent& event)
 {
     // first, give the owner frame a chance to override
     if (m_frame)
@@ -672,12 +672,12 @@
     ProcessEvent(event);
 }
 
-// SetArtProvider() instructs wxFrameManager to use the
+// SetArtProvider() instructs wxAuiManager to use the
 // specified art provider for all drawing calls.  This allows
 // plugable look-and-feel features.  The pointer that is
-// passed to this method subsequently belongs to wxFrameManager,
+// passed to this method subsequently belongs to wxAuiManager,
 // and is deleted in the frame manager destructor
-void wxFrameManager::SetArtProvider(wxDockArt* art_provider)
+void wxAuiManager::SetArtProvider(wxAuiDockArt* art_provider)
 {
     // delete the last art provider, if any
     delete m_art;
@@ -687,7 +687,7 @@
 }
 
 
-bool wxFrameManager::AddPane(wxWindow* window, const wxPaneInfo& pane_info)
+bool wxAuiManager::AddPane(wxWindow* window, const wxAuiPaneInfo& pane_info)
 {
     // check if the pane has a valid window
     if (!window)
@@ -699,7 +699,7 @@
 
     m_panes.Add(pane_info);
 
-    wxPaneInfo& pinfo = m_panes.Last();
+    wxAuiPaneInfo& pinfo = m_panes.Last();
 
     // set the pane window
     pinfo.window = window;
@@ -725,8 +725,8 @@
     if (pinfo.HasCloseButton() &&
         pinfo.buttons.size() == 0)
     {
-        wxPaneButton button;
-        button.button_id = wxPaneInfo::buttonClose;
+        wxAuiPaneButton button;
+        button.button_id = wxAuiPaneInfo::buttonClose;
         pinfo.buttons.Add(button);
     }
 
@@ -762,11 +762,11 @@
     return true;
 }
 
-bool wxFrameManager::AddPane(wxWindow* window,
+bool wxAuiManager::AddPane(wxWindow* window,
                              int direction,
                              const wxString& caption)
 {
-    wxPaneInfo pinfo;
+    wxAuiPaneInfo pinfo;
     pinfo.Caption(caption);
     switch (direction)
     {
@@ -779,21 +779,21 @@
     return AddPane(window, pinfo);
 }
 
-bool wxFrameManager::AddPane(wxWindow* window,
-                             const wxPaneInfo& pane_info,
+bool wxAuiManager::AddPane(wxWindow* window,
+                             const wxAuiPaneInfo& pane_info,
                              const wxPoint& drop_pos)
 {
     if (!AddPane(window, pane_info))
         return false;
 
-    wxPaneInfo& pane = GetPane(window);
+    wxAuiPaneInfo& pane = GetPane(window);
 
     DoDrop(m_docks, m_panes, pane, drop_pos, wxPoint(0,0));
 
     return true;
 }
 
-bool wxFrameManager::InsertPane(wxWindow* window, const wxPaneInfo& pane_info,
+bool wxAuiManager::InsertPane(wxWindow* window, const wxAuiPaneInfo& pane_info,
                                 int insert_level)
 {
     // shift the panes around, depending on the insert level
@@ -821,7 +821,7 @@
 
     // if the window already exists, we are basically just moving/inserting the
     // existing window.  If it doesn't exist, we need to add it and insert it
-    wxPaneInfo& existing_pane = GetPane(window);
+    wxAuiPaneInfo& existing_pane = GetPane(window);
     if (!existing_pane.IsOk())
     {
         return AddPane(window, pane_info);
@@ -851,12 +851,12 @@
 
 // DetachPane() removes a pane from the frame manager.  This
 // method will not destroy the window that is removed.
-bool wxFrameManager::DetachPane(wxWindow* window)
+bool wxAuiManager::DetachPane(wxWindow* window)
 {
     int i, count;
     for (i = 0, count = m_panes.GetCount(); i < count; ++i)
     {
-        wxPaneInfo& p = m_panes.Item(i);
+        wxAuiPaneInfo& p = m_panes.Item(i);
         if (p.window == window)
         {
             if (p.frame)
@@ -882,7 +882,7 @@
             int pi, part_count;
             for (pi = 0, part_count = (int)m_uiparts.GetCount(); pi < part_count; ++pi)
             {
-                wxDockUIPart& part = m_uiparts.Item(pi);
+                wxAuiDockUIPart& part = m_uiparts.Item(pi);
                 if (part.pane == &p)
                 {
                     m_uiparts.RemoveAt(pi);
@@ -918,7 +918,7 @@
     return result;
 }
 
-wxString wxFrameManager::SavePaneInfo(wxPaneInfo& pane)
+wxString wxAuiManager::SavePaneInfo(wxAuiPaneInfo& pane)
 {
     wxString result = wxT("name=");
     result += EscapeDelimiters(pane.name);
@@ -949,7 +949,7 @@
 }
 
 // Load a "pane" with the pane infor settings in pane_part
-void wxFrameManager::LoadPaneInfo(wxString pane_part, wxPaneInfo &pane)
+void wxAuiManager::LoadPaneInfo(wxString pane_part, wxAuiPaneInfo &pane)
 {
     // replace escaped characters so we can
     // split up the string easily
@@ -1030,7 +1030,7 @@
 // all pane settings.  This save and load mechanism allows an
 // exact pane configuration to be saved and restored at a later time
 
-wxString wxFrameManager::SavePerspective()
+wxString wxAuiManager::SavePerspective()
 {
     wxString result;
     result.Alloc(500);
@@ -1039,14 +1039,14 @@
     int pane_i, pane_count = m_panes.GetCount();
     for (pane_i = 0; pane_i < pane_count; ++pane_i)
     {
-        wxPaneInfo& pane = m_panes.Item(pane_i);
+        wxAuiPaneInfo& pane = m_panes.Item(pane_i);
         result += SavePaneInfo(pane)+wxT("|");
     }
 
     int dock_i, dock_count = m_docks.GetCount();
     for (dock_i = 0; dock_i < dock_count; ++dock_i)
     {
-        wxDockInfo& dock = m_docks.Item(dock_i);
+        wxAuiDockInfo& dock = m_docks.Item(dock_i);
 
         result += wxString::Format(wxT("dock_size(%d,%d,%d)=%d|"),
                                    dock.dock_direction, dock.dock_layer,
@@ -1059,7 +1059,7 @@
 // LoadPerspective() loads a layout which was saved with SavePerspective()
 // If the "update" flag parameter is true, the GUI will immediately be updated
 
-bool wxFrameManager::LoadPerspective(const wxString& layout, bool update)
+bool wxAuiManager::LoadPerspective(const wxString& layout, bool update)
 {
     wxString input = layout;
     wxString part;
@@ -1087,7 +1087,7 @@
 
     while (1)
     {
-        wxPaneInfo pane;
+        wxAuiPaneInfo pane;
 
         wxString pane_part = input.BeforeFirst(wxT('|'));
         input = input.AfterFirst(wxT('|'));
@@ -1111,7 +1111,7 @@
             piece.AfterFirst(wxT(',')).ToLong(&row);
             value.ToLong(&size);
 
-            wxDockInfo dock;
+            wxAuiDockInfo dock;
             dock.dock_direction = dir;
             dock.dock_layer = layer;
             dock.dock_row = row;
@@ -1127,7 +1127,7 @@
 
         LoadPaneInfo(pane_part, pane);
 
-        wxPaneInfo& p = GetPane(pane.name);
+        wxAuiPaneInfo& p = GetPane(pane.name);
         if (!p.IsOk())
         {
             // the pane window couldn't be found
@@ -1145,7 +1145,7 @@
     return true;
 }
 
-void wxFrameManager::GetPanePositionsAndSizes(wxDockInfo& dock,
+void wxAuiManager::GetPanePositionsAndSizes(wxAuiDockInfo& dock,
                                               wxArrayInt& positions,
                                               wxArrayInt& sizes)
 {
@@ -1162,9 +1162,9 @@
     // find the pane marked as our action pane
     for (pane_i = 0; pane_i < pane_count; ++pane_i)
     {
-        wxPaneInfo& pane = *(dock.panes.Item(pane_i));
+        wxAuiPaneInfo& pane = *(dock.panes.Item(pane_i));
 
-        if (pane.state & wxPaneInfo::actionPane)
+        if (pane.state & wxAuiPaneInfo::actionPane)
         {
             wxASSERT_MSG(action_pane==-1, wxT("Too many fixed action panes"));
             action_pane = pane_i;
@@ -1176,7 +1176,7 @@
     // on the dock's orientation) of each pane
     for (pane_i = 0; pane_i < pane_count; ++pane_i)
     {
-        wxPaneInfo& pane = *(dock.panes.Item(pane_i));
+        wxAuiPaneInfo& pane = *(dock.panes.Item(pane_i));
         positions.Add(pane.dock_pos);
         int size = 0;
 
@@ -1236,13 +1236,13 @@
 }
 
 
-void wxFrameManager::LayoutAddPane(wxSizer* cont,
-                                   wxDockInfo& dock,
-                                   wxPaneInfo& pane,
-                                   wxDockUIPartArray& uiparts,
+void wxAuiManager::LayoutAddPane(wxSizer* cont,
+                                   wxAuiDockInfo& dock,
+                                   wxAuiPaneInfo& pane,
+                                   wxAuiDockUIPartArray& uiparts,
                                    bool spacer_only)
 {
-    wxDockUIPart part;
+    wxAuiDockUIPart part;
     wxSizerItem* sizer_item;
 
     int caption_size = m_art->GetMetric(wxAUI_ART_CAPTION_SIZE);
@@ -1272,7 +1272,7 @@
         else
             sizer_item = horz_pane_sizer ->Add(gripper_size, 1, 0, wxEXPAND);
 
-        part.type = wxDockUIPart::typeGripper;
+        part.type = wxAuiDockUIPart::typeGripper;
         part.dock = &dock;
         part.pane = &pane;
         part.button = NULL;
@@ -1289,7 +1289,7 @@
 
         sizer_item = caption_sizer->Add(1, caption_size, 1, wxEXPAND);
 
-        part.type = wxDockUIPart::typeCaption;
+        part.type = wxAuiDockUIPart::typeCaption;
         part.dock = &dock;
         part.pane = &pane;
         part.button = NULL;
@@ -1304,13 +1304,13 @@
         for (i = 0, button_count = pane.buttons.GetCount();
              i < button_count; ++i)
         {
-            wxPaneButton& button = pane.buttons.Item(i);
+            wxAuiPaneButton& button = pane.buttons.Item(i);
 
             sizer_item = caption_sizer->Add(pane_button_size,
                                             caption_size,
                                             0, wxEXPAND);
 
-            part.type = wxDockUIPart::typePaneButton;
+            part.type = wxAuiDockUIPart::typePaneButton;
             part.dock = &dock;
             part.pane = &pane;
             part.button = &button;
@@ -1340,7 +1340,7 @@
         vert_pane_sizer->SetItemMinSize(pane.window, 1, 1);
     }
 
-    part.type = wxDockUIPart::typePane;
+    part.type = wxAuiDockUIPart::typePane;
     part.dock = &dock;
     part.pane = &pane;
     part.button = NULL;
@@ -1384,7 +1384,7 @@
         sizer_item = cont->Add(horz_pane_sizer, pane_proportion,
                                wxEXPAND | wxALL, pane_border_size);
 
-        part.type = wxDockUIPart::typePaneBorder;
+        part.type = wxAuiDockUIPart::typePaneBorder;
         part.dock = &dock;
         part.pane = &pane;
         part.button = NULL;
@@ -1399,13 +1399,13 @@
     }
 }
 
-void wxFrameManager::LayoutAddDock(wxSizer* cont,
-                                   wxDockInfo& dock,
-                                   wxDockUIPartArray& uiparts,
+void wxAuiManager::LayoutAddDock(wxSizer* cont,
+                                   wxAuiDockInfo& dock,
+                                   wxAuiDockUIPartArray& uiparts,
                                    bool spacer_only)
 {
     wxSizerItem* sizer_item;
-    wxDockUIPart part;
+    wxAuiDockUIPart part;
 
     int sash_size = m_art->GetMetric(wxAUI_ART_SASH_SIZE);
     int orientation = dock.IsHorizontal() ? wxHORIZONTAL : wxVERTICAL;
@@ -1416,7 +1416,7 @@
     {
         sizer_item = cont->Add(sash_size, sash_size, 0, wxEXPAND);
 
-        part.type = wxDockUIPart::typeDockSizer;
+        part.type = wxAuiDockUIPart::typeDockSizer;
         part.orientation = orientation;
         part.dock = &dock;
         part.pane = NULL;
@@ -1443,7 +1443,7 @@
         int offset = 0;
         for (pane_i = 0; pane_i < pane_count; ++pane_i)
         {
-            wxPaneInfo& pane = *(dock.panes.Item(pane_i));
+            wxAuiPaneInfo& pane = *(dock.panes.Item(pane_i));
             int pane_pos = pane_positions.Item(pane_i);
 
             int amount = pane_pos - offset;
@@ -1454,7 +1454,7 @@
                      else
                     sizer_item = dock_sizer->Add(amount, 1, 0, wxEXPAND);
 
-                part.type = wxDockUIPart::typeBackground;
+                part.type = wxAuiDockUIPart::typeBackground;
                 part.dock = &dock;
                 part.pane = NULL;
                 part.button = NULL;
@@ -1474,7 +1474,7 @@
         // at the end add a very small stretchable background area
         sizer_item = dock_sizer->Add(1,1, 1, wxEXPAND);
 
-        part.type = wxDockUIPart::typeBackground;
+        part.type = wxAuiDockUIPart::typeBackground;
         part.dock = &dock;
         part.pane = NULL;
         part.button = NULL;
@@ -1487,7 +1487,7 @@
     {
         for (pane_i = 0; pane_i < pane_count; ++pane_i)
         {
-            wxPaneInfo& pane = *(dock.panes.Item(pane_i));
+            wxAuiPaneInfo& pane = *(dock.panes.Item(pane_i));
 
             // if this is not the first pane being added,
             // we need to add a pane sizer
@@ -1495,7 +1495,7 @@
             {
                 sizer_item = dock_sizer->Add(sash_size, sash_size, 0, wxEXPAND);
 
-                part.type = wxDockUIPart::typePaneSizer;
+                part.type = wxAuiDockUIPart::typePaneSizer;
                 part.dock = &dock;
                 part.pane = dock.panes.Item(pane_i-1);
                 part.button = NULL;
@@ -1514,7 +1514,7 @@
          else
         sizer_item = cont->Add(dock_sizer, 0, wxEXPAND);
 
-    part.type = wxDockUIPart::typeDock;
+    part.type = wxAuiDockUIPart::typeDock;
     part.dock = &dock;
     part.pane = NULL;
     part.button = NULL;
@@ -1534,7 +1534,7 @@
     {
         sizer_item = cont->Add(sash_size, sash_size, 0, wxEXPAND);
 
-        part.type = wxDockUIPart::typeDockSizer;
+        part.type = wxAuiDockUIPart::typeDockSizer;
         part.dock = &dock;
         part.pane = NULL;
         part.button = NULL;
@@ -1545,9 +1545,9 @@
     }
 }
 
-wxSizer* wxFrameManager::LayoutAll(wxPaneInfoArray& panes,
-                                   wxDockInfoArray& docks,
-                                   wxDockUIPartArray& uiparts,
+wxSizer* wxAuiManager::LayoutAll(wxAuiPaneInfoArray& panes,
+                                   wxAuiDockInfoArray& docks,
+                                   wxAuiDockUIPartArray& uiparts,
                                    bool spacer_only)
 {
     wxBoxSizer* container = new wxBoxSizer(wxVERTICAL);
@@ -1567,11 +1567,11 @@
     // pane does not exist in the dock, add it
     for (i = 0, pane_count = panes.GetCount(); i < pane_count; ++i)
     {
-        wxPaneInfo& p = panes.Item(i);
+        wxAuiPaneInfo& p = panes.Item(i);
 
         // find any docks in this layer
-        wxDockInfo* dock;
-        wxDockInfoPtrArray arr;
+        wxAuiDockInfo* dock;
+        wxAuiDockInfoPtrArray arr;
         FindDocks(docks, p.dock_direction, p.dock_layer, p.dock_row, arr);
 
         if (arr.GetCount() > 0)
@@ -1581,7 +1581,7 @@
          else
         {
             // dock was not found, so we need to create a new one
-            wxDockInfo d;
+            wxAuiDockInfo d;
             d.dock_direction = p.dock_direction;
             d.dock_layer = p.dock_layer;
             d.dock_row = p.dock_row;
@@ -1618,7 +1618,7 @@
     // configure the docks further
     for (i = 0, dock_count = docks.GetCount(); i < dock_count; ++i)
     {
-        wxDockInfo& dock = docks.Item(i);
+        wxAuiDockInfo& dock = docks.Item(i);
         int j, dock_pane_count = dock.panes.GetCount();
 
         // sort the dock pane array by the pane's
@@ -1632,7 +1632,7 @@
 
             for (j = 0; j < dock_pane_count; ++j)
             {
-                wxPaneInfo& pane = *dock.panes.Item(j);
+                wxAuiPaneInfo& pane = *dock.panes.Item(j);
                 wxSize pane_size = pane.best_size;
                 if (pane_size == wxDefaultSize)
                     pane_size = pane.min_size;
@@ -1688,7 +1688,7 @@
         int dock_min_size = 0;
         for (j = 0; j < dock_pane_count; ++j)
         {
-            wxPaneInfo& pane = *dock.panes.Item(j);
+            wxAuiPaneInfo& pane = *dock.panes.Item(j);
             if (pane.min_size != wxDefaultSize)
             {
                 if (pane.HasBorder())
@@ -1729,12 +1729,12 @@
         dock.toolbar = true;
         for (j = 0; j < dock_pane_count; ++j)
         {
-            wxPaneInfo& pane = *dock.panes.Item(j);
+            wxAuiPaneInfo& pane = *dock.panes.Item(j);
             if (!pane.IsFixed())
                 dock.fixed = false;
             if (!pane.IsToolbar())
                 dock.toolbar = false;
-            if (pane.state & wxPaneInfo::actionPane)
+            if (pane.state & wxAuiPaneInfo::actionPane)
                 action_pane_marked = true;
         }
 
@@ -1746,7 +1746,7 @@
         {
             for (j = 0; j < dock_pane_count; ++j)
             {
-                wxPaneInfo& pane = *dock.panes.Item(j);
+                wxAuiPaneInfo& pane = *dock.panes.Item(j);
                 pane.dock_pos = j;
             }
         }
@@ -1763,7 +1763,7 @@
             int offset = 0;
             for (j = 0; j < dock_pane_count; ++j)
             {
-                wxPaneInfo& pane = *(dock.panes.Item(j));
+                wxAuiPaneInfo& pane = *(dock.panes.Item(j));
                 pane.dock_pos = pane_positions[j];
 
                 int amount = pane.dock_pos - offset;
@@ -1795,7 +1795,7 @@
 
     for (layer = 0; layer <= max_layer; ++layer)
     {
-        wxDockInfoPtrArray arr;
+        wxAuiDockInfoPtrArray arr;
 
         // find any docks in this layer
         FindDocks(docks, -1, layer, -1, arr);
@@ -1850,8 +1850,8 @@
             {
                 // there are no center docks, add a background area
                 wxSizerItem* sizer_item = middle->Add(1,1, 1, wxEXPAND);
-                wxDockUIPart part;
-                part.type = wxDockUIPart::typeBackground;
+                wxAuiDockUIPart part;
+                part.type = wxAuiDockUIPart::typeBackground;
                 part.pane = NULL;
                 part.dock = NULL;
                 part.button = NULL;
@@ -1895,8 +1895,8 @@
         // therefore we will create a simple background area
         cont = new wxBoxSizer(wxVERTICAL);
         wxSizerItem* sizer_item = cont->Add(1,1, 1, wxEXPAND);
-        wxDockUIPart part;
-        part.type = wxDockUIPart::typeBackground;
+        wxAuiDockUIPart part;
+        part.type = wxAuiDockUIPart::typeBackground;
         part.pane = NULL;
         part.dock = NULL;
         part.button = NULL;
@@ -1914,7 +1914,7 @@
 // one or more panes, this function should be called.  It is the
 // external entry point for running the layout engine.
 
-void wxFrameManager::Update()
+void wxAuiManager::Update()
 {
     wxSizer* sizer;
     int i, pane_count = m_panes.GetCount();
@@ -1926,7 +1926,7 @@
     // redocked or are becoming non-floating
     for (i = 0; i < pane_count; ++i)
     {
-        wxPaneInfo& p = m_panes.Item(i);
+        wxAuiPaneInfo& p = m_panes.Item(i);
 
         if (!p.IsFloating() && p.frame)
         {
@@ -1953,7 +1953,7 @@
     // and float panes as necessary
     for (i = 0; i < pane_count; ++i)
     {
-        wxPaneInfo& p = m_panes.Item(i);
+        wxAuiPaneInfo& p = m_panes.Item(i);
 
         if (p.IsFloating())
         {
@@ -1961,7 +1961,7 @@
             {
                 // we need to create a frame for this
                 // pane, which has recently been floated
-                wxFloatingPane* frame = new wxFloatingPane(m_frame,
+                wxAuiFloatingFrame* frame = new wxAuiFloatingFrame(m_frame,
                                                   this,
                                                   p);
 
@@ -1984,7 +1984,7 @@
              else
             {
                 // frame already exists, make sure it's position
-                // and size reflect the information in wxPaneInfo
+                // and size reflect the information in wxAuiPaneInfo
                 if (p.frame->GetPosition() != p.floating_pos)
                 {
                     p.frame->SetSize(p.floating_pos.x, p.floating_pos.y,
@@ -2007,7 +2007,7 @@
         // any optionActive values from the pane states
         if ((m_flags & wxAUI_MGR_ALLOW_ACTIVE_PANE) == 0)
         {
-            p.state &= ~wxPaneInfo::optionActive;
+            p.state &= ~wxAuiPaneInfo::optionActive;
         }
     }
 
@@ -2018,7 +2018,7 @@
     for (i = 0; i < pane_count; ++i)
     {
         wxRect r;
-        wxPaneInfo& p = m_panes.Item(i);
+        wxAuiPaneInfo& p = m_panes.Item(i);
 
         if (p.window && p.IsShown() && p.IsDocked())
             r = p.rect;
@@ -2042,7 +2042,7 @@
     // changed, the corresponding panes must also be updated
     for (i = 0; i < pane_count; ++i)
     {
-        wxPaneInfo& p = m_panes.Item(i);
+        wxAuiPaneInfo& p = m_panes.Item(i);
         if (p.window && p.window->IsShown() && p.IsDocked())
         {
             if (p.rect != old_pane_rects[i])
@@ -2084,14 +2084,14 @@
 // and updates their internal rectangles.  This should always be called
 // instead of calling m_frame->Layout() directly
 
-void wxFrameManager::DoFrameLayout()
+void wxAuiManager::DoFrameLayout()
 {
     m_frame->Layout();
 
     int i, part_count;
     for (i = 0, part_count = m_uiparts.GetCount(); i < part_count; ++i)
     {
-        wxDockUIPart& part = m_uiparts.Item(i);
+        wxAuiDockUIPart& part = m_uiparts.Item(i);
 
         // get the rectangle of the UI part
         // originally, this code looked like this:
@@ -2124,9 +2124,9 @@
             part.rect.width += border;
 
 
-        if (part.type == wxDockUIPart::typeDock)
+        if (part.type == wxAuiDockUIPart::typeDock)
             part.dock->rect = part.rect;
-        if (part.type == wxDockUIPart::typePane)
+        if (part.type == wxAuiDockUIPart::typePane)
             part.pane->rect = part.rect;
     }
 }
@@ -2136,20 +2136,20 @@
 // rectangle of the pane in question, including decorations like
 // caption and border (if any).
 
-wxDockUIPart* wxFrameManager::GetPanePart(wxWindow* wnd)
+wxAuiDockUIPart* wxAuiManager::GetPanePart(wxWindow* wnd)
 {
     int i, part_count;
     for (i = 0, part_count = m_uiparts.GetCount(); i < part_count; ++i)
     {
-        wxDockUIPart& part = m_uiparts.Item(i);
-        if (part.type == wxDockUIPart::typePaneBorder &&
+        wxAuiDockUIPart& part = m_uiparts.Item(i);
+        if (part.type == wxAuiDockUIPart::typePaneBorder &&
             part.pane && part.pane->window == wnd)
                 return &part;
     }
     for (i = 0, part_count = m_uiparts.GetCount(); i < part_count; ++i)
     {
-        wxDockUIPart& part = m_uiparts.Item(i);
-        if (part.type == wxDockUIPart::typePane &&
+        wxAuiDockUIPart& part = m_uiparts.Item(i);
+        if (part.type == wxAuiDockUIPart::typePane &&
             part.pane && part.pane->window == wnd)
                 return &part;
     }
@@ -2164,15 +2164,15 @@
 // vertical docks).  This value is necessary for calculating
 // fixel-pane/toolbar offsets when they are dragged.
 
-int wxFrameManager::GetDockPixelOffset(wxPaneInfo& test)
+int wxAuiManager::GetDockPixelOffset(wxAuiPaneInfo& test)
 {
     // the only way to accurately calculate the dock's
     // offset is to actually run a theoretical layout
 
     int i, part_count, dock_count;
-    wxDockInfoArray docks;
-    wxPaneInfoArray panes;
-    wxDockUIPartArray uiparts;
+    wxAuiDockInfoArray docks;
+    wxAuiPaneInfoArray panes;
+    wxAuiDockUIPartArray uiparts;
     CopyDocksAndPanes(docks, panes, m_docks, m_panes);
     panes.Add(test);
 
@@ -2183,10 +2183,10 @@
 
     for (i = 0, part_count = uiparts.GetCount(); i < part_count; ++i)
     {
-        wxDockUIPart& part = uiparts.Item(i);
+        wxAuiDockUIPart& part = uiparts.Item(i);
         part.rect = wxRect(part.sizer_item->GetPosition(),
                            part.sizer_item->GetSize());
-        if (part.type == wxDockUIPart::typeDock)
+        if (part.type == wxAuiDockUIPart::typeDock)
             part.dock->rect = part.rect;
     }
 
@@ -2194,7 +2194,7 @@
 
     for (i = 0, dock_count = docks.GetCount(); i < dock_count; ++i)
     {
-        wxDockInfo& dock = docks.Item(i);
+        wxAuiDockInfo& dock = docks.Item(i);
         if (test.dock_direction == dock.dock_direction &&
             test.dock_layer==dock.dock_layer && test.dock_row==dock.dock_row)
         {
@@ -2214,8 +2214,8 @@
 // if a dock operation is allowed, the new dock position is copied into
 // the target info.  If the operation was allowed, the function returns true.
 
-bool wxFrameManager::ProcessDockResult(wxPaneInfo& target,
-                              const wxPaneInfo& new_pos)
+bool wxAuiManager::ProcessDockResult(wxAuiPaneInfo& target,
+                              const wxAuiPaneInfo& new_pos)
 {
     bool allowed = false;
     switch (new_pos.dock_direction)
@@ -2238,7 +2238,7 @@
 // dropped, it performs the drop operation using the specified dock and pane
 // arrays.  By specifying copied dock and pane arrays when calling, a "what-if"
 // scenario can be performed, giving precise coordinates for drop hints.
-// If, however, wxFrameManager:m_docks and wxFrameManager::m_panes are specified
+// If, however, wxAuiManager:m_docks and wxAuiManager::m_panes are specified
 // as parameters, the changes will be made to the main state arrays
 
 const int auiInsertRowPixels = 10;
@@ -2246,15 +2246,15 @@
 const int auiLayerInsertPixels = 40;
 const int auiLayerInsertOffset = 5;
 
-bool wxFrameManager::DoDrop(wxDockInfoArray& docks,
-                            wxPaneInfoArray& panes,
-                            wxPaneInfo& target,
+bool wxAuiManager::DoDrop(wxAuiDockInfoArray& docks,
+                            wxAuiPaneInfoArray& panes,
+                            wxAuiPaneInfo& target,
                             const wxPoint& pt,
                             const wxPoint& offset)
 {
     wxSize cli_size = m_frame->GetClientSize();
 
-    wxPaneInfo drop = target;
+    wxAuiPaneInfo drop = target;
 
 
     // The result should always be shown
@@ -2319,7 +2319,7 @@
     }
 
 
-    wxDockUIPart* part = HitTest(pt.x, pt.y);
+    wxAuiDockUIPart* part = HitTest(pt.x, pt.y);
 
 
     if (drop.IsToolbar())
@@ -2391,16 +2391,16 @@
     if (!part)
         return false;
 
-    if (part->type == wxDockUIPart::typePaneBorder ||
-        part->type == wxDockUIPart::typeCaption ||
-        part->type == wxDockUIPart::typeGripper ||
-        part->type == wxDockUIPart::typePaneButton ||
-        part->type == wxDockUIPart::typePane ||
-        part->type == wxDockUIPart::typePaneSizer ||
-        part->type == wxDockUIPart::typeDockSizer ||
-        part->type == wxDockUIPart::typeBackground)
+    if (part->type == wxAuiDockUIPart::typePaneBorder ||
+        part->type == wxAuiDockUIPart::typeCaption ||
+        part->type == wxAuiDockUIPart::typeGripper ||
+        part->type == wxAuiDockUIPart::typePaneButton ||
+        part->type == wxAuiDockUIPart::typePane ||
+        part->type == wxAuiDockUIPart::typePaneSizer ||
+        part->type == wxAuiDockUIPart::typeDockSizer ||
+        part->type == wxAuiDockUIPart::typeBackground)
     {
-        if (part->type == wxDockUIPart::typeDockSizer)
+        if (part->type == wxAuiDockUIPart::typeDockSizer)
         {
             if (part->dock->panes.GetCount() != 1)
                 return false;
@@ -2592,7 +2592,7 @@
 }
 
 
-void wxFrameManager::OnHintFadeTimer(wxTimerEvent& WXUNUSED(event))
+void wxAuiManager::OnHintFadeTimer(wxTimerEvent& WXUNUSED(event))
 {
     if (!m_hint_wnd || m_hint_fadeamt >= m_hint_fademax)
     {
@@ -2609,7 +2609,7 @@
 #endif
 }
 
-void wxFrameManager::ShowHint(const wxRect& rect)
+void wxAuiManager::ShowHint(const wxRect& rect)
 {
     if ((m_flags & wxAUI_MGR_TRANSPARENT_HINT) != 0
         && m_hint_wnd
@@ -2673,7 +2673,7 @@
         int i, pane_count;
         for (i = 0, pane_count = m_panes.GetCount(); i < pane_count; ++i)
         {
-            wxPaneInfo& pane = m_panes.Item(i);
+            wxAuiPaneInfo& pane = m_panes.Item(i);
 
             if (pane.IsFloating() &&
                 pane.frame->IsShown())
@@ -2709,7 +2709,7 @@
     }
 }
 
-void wxFrameManager::HideHint()
+void wxAuiManager::HideHint()
 {
     // hides a transparent window hint, if there is one
     if (m_hint_wnd)
@@ -2743,7 +2743,7 @@
 // DrawHintRect() then calls ShowHint() to indicate this drop rectangle.
 // "pane_window" is the window pointer of the pane being dragged, pt is
 // the mouse position, in client coordinates
-void wxFrameManager::DrawHintRect(wxWindow* pane_window,
+void wxAuiManager::DrawHintRect(wxWindow* pane_window,
                                   const wxPoint& pt,
                                   const wxPoint& offset)
 {
@@ -2755,10 +2755,10 @@
     // so that we don't modify the real thing on screen
 
     int i, pane_count, part_count;
-    wxDockInfoArray docks;
-    wxPaneInfoArray panes;
-    wxDockUIPartArray uiparts;
-    wxPaneInfo hint = GetPane(pane_window);
+    wxAuiDockInfoArray docks;
+    wxAuiPaneInfoArray panes;
+    wxAuiDockUIPartArray uiparts;
+    wxAuiPaneInfo hint = GetPane(pane_window);
     hint.name = wxT("__HINT__");
     hint.Show();
 
@@ -2796,9 +2796,9 @@
     for (i = 0, part_count = uiparts.GetCount();
          i < part_count; ++i)
     {
-        wxDockUIPart& part = uiparts.Item(i);
+        wxAuiDockUIPart& part = uiparts.Item(i);
 
-        if (part.type == wxDockUIPart::typePaneBorder &&
+        if (part.type == wxAuiDockUIPart::typePaneBorder &&
             part.pane && part.pane->name == wxT("__HINT__"))
         {
             rect = wxRect(part.sizer_item->GetPosition(),
@@ -2820,10 +2820,10 @@
     ShowHint(rect);
 }
 
-void wxFrameManager::OnFloatingPaneMoveStart(wxWindow* wnd)
+void wxAuiManager::OnFloatingPaneMoveStart(wxWindow* wnd)
 {
     // try to find the pane
-    wxPaneInfo& pane = GetPane(wnd);
+    wxAuiPaneInfo& pane = GetPane(wnd);
     wxASSERT_MSG(pane.IsOk(), wxT("Pane window not found"));
 
 #if wxCHECK_VERSION(2,7,0)
@@ -2832,10 +2832,10 @@
 #endif
 }
 
-void wxFrameManager::OnFloatingPaneMoving(wxWindow* wnd)
+void wxAuiManager::OnFloatingPaneMoving(wxWindow* wnd)
 {
     // try to find the pane
-    wxPaneInfo& pane = GetPane(wnd);
+    wxAuiPaneInfo& pane = GetPane(wnd);
     wxASSERT_MSG(pane.IsOk(), wxT("Pane window not found"));
 
     wxPoint pt = ::wxGetMousePosition();
@@ -2851,10 +2851,10 @@
     {
         if (m_action == actionDragFloatingPane)
         {
-            wxDockInfoArray docks;
-            wxPaneInfoArray panes;
-            wxDockUIPartArray uiparts;
-            wxPaneInfo hint = pane;
+            wxAuiDockInfoArray docks;
+            wxAuiPaneInfoArray panes;
+            wxAuiDockUIPartArray uiparts;
+            wxAuiPaneInfo hint = pane;
 
             CopyDocksAndPanes(docks, panes, m_docks, m_panes);
 
@@ -2898,10 +2898,10 @@
     m_frame->Update();
 }
 
-void wxFrameManager::OnFloatingPaneMoved(wxWindow* wnd)
+void wxAuiManager::OnFloatingPaneMoved(wxWindow* wnd)
 {
     // try to find the pane
-    wxPaneInfo& pane = GetPane(wnd);
+    wxAuiPaneInfo& pane = GetPane(wnd);
     wxASSERT_MSG(pane.IsOk(), wxT("Pane window not found"));
 
     wxPoint pt = ::wxGetMousePosition();
@@ -2938,25 +2938,25 @@
     HideHint();
 }
 
-void wxFrameManager::OnFloatingPaneResized(wxWindow* wnd, const wxSize& size)
+void wxAuiManager::OnFloatingPaneResized(wxWindow* wnd, const wxSize& size)
 {
     // try to find the pane
-    wxPaneInfo& pane = GetPane(wnd);
+    wxAuiPaneInfo& pane = GetPane(wnd);
     wxASSERT_MSG(pane.IsOk(), wxT("Pane window not found"));
 
     pane.floating_size = size;
 }
 
 
-void wxFrameManager::OnFloatingPaneClosed(wxWindow* wnd, wxCloseEvent& evt)
+void wxAuiManager::OnFloatingPaneClosed(wxWindow* wnd, wxCloseEvent& evt)
 {
     // try to find the pane
-    wxPaneInfo& pane = GetPane(wnd);
+    wxAuiPaneInfo& pane = GetPane(wnd);
     wxASSERT_MSG(pane.IsOk(), wxT("Pane window not found"));
 
 
     // fire pane close event
-    wxFrameManagerEvent e(wxEVT_AUI_PANECLOSE);
+    wxAuiManagerEvent e(wxEVT_AUI_PANE_CLOSE);
     e.SetPane(&pane);
     e.SetCanVeto(evt.CanVeto());
     ProcessMgrEvent(e);
@@ -2979,7 +2979,7 @@
 
 
 
-void wxFrameManager::OnFloatingPaneActivated(wxWindow* wnd)
+void wxAuiManager::OnFloatingPaneActivated(wxWindow* wnd)
 {
     if (GetFlags() & wxAUI_MGR_ALLOW_ACTIVE_PANE)
     {
@@ -2995,7 +2995,7 @@
 // backgrounds, captions, grippers, pane borders and buttons.
 // It renders the entire user interface.
 
-void wxFrameManager::OnRender(wxFrameManagerEvent& evt)
+void wxAuiManager::OnRender(wxAuiManagerEvent& evt)
 {
     wxDC* dc = evt.GetDC();
 
@@ -3006,7 +3006,7 @@
     for (i = 0, part_count = m_uiparts.GetCount();
          i < part_count; ++i)
     {
-        wxDockUIPart& part = m_uiparts.Item(i);
+        wxAuiDockUIPart& part = m_uiparts.Item(i);
 
         // don't draw hidden pane items
         if (part.sizer_item && !part.sizer_item->IsShown())
@@ -3014,23 +3014,23 @@
 
         switch (part.type)
         {
-            case wxDockUIPart::typeDockSizer:
-            case wxDockUIPart::typePaneSizer:
+            case wxAuiDockUIPart::typeDockSizer:
+            case wxAuiDockUIPart::typePaneSizer:
                 m_art->DrawSash(*dc, part.orientation, part.rect);
                 break;
-            case wxDockUIPart::typeBackground:
+            case wxAuiDockUIPart::typeBackground:
                 m_art->DrawBackground(*dc, part.orientation, part.rect);
                 break;
-            case wxDockUIPart::typeCaption:
+            case wxAuiDockUIPart::typeCaption:
                 m_art->DrawCaption(*dc, part.pane->caption, part.rect, *part.pane);
                 break;
-            case wxDockUIPart::typeGripper:
+            case wxAuiDockUIPart::typeGripper:
                 m_art->DrawGripper(*dc, part.rect, *part.pane);
                 break;
-            case wxDockUIPart::typePaneBorder:
+            case wxAuiDockUIPart::typePaneBorder:
                 m_art->DrawBorder(*dc, part.rect, *part.pane);
                 break;
-            case wxDockUIPart::typePaneButton:
+            case wxAuiDockUIPart::typePaneButton:
                 m_art->DrawPaneButton(*dc, part.button->button_id,
                         wxAUI_BUTTON_STATE_NORMAL, part.rect, *part.pane);
                 break;
@@ -3040,19 +3040,19 @@
 
 
 // Render() fire a render event, which is normally handled by
-// wxFrameManager::OnRender().  This allows the render function to
+// wxAuiManager::OnRender().  This allows the render function to
 // be overridden via the render event.  This can be useful for paintin
 // custom graphics in the main window. Default behavior can be
 // invoked in the overridden function by calling OnRender()
 
-void wxFrameManager::Render(wxDC* dc)
+void wxAuiManager::Render(wxDC* dc)
 {
-    wxFrameManagerEvent e(wxEVT_AUI_RENDER);
+    wxAuiManagerEvent e(wxEVT_AUI_RENDER);
     e.SetDC(dc);
     ProcessMgrEvent(e);
 }
 
-void wxFrameManager::Repaint(wxDC* dc)
+void wxAuiManager::Repaint(wxDC* dc)
 {
 #ifdef __WXMAC__
     if ( dc == NULL )
@@ -3089,13 +3089,13 @@
         delete client_dc;
 }
 
-void wxFrameManager::OnPaint(wxPaintEvent& WXUNUSED(event))
+void wxAuiManager::OnPaint(wxPaintEvent& WXUNUSED(event))
 {
     wxPaintDC dc(m_frame);
     Repaint(&dc);
 }
 
-void wxFrameManager::OnEraseBackground(wxEraseEvent& event)
+void wxAuiManager::OnEraseBackground(wxEraseEvent& event)
 {
 #ifdef __WXMAC__
     event.Skip() ;
@@ -3104,7 +3104,7 @@
 #endif
 }
 
-void wxFrameManager::OnSize(wxSizeEvent& WXUNUSED(event))
+void wxAuiManager::OnSize(wxSizeEvent& WXUNUSED(event))
 {
     if (m_frame)
     {
@@ -3114,20 +3114,20 @@
 }
 
 
-void wxFrameManager::OnSetCursor(wxSetCursorEvent& event)
+void wxAuiManager::OnSetCursor(wxSetCursorEvent& event)
 {
     // determine cursor
-    wxDockUIPart* part = HitTest(event.GetX(), event.GetY());
+    wxAuiDockUIPart* part = HitTest(event.GetX(), event.GetY());
     wxCursor cursor = wxNullCursor;
 
     if (part)
     {
-        if (part->type == wxDockUIPart::typeDockSizer ||
-            part->type == wxDockUIPart::typePaneSizer)
+        if (part->type == wxAuiDockUIPart::typeDockSizer ||
+            part->type == wxAuiDockUIPart::typePaneSizer)
         {
             // a dock may not be resized if it has a single
             // pane which is not resizable
-            if (part->type == wxDockUIPart::typeDockSizer && part->dock &&
+            if (part->type == wxAuiDockUIPart::typeDockSizer && part->dock &&
                 part->dock->panes.GetCount() == 1 &&
                 part->dock->panes.Item(0)->IsFixed())
                     return;
@@ -3141,7 +3141,7 @@
                  else
                 cursor = wxCursor(wxCURSOR_SIZENS);
         }
-         else if (part->type == wxDockUIPart::typeGripper)
+         else if (part->type == wxAuiDockUIPart::typeGripper)
         {
             cursor = wxCursor(wxCURSOR_SIZING);
         }
@@ -3152,10 +3152,10 @@
 
 
 
-void wxFrameManager::UpdateButtonOnScreen(wxDockUIPart* button_ui_part,
+void wxAuiManager::UpdateButtonOnScreen(wxAuiDockUIPart* button_ui_part,
                                           const wxMouseEvent& event)
 {
-    wxDockUIPart* hit_test = HitTest(event.GetX(), event.GetY());
+    wxAuiDockUIPart* hit_test = HitTest(event.GetX(), event.GetY());
 
     int state = wxAUI_BUTTON_STATE_NORMAL;
 
@@ -3188,20 +3188,20 @@
               *hit_test->pane);
 }
 
-void wxFrameManager::OnLeftDown(wxMouseEvent& event)
+void wxAuiManager::OnLeftDown(wxMouseEvent& event)
 {
-    wxDockUIPart* part = HitTest(event.GetX(), event.GetY());
+    wxAuiDockUIPart* part = HitTest(event.GetX(), event.GetY());
     if (part)
     {
         if (part->dock && part->dock->dock_direction == wxAUI_DOCK_CENTER)
             return;
 
-        if (part->type == wxDockUIPart::typeDockSizer ||
-            part->type == wxDockUIPart::typePaneSizer)
+        if (part->type == wxAuiDockUIPart::typeDockSizer ||
+            part->type == wxAuiDockUIPart::typePaneSizer)
         {
             // a dock may not be resized if it has a single
             // pane which is not resizable
-            if (part->type == wxDockUIPart::typeDockSizer && part->dock &&
+            if (part->type == wxAuiDockUIPart::typeDockSizer && part->dock &&
                 part->dock->panes.GetCount() == 1 &&
                 part->dock->panes.Item(0)->IsFixed())
                     return;
@@ -3218,7 +3218,7 @@
                                       event.m_y - part->rect.y);
             m_frame->CaptureMouse();
         }
-         else if (part->type == wxDockUIPart::typePaneButton)
+         else if (part->type == wxAuiDockUIPart::typePaneButton)
         {
             m_action = actionClickButton;
             m_action_part = part;
@@ -3227,8 +3227,8 @@
 
             UpdateButtonOnScreen(part, event);
         }
-         else if (part->type == wxDockUIPart::typeCaption ||
-                  part->type == wxDockUIPart::typeGripper)
+         else if (part->type == wxAuiDockUIPart::typeCaption ||
+                  part->type == wxAuiDockUIPart::typeGripper)
         {
             if (GetFlags() & wxAUI_MGR_ALLOW_ACTIVE_PANE)
             {
@@ -3262,7 +3262,7 @@
 }
 
 
-void wxFrameManager::OnLeftUp(wxMouseEvent& event)
+void wxAuiManager::OnLeftUp(wxMouseEvent& event)
 {
     if (m_action == actionResize)
     {
@@ -3273,7 +3273,7 @@
         DrawResizeHint(dc, m_action_hintrect);
 
         // resize the dock or the pane
-        if (m_action_part && m_action_part->type==wxDockUIPart::typeDockSizer)
+        if (m_action_part && m_action_part->type==wxAuiDockUIPart::typeDockSizer)
         {
             wxRect& rect = m_action_part->dock->rect;
 
@@ -3302,10 +3302,10 @@
             Repaint(NULL);
         }
          else if (m_action_part &&
-                  m_action_part->type == wxDockUIPart::typePaneSizer)
+                  m_action_part->type == wxAuiDockUIPart::typePaneSizer)
         {
-            wxDockInfo& dock = *m_action_part->dock;
-            wxPaneInfo& pane = *m_action_part->pane;
+            wxAuiDockInfo& dock = *m_action_part->dock;
+            wxAuiPaneInfo& pane = *m_action_part->pane;
 
             int total_proportion = 0;
             int dock_pixels = 0;
@@ -3319,7 +3319,7 @@
                             event.m_y - m_action_offset.y);
 
             // determine the pane rectangle by getting the pane part
-            wxDockUIPart* pane_part = GetPanePart(pane.window);
+            wxAuiDockUIPart* pane_part = GetPanePart(pane.window);
             wxASSERT_MSG(pane_part,
                        wxT("Pane border part not found -- shouldn't happen"));
 
@@ -3343,7 +3343,7 @@
             int pane_position = -1;
             for (i = 0; i < dock_pane_count; ++i)
             {
-                wxPaneInfo& p = *dock.panes.Item(i);
+                wxAuiPaneInfo& p = *dock.panes.Item(i);
                 if (p.window == pane.window)
                     pane_position = i;
 
@@ -3376,7 +3376,7 @@
             int borrow_pane = -1;
             for (i = pane_position+1; i < dock_pane_count; ++i)
             {
-                wxPaneInfo& p = *dock.panes.Item(i);
+                wxAuiPaneInfo& p = *dock.panes.Item(i);
                 if (!p.IsFixed())
                 {
                     borrow_pane = i;
@@ -3462,7 +3462,7 @@
         if (m_action_part == HitTest(event.GetX(), event.GetY()))
         {
             // fire button-click event
-            wxFrameManagerEvent e(wxEVT_AUI_PANEBUTTON);
+            wxAuiManagerEvent e(wxEVT_AUI_PANE_BUTTON);
             e.SetPane(m_action_part->pane);
             e.SetButton(m_action_part->button->button_id);
             ProcessMgrEvent(e);
@@ -3480,16 +3480,16 @@
     {
         m_frame->ReleaseMouse();
 
-        wxPaneInfo& pane = GetPane(m_action_window);
+        wxAuiPaneInfo& pane = GetPane(m_action_window);
         wxASSERT_MSG(pane.IsOk(), wxT("Pane window not found"));
 
         // save the new positions
-        wxDockInfoPtrArray docks;
+        wxAuiDockInfoPtrArray docks;
         FindDocks(m_docks, pane.dock_direction,
                   pane.dock_layer, pane.dock_row, docks);
         if (docks.GetCount() == 1)
         {
-            wxDockInfo& dock = *docks.Item(0);
+            wxAuiDockInfo& dock = *docks.Item(0);
 
             wxArrayInt pane_positions, pane_sizes;
             GetPanePositionsAndSizes(dock, pane_positions, pane_sizes);
@@ -3499,7 +3499,7 @@
                 dock.panes.Item(i)->dock_pos = pane_positions[i];
         }
 
-        pane.state &= ~wxPaneInfo::actionPane;
+        pane.state &= ~wxAuiPaneInfo::actionPane;
         Update();
     }
     else
@@ -3512,7 +3512,7 @@
 }
 
 
-void wxFrameManager::OnMotion(wxMouseEvent& event)
+void wxAuiManager::OnMotion(wxMouseEvent& event)
 {
     // sometimes when Update() is called from inside this method,
     // a spurious mouse move event is generated; this check will make
@@ -3554,7 +3554,7 @@
         if (abs(event.m_x - m_action_start.x) > drag_x_threshold ||
             abs(event.m_y - m_action_start.y) > drag_y_threshold)
         {
-            wxPaneInfo* pane_info = m_action_part->pane;
+            wxAuiPaneInfo* pane_info = m_action_part->pane;
 
             if (!pane_info->IsToolbar())
             {
@@ -3598,10 +3598,10 @@
     }
     else if (m_action == actionDragToolbarPane)
     {
-        wxPaneInfo& pane = GetPane(m_action_window);
+        wxAuiPaneInfo& pane = GetPane(m_action_window);
         wxASSERT_MSG(pane.IsOk(), wxT("Pane window not found"));
 
-        pane.state |= wxPaneInfo::actionPane;
+        pane.state |= wxAuiPaneInfo::actionPane;
 
         wxPoint pt = event.GetPosition();
         DoDrop(m_docks, m_panes, pane, pt, m_action_offset);
@@ -3626,15 +3626,15 @@
         // EVT_MOTION() events will move the floating pane
         if (pane.IsFloating())
         {
-            pane.state &= ~wxPaneInfo::actionPane;
+            pane.state &= ~wxAuiPaneInfo::actionPane;
             m_action = actionDragFloatingPane;
             m_action_window = pane.frame;
         }
     }
     else
     {
-        wxDockUIPart* part = HitTest(event.GetX(), event.GetY());
-        if (part && part->type == wxDockUIPart::typePaneButton)
+        wxAuiDockUIPart* part = HitTest(event.GetX(), event.GetY());
+        if (part && part->type == wxAuiDockUIPart::typePaneButton)
         {
             if (part != m_hover_button)
             {
@@ -3663,7 +3663,7 @@
     }
 }
 
-void wxFrameManager::OnLeaveWindow(wxMouseEvent& WXUNUSED(event))
+void wxAuiManager::OnLeaveWindow(wxMouseEvent& WXUNUSED(event))
 {
     if (m_hover_button)
     {
@@ -3672,7 +3672,7 @@
     }
 }
 
-void wxFrameManager::OnChildFocus(wxChildFocusEvent& event)
+void wxAuiManager::OnChildFocus(wxChildFocusEvent& event)
 {
     // when a child pane has it's focus set, we should change the
     // pane's active state to reflect this. (this is only true if
@@ -3692,16 +3692,16 @@
 
 // OnPaneButton() is an event handler that is called
 // when a pane button has been pressed.
-void wxFrameManager::OnPaneButton(wxFrameManagerEvent& evt)
+void wxAuiManager::OnPaneButton(wxAuiManagerEvent& evt)
 {
-    wxASSERT_MSG(evt.pane, wxT("Pane Info passed to wxFrameManager::OnPaneButton must be non-null"));
+    wxASSERT_MSG(evt.pane, wxT("Pane Info passed to wxAuiManager::OnPaneButton must be non-null"));
 
-    wxPaneInfo& pane = *(evt.pane);
+    wxAuiPaneInfo& pane = *(evt.pane);
 
-    if (evt.button == wxPaneInfo::buttonClose)
+    if (evt.button == wxAuiPaneInfo::buttonClose)
     {
         // fire pane close event
-        wxFrameManagerEvent e(wxEVT_AUI_PANECLOSE);
+        wxAuiManagerEvent e(wxEVT_AUI_PANE_CLOSE);
         e.SetPane(evt.pane);
         ProcessMgrEvent(e);
 
@@ -3711,7 +3711,7 @@
             Update();
         }
     }
-     else if (evt.button == wxPaneInfo::buttonPin)
+     else if (evt.button == wxAuiPaneInfo::buttonPin)
     {
         if ((m_flags & wxAUI_MGR_ALLOW_FLOATING) &&
             pane.IsFloatable())
Index: wxXtra/dockart.h
===================================================================
--- wxXtra/dockart.h	(revision 1766)
+++ wxXtra/dockart.h	(working copy)
@@ -30,12 +30,12 @@
 // functionality to the wxAui dock manager.  This allows the dock
 // manager to have plugable look-and-feels
 
-class WXDLLIMPEXP_AUI wxDockArt
+class WXDLLIMPEXP_AUI wxAuiDockArt
 {
 public:
 
-    wxDockArt() { }
-    virtual ~wxDockArt() { }
+    wxAuiDockArt() { }
+    virtual ~wxAuiDockArt() { }
 
     virtual int GetMetric(int id) = 0;
     virtual void SetMetric(int id, int new_val) = 0;
@@ -57,21 +57,21 @@
     virtual void DrawCaption(wxDC& dc,
                           const wxString& text,
                           const wxRect& rect,
-                          wxPaneInfo& pane) = 0;
+                          wxAuiPaneInfo& pane) = 0;
 
     virtual void DrawGripper(wxDC& dc,
                           const wxRect& rect,
-                          wxPaneInfo& pane) = 0;
+                          wxAuiPaneInfo& pane) = 0;
 
     virtual void DrawBorder(wxDC& dc,
                           const wxRect& rect,
-                          wxPaneInfo& pane) = 0;
+                          wxAuiPaneInfo& pane) = 0;
 
     virtual void DrawPaneButton(wxDC& dc,
                           int button,
                           int button_state,
                           const wxRect& rect,
-                          wxPaneInfo& pane) = 0;
+                          wxAuiPaneInfo& pane) = 0;
 };
 
 
@@ -79,11 +79,11 @@
 // can be customized by creating a class derived from this one,
 // or replacing this class entirely
 
-class WXDLLIMPEXP_AUI wxDefaultDockArt : public wxDockArt
+class WXDLLIMPEXP_AUI wxAuiDefaultDockArt : public wxAuiDockArt
 {
 public:
 
-    wxDefaultDockArt();
+    wxAuiDefaultDockArt();
 
     int GetMetric(int metric_id);
     void SetMetric(int metric_id, int new_val);
@@ -103,21 +103,21 @@
     void DrawCaption(wxDC& dc,
                   const wxString& text,
                   const wxRect& rect,
-                  wxPaneInfo& pane);
+                  wxAuiPaneInfo& pane);
 
     void DrawGripper(wxDC& dc,
                   const wxRect& rect,
-                  wxPaneInfo& pane);
+                  wxAuiPaneInfo& pane);
 
     void DrawBorder(wxDC& dc,
                   const wxRect& rect,
-                  wxPaneInfo& pane);
+                  wxAuiPaneInfo& pane);
 
     void DrawPaneButton(wxDC& dc,
                   int button,
                   int button_state,
                   const wxRect& rect,
-                  wxPaneInfo& pane);
+                  wxAuiPaneInfo& pane);
 
 protected:
 
Index: wxOil/fileinfolist.h
===================================================================
--- wxOil/fileinfolist.h	(revision 1766)
+++ wxOil/fileinfolist.h	(working copy)
@@ -98,8 +98,8 @@
 #ifndef WXOIL_FILEINFOLIST_H
 #define WXOIL_FILEINFOLIST_H
 
+#include <wx/imaglist.h>
 
-
 class CFileInfoList
 {
 public:
Index: wxOil/wxkeymap.cpp
===================================================================
--- wxOil/wxkeymap.cpp	(revision 0)
+++ wxOil/wxkeymap.cpp	(revision 0)
@@ -0,0 +1,221 @@
+#include "wxkeymap.h"
+#include "vkextra.h"
+#include <wx/defs.h>
+
+/********************************************************************************************
+
+	std::map<String_32, UINT32> wxKeyMap::keymap;
+	Author:		Jason M'Sadoques
+	Created:	5/30/2007
+	Purpose:	Holds the string to enum translations for WXK_* keys.
+
+********************************************************************************************/
+std::map<String_32, UINT32> wxKeyMap::keymap;
+
+/********************************************************************************************
+
+	UINT32 wxKeyMap::GetKeyVal(String_32 key_str)
+	Author:		Jason M'Sadoques
+	Created:	5/30/2007
+	Inputs:		The String representation of a WXK_* key, for example "WXK_ADD"
+	Returns:	The enum value.
+	Purpose:	This function ensures that it is unnecessary to hard-code key values into
+				resource or other configuration files. The enumeration name can be kept
+				the same, and the actual enumeration value can change without changing this
+				code.
+
+				The first time through, the keymap map is populated with the string to enum
+				translations.
+********************************************************************************************/
+UINT32 wxKeyMap::GetKeyVal(String_32 key_str)
+{
+	if(wxKeyMap::keymap.empty())
+		wxKeyMap::GenerateMap();
+	ENSURE(!wxKeyMap::keymap.empty(), "keymap is still empty");
+	ENSURE(wxKeyMap::keymap[key_str] != 0, "key_str is invalid");
+	return(wxKeyMap::keymap[key_str]);
+}
+
+/********************************************************************************************
+
+	void wxKeyMap::GenerateMap()
+	Author:		Jason M'Sadoques
+	Created:	5/30/2007
+	Purpose:	Generate the string to enum translations in the keymap map.
+
+********************************************************************************************/
+void wxKeyMap::GenerateMap()
+{
+	/* Defined in vkextra.h */
+	wxKeyMap::keymap[TEXT("WXK_0")]=WXK_0;
+	wxKeyMap::keymap[TEXT("WXK_1")]=WXK_1;
+	wxKeyMap::keymap[TEXT("WXK_2")]=WXK_2;
+	wxKeyMap::keymap[TEXT("WXK_3")]=WXK_3;
+	wxKeyMap::keymap[TEXT("WXK_4")]=WXK_4;
+	wxKeyMap::keymap[TEXT("WXK_5")]=WXK_5;
+	wxKeyMap::keymap[TEXT("WXK_6")]=WXK_6;
+	wxKeyMap::keymap[TEXT("WXK_7")]=WXK_7;
+	wxKeyMap::keymap[TEXT("WXK_8")]=WXK_8;
+	wxKeyMap::keymap[TEXT("WXK_9")]=WXK_9;
+	wxKeyMap::keymap[TEXT("WXK_A")]=WXK_A;
+	wxKeyMap::keymap[TEXT("WXK_B")]=WXK_B;
+	wxKeyMap::keymap[TEXT("WXK_C")]=WXK_C;
+	wxKeyMap::keymap[TEXT("WXK_D")]=WXK_D;
+	wxKeyMap::keymap[TEXT("WXK_E")]=WXK_E;
+	wxKeyMap::keymap[TEXT("WXK_F")]=WXK_F;
+	wxKeyMap::keymap[TEXT("WXK_G")]=WXK_G;
+	wxKeyMap::keymap[TEXT("WXK_H")]=WXK_H;
+	wxKeyMap::keymap[TEXT("WXK_I")]=WXK_I;
+	wxKeyMap::keymap[TEXT("WXK_J")]=WXK_J;
+	wxKeyMap::keymap[TEXT("WXK_K")]=WXK_K;
+	wxKeyMap::keymap[TEXT("WXK_L")]=WXK_L;
+	wxKeyMap::keymap[TEXT("WXK_M")]=WXK_M;
+	wxKeyMap::keymap[TEXT("WXK_N")]=WXK_N;
+	wxKeyMap::keymap[TEXT("WXK_O")]=WXK_O;
+	wxKeyMap::keymap[TEXT("WXK_P")]=WXK_P;
+	wxKeyMap::keymap[TEXT("WXK_Q")]=WXK_Q;
+	wxKeyMap::keymap[TEXT("WXK_R")]=WXK_R;
+	wxKeyMap::keymap[TEXT("WXK_S")]=WXK_S;
+	wxKeyMap::keymap[TEXT("WXK_T")]=WXK_T;
+	wxKeyMap::keymap[TEXT("WXK_U")]=WXK_U;
+	wxKeyMap::keymap[TEXT("WXK_V")]=WXK_V;
+	wxKeyMap::keymap[TEXT("WXK_W")]=WXK_W;
+	wxKeyMap::keymap[TEXT("WXK_X")]=WXK_X;
+	wxKeyMap::keymap[TEXT("WXK_Y")]=WXK_Y;
+	wxKeyMap::keymap[TEXT("WXK_Z")]=WXK_Z;
+	wxKeyMap::keymap[TEXT("WXK_LESS")]=WXK_LESS;
+	wxKeyMap::keymap[TEXT("WXK_GREATER")]=WXK_GREATER;
+	wxKeyMap::keymap[TEXT("WXK_ADD")]=WXK_ADD;
+	wxKeyMap::keymap[TEXT("WXK_EQUALS")]=WXK_EQUALS;
+	wxKeyMap::keymap[TEXT("WXK_COMMA")]=WXK_COMMA;
+	wxKeyMap::keymap[TEXT("WXK_MINUS")]=WXK_MINUS;
+	wxKeyMap::keymap[TEXT("WXK_PERIOD")]=WXK_PERIOD;
+	wxKeyMap::keymap[TEXT("WXK_HASH")]=WXK_HASH;
+
+	/* Defined in wx/defs.h */
+	wxKeyMap::keymap[TEXT("WXK_BACK")]=WXK_BACK;
+	wxKeyMap::keymap[TEXT("WXK_TAB")]=WXK_TAB;
+	wxKeyMap::keymap[TEXT("WXK_RETURN")]=WXK_RETURN;
+	wxKeyMap::keymap[TEXT("WXK_ESCAPE")]=WXK_ESCAPE;
+	wxKeyMap::keymap[TEXT("WXK_SPACE")]=WXK_SPACE;
+	wxKeyMap::keymap[TEXT("WXK_DELETE")]=WXK_DELETE;
+	wxKeyMap::keymap[TEXT("WXK_START")]=WXK_START;
+	wxKeyMap::keymap[TEXT("WXK_LBUTTON")]=WXK_LBUTTON;
+	wxKeyMap::keymap[TEXT("WXK_RBUTTON")]=WXK_RBUTTON;
+	wxKeyMap::keymap[TEXT("WXK_CANCEL")]=WXK_CANCEL;
+	wxKeyMap::keymap[TEXT("WXK_MBUTTON")]=WXK_MBUTTON;
+	wxKeyMap::keymap[TEXT("WXK_CLEAR")]=WXK_CLEAR;
+	wxKeyMap::keymap[TEXT("WXK_SHIFT")]=WXK_SHIFT;
+	wxKeyMap::keymap[TEXT("WXK_ALT")]=WXK_ALT;
+	wxKeyMap::keymap[TEXT("WXK_CONTROL")]=WXK_CONTROL;
+	wxKeyMap::keymap[TEXT("WXK_MENU")]=WXK_MENU;
+	wxKeyMap::keymap[TEXT("WXK_PAUSE")]=WXK_PAUSE;
+	wxKeyMap::keymap[TEXT("WXK_CAPITAL")]=WXK_CAPITAL;
+	wxKeyMap::keymap[TEXT("WXK_PRIOR")]=WXK_PRIOR;
+	wxKeyMap::keymap[TEXT("WXK_NEXT")]=WXK_NEXT;
+	wxKeyMap::keymap[TEXT("WXK_END")]=WXK_END;
+	wxKeyMap::keymap[TEXT("WXK_HOME")]=WXK_HOME;
+	wxKeyMap::keymap[TEXT("WXK_LEFT")]=WXK_LEFT;
+	wxKeyMap::keymap[TEXT("WXK_UP")]=WXK_UP;
+	wxKeyMap::keymap[TEXT("WXK_RIGHT")]=WXK_RIGHT;
+	wxKeyMap::keymap[TEXT("WXK_DOWN")]=WXK_DOWN;
+	wxKeyMap::keymap[TEXT("WXK_SELECT")]=WXK_SELECT;
+	wxKeyMap::keymap[TEXT("WXK_PRINT")]=WXK_PRINT;
+	wxKeyMap::keymap[TEXT("WXK_EXECUTE")]=WXK_EXECUTE;
+	wxKeyMap::keymap[TEXT("WXK_SNAPSHOT")]=WXK_SNAPSHOT;
+	wxKeyMap::keymap[TEXT("WXK_INSERT")]=WXK_INSERT;
+	wxKeyMap::keymap[TEXT("WXK_HELP")]=WXK_HELP;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD0")]=WXK_NUMPAD0;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD1")]=WXK_NUMPAD1;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD2")]=WXK_NUMPAD2;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD3")]=WXK_NUMPAD3;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD4")]=WXK_NUMPAD4;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD5")]=WXK_NUMPAD5;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD6")]=WXK_NUMPAD6;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD7")]=WXK_NUMPAD7;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD8")]=WXK_NUMPAD8;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD9")]=WXK_NUMPAD9;
+	wxKeyMap::keymap[TEXT("WXK_MULTIPLY")]=WXK_MULTIPLY;
+	wxKeyMap::keymap[TEXT("WXK_SEPARATOR")]=WXK_SEPARATOR;
+	wxKeyMap::keymap[TEXT("WXK_SUBTRACT")]=WXK_SUBTRACT;
+	wxKeyMap::keymap[TEXT("WXK_DECIMAL")]=WXK_DECIMAL;
+	wxKeyMap::keymap[TEXT("WXK_F1")]=WXK_F1;
+	wxKeyMap::keymap[TEXT("WXK_F2")]=WXK_F2;
+	wxKeyMap::keymap[TEXT("WXK_F3")]=WXK_F3;
+	wxKeyMap::keymap[TEXT("WXK_F4")]=WXK_F4;
+	wxKeyMap::keymap[TEXT("WXK_F5")]=WXK_F5;
+	wxKeyMap::keymap[TEXT("WXK_F6")]=WXK_F6;
+	wxKeyMap::keymap[TEXT("WXK_F7")]=WXK_F7;
+	wxKeyMap::keymap[TEXT("WXK_F8")]=WXK_F8;
+	wxKeyMap::keymap[TEXT("WXK_F9")]=WXK_F9;
+	wxKeyMap::keymap[TEXT("WXK_F10")]=WXK_F10;
+	wxKeyMap::keymap[TEXT("WXK_F11")]=WXK_F11;
+	wxKeyMap::keymap[TEXT("WXK_F12")]=WXK_F12;
+	wxKeyMap::keymap[TEXT("WXK_F13")]=WXK_F13;
+	wxKeyMap::keymap[TEXT("WXK_F14")]=WXK_F14;
+	wxKeyMap::keymap[TEXT("WXK_F15")]=WXK_F15;
+	wxKeyMap::keymap[TEXT("WXK_F16")]=WXK_F16;
+	wxKeyMap::keymap[TEXT("WXK_F17")]=WXK_F17;
+	wxKeyMap::keymap[TEXT("WXK_F18")]=WXK_F18;
+	wxKeyMap::keymap[TEXT("WXK_F19")]=WXK_F19;
+	wxKeyMap::keymap[TEXT("WXK_F20")]=WXK_F20;
+	wxKeyMap::keymap[TEXT("WXK_F21")]=WXK_F21;
+	wxKeyMap::keymap[TEXT("WXK_F22")]=WXK_F22;
+	wxKeyMap::keymap[TEXT("WXK_F23")]=WXK_F23;
+	wxKeyMap::keymap[TEXT("WXK_F24")]=WXK_F24;
+	wxKeyMap::keymap[TEXT("WXK_NUMLOCK")]=WXK_NUMLOCK;
+	wxKeyMap::keymap[TEXT("WXK_SCROLL")]=WXK_SCROLL;
+	wxKeyMap::keymap[TEXT("WXK_PAGEUP")]=WXK_PAGEUP;
+	wxKeyMap::keymap[TEXT("WXK_PAGEDOWN")]=WXK_PAGEDOWN;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_SPACE")]=WXK_NUMPAD_SPACE;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_TAB")]=WXK_NUMPAD_TAB;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_ENTER")]=WXK_NUMPAD_ENTER;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_F1")]=WXK_NUMPAD_F1;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_F2")]=WXK_NUMPAD_F2;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_F3")]=WXK_NUMPAD_F3;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_F4")]=WXK_NUMPAD_F4;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_HOME")]=WXK_NUMPAD_HOME;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_LEFT")]=WXK_NUMPAD_LEFT;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_UP")]=WXK_NUMPAD_UP;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_RIGHT")]=WXK_NUMPAD_RIGHT;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_DOWN")]=WXK_NUMPAD_DOWN;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_PRIOR")]=WXK_NUMPAD_PRIOR;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_PAGEUP")]=WXK_NUMPAD_PAGEUP;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_NEXT")]=WXK_NUMPAD_NEXT;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_PAGEDOWN")]=WXK_NUMPAD_PAGEDOWN;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_END")]=WXK_NUMPAD_END;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_BEGIN")]=WXK_NUMPAD_BEGIN;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_INSERT")]=WXK_NUMPAD_INSERT;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_DELETE")]=WXK_NUMPAD_DELETE;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_EQUAL")]=WXK_NUMPAD_EQUAL;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_MULTIPLY")]=WXK_NUMPAD_MULTIPLY;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_ADD")]=WXK_NUMPAD_ADD;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_SEPARATOR")]=WXK_NUMPAD_SEPARATOR;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_SUBTRACT")]=WXK_NUMPAD_SUBTRACT;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_DECIMAL")]=WXK_NUMPAD_DECIMAL;
+	wxKeyMap::keymap[TEXT("WXK_NUMPAD_DIVIDE")]=WXK_NUMPAD_DIVIDE;
+	wxKeyMap::keymap[TEXT("WXK_WINDOWS_LEFT")]=WXK_WINDOWS_LEFT;
+	wxKeyMap::keymap[TEXT("WXK_WINDOWS_RIGHT")]=WXK_WINDOWS_RIGHT;
+	wxKeyMap::keymap[TEXT("WXK_WINDOWS_MENU ")]=WXK_WINDOWS_MENU ;
+	wxKeyMap::keymap[TEXT("WXK_COMMAND")]=WXK_COMMAND;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL1")]=WXK_SPECIAL1;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL2")]=WXK_SPECIAL2;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL3")]=WXK_SPECIAL3;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL4")]=WXK_SPECIAL4;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL5")]=WXK_SPECIAL5;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL6")]=WXK_SPECIAL6;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL7")]=WXK_SPECIAL7;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL8")]=WXK_SPECIAL8;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL9")]=WXK_SPECIAL9;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL10")]=WXK_SPECIAL10;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL11")]=WXK_SPECIAL11;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL12")]=WXK_SPECIAL12;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL13")]=WXK_SPECIAL13;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL14")]=WXK_SPECIAL14;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL15")]=WXK_SPECIAL15;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL16")]=WXK_SPECIAL16;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL17")]=WXK_SPECIAL17;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL18")]=WXK_SPECIAL18;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL19")]=WXK_SPECIAL19;
+	wxKeyMap::keymap[TEXT("WXK_SPECIAL20")]=WXK_SPECIAL20;
+}
Index: wxOil/Makefile.am
===================================================================
--- wxOil/Makefile.am	(revision 1766)
+++ wxOil/Makefile.am	(working copy)
@@ -41,7 +41,7 @@
 	lddirect.cpp prncamvw.cpp prdlgctl.cpp psdc.cpp grndprnt.cpp printprg.cpp \
 	oilruler.cpp bitmapdropdown.cpp helptabs.cpp tmplmngr.cpp imgmgkft.cpp ppmfiltr.cpp \
 	bitmapgriddropdown.cpp griddropdown.cpp camdoctp.cpp \
-	resources.cpp fileinfolist.cpp
+	resources.cpp fileinfolist.cpp wxkeymap.cpp
 
 # Keep resources.cpp on a separate line as it is odd
 
Index: wxOil/camelot.cpp
===================================================================
--- wxOil/camelot.cpp	(revision 1766)
+++ wxOil/camelot.cpp	(working copy)
@@ -293,7 +293,7 @@
 	{
 		TRACEUSER("luke", _T("CCamApp::FilterEvent activate to %s"), pEventObject->GetClassInfo()->GetClassName());
 
-		if( pEventObject->IsKindOf( CLASSINFO(wxFloatingPane) ) )
+		if( pEventObject->IsKindOf( CLASSINFO(wxAuiFloatingFrame) ) )
 		{
 			wxClassInfo* pClassInfo = pEventObject->GetClassInfo();
 			while( NULL != pClassInfo )
Index: wxOil/dlgmgr.h
===================================================================
--- wxOil/dlgmgr.h	(revision 1766)
+++ wxOil/dlgmgr.h	(working copy)
@@ -821,8 +821,8 @@
 
 	static void EnsurePanePreferenceDeclared(wxString key);
 	static void InitPaneInfoHash();
-	static void LoadPaneInfo(wxString key, wxPaneInfo &paneinfo);
-	static void SavePaneInfo(wxString key, wxPaneInfo &paneinfo);
+	static void LoadPaneInfo(wxString key, wxAuiPaneInfo &paneinfo);
+	static void SavePaneInfo(wxString key, wxAuiPaneInfo &paneinfo);
 	static IdToSerializedPaneInfo * s_pPaneInfoHash;
 
 public:
Index: wxOil/wxkeymap.h
===================================================================
--- wxOil/wxkeymap.h	(revision 0)
+++ wxOil/wxkeymap.h	(revision 0)
@@ -0,0 +1,24 @@
+#ifndef WXOIL_WXKEYMAP
+#define WXOIL_WXKEYMAP
+
+#include "camtypes.h"
+#include <map>
+#include "fixstr32.h"
+
+/********************************************************************************************
+
+	class: wxKeyMap
+	Author: Jason M'Sadoques
+	Created: 28/05/2007
+	Purpose: Maps the string representation of a wx key (i.e. "WXK_F1"), into it's enum value.
+
+********************************************************************************************/
+class wxKeyMap
+{
+	static std::map<String_32, UINT32> keymap;
+	static void GenerateMap();
+	public:
+		static UINT32 GetKeyVal(String_32);
+};
+
+#endif
Index: wxOil/xrc/STANDARD_HOTKEYS.res
===================================================================
--- wxOil/xrc/STANDARD_HOTKEYS.res	(revision 1766)
+++ wxOil/xrc/STANDARD_HOTKEYS.res	(working copy)
@@ -1,142 +1,142 @@
-HotKey	0x09		Constrain				"Ctrl+Tab"		"NextDocument"
-HotKey	0x09		Adjust Constrain		"Ctrl+Shift+Tab" "LastDocument"
+HotKey	"WXK_TAB"		Constrain				"Ctrl+Tab"		"NextDocument"
+HotKey	"WXK_TAB"		Adjust Constrain		"Ctrl+Shift+Tab" "LastDocument"
 
-HotKey	0x41		Constrain				"Ctrl+A"		"SelectAll"
-HotKey	0x41		Adjust Constrain		"Ctrl+Shift+A"	"PasteAttributes"
-HotKey	0x42		Constrain				"Ctrl+B"		"PutToBack"
-HotKey	0x42		Adjust Constrain		"Ctrl+Shift+B"	"MoveBackwards"
-HotKey	0x43		Constrain				"Ctrl+C"		"Copy"
-HotKey	0x43 		Adjust Constrain 		"Ctrl+Shift+C"	"ConvertToBitmap"
-HotKey	0x44		Constrain				"Ctrl+D"		"Duplicate"
-HotKey	0x44		Adjust Constrain		"Ctrl+Shift+D"	"MoveBackwardsALayer"
-HotKey	0x45		Constrain				"Ctrl+E"		"ColourPicker"
-HotKey	0x45		Adjust Constrain		"Ctrl+Shift+E"	"Export"
-HotKey	0x46		Constrain				"Ctrl+F"		"BringToFront"
-HotKey	0x46		Adjust Constrain		"Ctrl+Shift+F"	"MoveForwards"
-HotKey	0x47		Constrain				"Ctrl+G"		"Group"
-HotKey	0x47		Adjust Constrain		"Ctrl+Shift+G"	"Group"
-HotKey	0x57		Constrain				"Ctrl+W"		"FileClose"
-HotKey	0x49		Adjust Constrain		"Ctrl+Shift+I"	"Import"
-HotKey	0x49		Constrain				"Ctrl+I"		"ImageSlice"
-HotKey	0x4A		Adjust Constrain		"Ctrl+Shift+J"	"ZoomDrawing"
-HotKey	0x4B		Constrain				"Ctrl+K"		"EditClone"
-HotKey	0x4C		Constrain				"Ctrl+L"		"ViewRulers"
-HotKey	0x4C		Adjust Constrain		"Ctrl+Shift+L"	"ArrangeAlignment"
-HotKey	0x4E		Constrain				"Ctrl+N"		"FileNewDrawing"
-HotKey	0x4E		Adjust Constrain		"Ctrl+Shift+N"	"FileNewAnimation"
-HotKey	0x4F		Constrain				"Ctrl+O"		"FileOpen"
-HotKey	0x4F		Adjust Constrain		"Ctrl+Shift+O"	"UtilOptions"
-HotKey	0x50		Constrain				"Ctrl+P"		"Print"
-HotKey	0x50		Adjust Constrain		"Ctrl+Shift+P"	"ZoomSpread"
-HotKey  0x52		Constrain				"Ctrl+R"		"ZoomPrev"
-HotKey  0x52		Adjust Constrain		"Ctrl+Shift+R"	"ReverseStoryPath"
-HotKey	0x53		Constrain				"Ctrl+S"		"FileSave"
-HotKey	0x53		Adjust Constrain		"Ctrl+Shift+S"	"ConvertToShapes"
-HotKey  0x54		Adjust Constrain		"Ctrl+Shift+T"	"TimeDraw"
-HotKey	0x55		Constrain				"Ctrl+U"		"Ungroup"
-HotKey	0x55		Adjust Constrain 		"Ctrl+Shift+U"	"MoveForwardsALayer"
-HotKey	0x56		Constrain				"Ctrl+V"		"Paste"
-HotKey	0x56		Adjust Constrain		"Ctrl+Shift+V"	"PasteAtSamePos"
-HotKey	0x57		Adjust Constrain		"Ctrl+Shift+W"	"WebAddressDlg"
-HotKey	0x58		Constrain				"Ctrl+X"		"Cut"
-HotKey	0x59		Constrain				"Ctrl+Y"		"Redo"
-HotKey	0x59		Adjust Constrain		"Ctrl+Shift+Y"	"URLImport"
-HotKey	0x5A		Constrain				"Ctrl+Z"		"Undo"
-HotKey  0x5A		Adjust Constrain		"Ctrl+Shift+Z"	"ZoomSelect"
-HotKey	0xBC							"<"				"Undo"
-HotKey	0xBE							">"				"Redo"
-HotKey	0x1B							"Esc"			"SelectNone"
-HotKey	0x08								"Backspace"		"Cut"
-HotKey	0x7F 	Extended				"Del"			"Delete"
-HotKey	0x7F 							"Del"			"Delete"
-HotKey	0x2D 	Extended				"Ins"			"Paste"
-HotKey	0xDE		CheckUnicode			"#"				"ShowGrid"
-HotKey	0x0D							"Return"		"EditSelection"
-HotKey	0x0D	Extended				"Enter"			"EditSelection"
-HotKey	0x2D	Extended Adjust			"Shift+Insert"	"Paste"
-HotKey	0x2D	Extended Constrain		"Ctrl+Insert"	"Copy"
-HotKey	0x7F	Adjust					"Shift+Delete"	"Cut"
-HotKey	0x7F	Extended Adjust			"Shift+Delete"	"Cut"
-HotKey	0x13D							"NumPad 8"		"ViewFullScreen"
-HotKey	0x156	Extended				"F1"			"HelpIndex"
-HotKey	0x187	WorksInDrag				"NumPad *"		"SnapToObjects"
-HotKey	0x185	WorksInDrag Extended	"NumPad ."		"SnapToGrid"
-HotKey	0x17D	WorksInDrag				"NumPad 2"		"SnapToGuides"
-HotKey	0x182  						"NumPad 1"		"ShowGuides"
-HotKey	0x31	Constrain			"Ctrl+1"			"AddShapes"
-HotKey	0x32	Constrain			"Ctrl+2"			"SubtractShapes"
-HotKey  0x33	Constrain			"Ctrl+3"			"IntersectShapes"
-HotKey  0x34	Constrain			"Ctrl+4"			"SliceShapes"
-HotKey  0x38	Adjust Constrain		"Ctrl+Shift+8"			"CXFTreeDlg"
-HotKey  0x39	Adjust Constrain		"Ctrl+Shift+9"			"ThrottleCache"
-HotKey  0x30	Adjust Constrain		"Ctrl+Shift+0"			"ClearCache"
-HotKey  0x188	Constrain		"Ctrl+NumPad +"		"ZoomIn"
-HotKey  0x18A	Constrain		"Ctrl+NumPad -"		"ZoomOut"
-HotKey	0x31		Alternative		"Alt+1"				"TOOL13"
-HotKey	0x32		Alternative		"Alt+2"				"TOOL17"
-HotKey  0x33		Alternative		"Alt+3"				"TOOL22"
-HotKey  0x34		Alternative		"Alt+4"				"TOOL23"
-HotKey  0x35		Alternative		"Alt+5"				"TOOL24"
-HotKey  0x36		Alternative		"Alt+6"				"TOOL16"
-HotKey  0x37		Alternative		"Alt+7"				"TOOL19"
-HotKey  0x38		Alternative		"Alt+8"				"TOOL25"
-HotKey  0x39		Alternative		"Alt+9"				"TOOL3"
-HotKey  0x30		Alternative		"Alt+0"				"TOOL4"
-HotKey  0x157	Extended			"F2"				"TOOL7"
-HotKey  0x158	Extended			"F3"				"TOOL6"
-HotKey  0x159	Extended			"F4"				"TOOL11"
-HotKey  0x15A	Extended			"F5"				"TOOL13"
-HotKey	0x15B	Extended			"F6"				"TOOL17"
-HotKey	0x15C	Extended			"F7"				"TOOL16"
-HotKey	0x15D	Extended			"F8"				"TOOL21"
-HotKey	0x157	Adjust Extended		"Shift+F2"			"TOOL18"
-HotKey	0x158	Adjust Extended		"Shift+F3"			"TOOL5"
-HotKey	0x159	Adjust Extended		"Shift+F4"			"TOOL12"
-HotKey	0x15A	Adjust Extended		"Shift+F5"			"TOOL14"
-HotKey	0x15B	Adjust Extended		"Shift+F6"			"TOOL19"
-HotKey	0x15C	Adjust Extended		"Shift+F7"			"TOOL4"
-HotKey	0x15D	Adjust Extended		"Shift+F8"			"TOOL3"
-HotKey	0x157	Constrain Extended	"Ctrl+F2"			"TOOL22"
-HotKey  0x158	Constrain Extended	"Ctrl+F3"			"TOOL23"
-HotKey  0x15A	Constrain Extended	"Ctrl+F5"			"TOOL26"
-HotKey	0x15C	Constrain Extended	"Ctrl+F7"			"TOOL24"
-HotKey	0x15D	Constrain Extended	"Ctrl+F8"			"TOOL25"
-HotKey	0x15E	Extended			"F9"				"DisplayColourGallery"
-HotKey	0x15F	Extended			"F10"				"DisplayLayerGallery"
-HotKey	0x160	Extended			"F11"				"DisplayBitmapGallery"
-HotKey	0x161	Extended			"F12"				"DisplayLineGallery"
-HotKey	0x15E	Adjust Extended		"Shift+F9"			"DisplayFontsGallery"
-HotKey	0x15F	Adjust Extended		"Shift+F10"			"DisplayClipartGallery"
-HotKey	0x160	Adjust Extended		"Shift+F11"			"DisplayFillsGallery"
-HotKey	0x161	Adjust Extended		"Shift+F12"			"DisplayFrameGallery"
-HotKey	0x15e	Adjust Constrain Extended		"Ctrl+Shift+F9"		"DisplayNameGallery"
-HotKey	0x13d		Extended									  "CursorUp"					"NudgeUp1"
-HotKey	0x13d		Extended	Constrain						  "Ctrl+CursorUp"				"NudgeUp5"
-HotKey	0x13d		Extended	Adjust							  "Shift+CursorUp"				"NudgeUp10"
-HotKey  0x13d		Extended	Constrain Adjust 				  "Ctrl+Shift+CursorUp"			"NudgeUpFifth"
-HotKey	0x13d		Extended	Alternative						  "Alt+CursorUp"				"NudgeUpPixel1"
-HotKey	0x13d		Extended	Alternative Adjust				  "Alt+Shift+CursorUp"			"NudgeUpPixel10"
-HotKey	0x13f		Extended									  "CursorDown"					"NudgeDown1"
-HotKey	0x13f		Extended	Constrain		   				  "Ctrl+CursorDown"			    "NudgeDown5"
-HotKey	0x13f		Extended	Adjust			 				  "Shift+CursorDown"		    "NudgeDown10"
-HotKey	0x13f		Extended	Constrain Adjust				  "Ctrl+Shift+CursorDown"		"NudgeDownFifth"
-HotKey  0x13f		Extended	Alternative						  "Alt+CursorDown"				"NudgeDownPixel1"
-HotKey	0x13f		Extended	Alternative Adjust				  "Alt+Shift+CursorUp"			"NudgeDownPixel10" 		
-HotKey	0x13c		Extended									  "CursorLeft"					 "NudgeLeft1"
-HotKey	0x13c		Extended	Constrain						  "Ctrl+CursorLeft"				 "NudgeLeft5"
-HotKey	0x13c		Extended	Adjust							  "Shift+CursorLeft"			 "NudgeLeft10"
-HotKey	0x13c		Extended	Constrain Adjust 				  "Ctrl+Shift+CursorLeft"		 "NudgeLeftFifth"
-HotKey	0x13c		Extended	Alternative						  "Alt+CursorLeft"				 "NudgeLeftPixel1"
-HotKey	0x13c		Extended	Alternative Adjust				  "Alt+Shift+CursorLeft"		 "NudgeLeftPixel10" 	
+HotKey	"WXK_A"		Constrain				"Ctrl+A"		"SelectAll"
+HotKey	"WXK_A"		Adjust Constrain		"Ctrl+Shift+A"	"PasteAttributes"
+HotKey	"WXK_B"		Constrain				"Ctrl+B"		"PutToBack"
+HotKey	"WXK_B"		Adjust Constrain		"Ctrl+Shift+B"	"MoveBackwards"
+HotKey	"WXK_C"		Constrain				"Ctrl+C"		"Copy"
+HotKey	"WXK_C" 		Adjust Constrain 		"Ctrl+Shift+C"	"ConvertToBitmap"
+HotKey	"WXK_D"		Constrain				"Ctrl+D"		"Duplicate"
+HotKey	"WXK_D"		Adjust Constrain		"Ctrl+Shift+D"	"MoveBackwardsALayer"
+HotKey	"WXK_E"		Constrain				"Ctrl+E"		"ColourPicker"
+HotKey	"WXK_E"		Adjust Constrain		"Ctrl+Shift+E"	"Export"
+HotKey	"WXK_F"		Constrain				"Ctrl+F"		"BringToFront"
+HotKey	"WXK_F"		Adjust Constrain		"Ctrl+Shift+F"	"MoveForwards"
+HotKey	"WXK_G"		Constrain				"Ctrl+G"		"Group"
+HotKey	"WXK_G"		Adjust Constrain		"Ctrl+Shift+G"	"Group"
+HotKey	"WXK_W"		Constrain				"Ctrl+W"		"FileClose"
+HotKey	"WXK_I"		Adjust Constrain		"Ctrl+Shift+I"	"Import"
+HotKey	"WXK_I"		Constrain				"Ctrl+I"		"ImageSlice"
+HotKey	"WXK_J"		Adjust Constrain		"Ctrl+Shift+J"	"ZoomDrawing"
+HotKey	"WXK_K"		Constrain				"Ctrl+K"		"EditClone"
+HotKey	"WXK_L"		Constrain				"Ctrl+L"		"ViewRulers"
+HotKey	"WXK_L"		Adjust Constrain		"Ctrl+Shift+L"	"ArrangeAlignment"
+HotKey	"WXK_N"		Constrain				"Ctrl+N"		"FileNewDrawing"
+HotKey	"WXK_N"		Adjust Constrain		"Ctrl+Shift+N"	"FileNewAnimation"
+HotKey	"WXK_O"		Constrain				"Ctrl+O"		"FileOpen"
+HotKey	"WXK_O"		Adjust Constrain		"Ctrl+Shift+O"	"UtilOptions"
+HotKey	"WXK_P"		Constrain				"Ctrl+P"		"Print"
+HotKey	"WXK_P"		Adjust Constrain		"Ctrl+Shift+P"	"ZoomSpread"
+HotKey  "WXK_R"		Constrain				"Ctrl+R"		"ZoomPrev"
+HotKey  "WXK_R"		Adjust Constrain		"Ctrl+Shift+R"	"ReverseStoryPath"
+HotKey	"WXK_S"		Constrain				"Ctrl+S"		"FileSave"
+HotKey	"WXK_S"		Adjust Constrain		"Ctrl+Shift+S"	"ConvertToShapes"
+HotKey  "WXK_T"		Adjust Constrain		"Ctrl+Shift+T"	"TimeDraw"
+HotKey	"WXK_U"		Constrain				"Ctrl+U"		"Ungroup"
+HotKey	"WXK_U"		Adjust Constrain 		"Ctrl+Shift+U"	"MoveForwardsALayer"
+HotKey	"WXK_V"		Constrain				"Ctrl+V"		"Paste"
+HotKey	"WXK_V"		Adjust Constrain		"Ctrl+Shift+V"	"PasteAtSamePos"
+HotKey	"WXK_W"		Adjust Constrain		"Ctrl+Shift+W"	"WebAddressDlg"
+HotKey	"WXK_X"		Constrain				"Ctrl+X"		"Cut"
+HotKey	"WXK_Y"		Constrain				"Ctrl+Y"		"Redo"
+HotKey	"WXK_Y"		Adjust Constrain		"Ctrl+Shift+Y"	"URLImport"
+HotKey	"WXK_Z"		Constrain				"Ctrl+Z"		"Undo"
+HotKey  "WXK_Z"		Adjust Constrain		"Ctrl+Shift+Z"	"ZoomSelect"
+HotKey	"WXK_LESS"							"<"				"Undo"
+HotKey	"WXK_GREATER"							">"				"Redo"
+HotKey	"WXK_ESCAPE"							"Esc"			"SelectNone"
+HotKey	"WXK_BACK"								"Backspace"		"Cut"
+HotKey	"WXK_DELETE" 	Extended				"Del"			"Delete"
+HotKey	"WXK_DELETE" 							"Del"			"Delete"
+HotKey	"WXK_INSERT" 	Extended				"Ins"			"Paste"
+HotKey	"WXK_HASH"		CheckUnicode			"#"				"ShowGrid"
+HotKey	"WXK_RETURN"							"Return"		"EditSelection"
+HotKey	"WXK_RETURN"	Extended				"Enter"			"EditSelection"
+HotKey	"WXK_INSERT"	Extended Adjust			"Shift+Insert"	"Paste"
+HotKey	"WXK_INSERT"	Extended Constrain		"Ctrl+Insert"	"Copy"
+HotKey	"WXK_DELETE"	Adjust					"Shift+Delete"	"Cut"
+HotKey	"WXK_DELETE"	Extended Adjust			"Shift+Delete"	"Cut"
+HotKey	"WXK_NUMPAD8"							"NumPad 8"		"ViewFullScreen"
+HotKey	"WXK_F1"	Extended				"F1"			"HelpIndex"
+HotKey	"WXK_NUMPAD_MULTIPLY"	WorksInDrag				"NumPad *"		"SnapToObjects"
+HotKey	"WXK_NUMPAD_DECIMAL"	WorksInDrag Extended	"NumPad ."		"SnapToGrid"
+HotKey	"WXK_NUMPAD2"	WorksInDrag				"NumPad 2"		"SnapToGuides"
+HotKey	"WXK_NUMPAD1"  						"NumPad 1"		"ShowGuides"
+HotKey	"WXK_1"	Constrain			"Ctrl+1"			"AddShapes"
+HotKey	"WXK_2"	Constrain			"Ctrl+2"			"SubtractShapes"
+HotKey  "WXK_3"	Constrain			"Ctrl+3"			"IntersectShapes"
+HotKey  "WXK_4"	Constrain			"Ctrl+4"			"SliceShapes"
+HotKey  "WXK_8"	Adjust Constrain		"Ctrl+Shift+8"			"CXFTreeDlg"
+HotKey  "WXK_9"	Adjust Constrain		"Ctrl+Shift+9"			"ThrottleCache"
+HotKey  "WXK_0"	Adjust Constrain		"Ctrl+Shift+0"			"ClearCache"
+HotKey  "WXK_NUMPAD_ADD"	Constrain		"Ctrl+NumPad +"		"ZoomIn"
+HotKey  "WXK_NUMPAD_SUBTRACT"	Constrain		"Ctrl+NumPad -"		"ZoomOut"
+HotKey	"WXK_1"		Alternative		"Alt+1"				"TOOL13"
+HotKey	"WXK_2"		Alternative		"Alt+2"				"TOOL17"
+HotKey  "WXK_3"		Alternative		"Alt+3"				"TOOL22"
+HotKey  "WXK_4"		Alternative		"Alt+4"				"TOOL23"
+HotKey  "WXK_5"		Alternative		"Alt+5"				"TOOL24"
+HotKey  "WXK_6"		Alternative		"Alt+6"				"TOOL16"
+HotKey  "WXK_7"		Alternative		"Alt+7"				"TOOL19"
+HotKey  "WXK_8"		Alternative		"Alt+8"				"TOOL25"
+HotKey  "WXK_9"		Alternative		"Alt+9"				"TOOL3"
+HotKey  "WXK_0"		Alternative		"Alt+0"				"TOOL4"
+HotKey  "WXK_F2"	Extended			"F2"				"TOOL7"
+HotKey  "WXK_F3"	Extended			"F3"				"TOOL6"
+HotKey  "WXK_F4"	Extended			"F4"				"TOOL11"
+HotKey  "WXK_F5"	Extended			"F5"				"TOOL13"
+HotKey	"WXK_F6"	Extended			"F6"				"TOOL17"
+HotKey	"WXK_F7"	Extended			"F7"				"TOOL16"
+HotKey	"WXK_F8"	Extended			"F8"				"TOOL21"
+HotKey	"WXK_F2"	Adjust Extended		"Shift+F2"			"TOOL18"
+HotKey	"WXK_F3"	Adjust Extended		"Shift+F3"			"TOOL5"
+HotKey	"WXK_F4"	Adjust Extended		"Shift+F4"			"TOOL12"
+HotKey	"WXK_F5"	Adjust Extended		"Shift+F5"			"TOOL14"
+HotKey	"WXK_F6"	Adjust Extended		"Shift+F6"			"TOOL19"
+HotKey	"WXK_F7"	Adjust Extended		"Shift+F7"			"TOOL4"
+HotKey	"WXK_F8"	Adjust Extended		"Shift+F8"			"TOOL3"
+HotKey	"WXK_F2"	Constrain Extended	"Ctrl+F2"			"TOOL22"
+HotKey  "WXK_F3"	Constrain Extended	"Ctrl+F3"			"TOOL23"
+HotKey  "WXK_F5"	Constrain Extended	"Ctrl+F5"			"TOOL26"
+HotKey	"WXK_F7"	Constrain Extended	"Ctrl+F7"			"TOOL24"
+HotKey	"WXK_F8"	Constrain Extended	"Ctrl+F8"			"TOOL25"
+HotKey	"WXK_F9"	Extended			"F9"				"DisplayColourGallery"
+HotKey	"WXK_F10"	Extended			"F10"				"DisplayLayerGallery"
+HotKey	"WXK_F11"	Extended			"F11"				"DisplayBitmapGallery"
+HotKey	"WXK_F12"	Extended			"F12"				"DisplayLineGallery"
+HotKey	"WXK_F9"	Adjust Extended		"Shift+F9"			"DisplayFontsGallery"
+HotKey	"WXK_F10"	Adjust Extended		"Shift+F10"			"DisplayClipartGallery"
+HotKey	"WXK_F11"	Adjust Extended		"Shift+F11"			"DisplayFillsGallery"
+HotKey	"WXK_F12"	Adjust Extended		"Shift+F12"			"DisplayFrameGallery"
+HotKey	"WXK_F9"	Adjust Constrain Extended		"Ctrl+Shift+F9"		"DisplayNameGallery"
+HotKey	"WXK_UP"		Extended									  "CursorUp"					"NudgeUp1"
+HotKey	"WXK_UP"		Extended	Constrain						  "Ctrl+CursorUp"				"NudgeUp5"
+HotKey	"WXK_UP"		Extended	Adjust							  "Shift+CursorUp"				"NudgeUp10"
+HotKey  "WXK_UP"		Extended	Constrain Adjust 				  "Ctrl+Shift+CursorUp"			"NudgeUpFifth"
+HotKey	"WXK_UP"		Extended	Alternative						  "Alt+CursorUp"				"NudgeUpPixel1"
+HotKey	"WXK_UP"		Extended	Alternative Adjust				  "Alt+Shift+CursorUp"			"NudgeUpPixel10"
+HotKey	"WXK_DOWN"		Extended									  "CursorDown"					"NudgeDown1"
+HotKey	"WXK_DOWN"		Extended	Constrain		   				  "Ctrl+CursorDown"			    "NudgeDown5"
+HotKey	"WXK_DOWN"		Extended	Adjust			 				  "Shift+CursorDown"		    "NudgeDown10"
+HotKey	"WXK_DOWN"		Extended	Constrain Adjust				  "Ctrl+Shift+CursorDown"		"NudgeDownFifth"
+HotKey  "WXK_DOWN"		Extended	Alternative						  "Alt+CursorDown"				"NudgeDownPixel1"
+HotKey	"WXK_DOWN"		Extended	Alternative Adjust				  "Alt+Shift+CursorDown"			"NudgeDownPixel10" 		
+HotKey	"WXK_LEFT"		Extended									  "CursorLeft"					 "NudgeLeft1"
+HotKey	"WXK_LEFT"		Extended	Constrain						  "Ctrl+CursorLeft"				 "NudgeLeft5"
+HotKey	"WXK_LEFT"		Extended	Adjust							  "Shift+CursorLeft"			 "NudgeLeft10"
+HotKey	"WXK_LEFT"		Extended	Constrain Adjust 				  "Ctrl+Shift+CursorLeft"		 "NudgeLeftFifth"
+HotKey	"WXK_LEFT"		Extended	Alternative						  "Alt+CursorLeft"				 "NudgeLeftPixel1"
+HotKey	"WXK_LEFT"		Extended	Alternative Adjust				  "Alt+Shift+CursorLeft"		 "NudgeLeftPixel10" 	
 	
-HotKey	0x13e	Extended									  "CursorRight"					 "NudgeRight1"
-HotKey	0x13e	Extended	Constrain						  "Ctrl+CursorRight"			 "NudgeRight5"
-HotKey	0x13e	Extended	Adjust							  "Shift+CursorRight"			 "NudgeRight10"
-HotKey	0x13e	Extended	Constrain Adjust 				  "Ctrl+Shift+CursorRight"		 "NudgeRightFifth"
-HotKey	0x13e	Extended	Alternative						  "Alt+CursorRight"				 "NudgeRightPixel1"
-HotKey  0x13e	Extended	Alternative Adjust				  "Alt+Shift+CursorRight"		 "NudgeRightPixel10"
-ToolSwitch	0x58	Alternative	"" "TOOL3"
-ToolSwitch	0x5A	Alternative	"" "TOOL4"
-ToolSwitch	0x53	Alternative	"" "TOOL7"
-ToolSwitch	0x20			"" "TOOL7"
+HotKey	"WXK_RIGHT"	Extended									  "CursorRight"					 "NudgeRight1"
+HotKey	"WXK_RIGHT"	Extended	Constrain						  "Ctrl+CursorRight"			 "NudgeRight5"
+HotKey	"WXK_RIGHT"	Extended	Adjust							  "Shift+CursorRight"			 "NudgeRight10"
+HotKey	"WXK_RIGHT"	Extended	Constrain Adjust 				  "Ctrl+Shift+CursorRight"		 "NudgeRightFifth"
+HotKey	"WXK_RIGHT"	Extended	Alternative						  "Alt+CursorRight"				 "NudgeRightPixel1"
+HotKey  "WXK_RIGHT"	Extended	Alternative Adjust				  "Alt+Shift+CursorRight"		 "NudgeRightPixel10"
+ToolSwitch	"WXK_X"	Alternative	"" "TOOL3"
+ToolSwitch	"WXK_Z"	Alternative	"" "TOOL4"
+ToolSwitch	"WXK_S"	Alternative	"" "TOOL7"
+ToolSwitch	"WXK_SPACE"			"" "TOOL7"
 HotKeyEnd
Index: wxOil/vkextra.h
===================================================================
--- wxOil/vkextra.h	(revision 1766)
+++ wxOil/vkextra.h	(working copy)
@@ -141,6 +141,9 @@
 #define WXK_Y 0x59
 #define WXK_Z 0x5A
 
+#define WXK_LESS 0xBC
+#define WXK_GREATER 0xBE
+
 #define WXK_ADD 0x6B
 #define WXK_EQUALS 0xBB
 #define WXK_COMMA 0xBC
Index: wxOil/dlgmgr.cpp
===================================================================
--- wxOil/dlgmgr.cpp	(revision 1766)
+++ wxOil/dlgmgr.cpp	(working copy)
@@ -147,6 +147,7 @@
 #include "osrndrgn.h"
 //#include "dlgtypes.h" - in camtypes.h [AUTOMATICALLY REMOVED]
 #include "statline.h"
+#include <wx/imaglist.h>
 
 DECLARE_SOURCE("$Revision$");
 
@@ -470,7 +471,7 @@
 		// We really should take a wxPaneInfo() as an additional parameter to this function to allow this sort
 		// of stuff to be specified. Or try and retrieve it from the DialogBarOp or similar. Anyway, for now
 		// give it some default parameters
-		wxPaneInfo paneinfo;
+		wxAuiPaneInfo paneinfo;
 		if (!DlgOp->IsABar())
 		{
 			// default galleries to 300 deep. Specifying -1 as a width doesn't seem to work
@@ -531,7 +532,7 @@
 		wxWindow * pTLW = pDialogWnd;
 		while (pTLW->GetParent())
 			pTLW=pTLW->GetParent();
-		if (pTLW->IsKindOf(CLASSINFO(wxFloatingPane)))
+		if (pTLW->IsKindOf(CLASSINFO(wxAuiFloatingFrame)))
 			pTLW->Raise();
 
 	}
@@ -862,7 +863,7 @@
 
 ********************************************************************************************/
 
-void DialogManager::LoadPaneInfo(wxString key, wxPaneInfo &paneinfo)
+void DialogManager::LoadPaneInfo(wxString key, wxAuiPaneInfo &paneinfo)
 {
 	if (!s_pPaneInfoHash)
 		InitPaneInfoHash();
@@ -901,7 +902,7 @@
 
 ********************************************************************************************/
 
-void DialogManager::SavePaneInfo(wxString key, wxPaneInfo &paneinfo)
+void DialogManager::SavePaneInfo(wxString key, wxAuiPaneInfo &paneinfo)
 {
 	// work around mysterious wxGTK sizing bug
 	if ((paneinfo.IsOk()) && (paneinfo.IsFloating()))
@@ -1895,7 +1896,7 @@
 
 	if (pDlgOp->pEvtHandler->wxAUImanaged)
 	{
-		wxPaneInfo paneinfo = CCamFrame::GetMainFrame()->GetFrameManager()->GetPane(pCWnd);
+		wxAuiPaneInfo paneinfo = CCamFrame::GetMainFrame()->GetFrameManager()->GetPane(pCWnd);
 		if (paneinfo.IsOk())
 			SavePaneInfo(wxString(CamResource::GetObjectName(pCWnd->GetId())), paneinfo);
 		// Remove the bar from wxAUI
@@ -7173,7 +7174,7 @@
 		pTLW = pTLW->GetParent();
 
 	if (pTLW)
-		pTLW->SetTitle( (TCHAR *)(*Name) );
+		pTLW->SetLabel( (TCHAR *)(*Name) );
 
 	return true;
 }
Index: wxOil/camframe.h
===================================================================
--- wxOil/camframe.h	(revision 1766)
+++ wxOil/camframe.h	(working copy)
@@ -100,7 +100,7 @@
 
 // Forward definitions
 class CCamCanvas;
-class wxFrameManager;
+class wxAuiManager;
 class CaptureWnd;
 
 class CCamFrame :
@@ -114,7 +114,7 @@
 	
 	wxMenu			   *m_editMenu;
 #if defined(USE_WXAUI)
-	wxFrameManager *m_pFrameManager;
+	wxAuiManager *m_pFrameManager;
 #endif
 	wxStatusBar*		m_pStatusBar;
 
@@ -130,7 +130,7 @@
 	~CCamFrame();
 
 	static CCamFrame * GetMainFrame() {return m_pMainFrame;}
-	static wxFrameManager * GetFrameManager() { return m_pMainFrame?m_pMainFrame->m_pFrameManager:NULL;}
+	static wxAuiManager * GetFrameManager() { return m_pMainFrame?m_pMainFrame->m_pFrameManager:NULL;}
 	
 	wxStatusBar* GetStatusBar() const 	{ return m_pStatusBar; }
 
Index: wxOil/camframe.cpp
===================================================================
--- wxOil/camframe.cpp	(revision 1766)
+++ wxOil/camframe.cpp	(working copy)
@@ -129,14 +129,14 @@
 
 #if defined(USE_WXAUI)
 
-class CamFrameManager : public wxFrameManager
+class CamFrameManager : public wxAuiManager
 {
 private:
 	DECLARE_CLASS( CamFrameManager )
 
 public:
 	CamFrameManager(wxFrame* frame = NULL, unsigned int /*TYPENOTE: Correct*/ flags = wxAUI_MGR_DEFAULT)
-		   : wxFrameManager(frame, flags)
+		   : wxAuiManager(frame, flags)
 	{
 	}
 
@@ -154,7 +154,7 @@
 		event.Skip();
 	}
 
-	void OnPaneClose(wxFrameManagerEvent& event)
+	void OnPaneClose(wxAuiManagerEvent& event)
 	{
 		// For now just pretend cancel was clicked. This is sufficient to fool
 		// dialogmanager into closing the window it would seem
@@ -174,11 +174,11 @@
 	DECLARE_EVENT_TABLE()
 };
 
-IMPLEMENT_CLASS( CamFrameManager, wxFrameManager )
-BEGIN_EVENT_TABLE( CamFrameManager, wxFrameManager )
+IMPLEMENT_CLASS( CamFrameManager, wxAuiManager )
+BEGIN_EVENT_TABLE( CamFrameManager, wxAuiManager )
 	EVT_SIZE(CamFrameManager::OnSize)
 	EVT_MOVE(CamFrameManager::OnMove)
-	EVT_AUI_PANECLOSE(CamFrameManager::OnPaneClose)
+	EVT_AUI_PANE_CLOSE(CamFrameManager::OnPaneClose)
 END_EVENT_TABLE()
 
 #endif
@@ -386,7 +386,7 @@
 	{
 		pColourBar->Create(this, 12345);
 
-		wxPaneInfo paneinfo;
+		wxAuiPaneInfo paneinfo;
 		paneinfo.BottomDockable().Bottom();
 		paneinfo.CaptionVisible(false);
 		m_pFrameManager->AddPane(pColourBar, paneinfo);