]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/win_gtk.h
added WX_ASSERT_MESSAGE macro to simply using CPPUNIT_ASSERT_MESSAGE with wxString...
[wxWidgets.git] / include / wx / gtk / win_gtk.h
index e48944e75fe4a3760c6fcdf35b19edc11373ce1f..f98a775a3df2786371c097da7d201b15e924d0ac 100644 (file)
 /* ///////////////////////////////////////////////////////////////////////////
 // Name:        win_gtk.h
-// Purpose:     wxWindows's GTK base widget
+// Purpose:     native GTK+ widget for wxWindow
 // Author:      Robert Roebling
 // Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////// */
 
+#ifndef _WX_GTK_PIZZA_H_
+#define _WX_GTK_PIZZA_H_
 
-#ifndef __GTK_MYFIXED_H__
-#define __GTK_MYFIXED_H__
+#include <gtk/gtkfixed.h>
 
-#include <gdk/gdk.h>
-#include <gtk/gtkcontainer.h>
-#include <gtk/gtkadjustment.h>
-#include <gtk/gtkfeatures.h>
+#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())
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-#define GTK_MYFIXED(obj)          GTK_CHECK_CAST (obj, gtk_myfixed_get_type (), GtkMyFixed)
-#define GTK_MYFIXED_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_myfixed_get_type (), GtkMyFixedClass)
-#define GTK_IS_MYFIXED(obj)       GTK_CHECK_TYPE (obj, gtk_myfixed_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 _GtkMyFixed        GtkMyFixed;
-typedef struct _GtkMyFixedClass   GtkMyFixedClass;
-
-struct _GtkMyFixed
-{
-  GtkContainer container;
-  GList *children;
-  GtkMyShadowType shadow_type;
-  
-  guint width;
-  guint height;
-
-  guint xoffset;
-  guint yoffset;
-
-  GdkWindow *bin_window;
-
-  GdkVisibilityState visibility;
-  gulong configure_serial;
-  gint scroll_x;
-  gint scroll_y;
-  
-  gboolean clear_on_draw;
+    // 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 _GtkMyFixedClass
-{
-  GtkContainerClass parent_class;
-
-  void  (*set_scroll_adjustments)   (GtkMyFixed     *myfixed,
-                                    GtkAdjustment  *hadjustment,
-                                    GtkAdjustment  *vadjustment);
-};
-
-guint      gtk_myfixed_get_type        (void);
-GtkWidget* gtk_myfixed_new             (void);
-
-void       gtk_myfixed_set_shadow_type (GtkMyFixed     *myfixed,
-                                       GtkMyShadowType  type);
-                                       
-void       gtk_my_fixed_set_clear      (GtkMyFixed     *myfixed,
-                                        gboolean        clear);                
-                                       
-void       gtk_myfixed_scroll                  (GtkMyFixed     *myfixed,       
-                                         gint         dx,
-                                         gint         dy);
-                                       
-void       gtk_myfixed_put             (GtkMyFixed     *myfixed,
-                                        GtkWidget      *widget,
-                                        gint         x,
-                                        gint         y,
-                                       gint         width,
-                                       gint         height);
-
-void       gtk_myfixed_move            (GtkMyFixed     *myfixed,
-                                        GtkWidget      *widget,
-                                        gint         x,
-                                        gint         y );
-                                       
-void       gtk_myfixed_resize          (GtkMyFixed     *myfixed,
-                                        GtkWidget      *widget,
-                                        gint         width,
-                                        gint         height );
-                                       
-void       gtk_myfixed_set_size        (GtkMyFixed     *myfixed,
-                                        GtkWidget      *widget,
-                                        gint         x,
-                                        gint         y,
-                                        gint         width,
-                                        gint         height);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GTK_MYFIXED_H__ */
+#endif // _WX_GTK_PIZZA_H_