/* we cannot MWM hints and icons before the widget has been realized,
so we do this directly after realization */
-static gint
+static void
gtk_frame_realized_callback( GtkWidget * WXUNUSED(widget), wxFrame *win )
{
if (g_isIdle)
node = node->GetNext();
}
+}
- return FALSE;
+//-----------------------------------------------------------------------------
+// "map_event" from m_widget
+//-----------------------------------------------------------------------------
+
+static void
+gtk_frame_map_callback( GtkWidget * WXUNUSED(widget),
+ GdkEvent * WXUNUSED(event),
+ wxFrame *win )
+{
+ win->m_isIconized = FALSE;
+}
+
+//-----------------------------------------------------------------------------
+// "unmap_event" from m_widget
+//-----------------------------------------------------------------------------
+
+static void
+gtk_frame_unmap_callback( GtkWidget * WXUNUSED(widget),
+ GdkEvent * WXUNUSED(event),
+ wxFrame *win )
+{
+ win->m_isIconized = TRUE;
}
// ----------------------------------------------------------------------------
m_menuBarDetached = FALSE;
m_toolBarDetached = FALSE;
m_insertInClientArea = TRUE;
+ m_isIconized = FALSE;
+ m_fsIsShowing = FALSE;
}
bool wxFrame::Create( wxWindow *parent,
wxTopLevelWindows.Append( this );
m_needParent = FALSE;
- m_fsIsShowing = FALSE;
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
gtk_signal_connect( GTK_OBJECT(m_widget), "configure_event",
GTK_SIGNAL_FUNC(gtk_frame_configure_callback), (gpointer)this );
+ /* map and unmap for iconized state */
+ gtk_signal_connect( GTK_OBJECT(m_widget), "map_event",
+ GTK_SIGNAL_FUNC(gtk_frame_map_callback), (gpointer)this );
+ gtk_signal_connect( GTK_OBJECT(m_widget), "unmap_event",
+ GTK_SIGNAL_FUNC(gtk_frame_unmap_callback), (gpointer)this );
+
+ /* the only way to get the window size is to connect to this event */
+ gtk_signal_connect( GTK_OBJECT(m_widget), "configure_event",
+ GTK_SIGNAL_FUNC(gtk_frame_configure_callback), (gpointer)this );
+
/* disable native tab traversal */
gtk_signal_connect( GTK_OBJECT(m_widget), "focus",
GTK_SIGNAL_FUNC(gtk_frame_focus_callback), (gpointer)this );
}
// ----------------------------------------------------------------------------
-// frame state: maximized/iconized/normal (TODO)
+// frame state: maximized/iconized/normal
// ----------------------------------------------------------------------------
void wxFrame::Maximize(bool WXUNUSED(maximize))
{
+ wxFAIL_MSG( _T("not implemented") );
}
bool wxFrame::IsMaximized() const
{
+ wxFAIL_MSG( _T("not implemented") );
+
return FALSE;
}
void wxFrame::Restore()
{
+ wxFAIL_MSG( _T("not implemented") );
}
void wxFrame::Iconize( bool iconize )
bool wxFrame::IsIconized() const
{
- return FALSE;
+ return m_isIconized;
}