Glade 3.0 --> Glade-3

* configure.in: Glade 3.0 --> Glade-3

	* doc/tmpl/*.sgml, doc/*.sgml, src/*.c: Massive doc updates,
	  migrated some doc from sgml into source files.
This commit is contained in:
Tristan Van Berkom 2006-02-10 03:41:22 +00:00
parent 34e03866c6
commit b964811816
27 changed files with 428 additions and 231 deletions

View File

@ -1,3 +1,10 @@
2006-02-09 Tristan Van Berkom <tvb@gnome.org>
* configure.in: Glade 3.0 --> Glade-3
* doc/tmpl/*.sgml, doc/*.sgml, src/*.c: Massive doc updates,
migrated some doc from sgml into source files.
2006-02-08 Tristan Van Berkom <tvb@gnome.org>
* configure.in: Require gtkdocize 1.4

View File

@ -54,7 +54,7 @@ AC_SUBST(GLADE_LIBS)
AC_SUBST(GLADE_CFLAGS)
AC_CHECK_LIB(popt, poptStrippedArgv,, AC_MSG_ERROR([popt 1.5 or newer is required to build
glade 3.0. You can download the latest version from ftp://people.redhat.com/sopwith/popt/]))
glade-3. You can download the latest version from ftp://people.redhat.com/sopwith/popt/]))
glade_version="${VERSION}"
@ -75,7 +75,6 @@ AC_SUBST(glade_pixmapsdir)
AC_SUBST(glade_icondir)
AC_SUBST(glade_localedir)
case $host_os in
*mingw* | pw32* | cygwin*)
win32=yes

View File

@ -90,8 +90,8 @@ expand_content_files=\
# signals and properties.
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
INCLUDES=`pkg-config --cflags libgladeui-1.0`
GTKDOC_LIBS=`pkg-config --libs libgladeui-1.0`
INCLUDES=-I$(top_builddir)/src `pkg-config --cflags gtk+-2.0`
GTKDOC_LIBS=${top_builddir}/src/libgladeui-1.la
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make

View File

@ -56,8 +56,7 @@ exactly the same way as previously described with normal object properties.
<term>add-child-function</term>
<listitem>
<para>
Used to add child objects from parent objects.
<programlisting>void add_child (GObject *object, GObject *child);</programlisting>
A #GladeAddChildFunc used to add child objects from parent objects.
</para>
</listitem>
</varlistentry>
@ -65,8 +64,7 @@ Used to add child objects from parent objects.
<term>remove-child-function</term>
<listitem>
<para>
Used to remove child objects from parent objects.
<programlisting>void remove_child (GObject *object, GObject *child);</programlisting>
A #GladeRemoveChildFunc used to remove child objects from parent objects.
</para>
</listitem>
</varlistentry>
@ -74,8 +72,7 @@ Used to remove child objects from parent objects.
<term>replace-child-function</term>
<listitem>
<para>
Used to swap placholders with project widgets.
<programlisting>void replace_child (GtkWidget *container, GtkWidget *current, GtkWidget *new);</programlisting>
A #GladeReplaceChildFunc Used to swap placholders with project widgets.
</para>
</listitem>
</varlistentry>
@ -83,8 +80,7 @@ Used to swap placholders with project widgets.
<term>get-children-function</term>
<listitem>
<para>
Return a list of children for this container.
<programlisting>GList *get_children (GObject *container);</programlisting>
A #GladeGetChildrenFunc to return a list of children for this container.
</para>
</listitem>
</varlistentry>
@ -92,9 +88,8 @@ Return a list of children for this container.
<term>get-all-children-function</term>
<listitem>
<para>
Same as 'get-children-function' except it should include internal children of
composite widget classes too.
<programlisting>GList *get_all_children (GObject *container);</programlisting>
A #GladeGetChildrenFunc like 'get-children-function' except it should include internal
children ofcomposite widget classes too.
</para>
</listitem>
</varlistentry>
@ -102,12 +97,7 @@ composite widget classes too.
<term>child-set-property-function</term>
<listitem>
<para>
Sets a packing property on this child.
<programlisting>
void child_set_property (GObject *container,
GObject *child,
const gchar *property_name,
const GValue *value);</programlisting>
A #GladeChildSetPropertyFunc to set a packing property on this child.
</para>
</listitem>
</varlistentry>
@ -115,12 +105,7 @@ void child_set_property (GObject *container,
<term>child-get-property-function</term>
<listitem>
<para>
Gets a packing property on this child.
<programlisting>
void child_get_property (GObject *container,
GObject *child,
const gchar *property_name,
const GValue *value);</programlisting>
A #GladeChildGetPropertyFunc to get a packing property on this child.
</para>
</listitem>
</varlistentry>

View File

@ -1,10 +1,10 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY CatalogIntro SYSTEM "catalogintro.sgml">
<!ENTITY WidgetClasses SYSTEM "widgetclasses.sgml">
<!ENTITY Properties SYSTEM "properties.sgml">
<!ENTITY Children SYSTEM "children.sgml">
<!ENTITY CatalogIntro SYSTEM "xml/catalogintro.sgml">
<!ENTITY WidgetClasses SYSTEM "xml/widgetclasses.sgml">
<!ENTITY Properties SYSTEM "xml/properties.sgml">
<!ENTITY Children SYSTEM "xml/children.sgml">
<!ENTITY GladeCommand SYSTEM "xml/glade-command.xml">
<!ENTITY GladeApp SYSTEM "xml/glade-app.xml">
<!ENTITY GladeClipboardView SYSTEM "xml/glade-clipboard-view.xml">

View File

@ -297,6 +297,9 @@ GLADE_PROJECT_GET_CLASS
<FILE>glade-property-class</FILE>
<TITLE>GladePropertyClass</TITLE>
GladePropertyClass
GladeVerifyPropertyFunc
GladeGetPropertyFunc
GladeSetPropertyFunc
glade_property_class_new
glade_property_class_new_from_spec
glade_property_class_clone
@ -386,14 +389,15 @@ GLADE_IS_SIGNAL
<FILE>glade-widget-class</FILE>
<TITLE>GladeWidgetClass</TITLE>
GladeWidgetClass
GladeCreateReason
GladePostCreateFunc
GladeChildSetPropertyFunc
GladeChildGetPropertyFunc
GladeGetChildrenFunc
GladeAddChildFunc
GladeRemoveChildFunc
GladePostCreateFunc
GladeReplaceChildFunc
GladeGetInternalFunc
GladeGetInternalChildrenFunc
GladeEditorLaunchFunc
glade_widget_class_new
glade_widget_class_free

View File

@ -6,7 +6,7 @@
<refnamediv>
<refname>Property Classes</refname>
<refpurpose>
How to augment or define a property class definition
How to augment or define a #GladePropertyClass
</refpurpose>
</refnamediv>
@ -25,7 +25,7 @@ Properties of the 'property' tag:
<listitem>
<para>
The name to be used in the interface, this string is translated.
(if name is not specified; it defaults to the nickname of the GParamSpec)
(if name is not specified; it defaults to the nickname of the #GParamSpec)
</para>
</listitem>
</varlistentry>
@ -157,9 +157,9 @@ Child tags of the 'property' tag:
<term>spec</term>
<listitem>
<para>
Specifies a function to be used to return a GParamSpec for this property;
Specifies a function to be used to return a #GParamSpec for this property;
this is used to add virtual properties to an object (like the "size" property
on GtkBox).
on #GtkBox).
</para>
</listitem>
</varlistentry>
@ -170,7 +170,7 @@ on GtkBox).
<para>
The tooltip to be displayed in the property editor for this property, this
is also translated. The tooltip defaults to the blurb of the associated
GParamSpec.
#GParamSpec.
</para>
</listitem>
</varlistentry>
@ -191,8 +191,7 @@ to be edited in a textview with a scrolled window as opposed to a simple text en
<term>set-function</term>
<listitem>
<para>
A function used to set the property instead of g_object_set()
<programlisting>void set_function (GObject *object, GValue *value);</programlisting>
A #GladeSetPropertyFunc used to set the property instead of g_object_set()
</para>
</listitem>
</varlistentry>
@ -201,8 +200,9 @@ A function used to set the property instead of g_object_set()
<term>get-function</term>
<listitem>
<para>
A function used to set the property instead of g_object_get()
<programlisting>void get_function (GObject *object, GValue *value);</programlisting>
A #GladeSetPropertyFunc function used to set the property instead of g_object_get()
</para>
<para>
Technical note: that the get-function is hardly ever used, the only
time glade-3 will actually ask the object what a property's value should be;
is when adding a widget to a container and introspecting the values that
@ -215,10 +215,11 @@ the container assigned the child as packing properties.
<term>verify-function</term>
<listitem>
<para>
A function to verify whether the requested value is valid. If specified;
the editor will not allow the user to commit a value that this function returns
False for.
<programlisting>gboolean verify_function (GObject *object, GValue *value);</programlisting>
A #GladeVerifyPropertyFunc function to verify whether the requested value is valid.
If specified; the editor will not allow the user to commit a value that this
function returns False for.
</para>
<para>
Technical note: verify functions are nescisary in glade-3 because of
the abstraction between the value maintained in the glade-3 core and
the value that is actually on the said GObject's property. In other words,

View File

@ -28,14 +28,10 @@ to initialize the Glade core.
<!-- ##### SIGNAL GladeApp::update-ui ##### -->
<para>
Emitted when a project name changes or a cut/copy/paste/delete occurred.
</para>
<para>
You should derive the app->update_ui_signal vfunc instead if you are
deriving the #GladeApp
</para>
@gladeapp: the #GladeApp which received the signal.
@gladeapp: the object which received the signal.
<!-- ##### FUNCTION glade_app_new ##### -->
<para>

View File

@ -27,59 +27,57 @@ object and its signals.
<!-- ##### SIGNAL GladeProject::add-widget ##### -->
<para>
Emitted when a widget is added to a project.
</para>
@gladeproject: the #GladeProject which received the signal.
@arg1: the #GladeWidget that was added to @gladeproject.
@gladeproject: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GladeProject::close ##### -->
<para>
Emitted when a project is closing (a good time to clean up
any associated resources).
</para>
@gladeproject: the #GladeProject which received the signal.
@gladeproject: the object which received the signal.
<!-- ##### SIGNAL GladeProject::remove-widget ##### -->
<para>
Emitted when a widget is removed from a project.
</para>
@gladeproject: the #GladeProject which received the signal.
@arg1: the #GladeWidget that was removed from @gladeproject.
@gladeproject: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GladeProject::resource-added ##### -->
<para>
Emitted when a resource file required by a #GladeProperty is
added to @gladeproject
</para>
@gladeproject: the #GladeProject which received the signal.
@arg1: the file's basename (in the project path).
@gladeproject: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GladeProject::resource-removed ##### -->
<para>
Emitted when a resource file is removed from @gladeproject
</para>
@gladeproject: the #GladeProject which received the signal.
@arg1: the file's basename
@gladeproject: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GladeProject::selection-changed ##### -->
<para>
Emitted when @gladeproject selection list changes.
</para>
@gladeproject: the #GladeProject which received the signal.
@gladeproject: the object which received the signal.
<!-- ##### SIGNAL GladeProject::widget-name-changed ##### -->
<para>
Emitted when @gwidget's name changes.
</para>
@gladeproject: the #GladeProject which received the signal.
@arg1: the #GladeWidget who's name changed.
@gladeproject: the object which received the signal.
@arg1:
<!-- ##### FUNCTION glade_project_new ##### -->
<para>
@ -266,6 +264,8 @@ Emitted when @gwidget's name changes.
</para>
@project:
@accel_group:
<!-- # Unused Parameters # -->
@new_group:

View File

@ -47,6 +47,34 @@ GladePropertyClass
@set_function:
@get_function:
<!-- ##### USER_FUNCTION GladeVerifyPropertyFunc ##### -->
<para>
</para>
@object:
@value:
@Returns:
<!-- ##### USER_FUNCTION GladeGetPropertyFunc ##### -->
<para>
</para>
@object:
@value:
<!-- ##### USER_FUNCTION GladeSetPropertyFunc ##### -->
<para>
</para>
@object:
@value:
<!-- ##### FUNCTION glade_property_class_new ##### -->
<para>
@ -179,8 +207,10 @@ GladePropertyClass
</para>
@class:
@property_class:
@Returns:
<!-- # Unused Parameters # -->
@class:
<!-- ##### FUNCTION glade_property_class_match ##### -->

View File

@ -39,6 +39,26 @@ GladeWidgetClass
@get_internal_children:
@launch_editor:
<!-- ##### ENUM GladeCreateReason ##### -->
<para>
</para>
@GLADE_CREATE_USER:
@GLADE_CREATE_COPY:
@GLADE_CREATE_LOAD:
@GLADE_CREATE_REBUILD:
@GLADE_CREATE_REASONS:
<!-- ##### USER_FUNCTION GladePostCreateFunc ##### -->
<para>
</para>
@object:
@reason:
<!-- ##### USER_FUNCTION GladeChildSetPropertyFunc ##### -->
<para>
@ -88,13 +108,14 @@ GladeWidgetClass
@child:
<!-- ##### USER_FUNCTION GladePostCreateFunc ##### -->
<!-- ##### USER_FUNCTION GladeReplaceChildFunc ##### -->
<para>
</para>
@object:
@reason:
@container:
@old:
@new:
<!-- ##### USER_FUNCTION GladeGetInternalFunc ##### -->
@ -107,15 +128,6 @@ GladeWidgetClass
@child:
<!-- ##### USER_FUNCTION GladeGetInternalChildrenFunc ##### -->
<para>
</para>
@parent:
@Returns:
<!-- ##### USER_FUNCTION GladeEditorLaunchFunc ##### -->
<para>

View File

@ -30,25 +30,25 @@ convenience api for getting and setting properties (mostly from the plugin).
</para>
@gladewidget: the #GladeWidget which received the signal.
@arg1: the #GladeSignal that was added to @gladewidget.
@gladewidget: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GladeWidget::change-signal-handler ##### -->
<para>
</para>
@gladewidget: the #GladeWidget which received the signal.
@arg1: the old #GladeSignal
@arg2: the new #GladeSignal
@gladewidget: the object which received the signal.
@arg1:
@arg2:
<!-- ##### SIGNAL GladeWidget::remove-signal-handler ##### -->
<para>
</para>
@gladewidget: the #GladeWidget which received the signal.
@arg1: the #GladeSignal that was removed from @gladewidget.
@gladewidget: the object which received the signal.
@arg1:
<!-- ##### ARG GladeWidget:class ##### -->
<para>

View File

@ -6,18 +6,18 @@
<refnamediv>
<refname>Widget Classes</refname>
<refpurpose>
How to augment or define a widget class definition
How to augment or define a #GladeWidgetClass
</refpurpose>
</refnamediv>
<refsect1>
<title>Widget Class Parameters</title>
<title>Forward</title>
<para>
Widget classes are added using the `glade-widget-class' tag and then later
added to the palette through the `glade-widget-group' section; class-wide
parameters can be set on non-instantiatable classes; for example, parameters
for GtkBox are valid for GtkHBox and GtkVBox.
#GladeWidgetClass stuctures are added to a global pool using the `glade-widget-class' tag
and then later added to the palette through the `glade-widget-group' section; class-wide
parameters can be set on non-instantiatable classes; for example, parameters for
#GtkBox are valid for #GtkHBox and #GtkVBox.
</para>
<para>
Note that there are alot of features to support alot of special-cases from
@ -48,69 +48,79 @@ To delve further into details; the complex layout looks like this:
</children>
</glade-widget-class>]]></programlisting>
</para>
<para>
The name is the class name of the widget; this will essentially be used to
instantiate the actual class by deriving 'gtk_label_get_type' from 'GtkLabel'
and searching for 'gtk_label_get_type' in the support library.
</para>
<para>
Generic name is used to get the icon name for the widget palette, and is a regular
icon theme icon. The generic name is also used to generate a default name for
instances of the widget in the UI editor.
</para>
<para>
Title is used to display the name of the class in the palette and widget tree and
will be translated before use in the interface.
</para>
<para>
The 'post-create-function' tag is a support function that gets called whenever
a widget of 'this class' (or a widget derived from 'this class' that didn't provide
its own post-create-function) is instantiated and is of the following form:
<programlisting>
void
glade_gtk_label_post_create (GObject *label, GladeCreateReason reason)
{
/* This function is called exactly once for any project object
* and can be for any of the following GladeCreateReason's
*
* GLADE_CREATE_USER: Was created at the user's request
* (this is a good time to set any properties
* or add children to the project; like GtkFrame's
* label for example).
*
* GLADE_CREATE_COPY: Was created as a result of the copy/paste
* mechanism, at this point you can count on glade
* to follow up with properties and children on
* its own.
*
* GLADE_CREATE_LOAD: Was created during the load process.
*
* GLADE_CREATE_REBUILD: Was created as a replacement for another project
* object; this only happens when the user is
* changing a property that is marked by the type
* system as G_PARAM_SPEC_CONSTRUCT_ONLY.
*/
}</programlisting>
</para>
The 'launch-editor-function' tag is a support function used to launch a custom editor
for this class; a good example for this is the GtkMenuBar which needs a special editor
in order to be easier to use; the prototype is as follows:
<para>
<programlisting>void plugin_my_object_launch_editor (GObject *object);</programlisting>
</para>
The 'get-internal-child-function' tag is a support function used to retrieve an internal
child of a composite object (like a button in a filechooser or something); support for
internal children must also be added to your application via libglade. The prototype is:
<programlisting>void get_internal_child (GObject *object, const gchar *name, GObject **child);</programlisting>
where ofcourse 'child' is the return pointer for the internal child of 'object' called 'name'.
<para>
The 'get-internal-children-function' tag is a support function used to retrieve a list of
all internal children of a composite object; the prototype is as follows:
<programlisting>GList *get_internal_children (GObject *object);</programlisting>
</para>
</refsect1>
<refsect2>
<title>Widget Class Parameters</title>
<variablelist>
<varlistentry>
<term>name</term>
<listitem>
<para>
The 'name' property is the class name of the widget; this will essentially be
used to instantiate the actual class by deriving 'gtk_label_get_type' from 'GtkLabel'
and searching for 'gtk_label_get_type' in the support library.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>generic-name</term>
<listitem>
<para>
The 'generic-name' property is used to get the icon name for the widget palette
and is a regular icon theme icon. The generic name is also used to generate
a default name for instances of the widget in the UI editor.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>title</term>
<listitem>
<para>
The'title' property is used to display the name of the class in the palette and widget
tree and will be translated before use in the interface.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>post-create-function</term>
<listitem>
<para>
The 'post-create-function' tag is a #GladePostCreateFunc support function that
gets called whenever a widget of 'this class' (or a widget derived from 'this class'
that didn't provide its own post-create-function) is instantiated.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>launch-editor-function</term>
<listitem>
<para>
The 'launch-editor-function' tag is a #GladeEditorLaunchFunc support function used to
launch a custom editor for this class; a good example for this is the #GtkMenuBar
which needs a special editor in order to be easier to use.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>get-internal-child-function</term>
<listitem>
<para>
The 'get-internal-child-function' tag is a #GladeGetInternalFunc support function
used to retrieve an internal child of a composite object (like a button in a
filechooser or something); support for internal children must also be added to
your application via libglade.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect3>
<title>Grouping widget classes in the catalog</title>
<para>
The widgets are groups in different groups in the Glade UI. Those groups
@ -126,5 +136,5 @@ are defined in the catalog file as follows:
</glade-widget-group>]]></programlisting>
The file should contain one or more widget groups.
</para>
</refsect2>
</refsect3>
</refentry>

