]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/minifram.cpp
Fix scrolling bug where client size was reported wrong
[wxWidgets.git] / src / gtk1 / minifram.cpp
index 0e4b631ce135e429b0614f00e5b0cb3fce0dc50b..a7803836b3e9ddb6b1ae03a36e7d4c9c40597a7b 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        minifram.cpp
+// Name:        src/gtk1/minifram.cpp
 // Purpose:
 // Author:      Robert Roebling
 // Id:          $Id$
 // Purpose:
 // Author:      Robert Roebling
 // Id:          $Id$
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
-#include "wx/minifram.h"
-
 #if wxUSE_MINIFRAME
 
 #if wxUSE_MINIFRAME
 
-#include "wx/dcscreen.h"
+#include "wx/minifram.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/dcscreen.h"
+#endif
 
 #include "gtk/gtk.h"
 
 #include "gtk/gtk.h"
-#include "wx/gtk/win_gtk.h"
-#include "wx/gtk/private.h"
+#include "wx/gtk1/win_gtk.h"
+#include "wx/gtk1/private.h"
 
 #include <gdk/gdk.h>
 #include <gdk/gdkprivate.h>
 
 #include <gdk/gdk.h>
 #include <gdk/gdkprivate.h>
@@ -82,7 +84,7 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g
                      0, 0,
                      win->m_width, win->m_height );
 
                      0, 0,
                      win->m_width, win->m_height );
 
-    if (!win->GetTitle().IsEmpty() &&
+    if (!win->GetTitle().empty() &&
         ((win->GetWindowStyle() & wxCAPTION) ||
          (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) ||
          (win->GetWindowStyle() & wxTINY_CAPTION_VERT)))
         ((win->GetWindowStyle() & wxCAPTION) ||
          (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) ||
          (win->GetWindowStyle() & wxTINY_CAPTION_VERT)))
@@ -90,7 +92,7 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g
         wxClientDC dc(win);
         dc.SetFont( *wxSMALL_FONT );
         int height = dc.GetCharHeight();
         wxClientDC dc(win);
         dc.SetFont( *wxSMALL_FONT );
         int height = dc.GetCharHeight();
-        
+
         GdkGC *gc = gdk_gc_new( pizza->bin_window );
         gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] );
         gdk_draw_rectangle( pizza->bin_window, gc, TRUE,
         GdkGC *gc = gdk_gc_new( pizza->bin_window );
         gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] );
         gdk_draw_rectangle( pizza->bin_window, gc, TRUE,
@@ -112,7 +114,6 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g
 // "draw" of m_mainWidget
 //-----------------------------------------------------------------------------
 
 // "draw" of m_mainWidget
 //-----------------------------------------------------------------------------
 
-#ifndef __WXGTK20__
 extern "C" {
 static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNUSED(rect), wxFrame *win )
 {
 extern "C" {
 static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNUSED(rect), wxFrame *win )
 {
@@ -129,7 +130,7 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU
                      0, 0,
                      win->m_width, win->m_height );
 
                      0, 0,
                      win->m_width, win->m_height );
 
-    if (!win->m_title.IsEmpty() &&
+    if (!win->GetTitle().empty() &&
         ((win->GetWindowStyle() & wxCAPTION) ||
          (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) ||
          (win->GetWindowStyle() & wxTINY_CAPTION_VERT)))
         ((win->GetWindowStyle() & wxCAPTION) ||
          (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) ||
          (win->GetWindowStyle() & wxTINY_CAPTION_VERT)))
@@ -137,7 +138,7 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU
         wxClientDC dc(win);
         dc.SetFont( *wxSMALL_FONT );
         int height = dc.GetCharHeight();
         wxClientDC dc(win);
         dc.SetFont( *wxSMALL_FONT );
         int height = dc.GetCharHeight();
-        
+
         GdkGC *gc = gdk_gc_new( pizza->bin_window );
         gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] );
         gdk_draw_rectangle( pizza->bin_window, gc, TRUE,
         GdkGC *gc = gdk_gc_new( pizza->bin_window );
         gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] );
         gdk_draw_rectangle( pizza->bin_window, gc, TRUE,
@@ -154,7 +155,6 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU
     }
 }
 }
     }
 }
 }
-#endif
 
 //-----------------------------------------------------------------------------
 // "button_press_event" of m_mainWidget
 
 //-----------------------------------------------------------------------------
 // "button_press_event" of m_mainWidget
