Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src/dialogs


Modified Files:
        etk_options_dialog.c 


Log Message:
* More config dialog work - nearly there.

===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/dialogs/etk_options_dialog.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- etk_options_dialog.c        31 Aug 2006 02:06:23 -0000      1.1
+++ etk_options_dialog.c        31 Aug 2006 10:42:09 -0000      1.2
@@ -1,34 +1,119 @@
 #include <Etk.h>
 #include "entropy.h"
 
-static int _entropy_ekt_options_visible = 0;
-Etk_Widget* _entropy_etk_options_dialog = NULL;
+static int _entropy_etk_options_visible = 0;
+static Etk_Widget* _entropy_etk_options_dialog = NULL;
+static Ecore_Hash* _entropy_global_options_hash;
+static Etk_Widget* _entropy_etk_options_local_box;
+
+typedef struct _Entropy_Etk_Options_Object {
+       char* name;
+       char* value;
+} Entropy_Etk_Options_Object;
+
+void entropy_etk_options_object_create(char* name) 
+{
+       Entropy_Etk_Options_Object* obj;
+
+       obj = calloc(1, sizeof(Entropy_Etk_Options_Object));
+       obj->name = strdup(name);
+
+       ecore_hash_set(_entropy_global_options_hash, obj->name, obj);
+}
+
+/*CB Handlers*/
+void entropy_etk_options_radio_generic_cb(Etk_Object* obj, void* data)
+{
+       char* name;
+       Etk_Bool status;
+       Entropy_Etk_Options_Object* opt;
+
+       name = (char*)data;
+       opt = ecore_hash_get(_entropy_global_options_hash, name);
+       
+       if (opt) {
+               status = etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(obj));  
+
+               if (status == ETK_TRUE) {
+                       opt->value = "1";
+               } else {
+                       opt->value = "0";
+               }
+
+               printf("Set '%s' for '%s'\n", opt->name, opt->value);
+       }
+}
+
+void entropy_etk_options_dialog_frame_set(Etk_Object* obj, void* data)
+{
+       Etk_Widget* frame;
+       Etk_Widget* widget;
+       Evas_List* children;
+
+       frame = data;
+
+       for (children = 
etk_container_children_get(ETK_CONTAINER(_entropy_etk_options_local_box)); 
children; ) {
+               widget = children->data;
+               
etk_container_remove(ETK_CONTAINER(_entropy_etk_options_local_box), widget);
+                       
+               children = children->next;
+       }
+
+       etk_box_append(ETK_BOX(_entropy_etk_options_local_box), frame , 
ETK_BOX_START, ETK_BOX_NONE, 0);
+       etk_widget_show_all(frame);
+}
 
 void entropy_etk_options_dialog_create()
 {
        Etk_Widget* toolbar;
        Etk_Widget* button;
        Etk_Widget* vbox;
+       Etk_Widget* frame;
+       
+       _entropy_global_options_hash = ecore_hash_new(ecore_str_hash, 
ecore_str_compare);
        
        _entropy_etk_options_dialog = etk_window_new();
 
+       vbox = etk_vbox_new(ETK_FALSE,0);
+       _entropy_etk_options_local_box = etk_vbox_new(ETK_FALSE,0);
+       etk_container_add(ETK_CONTAINER(_entropy_etk_options_dialog), vbox);
+       
        toolbar = etk_toolbar_new();
        etk_toolbar_orientation_set(ETK_TOOLBAR(toolbar), ETK_TOOLBAR_HORIZ);
        etk_toolbar_style_set(ETK_TOOLBAR(toolbar), ETK_TOOLBAR_ICONS);
-       etk_container_add(ETK_CONTAINER(_entropy_etk_options_dialog), toolbar);
+       etk_box_append(ETK_BOX(vbox), toolbar, ETK_BOX_START, ETK_BOX_NONE, 0);
+
+       etk_box_append(ETK_BOX(vbox),_entropy_etk_options_local_box , 
ETK_BOX_START, ETK_BOX_NONE, 0);
        
+       /*General settings*/
+       button = etk_tool_button_new_from_stock(ETK_STOCK_APPLICATIONS_SYSTEM);
+       etk_toolbar_append(ETK_TOOLBAR(toolbar), button);
+
+       /*General frame*/
+       /*etk_signal_connect("pressed", ETK_OBJECT(button), 
ETK_CALLBACK(_entropy_etk_location_radio_cb), dialog );*/
+       frame = etk_frame_new("General Settings");
+       etk_box_append(ETK_BOX(_entropy_etk_options_local_box), frame, 
ETK_BOX_START, ETK_BOX_NONE, 0);
+       etk_signal_connect("pressed", ETK_OBJECT(button), 
ETK_CALLBACK(entropy_etk_options_dialog_frame_set), frame);
+       
+
+       /*Advanced*/
+       button = etk_tool_button_new_from_stock(ETK_STOCK_PREFERENCES_SYSTEM);
+       etk_toolbar_append(ETK_TOOLBAR(toolbar), button);
+       frame = etk_frame_new("Advanced Settings");
+       etk_signal_connect("pressed", ETK_OBJECT(button), 
ETK_CALLBACK(entropy_etk_options_dialog_frame_set), frame);
 
-       button = etk_tool_button_new_from_stock(ETK_STOCK_SYSTEM_FILE_MANAGER);
+       /*Thumbnail*/
+       button = etk_tool_button_new_from_stock(ETK_STOCK_IMAGE_X_GENERIC);
        etk_toolbar_prepend(ETK_TOOLBAR(toolbar), button);
-       
+
+       frame = etk_frame_new("Thumbnail Settings");
+       etk_signal_connect("pressed", ETK_OBJECT(button), 
ETK_CALLBACK(entropy_etk_options_dialog_frame_set), frame);   
        
 }
 
 
 void entropy_etk_options_dialog_show()
 {
-
-       
        if (!_entropy_etk_options_dialog)
                entropy_etk_options_dialog_create();
 



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to