Blame gladeui/glade-command.h

Packit 1e8aac
#ifndef __GLADE_COMMAND_H__
Packit 1e8aac
#define __GLADE_COMMAND_H__
Packit 1e8aac
Packit 1e8aac
#include <gladeui/glade-placeholder.h>
Packit 1e8aac
#include <gladeui/glade-widget.h>
Packit 1e8aac
#include <gladeui/glade-signal.h>
Packit 1e8aac
#include <gladeui/glade-property.h>
Packit 1e8aac
#include <gladeui/glade-project.h>
Packit 1e8aac
#include <glib-object.h>
Packit 1e8aac
Packit 1e8aac
G_BEGIN_DECLS
Packit 1e8aac
Packit 1e8aac
Packit 1e8aac
#define GLADE_TYPE_COMMAND            (glade_command_get_type ())
Packit 1e8aac
#define GLADE_COMMAND(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_COMMAND, GladeCommand))
Packit 1e8aac
#define GLADE_COMMAND_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_COMMAND, GladeCommandClass))
Packit 1e8aac
#define GLADE_IS_COMMAND(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_COMMAND))
Packit 1e8aac
#define GLADE_IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_COMMAND))
Packit 1e8aac
#define GLADE_COMMAND_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_TYPE_COMMAND, GladeCommandClass))
Packit 1e8aac
Packit 1e8aac
typedef struct _GladeCommand        GladeCommand;
Packit 1e8aac
typedef struct _GladeCommandClass   GladeCommandClass;
Packit 1e8aac
typedef struct _GladeCommandPrivate GladeCommandPrivate;
Packit 1e8aac
typedef struct _GCSetPropData       GCSetPropData;
Packit 1e8aac
Packit 1e8aac
/**
Packit 1e8aac
 * GCSetPropData
Packit 1e8aac
 * @property: A #GladeProperty to set
Packit 1e8aac
 * @new_value: The new #GValue to assign to @property
Packit 1e8aac
 * @old_value: The old #GValue of @property
Packit 1e8aac
 *
Packit 1e8aac
 * #GladeProperties can be set in a list as one command,
Packit 1e8aac
 * for Undo purposes; we store the list of #GCSetPropData with
Packit 1e8aac
 * their old and new #GValue.
Packit 1e8aac
 */
Packit 1e8aac
struct _GCSetPropData {
Packit 1e8aac
  GladeProperty *property;
Packit 1e8aac
  GValue        *new_value;
Packit 1e8aac
  GValue        *old_value;
Packit 1e8aac
};
Packit 1e8aac
Packit 1e8aac
struct _GladeCommand
Packit 1e8aac
{
Packit 1e8aac
  GObject parent;
Packit 1e8aac
Packit 1e8aac
  GladeCommandPrivate *priv;
Packit 1e8aac
};
Packit 1e8aac
Packit 1e8aac
struct _GladeCommandClass
Packit 1e8aac
{
Packit 1e8aac
  GObjectClass parent_class;
Packit 1e8aac
Packit 1e8aac
  gboolean (* execute)     (GladeCommand *this_cmd);
Packit 1e8aac
  gboolean (* undo)        (GladeCommand *this_cmd);
Packit 1e8aac
  gboolean (* unifies)     (GladeCommand *this_cmd, GladeCommand *other_cmd);
Packit 1e8aac
  void     (* collapse)    (GladeCommand *this_cmd, GladeCommand *other_cmd);
Packit 1e8aac
Packit 1e8aac
  void   (* glade_reserved1)   (void);
Packit 1e8aac
  void   (* glade_reserved2)   (void);
Packit 1e8aac
  void   (* glade_reserved3)   (void);
Packit 1e8aac
  void   (* glade_reserved4)   (void);
Packit 1e8aac
};
Packit 1e8aac
Packit 1e8aac
Packit 1e8aac
Packit 1e8aac
GType                 glade_command_get_type             (void);
Packit 1e8aac
Packit 1e8aac
void                  glade_command_push_group           (const gchar       *fmt,
Packit 1e8aac
							  ...) G_GNUC_PRINTF (1, 2);
Packit 1e8aac
void                  glade_command_pop_group            (void);
Packit 1e8aac
gint                  glade_command_get_group_depth      (void);
Packit 1e8aac
Packit 1e8aac
G_CONST_RETURN gchar *glade_command_description          (GladeCommand      *command);
Packit 1e8aac
gint                  glade_command_group_id             (GladeCommand      *command);
Packit 1e8aac
gboolean              glade_command_execute              (GladeCommand      *command);
Packit 1e8aac
gboolean              glade_command_undo                 (GladeCommand      *command);
Packit 1e8aac
gboolean              glade_command_unifies              (GladeCommand      *command,
Packit 1e8aac
							  GladeCommand      *other);
Packit 1e8aac
void                  glade_command_collapse             (GladeCommand      *command,
Packit 1e8aac
							  GladeCommand      *other);
