Installing property in interface
- From: "Tomasz Jankowski" <tomcioj gmail com>
- To: gtk-app-devel-list gnome org
- Subject: Installing property in interface
- Date: Wed, 31 Jan 2007 22:02:26 +0100
Hi!
I'm trying to install property into main interface, but when I run program
it always display me this warning:
(lt-goofysender:10709): GLib-GObject-WARNING **: When installing property:
type `GoofyFileTransfer' already has a property named `transfer-status'
Here you have some code:
//>>>
/*>>> Interface definition <<<*/
//>>>
GType goofy_file_transfer_get_type (void) {
static GType type = G_TYPE_INVALID;
if (type == G_TYPE_INVALID) {
static const GTypeInfo info = {
sizeof (GoofyFileTransferIface), /* class_size */
goofy_file_transfer_base_init, /* base_init */
NULL, /* base_finalize */
NULL,
NULL, /* class_finalize */
NULL, /* class_data */
0,
0, /* n_preallocs */
NULL
};
type = g_type_register_static (G_TYPE_INTERFACE,
"GoofyFileTransfer", &info, 0);
}
return type;
}
/* cut */
static void goofy_file_transfer_base_init (gpointer g_iface) {
g_object_interface_install_property (g_iface,
g_param_spec_int ("transfer-status",
"Transfer status",
"Specify current transfer status",
0,
100,
1,
G_PARAM_READWRITE));
}
//>>>
/*>>> Class, which implement this interface <<<*/
//>>>
static void goofy_file_transfer_iface_init (gpointer g_iface,
gpointer iface_data);
G_DEFINE_TYPE_WITH_CODE (GoofySendFile, goofy_send_file, GOOFY_TYPE_FILE,
G_IMPLEMENT_INTERFACE (GOOFY_TYPE_FILE_TRANSFER,
goofy_file_transfer_iface_init))
/* cut */
static void goofy_send_file_class_init (GoofySendFileClass *klass) {
GObjectClass *g_klass = G_OBJECT_CLASS (klass);
GoofySendFileClass *send_file_class = GOOFY_SEND_FILE_CLASS (klass);
g_klass->set_property = goofy_send_file_set_property;
g_klass->get_property = goofy_send_file_get_property;
g_klass->dispose = goofy_send_file_dispose;
g_klass->finalize = goofy_send_file_finalize;
/* Sent data size */
g_object_class_install_property (g_klass, PROP_SENT_SIZE,
g_param_spec_uint ("sent-size",
"Sent sizer",
"Total amount of file's bytes, which were send.",
1,
G_MAXUINT,
1,
G_PARAM_READABLE));
/* Install interface's properties */
g_object_class_override_property (g_klass, PROP_TRANSFER_STATUS,
"transfer-status");
/* Install signals */
send_file_class->file_send_step = g_signal_new ("file-send-setp",
G_TYPE_FROM_CLASS (g_klass),
G_SIGNAL_RUN_LAST,
0,
NULL,
NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0);
static void goofy_file_transfer_iface_init (gpointer g_iface,
gpointer iface_data)
{
GoofyFileTransferIface *iface = g_iface;
iface->transfer_start = goofy_send_file_start;
iface->transfer_cancel = goofy_send_file_cancel;
}
Can you tell me why this warning occur in my code?
--
Cya!
Tom
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]