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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs