00001 #include "etk_keyvalue.h"
00002
00003 static void key_value_init( Key_Value* kv );
00004
00005 static void key_value_class_init( Key_Value_Class* kv_class )
00006 {
00007 return;
00008 }
00009
00010 GType key_value_get_type( void )
00011 {
00012 static GType kv_type = 0;
00013
00014 if ( !kv_type )
00015 {
00016 static const GTypeInfo kv_info =
00017 {
00018 sizeof( Key_Value_Class ),
00019 NULL,
00020 NULL,
00021 (GClassInitFunc)key_value_class_init,
00022 NULL,
00023 NULL,
00024 sizeof(Key_Value),
00025 0,
00026 (GInstanceInitFunc)key_value_init
00027 };
00028
00029 kv_type = g_type_register_static( GTK_TYPE_HBOX , "Key_Value" , &kv_info , 0 );
00030 }
00031
00032 return kv_type;
00033 }
00034
00035 static void key_value_init( Key_Value* kv )
00036 {
00037 gtk_box_set_homogeneous( GTK_BOX( kv ) , FALSE );
00038
00039 kv->key_label = gtk_label_new( "" );
00040 kv->value_entry = gtk_entry_new( );
00041
00042 gtk_misc_set_alignment( GTK_MISC(kv->key_label) , 0 , 1 );
00043 gtk_entry_set_width_chars( GTK_ENTRY(kv->value_entry) , 10 );
00044
00045 gtk_box_pack_start( GTK_BOX(kv) , kv->key_label , TRUE , TRUE , 2 );
00046 gtk_box_pack_end ( GTK_BOX(kv) , kv->value_entry , FALSE , FALSE , 2 );
00047
00048 gtk_widget_show( kv->key_label );
00049 gtk_widget_show( kv->value_entry );
00050 }
00051
00052 const gchar* key_value_get_name( Key_Value* kv )
00053 {
00054 return gtk_label_get_text( GTK_LABEL( kv->key_label ) );
00055 }
00056
00057 GtkWidget* key_value_new( const char* key_label_str )
00058 {
00059 Key_Value* kv_obj = g_object_new( KEY_VALUE_TYPE , NULL );
00060
00061 gtk_label_set_text( GTK_LABEL(kv_obj->key_label), key_label_str );
00062
00063 return GTK_WIDGET( kv_obj );
00064 }
00065