Packit 1e8aac
Packit 1e8aac
/************************ project ******************************/
Packit 1e8aac
void           glade_command_set_project_target  (GladeProject *project,
Packit 1e8aac
						  const gchar  *catalog,
Packit 1e8aac
						  gint          major,
Packit 1e8aac
						  gint          minor);
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_project_domain  (GladeProject *project,     
Packit 1e8aac
					          const gchar  *domain);
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_project_template(GladeProject *project,     
Packit 1e8aac
					          GladeWidget  *widget);
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_project_license (GladeProject *project,
Packit 1e8aac
                                                  const gchar  *license);
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_project_resource_path (GladeProject *project,
Packit 1e8aac
                                                        const gchar  *path);
Packit 1e8aac
Packit 1e8aac
/************************** properties *********************************/
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_property_enabled(GladeProperty *property,
Packit 1e8aac
					          gboolean       enabled);
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_property        (GladeProperty *property,
Packit 1e8aac
					          ...);
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_property_value  (GladeProperty *property,
Packit 1e8aac
						  const GValue  *value);
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_properties      (GladeProperty *property,
Packit 1e8aac
					          const GValue  *old_value,
Packit 1e8aac
					          const GValue  *new_value,
Packit 1e8aac
						  ...);
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_properties_list (GladeProject  *project, 
Packit 1e8aac
						  GList         *props); /* list of GCSetPropData */
Packit 1e8aac
Packit 1e8aac
/************************** name ******************************/
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_name      (GladeWidget       *glade_widget, const gchar  *name);
Packit 1e8aac
Packit 1e8aac
Packit 1e8aac
/************************ protection ******************************/
Packit 1e8aac
Packit 1e8aac
void           glade_command_lock_widget   (GladeWidget   *widget, 
Packit 1e8aac
					    GladeWidget   *lock);
Packit 1e8aac
Packit 1e8aac
void           glade_command_unlock_widget (GladeWidget   *widget);
Packit 1e8aac
Packit 1e8aac
Packit 1e8aac
/************************ create/add/delete ******************************/
Packit 1e8aac
Packit 1e8aac
void           glade_command_add           (GList              *widgets,
Packit 1e8aac
					    GladeWidget        *parent,
Packit 1e8aac
					    GladePlaceholder   *placeholder, 
Packit 1e8aac
					    GladeProject       *project,
Packit 1e8aac
					    gboolean            pasting);
Packit 1e8aac
Packit 1e8aac
void           glade_command_delete        (GList              *widgets);
Packit 1e8aac
Packit 1e8aac
GladeWidget   *glade_command_create        (GladeWidgetAdaptor *adaptor,
Packit 1e8aac
					    GladeWidget        *parent,
Packit 1e8aac
					    GladePlaceholder   *placeholder,
Packit 1e8aac
					    GladeProject       *project);
Packit 1e8aac
Packit 1e8aac
/************************ cut/paste/dnd ******************************/
Packit 1e8aac
Packit 1e8aac
void           glade_command_cut           (GList             *widgets);
Packit 1e8aac
Packit 1e8aac
void           glade_command_paste         (GList             *widgets,
Packit 1e8aac
					    GladeWidget       *parent,
Packit 1e8aac
					    GladePlaceholder  *placeholder,
Packit 1e8aac
					    GladeProject      *project);
Packit 1e8aac
Packit 1e8aac
void           glade_command_dnd           (GList             *widgets,
Packit 1e8aac
					    GladeWidget       *parent,
Packit 1e8aac
					    GladePlaceholder  *placeholder);
Packit 1e8aac
Packit 1e8aac
/************************ signals ******************************/
Packit 1e8aac
Packit 1e8aac
void           glade_command_add_signal    (GladeWidget       *glade_widget, 
Packit 1e8aac
					    const GladeSignal *signal);
Packit 1e8aac
Packit 1e8aac
void           glade_command_remove_signal (GladeWidget       *glade_widget, 
Packit 1e8aac
					    const GladeSignal *signal);
Packit 1e8aac
Packit 1e8aac
void           glade_command_change_signal (GladeWidget       *glade_widget, 
Packit 1e8aac
					    const GladeSignal *old_signal, 
Packit 1e8aac
					    const GladeSignal *new_signal);
Packit 1e8aac
Packit 1e8aac
/************************ set i18n ******************************/
Packit 1e8aac
Packit 1e8aac
void           glade_command_set_i18n      (GladeProperty     *property,
Packit 1e8aac
					    gboolean translatable,
Packit 1e8aac
					    const gchar *context,
Packit 1e8aac
					    const gchar *comment);
Packit 1e8aac
Packit 1e8aac
Packit 1e8aac
G_END_DECLS
Packit 1e8aac
Packit 1e8aac
#endif /* __GLADE_COMMAND_H__ */