View File

@ -211,6 +211,13 @@ glade_app_class_init (GladeAppClass * klass)
klass->show_properties = NULL;
klass->hide_properties = NULL;
/**
* GladeApp::update-ui:
* @gladeapp: the #GladeApp which received the signal.
*
* Emitted when a project name changes or a cut/copy/paste/delete occurred.
*/
glade_app_signals[UPDATE_UI_SIGNAL] =
g_signal_new ("update-ui",
G_TYPE_FROM_CLASS (object_class),

View File

@ -53,13 +53,6 @@ glade_clipboard_view_init (GladeClipboardView *view)
view->model = NULL;
}
/**
* glade_clipboard_view_get_type:
*
* Creates the typecode for the #GladeClipboardView object type.
*
* Returns: the typecode for the #GladeClipboardView object type
*/
GType
glade_clipboard_view_get_type ()
{

View File

@ -45,13 +45,6 @@ glade_clipboard_init (GladeClipboard *clipboard)
clipboard->selection = NULL;
}
/**
* glade_clipboard_get_type:
*
* Creates the typecode for the #GladeClipboard object type.
*
* Returns: the typecode for the #GladeClipboard object type
*/
GType
glade_clipboard_get_type (void)
{

View File

@ -1107,12 +1107,12 @@ typedef enum {
GLADE_PASTE
} GladeCutCopyPasteType;
/**
/*
* Cut/Copy/Paste
*
* Following is the code to extend the GladeCommand Undo/Redo system to
* Clipboard functions.
**/
*/
typedef struct {
GladeCommand parent;
GladeProject *project;

View File

@ -131,13 +131,6 @@ glade_editor_init (GladeEditor *editor)
G_CALLBACK (glade_editor_on_reset_click), editor);
}
/**
* glade_editor_get_type:
*
* Creates the typecode for the #GladeEditor object type.
*
* Returns: the typecode for the #GladeEditor object type
*/
GType
glade_editor_get_type (void)
{

View File

@ -319,13 +319,6 @@ glade_palette_append_widget_group (GladePalette *palette,
gtk_widget_show (palette->notebook);
}
/**
* glade_palette_get_type:
*
* Creates the typecode for the #GladePalette object type.
*
* Returns: the typecode for the #GladePalette object type
*/
GType
glade_palette_get_type (void)
{

View File

@ -50,13 +50,6 @@ static GtkScrolledWindow *parent_class = NULL;
static void glade_project_view_class_init (GladeProjectViewClass *class);
static void glade_project_view_init (GladeProjectView *view);
/**
* glade_project_view_get_type:
*
* Creates the typecode for the #GladeProjectView object type.
*
* Returns: the typecode for the #GladeProjectView object type
*/
GType
glade_project_view_get_type (void)
{

View File

@ -63,13 +63,6 @@ enum
static guint glade_project_signals[LAST_SIGNAL] = {0};
static GObjectClass *parent_class = NULL;
/**
* glade_project_get_type:
*
* Creates the typecode for the #GladeProject object type.
*
* Returns: the typecode for the #GladeProject object type
*/
GType
glade_project_get_type (void)
{
@ -104,6 +97,13 @@ glade_project_class_init (GladeProjectClass *class)
parent_class = g_type_class_peek_parent (class);
/**
* GladeProject::add-widget:
* @gladeproject: the #GladeProject which received the signal.
* @arg1: the #GladeWidget that was added to @gladeproject.
*
* Emitted when a widget is added to a project.
*/
glade_project_signals[ADD_WIDGET] =
g_signal_new ("add_widget",
G_TYPE_FROM_CLASS (object_class),
@ -115,6 +115,13 @@ glade_project_class_init (GladeProjectClass *class)
1,
GLADE_TYPE_WIDGET);
/**
* GladeProject::remove-widget:
* @gladeproject: the #GladeProject which received the signal.
* @arg1: the #GladeWidget that was removed from @gladeproject.
*
* Emitted when a widget is removed from a project.
*/
glade_project_signals[REMOVE_WIDGET] =
g_signal_new ("remove_widget",
G_TYPE_FROM_CLASS (object_class),
@ -126,6 +133,14 @@ glade_project_class_init (GladeProjectClass *class)
1,
GLADE_TYPE_WIDGET);
/**
* GladeProject::widget-name-changed:
* @gladeproject: the #GladeProject which received the signal.
* @arg1: the #GladeWidget who's name changed.
*
* Emitted when @gwidget's name changes.
*/
glade_project_signals[WIDGET_NAME_CHANGED] =
g_signal_new ("widget_name_changed",
G_TYPE_FROM_CLASS (object_class),
@ -137,6 +152,13 @@ glade_project_class_init (GladeProjectClass *class)
1,
GLADE_TYPE_WIDGET);
/**
* GladeProject::selection-changed:
* @gladeproject: the #GladeProject which received the signal.
*
* Emitted when @gladeproject selection list changes.
*/
glade_project_signals[SELECTION_CHANGED] =
g_signal_new ("selection_changed",
G_TYPE_FROM_CLASS (object_class),
@ -147,6 +169,14 @@ glade_project_class_init (GladeProjectClass *class)
G_TYPE_NONE,
0);
/**
* GladeProject::close:
* @gladeproject: the #GladeProject which received the signal.
*
* Emitted when a project is closing (a good time to clean up
* any associated resources).
*/
glade_project_signals[CLOSE] =
g_signal_new ("close",
G_TYPE_FROM_CLASS (object_class),
@ -157,6 +187,15 @@ glade_project_class_init (GladeProjectClass *class)
G_TYPE_NONE,
0);
/**
* GladeProject::resource-added:
* @gladeproject: the #GladeProject which received the signal.
* @arg1: the file's basename (in the project path).
*
* Emitted when a resource file required by a #GladeProperty is
* added to @gladeproject
*/
glade_project_signals[RESOURCE_ADDED] =
g_signal_new ("resource-added",
G_TYPE_FROM_CLASS (object_class),
@ -168,6 +207,13 @@ glade_project_class_init (GladeProjectClass *class)
1,
G_TYPE_STRING);
/**
* GladeProject::resource-removed:
* @gladeproject: the #GladeProject which received the signal.
* @arg1: the file's basename
*
* Emitted when a resource file is removed from @gladeproject
*/
glade_project_signals[RESOURCE_REMOVED] =
g_signal_new ("resource-removed",
G_TYPE_FROM_CLASS (object_class),
@ -1204,6 +1250,8 @@ glade_project_get_tooltips (GladeProject *project)
/**
* glade_project_set_accel_group:
* @project: A #GladeProject
* @accel_group: The @GtkAccelGroup
*
* Set @accel_group to every top level widget in @project.
*/

View File

@ -135,7 +135,7 @@ GList *glade_project_selection_get (GladeProject *project);
LIBGLADEUI_API
void glade_project_set_accel_group (GladeProject *project,
GtkAccelGroup *new_group);
GtkAccelGroup *accel_group);
LIBGLADEUI_API
void glade_project_set_resource (GladeProject *project,

View File

@ -927,7 +927,6 @@ gpc_get_displayable_values_from_node (GladeXmlNode *node,
/**
* glade_property_class_make_adjustment:
*
* @property_class: a pointer to the property class
*
* Creates and appropriate GtkAdjustment for use in the editor
@ -1261,7 +1260,6 @@ glade_property_class_update_from_node (GladeXmlNode *node,
/**
* glade_property_class_match:
*
* @class: a #GladePropertyClass
* @comp: a #GladePropertyClass
*

View File

@ -14,6 +14,37 @@ G_BEGIN_DECLS
typedef struct _GladePropertyClass GladePropertyClass;
/**
* GladeVerifyPropertyFunc:
* @object: A #GObject
* @value: The #GValue
*
* Returns: whether or not its OK to set @value on @object
*/
typedef gboolean (* GladeVerifyPropertyFunc) (GObject *object,
const GValue *value);
/**
* GladeSetPropertyFunc:
* @object: A #GObject
* @value: The #GValue
*
* Sets @value on @object for a given #GladePropertyClass
*/
typedef void (* GladeSetPropertyFunc) (GObject *object,
const GValue *value);
/**
* GladeGetPropertyFunc:
* @object: A #GObject
* @value: The #GValue
*
* Gets @value on @object for a given #GladePropertyClass
*/
typedef void (* GladeGetPropertyFunc) (GObject *object,
GValue *value);
struct _GladePropertyClass
{
GParamSpec *pspec; /* The Parameter Specification for this property.
@ -102,16 +133,14 @@ struct _GladePropertyClass
* if this function exists and returns FALSE, then glade_property_set
* will abort before making any changes
*/
gboolean (*verify_function) (GObject *object,
const GValue *value);
GladeVerifyPropertyFunc verify_function;
/* If this property can't be set with g_object_set then
* we need to implement it inside glade. This is a pointer
* to the function that can set this property. The functions
* to work arround these problems are inside glade-gtk.c
*/
void (*set_function) (GObject *object,
const GValue *value);
GladeSetPropertyFunc set_function;
/* If this property can't be get with g_object_get then
* we need to implement it inside glade. This is a pointer
@ -123,10 +152,7 @@ struct _GladePropertyClass
* only used to obtain the values of packing properties that are
* set by the said object's parent at "container_add" time.
*/
void (*get_function) (GObject *object,
GValue *value);
GladeGetPropertyFunc get_function;
};
LIBGLADEUI_API
@ -169,7 +195,7 @@ LIBGLADEUI_API
gchar *glade_property_class_get_displayable_value (GladePropertyClass *class,
gint value);
LIBGLADEUI_API
GtkAdjustment *glade_property_class_make_adjustment (GladePropertyClass *class);
GtkAdjustment *glade_property_class_make_adjustment (GladePropertyClass *property_class);
LIBGLADEUI_API
gboolean glade_property_class_match (GladePropertyClass *class,

View File

@ -1387,7 +1387,6 @@ glade_util_basenames_match (const gchar *path1,
/**
* glade_util_purify_list:
*
* @list: A #GList
*
* Returns: A list with no duplicate data entries
@ -1408,7 +1407,6 @@ glade_util_purify_list (GList *list)
/**
* glade_util_canonical_path:
*
* @path: any path that may contain ".." or "." components
*
* Returns: an absolute path to the specified file or directory

View File

@ -18,46 +18,138 @@ G_BEGIN_DECLS
typedef struct _GladeWidgetClass GladeWidgetClass;
typedef struct _GladeSupportedChild GladeSupportedChild;
typedef struct _GladeWidgetClassSignal GladeWidgetClassSignal;
typedef enum _GladeCreateReason GladeCreateReason;
enum _GladeCreateReason
/**
* GladeCreateReason:
* @GLADE_CREATE_USER: Was created at the user's request
* (this is a good time to set any properties
* or add children to the project; like GtkFrame's
* label for example).
* @GLADE_CREATE_COPY: Was created as a result of the copy/paste
* mechanism, at this point you can count on glade
* to follow up with properties and children on
* its own.
* @GLADE_CREATE_LOAD: Was created during the load process.
* @GLADE_CREATE_REBUILD: Was created as a replacement for another project
* object; this only happens when the user is
* changing a property that is marked by the type
* system as G_PARAM_SPEC_CONSTRUCT_ONLY.
* @GLADE_CREATE_REASONS: Never used.
*
* These are the reasons your #GladePostCreateFunc can be called.
*/
typedef enum _GladeCreateReason
{
GLADE_CREATE_USER = 0,
GLADE_CREATE_COPY,
GLADE_CREATE_LOAD,
GLADE_CREATE_REBUILD,
GLADE_CREATE_REASONS
};
} GladeCreateReason;
/* Child support prototypes */
/**
* GladeChildSetPropertyFunc:
* @container: A #GObject container
* @child: The #GObject child
* @property_name: The property name
* @value: The #GValue
*
* Called to set the packing property @property_name to @value
* on the @child object of @container.
*/
typedef void (* GladeChildSetPropertyFunc) (GObject *container,
GObject *child,
const gchar *property_name,
const GValue *value);
/**
* GladeChildGetPropertyFunc:
* @container: A #GObject container
* @child: The #GObject child
* @property_name: The property name
* @value: The #GValue
*
* Called to get the packing property @property_name
* on the @child object of @container into @value.
*/
typedef void (* GladeChildGetPropertyFunc) (GObject *container,
GObject *child,
const gchar *property_name,
GValue *value);
/**
* GladeGetChildrenFunc:
* @container: A #GObject container
* @Returns: A #GList of #GObject children.
*
* A function called to get @containers children.
*/
typedef GList *(* GladeGetChildrenFunc) (GObject *container);
/**
* GladeAddChildFunc:
* @parent: A #GObject container
* @child: A #GObject child
*
* Called to add @child to @parent.
*/
typedef void (* GladeAddChildFunc) (GObject *parent,
GObject *child);
/**
* GladeRemoveChildFunc:
* @parent: A #GObject container
* @child: A #GObject child
*
* Called to remove @child from @parent.
*/
typedef void (* GladeRemoveChildFunc) (GObject *parent,
GObject *child);
/**
* GladeReplaceChildFunc:
* @container: A #GObject container
* @old: The old #GObject child
* @new: The new #GObject child to take its place
*
* Called to swap placeholders with project objects
* in containers.
*/
typedef void (* GladeReplaceChildFunc) (GObject *container,
GObject *old,
GObject *new);
/* Class wide user prototypes */
/**
* GladePostCreateFunc:
* @object: a #GObject
* @reason: a #GladeCreateReason
*
* This function is called exactly once for any project object
* instance and can be for any #GladeCreateReason.
*/
typedef void (* GladePostCreateFunc) (GObject *object,
GladeCreateReason reason);
/**
* GladeGetInternalFunc:
* @parent: A #GObject composite object
* @name: A string identifier
* @child: A return location for a #GObject
*
* Called to lookup @child in composite object @parent by @name.
*/
typedef void (* GladeGetInternalFunc) (GObject *parent,
const gchar *name,
GObject **child);
typedef GList *(* GladeGetInternalChildrenFunc) (GObject *parent);
/**
* GladeEditorLaunchFunc:
* @object: A #GObject
*
* Called to launch a custom editor for @object
*/
typedef void (* GladeEditorLaunchFunc) (GObject *object);
@ -118,7 +210,7 @@ struct _GladeWidgetClass
/* Retrieves a list of all handled internal children.
*/
GladeGetInternalChildrenFunc get_internal_children;
GladeGetChildrenFunc get_internal_children;
/* Entry point for custom editors.
*/
@ -150,12 +242,12 @@ struct _GladeSupportedChild
GladeChildSetPropertyFunc set_property; /* Sets/Gets a packing property */
GladeChildGetPropertyFunc get_property; /* for this child */
void (* replace_child) (GObject *container, /* This method replaces a */
GObject *old, /* child widget with */
GObject *new); /* another one: it's used to
* replace a placeholder with
* a widget and viceversa.
*/
GladeReplaceChildFunc replace_child; /* This method replaces a
* child widget with
* another one: it's used to
* replace a placeholder with
* a widget and viceversa.
*/
gchar *special_child_type; /* Special case code for children that
* are special children (like notebook tab

View File

@ -204,6 +204,11 @@ glade_widget_class_init (GladeWidgetKlass *klass)
G_PARAM_READWRITE));
/**
* GladeWidget::add-signal-handler:
* @gladewidget: the #GladeWidget which received the signal.
* @arg1: the #GladeSignal that was added to @gladewidget.
*/
glade_widget_signals[ADD_SIGNAL_HANDLER] =
g_signal_new ("add_signal_handler",
G_TYPE_FROM_CLASS (object_class),
@ -214,6 +219,12 @@ glade_widget_class_init (GladeWidgetKlass *klass)
G_TYPE_NONE,
1,
G_TYPE_POINTER);
/**
* GladeWidget::remove-signal-handler:
* @gladewidget: the #GladeWidget which received the signal.
* @arg1: the #GladeSignal that was removed from @gladewidget.
*/
glade_widget_signals[REMOVE_SIGNAL_HANDLER] =
g_signal_new ("remove_signal_handler",
G_TYPE_FROM_CLASS (object_class),
@ -224,6 +235,14 @@ glade_widget_class_init (GladeWidgetKlass *klass)
G_TYPE_NONE,
1,
G_TYPE_POINTER);
/**
* GladeWidget::change-signal-handler:
* @gladewidget: the #GladeWidget which received the signal.
* @arg1: the old #GladeSignal
* @arg2: the new #GladeSignal
*/
glade_widget_signals[CHANGE_SIGNAL_HANDLER] =
g_signal_new ("change_signal_handler",
G_TYPE_FROM_CLASS (object_class),