|
Packit |
1e8aac |
#ifndef __GLADE_FIXED_H__
|
|
Packit |
1e8aac |
#define __GLADE_FIXED_H__
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#include <glib-object.h>
|
|
Packit |
1e8aac |
#include <gtk/gtk.h>
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#include <gladeui/glade.h>
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
G_BEGIN_DECLS
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define GLADE_TYPE_FIXED (glade_fixed_get_type())
|
|
Packit |
1e8aac |
#define GLADE_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_FIXED, GladeFixed))
|
|
Packit |
1e8aac |
#define GLADE_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_FIXED, GladeFixedClass))
|
|
Packit |
1e8aac |
#define GLADE_IS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_FIXED))
|
|
Packit |
1e8aac |
#define GLADE_IS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_FIXED))
|
|
Packit |
1e8aac |
#define GLADE_FIXED_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GLADE_FIXED, GladeFixedClass))
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Convenience macros used in pointer events.
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
#define GLADE_FIXED_CURSOR_TOP(type) \
|
|
Packit |
1e8aac |
((type) == GLADE_CURSOR_RESIZE_TOP_RIGHT || \
|
|
Packit |
1e8aac |
(type) == GLADE_CURSOR_RESIZE_TOP_LEFT || \
|
|
Packit |
1e8aac |
(type) == GLADE_CURSOR_RESIZE_TOP)
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define GLADE_FIXED_CURSOR_BOTTOM(type) \
|
|
Packit |
1e8aac |
((type) == GLADE_CURSOR_RESIZE_BOTTOM_RIGHT || \
|
|
Packit |
1e8aac |
(type) == GLADE_CURSOR_RESIZE_BOTTOM_LEFT || \
|
|
Packit |
1e8aac |
(type) == GLADE_CURSOR_RESIZE_BOTTOM)
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define GLADE_FIXED_CURSOR_RIGHT(type) \
|
|
Packit |
1e8aac |
((type) == GLADE_CURSOR_RESIZE_TOP_RIGHT || \
|
|
Packit |
1e8aac |
(type) == GLADE_CURSOR_RESIZE_BOTTOM_RIGHT || \
|
|
Packit |
1e8aac |
(type) == GLADE_CURSOR_RESIZE_RIGHT)
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define GLADE_FIXED_CURSOR_LEFT(type) \
|
|
Packit |
1e8aac |
((type) == GLADE_CURSOR_RESIZE_TOP_LEFT || \
|
|
Packit |
1e8aac |
(type) == GLADE_CURSOR_RESIZE_BOTTOM_LEFT || \
|
|
Packit |
1e8aac |
(type) == GLADE_CURSOR_RESIZE_LEFT)
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
typedef struct _GladeFixed GladeFixed;
|
|
Packit |
1e8aac |
typedef struct _GladeFixedClass GladeFixedClass;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
struct _GladeFixed {
|
|
Packit |
1e8aac |
GladeWidget parent_instance;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gchar *x_prop; /* packing property names (on child widgets) used */
|
|
Packit |
1e8aac |
gchar *y_prop; /* to obtain & configure widget coordinates */
|
|
Packit |
1e8aac |
gchar *width_prop; /* property names (on child widgets) used to obtain */
|
|
Packit |
1e8aac |
gchar *height_prop; /* & configure widget dimentions. */
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gboolean can_resize; /* whether the container supports child resizes or only
|
|
Packit |
1e8aac |
* drags.
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* State machine used to commit properties at the end
|
|
Packit |
1e8aac |
* of a drag or a resize (i.e. a "configure").
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
gint pointer_x_origin;
|
|
Packit |
1e8aac |
gint pointer_y_origin;
|
|
Packit |
1e8aac |
gint pointer_x_child_origin;
|
|
Packit |
1e8aac |
gint pointer_y_child_origin;
|
|
Packit |
1e8aac |
gint child_x_origin;
|
|
Packit |
1e8aac |
gint child_y_origin;
|
|
Packit |
1e8aac |
gint child_width_origin;
|
|
Packit |
1e8aac |
gint child_height_origin;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
GladeWidget *configuring;
|
|
Packit |
1e8aac |
GladeCursorType operation;
|
|
Packit |
1e8aac |
gboolean creating;
|
|
Packit |
1e8aac |
gint mouse_x;
|
|
Packit |
1e8aac |
gint mouse_y;
|
|
Packit |
1e8aac |
};
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
struct _GladeFixedClass {
|
|
Packit |
1e8aac |
GladeWidgetClass parent_class;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gboolean (* configure_child) (GladeFixed *, GladeWidget *, GdkRectangle *);
|
|
Packit |
1e8aac |
gboolean (* configure_begin) (GladeFixed *, GladeWidget *);
|
|
Packit |
1e8aac |
gboolean (* configure_end) (GladeFixed *, GladeWidget *);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Signal handler for child widgets
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
gint (* child_event) (GladeWidget *, GdkEvent *, GladeFixed *);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
};
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
GType glade_fixed_get_type (void);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
G_END_DECLS
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#endif /* __GLADE_FIXED_H__ */
|