BEGIN_EVENT_TABLE(wxTopLevelWindowBase, wxWindow)
EVT_CLOSE(wxTopLevelWindowBase::OnCloseWindow)
EVT_SIZE(wxTopLevelWindowBase::OnSize)
+ EVT_WINDOW_DESTROY(wxTopLevelWindowBase::OnChildDestroy)
END_EVENT_TABLE()
// ============================================================================
#endif
}
+// ----------------------------------------------------------------------------
+// icons
+// ----------------------------------------------------------------------------
+
+wxIcon wxTopLevelWindowBase::GetIcon() const
+{
+ return m_icons.IsEmpty() ? wxIcon() : m_icons.GetIcon( -1 );
+}
+
+void wxTopLevelWindowBase::SetIcon(const wxIcon& icon)
+{
+ // passing wxNullIcon to SetIcon() is possible (it means that we shouldn't
+ // have any icon), but adding an invalid icon to wxIconBundle is not
+ wxIconBundle icons;
+ if ( icon.Ok() )
+ icons.AddIcon(icon);
+
+ SetIcons(icons);
+}
+
// ----------------------------------------------------------------------------
// event handlers
// ----------------------------------------------------------------------------
Destroy();
}
+void wxTopLevelWindowBase::OnChildDestroy(wxWindowDestroyEvent& event)
+{
+ event.Skip();
+
+ wxWindow * const win = event.GetWindow();
+ if ( win == m_winDefault )
+ m_winDefault = NULL;
+ if ( win == m_winTmpDefault )
+ m_winTmpDefault = NULL;
+}
+
bool wxTopLevelWindowBase::SendIconizeEvent(bool iconized)
{
wxIconizeEvent event(GetId(), iconized);