@@ -177,9 +177,9 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
     wxClientDC dc(win);
     dc.SetFont( *wxSMALL_FONT );
     int height = dc.GetCharHeight() + 1;
     wxClientDC dc(win);
     dc.SetFont( *wxSMALL_FONT );
     int height = dc.GetCharHeight() + 1;
-    
+
     if (gdk_event->y > height) return TRUE;
     if (gdk_event->y > height) return TRUE;
-        
+
     gdk_window_raise( win->m_widget->window );
 
     gdk_pointer_grab( widget->window, FALSE,
     gdk_window_raise( win->m_widget->window );
 
     gdk_pointer_grab( widget->window, FALSE,
@@ -200,7 +200,7 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
     win->m_oldX = 0;
     win->m_oldY = 0;
 
     win->m_oldX = 0;
     win->m_oldY = 0;
 
-    win->m_isDragging = TRUE;
+    win->m_isDragging = true;
 
     return TRUE;
 }
 
     return TRUE;
 }
@@ -221,7 +221,7 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
 
     if (!win->m_isDragging) return TRUE;
 
 
     if (!win->m_isDragging) return TRUE;
 
-    win->m_isDragging = FALSE;
+    win->m_isDragging = false;
 
     int x = (int)gdk_event->x;
     int y = (int)gdk_event->y;
 
     int x = (int)gdk_event->x;
     int y = (int)gdk_event->y;
@@ -332,7 +332,7 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title
         m_miniTitle = 13;
 
     m_miniEdge = 3;
         m_miniTitle = 13;
 
     m_miniEdge = 3;
-    m_isDragging = FALSE;
+    m_isDragging = false;
     m_oldX = -1;
     m_oldY = -1;
     m_diffX = 0;
     m_oldX = -1;
     m_oldY = -1;
     m_diffX = 0;
@@ -344,7 +344,7 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title
     {
         gtk_window_set_transient_for( GTK_WINDOW(m_widget), GTK_WINDOW(m_parent->m_widget) );
     }
     {
         gtk_window_set_transient_for( GTK_WINDOW(m_widget), GTK_WINDOW(m_parent->m_widget) );
     }
-    
+
     if ((style & wxSYSTEM_MENU) &&
         ((style & wxCAPTION) || (style & wxTINY_CAPTION_HORIZ) || (style & wxTINY_CAPTION_VERT)))
     {
     if ((style & wxSYSTEM_MENU) &&
         ((style & wxCAPTION) || (style & wxTINY_CAPTION_HORIZ) || (style & wxTINY_CAPTION_VERT)))
     {
@@ -379,10 +379,8 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "expose_event",
         GTK_SIGNAL_FUNC(gtk_window_own_expose_callback), (gpointer)this );
 
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "expose_event",
         GTK_SIGNAL_FUNC(gtk_window_own_expose_callback), (gpointer)this );
 
-#ifndef __WXGTK20__
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "draw",
        GTK_SIGNAL_FUNC(gtk_window_own_draw_callback), (gpointer)this );
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "draw",
        GTK_SIGNAL_FUNC(gtk_window_own_draw_callback), (gpointer)this );
-#endif
 
     /* these are required for dragging the mini frame around */
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "button_press_event",
 
     /* these are required for dragging the mini frame around */
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "button_press_event",
@@ -394,18 +392,14 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "motion_notify_event",
       GTK_SIGNAL_FUNC(gtk_window_motion_notify_callback), (gpointer)this );
 
     gtk_signal_connect( GTK_OBJECT(m_mainWidget), "motion_notify_event",
       GTK_SIGNAL_FUNC(gtk_window_motion_notify_callback), (gpointer)this );
 
-    return TRUE;
+    return true;
 }
 
 void wxMiniFrame::SetTitle( const wxString &title )
 {
     wxFrame::SetTitle( title );
 }
 
 void wxMiniFrame::SetTitle( const wxString &title )
 {
     wxFrame::SetTitle( title );
-    
-#ifdef __WXGTK20__
-    gdk_window_invalidate_rect( GTK_PIZZA(m_mainWidget)->bin_window, NULL, true );
-#else
+
     gtk_widget_draw( m_mainWidget, (GdkRectangle*) NULL );
     gtk_widget_draw( m_mainWidget, (GdkRectangle*) NULL );
-#endif
 }
 
 }
 
-#endif
+#endif // wxUSE_MINIFRAME