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