X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ff7b1510ea7f7855091df83d75a44415dc1cba18..1573d8ed987f98c212c5de19f18b042086794f71:/src/gtk/frame.cpp?ds=sidebyside diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index 7791d8203e..70a326b33d 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -23,20 +23,25 @@ #include "wx/dcclient.h" #include "wx/gtk/win_gtk.h" -const wxMENU_HEIGHT = 28; -const wxSTATUS_HEIGHT = 25; +//----------------------------------------------------------------------------- +// constants +//----------------------------------------------------------------------------- -extern wxList wxTopLevelWindows; -extern wxList wxPendingDelete; +const int wxMENU_HEIGHT = 28; +const int wxSTATUS_HEIGHT = 25; //----------------------------------------------------------------------------- -// wxFrame +// data //----------------------------------------------------------------------------- +extern wxList wxTopLevelWindows; +extern wxList wxPendingDelete; + +//----------------------------------------------------------------------------- +// "size_allocate" //----------------------------------------------------------------------------- -// set size -void gtk_frame_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxFrame *win ) +static void gtk_frame_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxFrame *win ) { if (!win->HasVMT()) return; @@ -51,9 +56,10 @@ void gtk_frame_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, } //----------------------------------------------------------------------------- -// delete +// "delete_event" +//----------------------------------------------------------------------------- -bool gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxFrame *win ) +static gint gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxFrame *win ) { /* printf( "OnDelete from " ); @@ -68,9 +74,10 @@ bool gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED( } //----------------------------------------------------------------------------- -// configure +// "configure_event" +//----------------------------------------------------------------------------- -gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxFrame *win ) +static gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxFrame *win ) { if (!win->HasVMT()) return FALSE; @@ -80,6 +87,8 @@ gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigur return FALSE; } +//----------------------------------------------------------------------------- +// wxFrame //----------------------------------------------------------------------------- BEGIN_EVENT_TABLE(wxFrame, wxWindow) @@ -92,13 +101,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxFrame,wxWindow) wxFrame::wxFrame() { - m_frameMenuBar = NULL; - m_frameStatusBar = NULL; - m_frameToolBar = NULL; + m_frameMenuBar = (wxMenuBar *) NULL; + m_frameStatusBar = (wxStatusBar *) NULL; + m_frameToolBar = (wxToolBar *) NULL; m_sizeSet = FALSE; m_addPrivateChild = FALSE; - m_wxwindow = NULL; - m_mainWindow = NULL; + m_wxwindow = (GtkWidget *) NULL; + m_mainWindow = (GtkWidget *) NULL; wxTopLevelWindows.Insert( this ); } @@ -106,13 +115,13 @@ wxFrame::wxFrame( wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos, const wxSize &size, long style, const wxString &name ) { - m_frameMenuBar = NULL; - m_frameStatusBar = NULL; - m_frameToolBar = NULL; + m_frameMenuBar = (wxMenuBar *) NULL; + m_frameStatusBar = (wxStatusBar *) NULL; + m_frameToolBar = (wxToolBar *) NULL; m_sizeSet = FALSE; m_addPrivateChild = FALSE; - m_wxwindow = NULL; - m_mainWindow = NULL; + m_wxwindow = (GtkWidget *) NULL; + m_mainWindow = (GtkWidget *) NULL; Create( parent, id, title, pos, size, style, name ); wxTopLevelWindows.Insert( this ); } @@ -235,7 +244,7 @@ void wxFrame::GetClientSize( int *width, int *height ) const if (m_frameToolBar) { int y = 0; - m_frameToolBar->GetSize( NULL, &y ); + m_frameToolBar->GetSize( (int *) NULL, &y ); (*height) -= y; } } @@ -249,7 +258,7 @@ void wxFrame::SetClientSize( int const width, int const height ) if (m_frameToolBar) { int y = 0; - m_frameToolBar->GetSize( NULL, &y ); + m_frameToolBar->GetSize( (int *) NULL, &y ); h += y; } wxWindow::SetClientSize( width, h ); @@ -268,6 +277,10 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height m_width = width; m_height = height; + if ((m_minWidth != -1) && (m_width < m_minWidth)) m_width = m_minWidth; + if ((m_minHeight != -1) && (m_height < m_minHeight)) m_height = m_minHeight; + if ((m_maxWidth != -1) && (m_width > m_maxWidth)) m_width = m_minWidth; + if ((m_maxHeight != -1) && (m_height > m_maxHeight)) m_height = m_minHeight; gtk_widget_set_usize( m_widget, width, height ); @@ -295,7 +308,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height } int toolbar_height = 0; - if (m_frameToolBar) m_frameToolBar->GetSize( NULL, &toolbar_height ); + if (m_frameToolBar) m_frameToolBar->GetSize( (int *) NULL, &toolbar_height ); main_y += toolbar_height; main_height -= toolbar_height; @@ -337,7 +350,7 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) ) return; // do we have exactly one child? - wxWindow *child = NULL; + wxWindow *child = (wxWindow *) NULL; for(wxNode *node = GetChildren()->First(); node; node = node->Next()) { wxWindow *win = (wxWindow *)node->Data(); @@ -367,7 +380,7 @@ void wxFrame::AddChild( wxWindow *child ) { // wxFrame and wxDialog as children aren't placed into the parents - if (IS_KIND_OF(child,wxMDIChildFrame)) printf( "wxFrame::AddChild error.\n" ); + if (IS_KIND_OF(child,wxMDIChildFrame)) wxFAIL_MSG( "wxFrame::AddChild error.\n" ); if ( IS_KIND_OF(child,wxFrame) || IS_KIND_OF(child,wxDialog)) { @@ -469,7 +482,7 @@ wxStatusBar* wxFrame::CreateStatusBar( int number, long style, wxWindowID id, co wxStatusBar *wxFrame::OnCreateStatusBar( int number, long style, wxWindowID id, const wxString& name ) { - wxStatusBar *statusBar = NULL; + wxStatusBar *statusBar = (wxStatusBar *) NULL; statusBar = new wxStatusBar(this, id, wxPoint(0, 0), wxSize(100, 20), style, name); @@ -514,21 +527,15 @@ void wxFrame::SetTitle( const wxString &title ) gtk_window_set_title( GTK_WINDOW(m_widget), title ); } -void wxFrame::SetSizeHints(int minW, int minH, int maxW, int maxH, int WXUNUSED(incW) ) -{ - gdk_window_set_hints( m_widget->window, -1, -1, - minW, minH, maxW, maxH, GDK_HINT_MIN_SIZE | GDK_HINT_MIN_SIZE ); -} - void wxFrame::SetIcon( const wxIcon &icon ) { m_icon = icon; if (!icon.Ok()) return; wxMask *mask = icon.GetMask(); - GdkBitmap *bm = NULL; + GdkBitmap *bm = (GdkBitmap *) NULL; if (mask) bm = mask->GetBitmap(); - gdk_window_set_icon( m_widget->window, NULL, icon.GetPixmap(), bm ); + gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm ); }