[anjuta-devel] GDL API changes



Hi all,


Here is a proposal for changing GDL API. Basically, I plan the following changes:

- Remove all define and replace them by functions or remove them if they looks useful only inside GDL. - Remove all members in Gdl objects and replace them with access function if they looks useful outside, using something like GSEAL to keep the compatibility for this version.

Tell me, if you have some functions those are really important for you or on the opposite if you think that some functions should be removed.



Here is a detailed list of changes for GdlDockObject and GdlDockItem.

* GdlDockObject:

- Replace GDL_DOCK_OBJECT_ATTACHED (obj)
by gboolean gdl_dock_item_is_closed (GdlDockItem *item);

- Replace GDL_DOCK_OBJECT_ATTACHED (obj)
by gboolean gdl_dock_object_get_automatic (GdlDockObject *object);

- Remove GDL_DOCK_OBJECT_FLAGS (obj)
keep it in a private header inside GDL library

- Remove GDL_DOCK_OBJECT_FLAGS_SHIFT
keep it in a private header inside GDL library

- Remove GDL_DOCK_OBJECT_FROZEN (obj)
keep it in a private header inside GDL library

- Remove GDL_DOCK_OBJECT_IN_DETACH()
keep it in a private header inside GDL library

- Remove GDL_DOCK_OBJECT_IN_REFLOW()
keep it in a private header inside GDL library

- Remove GDL_DOCK_OBJECT_SET_FLAGS()
keep it in a private header inside GDL library

- Remove GDL_DOCK_OBJECT_UNSET_FLAGS()
keep it in a private header inside GDL library

- Remove GDL_TRACE_OBJECT()
keep it in a private header inside GDL library

- Change struct GdlDockObject
I think it would be better to move all members in a private structure

- Add const gchar * gdl_dock_object_get_name (GdlDockObject *object)

- Add void gdl_dock_object_set_name (GdlDockObject *object, const gchar *name)

- Replace void gdl_dock_object_bind (GdlDockObject *object, GObject *master)
by void gdl_dock_object_set_master (GdlDockObject *object, GObject *master)

- Add GObject *gdl_dock_object_get_master (GdlDockObject *object)

- Add const gchar * gdl_dock_object_get_long_name (GdlDockObject *object)

- Add void gdl_dock_object_set_long_name (GdlDockObject *object, const gchar *name)

- Add const gchar * gdl_dock_object_get_stock_id (GdlDockObject *object)

- Add void gdl_dock_object_set_stock_id (GdlDockObject *object, const gchar *name)

- Add GdkPixbuf* gdl_dock_object_get_pixbuf (GdlDockObject *object)

- Add void gdl_dock_object_set_pixbuf (GdlDockObject *object, GdkPixbuf *pixbuf)

- Change struct GdlDockObjectClass
Should I add some reserved space for extension?

- Change gboolean gdl_dock_object_child_placement (GdlDockObject *object, GdlDockObject *child, GdlDockPlacement *placement) to gboolean gdl_dock_object_get_child_placement (GdlDockObject *object, GdlDockObject *child, GdlDockPlacement *placement, GValue *other data)

- Rename gboolen gdl_dock_object_reorder (GdlDockObject *object, GdlDockObject *child, GdlDockPlacement new_position, GValue *other_data);
to gdl_dock_object_set_child_placement


* GdlDockItem:

- Replace GDL_DOCK_ITEM_CANT_CLOSE (item)
by gboolean gdl_dock_item_cant_close (GdlDockItem *item)

- Replace GDL_DOCK_ITEM_CANT_ICONIFY (item)
by gboolean gdl_dock_item_cant_iconify (GdlDockItem *item)

- Remove GDL_DOCK_ITEM_FLAGS (item)
use GDL_DOCK_OBJECT_FLAGS instead

- Replace GDL_DOCK_ITEM_HAS_GRIP (item)
by gboolean gdl_dock_item_has_grip (GdlDockItem *item)

- Replace GDL_DOCK_ITEM_ICONIFIED (item)
by gboolean gdl_dock_item_is_iconified (GdlDockItem *item)

- Remove GDL_DOCK_ITEM_IN_DRAG (item)
keep it in a private header inside GDL library

- Remove GDL_DOCK_ITEM_IN_PREDRAG (item)
keep it in a private header inside GDL library

- Replace GDL_DOCK_ITEM_NOT_LOCKED (item)
by gboolean gdl_dock_item_is_locked (GdlDockItem *item)

- Replace GDL_DOCK_ITEM_NO_GRIP (item)
by gboolean gdl_dock_item_has_grip (GdlDockItem *item)


- Remove GDL_DOCK_ITEM_SET_FLAGS (item, flag)
use GDL_DOCK_OBJECT_SET_FLAGS instead

- Remove GDL_DOCK_ITEM_UNSET_FLAGS (item, flag)
use GDL_DOCK_OBJECT_SET_FLAGS instead

- Remove GDL_DOCK_ITEM_USER_ACTION (item)


Regards,

Sébastien



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]