]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/win_gtk.h
corrected/removed forward declarations
[wxWidgets.git] / include / wx / gtk / win_gtk.h
index 0340f05dfd4335b0366ddd7a4b06c23a91d86ff5..f98a775a3df2786371c097da7d201b15e924d0ac 100644 (file)
 /* ///////////////////////////////////////////////////////////////////////////
 // Name:        win_gtk.h
-// Purpose:     wxWidgets's GTK base widget = GtkPizza
+// Purpose:     native GTK+ widget for wxWindow
 // Author:      Robert Roebling
 // Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////// */
 
+#ifndef _WX_GTK_PIZZA_H_
+#define _WX_GTK_PIZZA_H_
 
-#ifndef __GTK_PIZZA_H__
-#define __GTK_PIZZA_H__
+#include <gtk/gtkfixed.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+#define WX_PIZZA(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, wxPizza::type(), wxPizza)
+#define WX_IS_PIZZA(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, wxPizza::type())
 
-#include <gtk/gtkcontainer.h>
-
-#include "wx/dlimpexp.h"
-
-#define GTK_PIZZA(obj)          GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
-#define GTK_IS_PIZZA(obj)       GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
-
-/* Shadow types */
-typedef enum
+struct WXDLLIMPEXP_CORE wxPizza
 {
-    GTK_MYSHADOW_NONE,
-    GTK_MYSHADOW_THIN,
-    GTK_MYSHADOW_IN,
-    GTK_MYSHADOW_OUT
-} GtkMyShadowType;
-
-typedef struct _GtkPizzaChild    GtkPizzaChild;
-typedef struct _GtkPizza        GtkPizza;
-typedef struct _GtkPizzaClass   GtkPizzaClass;
-
-struct _GtkPizzaChild
-{
-    GtkWidget *widget;
-    gint x;
-    gint y;
-    gint width;
-    gint height;
+    // borders styles which can be used with wxPizza
+    enum { BORDER_STYLES =
+        wxBORDER_SIMPLE | wxBORDER_RAISED | wxBORDER_SUNKEN | wxBORDER_THEME };
+
+    static GtkWidget* New(long windowStyle = 0);
+    static GType type();
+    void move(GtkWidget* widget, int x, int y);
+    void scroll(int dx, int dy);
+    void get_border_widths(int& x, int& y);
+
+    GtkFixed m_fixed;
+    GdkWindow* m_backing_window;
+    int m_scroll_x;
+    int m_scroll_y;
+    int m_border_style;
+    bool m_is_scrollable;
 };
 
-struct _GtkPizza
-{
-    GtkContainer container;
-    GList *children;
-    GtkMyShadowType shadow_type;
-
-    guint m_xoffset;
-    guint m_yoffset;
-    
-    gint  m_width;
-
-    GdkWindow *bin_window;
-};
-
-struct _GtkPizzaClass
-{
-  GtkContainerClass parent_class;
-
-  void  (*set_scroll_adjustments)   (GtkPizza     *pizza,
-                                     GtkAdjustment  *hadjustment,
-                                     GtkAdjustment  *vadjustment);
-};
-
-WXDLLIMPEXP_CORE
-GtkType    gtk_pizza_get_type        (void);
-WXDLLIMPEXP_CORE
-GtkWidget* gtk_pizza_new             (void);
-
-/* accessors */
-
-WXDLLIMPEXP_CORE
-gint       gtk_pizza_get_xoffset     (GtkPizza          *pizza); 
-WXDLLIMPEXP_CORE
-gint       gtk_pizza_get_yoffset     (GtkPizza          *pizza); 
-WXDLLIMPEXP_CORE
-void       gtk_pizza_set_xoffset     (GtkPizza          *pizza, gint xoffset); 
-WXDLLIMPEXP_CORE
-void       gtk_pizza_set_yoffset     (GtkPizza          *pizza, gint yoffset); 
-
-
-WXDLLIMPEXP_CORE
-gint       gtk_pizza_get_rtl_offset  (GtkPizza          *pizza); 
-
-WXDLLIMPEXP_CORE
-void       gtk_pizza_set_shadow_type (GtkPizza          *pizza,
-                                      GtkMyShadowType    type);
-
-WXDLLIMPEXP_CORE
-void       gtk_pizza_scroll          (GtkPizza          *pizza,
-                                      gint               dx,
-                                      gint               dy);
-
-WXDLLIMPEXP_CORE
-void       gtk_pizza_put             (GtkPizza          *pizza,
-                                      GtkWidget         *widget,
-                                      gint               x,
-                                      gint               y,
-                                      gint               width,
-                                      gint               height);
-
-WXDLLIMPEXP_CORE
-void       gtk_pizza_set_size        (GtkPizza          *pizza,
-                                      GtkWidget         *widget,
-                                      gint               x,
-                                      gint               y,
-                                      gint               width,
-                                      gint               height);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GTK_PIZZA_H__ */
+#endif // _WX_GTK_PIZZA_H_