// a few defines to avoid nameclashes
#define __MAC_OS_X_MEMORY_MANAGER_CLEAN__ 1
#define __AIFF__
- #include "wx/mac/private.h"
+ #include "wx/osx/private.h"
#endif
#ifdef __WXMSW__
}
#endif
- // We need to remove any reference to this wxAuiManager in any of the
- // wxAuiFloatingFrames associated with this manager in case they haven't
- // been deleted just yet.
- // We need an array copy since Unregister removes the items.
- wxAuiFloatingFramePtrArray array_copy = m_floating_frames;
- int i, count = array_copy.GetCount();
- for (i = 0; i < count; ++i)
- {
- UnregisterFloatingFrame(array_copy.Item(i));
- }
-
delete m_art;
}
wxAuiFloatingFrame* wxAuiManager::CreateFloatingFrame(wxWindow* parent,
const wxAuiPaneInfo& pane_info)
{
- wxAuiFloatingFrame* frame = new wxAuiFloatingFrame(parent, this, pane_info);
- RegisterFloatingFrame(frame);
- return frame;
+ return new wxAuiFloatingFrame(parent, this, pane_info);
}
bool wxAuiManager::CanDockPanel(const wxAuiPaneInfo & WXUNUSED(p))
return !(wxGetKeyState(WXK_CONTROL) || wxGetKeyState(WXK_ALT));
}
-// registers a floating frame with this manager (see header)
-void wxAuiManager::RegisterFloatingFrame(wxAuiFloatingFrame* frame)
-{
- frame->SetOwnerManager(this);
- int i, count = m_floating_frames.GetCount();
- for (i = 0; i < count; ++i)
- {
- wxAuiFloatingFrame* f = m_floating_frames.Item(i);
- if (f == frame)
- // this frame is already registered
- return;
- }
- m_floating_frames.Add(frame);
-}
-
-// unregisters a floating frame from this manager (see header)
-void wxAuiManager::UnregisterFloatingFrame(wxAuiFloatingFrame* frame)
-{
- frame->SetOwnerManager(NULL);
- int i, count = m_floating_frames.GetCount();
- for (i = 0; i < count; ++i)
- {
- wxAuiFloatingFrame* f = m_floating_frames.Item(i);
- if (f == frame)
- {
- m_floating_frames.Remove(f);
- return;
- }
- }
-}
-
// GetPane() looks up a wxAuiPaneInfo structure based
// on the supplied window pointer. Upon failure, GetPane()
// returns an empty wxAuiPaneInfo, a condition which can be checked
if (pinfo.name.empty() || already_exists)
{
pinfo.name.Printf(wxT("%08lx%08x%08x%08lx"),
- ((unsigned long)pinfo.window) & 0xffffffff,
+ wxPtrToUInt(pinfo.window) & 0xffffffff,
(unsigned int)time(NULL),
#ifdef __WXWINCE__
(unsigned int)GetTickCount(),
LayoutAddDock(middle, *arr.Item(row), uiparts, spacer_only);
}
- cont->Add(middle, 1, wxEXPAND);
-
+ if (middle->GetChildren().GetCount() > 0)
+ cont->Add(middle, 1, wxEXPAND);
+ else
+ delete middle;
+
// find any bottom docks in this layer
// nasty redrawn problems.
clip.Intersect(m_frame->GetRect());
- screendc.SetClippingRegion(clip);
+ screendc.SetDeviceClippingRegion(clip);
wxBitmap stipple = wxPaneCreateStippleBitmap();
wxBrush brush(stipple);