Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dorota Czaplejewicz
gtk
Commits
e5348972
Commit
e5348972
authored
Dec 22, 2009
by
Javier Jardón
Browse files
Use G_DEFINE_INTERFACE macro in gtkcelleditable
https://bugzilla.gnome.org/show_bug.cgi?id=605186
parent
d5585745
Changes
1
Hide whitespace changes
Inline
Side-by-side
gtk/gtkcelleditable.c
View file @
e5348972
...
...
@@ -25,106 +25,71 @@
#include
"gtkintl.h"
#include
"gtkalias.h"
static
void
gtk_cell_editable_base_init
(
GtkCellEditableIface
*
iface
);
GType
gtk_cell_editable_get_type
(
void
)
{
static
GType
cell_editable_type
=
0
;
if
(
!
cell_editable_type
)
{
const
GTypeInfo
cell_editable_info
=
{
sizeof
(
GtkCellEditableIface
),
/* class_size */
(
GBaseInitFunc
)
gtk_cell_editable_base_init
,
/* base_init */
NULL
,
/* base_finalize */
NULL
,
NULL
,
/* class_finalize */
NULL
,
/* class_data */
0
,
0
,
NULL
};
cell_editable_type
=
g_type_register_static
(
G_TYPE_INTERFACE
,
I_
(
"GtkCellEditable"
),
&
cell_editable_info
,
0
);
g_type_interface_add_prerequisite
(
cell_editable_type
,
GTK_TYPE_WIDGET
);
}
return
cell_editable_type
;
}
typedef
GtkCellEditableIface
GtkCellEditableInterface
;
G_DEFINE_INTERFACE
(
GtkCellEditable
,
gtk_cell_editable
,
GTK_TYPE_WIDGET
)
static
void
gtk_cell_editable_
base
_init
(
GtkCellEditableIface
*
iface
)
gtk_cell_editable_
default
_init
(
GtkCellEditableI
nter
face
*
iface
)
{
static
gboolean
initialized
=
FALSE
;
if
(
!
initialized
)
{
/**
* GtkCellEditable:editing-canceled:
*
* Indicates whether editing on the cell has been canceled.
*
* Since: 2.20
**/
g_object_interface_install_property
(
iface
,
g_param_spec_boolean
(
"editing-canceled"
,
P_
(
"Editing Canceled"
),
P_
(
"Indicates that editing has been canceled"
),
FALSE
,
GTK_PARAM_READWRITE
));
/**
* GtkCellEditable::editing-done:
* @cell_editable: the object on which the signal was emitted
*
* This signal is a sign for the cell renderer to update its
* value from the @cell_editable.
*
* Implementations of #GtkCellEditable are responsible for
* emitting this signal when they are done editing, e.g.
* #GtkEntry is emitting it when the user presses Enter.
*
* gtk_cell_editable_editing_done() is a convenience method
* for emitting ::editing-done.
*/
g_signal_new
(
I_
(
"editing-done"
),
GTK_TYPE_CELL_EDITABLE
,
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
GtkCellEditableIface
,
editing_done
),
NULL
,
NULL
,
_gtk_marshal_VOID__VOID
,
G_TYPE_NONE
,
0
);
/**
* GtkCellEditable::remove-widget:
* @cell_editable: the object on which the signal was emitted
*
* This signal is meant to indicate that the cell is finished
* editing, and the widget may now be destroyed.
*
* Implementations of #GtkCellEditable are responsible for
* emitting this signal when they are done editing. It must
* be emitted after the #GtkCellEditable::editing-done signal,
* to give the cell renderer a chance to update the cell's value
* before the widget is removed.
*
* gtk_cell_editable_remove_widget() is a convenience method
* for emitting ::remove-widget.
*/
g_signal_new
(
I_
(
"remove-widget"
),
GTK_TYPE_CELL_EDITABLE
,
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
GtkCellEditableIface
,
remove_widget
),
NULL
,
NULL
,
_gtk_marshal_VOID__VOID
,
G_TYPE_NONE
,
0
);
initialized
=
TRUE
;
}
/**
* GtkCellEditable:editing-canceled:
*
* Indicates whether editing on the cell has been canceled.
*
* Since: 2.20
*/
g_object_interface_install_property
(
iface
,
g_param_spec_boolean
(
"editing-canceled"
,
P_
(
"Editing Canceled"
),
P_
(
"Indicates that editing has been canceled"
),
FALSE
,
GTK_PARAM_READWRITE
));
/**
* GtkCellEditable::editing-done:
* @cell_editable: the object on which the signal was emitted
*
* This signal is a sign for the cell renderer to update its
* value from the @cell_editable.
*
* Implementations of #GtkCellEditable are responsible for
* emitting this signal when they are done editing, e.g.
* #GtkEntry is emitting it when the user presses Enter.
*
* gtk_cell_editable_editing_done() is a convenience method
* for emitting GtkCellEditable::editing-done.
*/
g_signal_new
(
I_
(
"editing-done"
),
GTK_TYPE_CELL_EDITABLE
,
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
GtkCellEditableIface
,
editing_done
),
NULL
,
NULL
,
_gtk_marshal_VOID__VOID
,
G_TYPE_NONE
,
0
);
/**
* GtkCellEditable::remove-widget:
* @cell_editable: the object on which the signal was emitted
*
* This signal is meant to indicate that the cell is finished
* editing, and the widget may now be destroyed.
*
* Implementations of #GtkCellEditable are responsible for
* emitting this signal when they are done editing. It must
* be emitted after the #GtkCellEditable::editing-done signal,
* to give the cell renderer a chance to update the cell's value
* before the widget is removed.
*
* gtk_cell_editable_remove_widget() is a convenience method
* for emitting GtkCellEditable::remove-widget.
*/
g_signal_new
(
I_
(
"remove-widget"
),
GTK_TYPE_CELL_EDITABLE
,
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
GtkCellEditableIface
,
remove_widget
),
NULL
,
NULL
,
_gtk_marshal_VOID__VOID
,
G_TYPE_NONE
,
0
);
}
/**
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment