]> 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 ac04b3c0efc2d0496a57ee3dd72e460655a730df..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
-{
-  GTK_MYSHADOW_NONE,
-  GTK_MYSHADOW_THIN,
-  GTK_MYSHADOW_IN,
-  GTK_MYSHADOW_OUT,
-} GtkMyShadowType;
-
-typedef struct _GtkMyFixed        GtkMyFixed;
-typedef struct _GtkMyFixedClass   GtkMyFixedClass;
-typedef struct _GtkMyFixedChild   GtkMyFixedChild;
-
-struct _GtkMyFixed
-{
-  GtkContainer container;
-  GList *children;
-#if (GTK_MINOR_VERSION > 0)
-  GtkMyShadowType shadow_type;
-#endif
-};
-
-struct _GtkMyFixedClass
-{
-  GtkContainerClass parent_class;
-
-#if (GTK_MINOR_VERSION > 0)
-  void  (*set_scroll_adjustments)   (GtkMyFixed     *myfixed,
-                                    GtkAdjustment  *hadjustment,
-                                    GtkAdjustment  *vadjustment);
-#endif
-};
-
-struct _GtkMyFixedChild
+struct WXDLLIMPEXP_CORE wxPizza
 {
-  GtkWidget *widget;
-  gint16 x;
-  gint16 y;
-  gint16 width;
-  gint16 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;
 };
 
-guint      gtk_myfixed_get_type        (void);
-GtkWidget* gtk_myfixed_new             (void);
-#if (GTK_MINOR_VERSION > 0)
-void       gtk_myfixed_set_shadow_type (GtkMyFixed     *myfixed,
-                                       GtkMyShadowType  type);
-#endif
-void       gtk_myfixed_put             (GtkMyFixed     *myfixed,
-                                        GtkWidget      *widget,
-                                        gint16         x,
-                                        gint16         y,
-                                       gint16         width,
-                                       gint16         height);
-
-void       gtk_myfixed_move            (GtkMyFixed     *myfixed,
-                                        GtkWidget      *widget,
-                                        gint16         x,
-                                        gint16         y );
-                                       
-void       gtk_myfixed_resize          (GtkMyFixed     *myfixed,
-                                        GtkWidget      *widget,
-                                        gint16         width,
-                                        gint16         height );
-                                       
-void       gtk_myfixed_set_size        (GtkMyFixed     *myfixed,
-                                        GtkWidget      *widget,
-                                        gint16         x,
-                                        gint16         y,
-                                        gint16         width,
-                                        gint16         height);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GTK_MYFIXED_H__ */
+#endif // _WX_GTK_PIZZA_H_