Enlightenment CVS committal

Author  : davemds
Project : e17
Module  : proto/edje_editor

Dir     : e17/proto/edje_editor/src/bin


Modified Files:
        callbacks.c callbacks.h interface.c interface.h main.c main.h 


Log Message:
Use the new image browser

===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.c,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -3 -r1.70 -r1.71
--- callbacks.c 22 Jun 2008 15:55:17 -0000      1.70
+++ callbacks.c 30 Jun 2008 17:43:14 -0000      1.71
@@ -69,9 +69,10 @@
 on_AllButton_click(Etk_Button *button, void *data)
 {
    Etk_String *text;
-   char *tween;
+   const char *tween;
    Etk_Tree_Row *row, *next, *prev;
    Etk_Combobox_Item *item;
+   Etk_Iconbox_Icon *icon;
 
    switch ((int)data)
       {
@@ -170,11 +171,17 @@
       if (edje_edit_part_type_get(edje_o, Cur.part->string) == 
EDJE_PART_TYPE_GROUP)
          ReloadEdje();
       break;
+   case IMAGE_BROWSER_SHOW:
+      ShowImageBrowser(1);
+      break;
+   case IMAGE_BROWSER_CLOSE:
+      etk_widget_hide(ETK_WIDGET(UI_ImageBrowserWin));
+      break;
    case TOOLBAR_IMAGE_BROWSER:
-         ShowImageBrowser();
+      ShowImageBrowser(0);
       break;
    case TOOLBAR_FONT_BROWSER:
-         ShowAlert("Font Browser");
+      ShowAlert("Font Browser");
       break;
    case TOOLBAR_IMAGE_FILE_ADD:
       ShowFilechooser(FILECHOOSER_IMAGE);
@@ -183,19 +190,21 @@
       ShowFilechooser(FILECHOOSER_FONT);
       break;
    case IMAGE_TWEEN_ADD:
-      item = etk_combobox_active_item_get(ETK_COMBOBOX(UI_ImageComboBox));
-      tween = etk_combobox_item_field_get(item, 1);
-      if (!tween)
+      icon = 
etk_iconbox_icon_get_selected(ETK_ICONBOX(UI_ImageBrowserIconbox));
+      tween = etk_iconbox_icon_label_get(icon);
+      if (tween)
       {
-         ShowAlert("You must choose an image to add from the combobox below");
+         if(edje_edit_state_tween_add(edje_o, Cur.part->string, 
Cur.state->string, tween))
+         {
+            PopulateTweenList();
+            row = etk_tree_last_row_get(ETK_TREE(UI_ImageTweenList));
+            etk_tree_row_select(row);
+            etk_tree_row_scroll_to(row, ETK_FALSE);
+         }
       }
-      
-      if(edje_edit_state_tween_add(edje_o, Cur.part->string, 
Cur.state->string, tween))
+      else
       {
-         PopulateTweenList();
-         row = etk_tree_last_row_get(ETK_TREE(UI_ImageTweenList));
-         etk_tree_row_select(row);
-         etk_tree_row_scroll_to(row, ETK_FALSE);
+         ShowAlert("You must choose an image to add from the Image Browser");
       }
       break;
    case IMAGE_TWEEN_DELETE:
@@ -324,6 +333,21 @@
    
 }
 
+/* Image Browser callbacks */
+Etk_Bool 
+on_ImageBrowserIconbox_selected(Etk_Iconbox *iconbox, Etk_Iconbox_Icon *icon, 
void *data)
+{
+   const char *image;
+   image = etk_iconbox_icon_label_get(icon);
+   
+   printf("CLICK ON: %s :)\n", image);
+   if (ImageBroserUpdate && etk_string_length_get(Cur.part) && 
etk_string_length_get(Cur.state))
+     {
+        edje_edit_state_image_set(edje_o, Cur.part->string, Cur.state->string, 
image);
+     }
+   UpdateImageFrame();
+}
+
 /* Tree callbacks */
 Etk_Bool
 on_PartsTree_row_selected(Etk_Object *object, Etk_Tree_Row *row, void *data)
@@ -1485,16 +1509,16 @@
          //TODO generate a unique new name
          row = AddPartToTree(name, NULL);
          
-         char *image;
-         item = etk_combobox_first_item_get(ETK_COMBOBOX(UI_ImageComboBox));
-         if (item)
+         
+         Evas_List *images;
+         images = edje_edit_images_list_get(edje_o);
+         if (images)
          {
-            image = etk_combobox_item_field_get(item, 1);
-            if (image)
+            if (images->data)
                edje_edit_state_image_set(edje_o, name,
-                                         "default 0.00", image);
+                                         "default 0.00", images->data);
          }
-      
+         
          etk_tree_row_select(row);
          etk_tree_row_unfold(row);
          PopulateRelComboBoxes();
@@ -1809,10 +1833,20 @@
                ShowAlert("ERROR: Can't import image file.");
                break;
             }
-            PopulateImagesComboBox();
-            etk_combobox_active_item_set(ETK_COMBOBOX(UI_ImageComboBox),
-                  etk_combobox_last_item_get(ETK_COMBOBOX(UI_ImageComboBox)));
-         break;
+            PopulateImageBrowser();
+            
+            Etk_Range *range;
+            double upper;
+            range = etk_scrolled_view_vscrollbar_get(
+                    etk_iconbox_scrolled_view_get (UI_ImageBrowserIconbox));
+            etk_range_range_get(range, NULL, &upper);
+            etk_range_value_set(range, upper);
+            
+            etk_iconbox_icon_select(etk_iconbox_icon_get_by_label(
+                                    UI_ImageBrowserIconbox,
+            
etk_filechooser_widget_selected_file_get(ETK_FILECHOOSER_WIDGET(UI_FileChooser))));
+            
+            break;
          case FILECHOOSER_FONT:
             snprintf(cmd, 4096, "%s/%s", 
                
etk_filechooser_widget_current_folder_get(ETK_FILECHOOSER_WIDGET(UI_FileChooser)),
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- callbacks.h 21 Jun 2008 21:40:27 -0000      1.26
+++ callbacks.h 30 Jun 2008 17:43:14 -0000      1.27
@@ -12,6 +12,7 @@
 Etk_Bool on_PartsTree_row_selected         (Etk_Object *object, Etk_Tree_Row 
*row, void *data);
 void     on_ColorCanvas_click              (void *data, Evas *e, Evas_Object 
*obj, void *event_info);
 Etk_Bool on_ColorDialog_change             (Etk_Object *object, void *data);
+Etk_Bool on_ImageBrowserIconbox_selected(Etk_Iconbox *iconbox, 
Etk_Iconbox_Icon *icon, void *data);
 Etk_Bool on_PartNameEntryImage_mouse_clicked(Etk_Object *object, void *data);
 Etk_Bool on_PartNameEntry_key_down         (Etk_Object *object, 
Etk_Event_Key_Down *event, void *data);
 Etk_Bool on_CliptoComboBox_item_activated  (Etk_Combobox *combobox, 
Etk_Combobox_Item *item, void *data);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -3 -r1.72 -r1.73
--- interface.c 22 Jun 2008 15:55:18 -0000      1.72
+++ interface.c 30 Jun 2008 17:43:14 -0000      1.73
@@ -8,7 +8,6 @@
 #include "interface.h"
 #include "evas.h"
 
-
 void
 ConsolleClear(void)
 {
@@ -110,71 +109,12 @@
    }
 }
 void
-ShowImageBrowser(void)
+ShowImageBrowser(int UpdateCurrent)
 {
-   Etk_Widget *win;
-   Etk_Widget *iconbox;
-   Etk_Widget *hbox, *vbox;
-   Etk_Widget *button;
-   Evas_List *l, *images;
-   char buf[4096];
-   
-   win = etk_window_new();
-   etk_window_title_set(ETK_WINDOW(win), "Image Browser");
-   etk_container_border_width_set(ETK_CONTAINER(win), 5);
-   //etk_signal_connect_swapped_by_code(ETK_OBJECT_DESTROYED_SIGNAL, 
ETK_OBJECT(win),
-   //                                ETK_CALLBACK(_main_quit_cb), NULL);
-
-   hbox = etk_hbox_new(ETK_FALSE, 0);
-   etk_container_add (ETK_CONTAINER(win), hbox);
-   
-   iconbox = etk_iconbox_new();
-   etk_box_append (hbox, iconbox, 0, ETK_BOX_EXPAND_FILL, 0);
-   
-   vbox = etk_vbox_new(ETK_TRUE, 0);
-   etk_box_append (hbox, vbox, 0, ETK_BOX_NONE, 5);
-   
-   
-   //AddImageButton
-   button = etk_button_new_from_stock(ETK_STOCK_DOCUMENT_OPEN);
-   etk_object_properties_set(ETK_OBJECT(button), "label","Import image",NULL);
-   etk_button_style_set(button, ETK_BUTTON_BOTH_VERT);
-   etk_box_append(vbox, button, 0, ETK_BOX_NONE, 0);
-   
-   //DeleteImageButton
-   button = etk_button_new_from_stock(ETK_STOCK_EDIT_DELETE);
-   etk_object_properties_set(ETK_OBJECT(button), "label","Delete image",NULL);
-   etk_button_style_set(button, ETK_BUTTON_BOTH_VERT);
-   etk_box_append(vbox, button, 0, ETK_BOX_NONE, 0);
-   
-   //EditImageButton
-   button = etk_button_new_with_label("Edit Image");
-   Etk_Image *image = etk_image_new_from_edje(EdjeFile, "GIMP.PNG");
-   etk_button_image_set(button, image);
-   etk_button_style_set(button, ETK_BUTTON_BOTH_VERT);
-   etk_box_append(vbox, button, 0, ETK_BOX_NONE, 0);
-   
-   
-   /* populate icon list */
-   etk_iconbox_freeze(iconbox);
-   images = l = edje_edit_images_list_get(edje_o);
-   while (l)
-   {
-      snprintf(buf,4096,"images/%d",edje_edit_image_id_get(edje_o, 
(char*)l->data));
-      printf("IMAGE %s\n", buf);
-      //~ ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_ImageComboBox),
-                     //~ etk_image_new_from_file (Cur.edj_temp_name->string, 
buf),
-                     //~ (char*)l->data);
-      Etk_Iconbox_Icon * icon;
-      icon = etk_iconbox_append(iconbox,Cur.edj_temp_name->string, buf, 
(char*)l->data);
-      etk_iconbox_icon_file_set(icon, Cur.edj_temp_name->string, buf);
-      l = l->next;
-   }
-   edje_edit_string_list_free(images);
-   etk_iconbox_thaw(iconbox);
-   
-   etk_widget_show_all(win);
-   
+   ImageBroserUpdate = UpdateCurrent;
+   PopulateImageBrowser();
+   UpdateImageBrowser();
+   etk_widget_show_all(UI_ImageBrowserWin);
 }
 /***********************************
  *
@@ -400,35 +340,6 @@
 }
 
 void
-PopulateImagesComboBox(void)
-{
-   Evas_List *images, *l;
-   Etk_Combobox_Item *ComboItem;
-   char buf[4096];
-
-   //Stop signal propagation
-   etk_signal_block("item-activated", ETK_OBJECT(UI_ImageComboBox), 
ETK_CALLBACK(on_ImageComboBox_item_activated), NULL);
-   
-   printf("Populate Images Combobox\n");
-
-   etk_combobox_clear(ETK_COMBOBOX(UI_ImageComboBox));
-   
-   images = l = edje_edit_images_list_get(edje_o);
-   while (l)
-   {
-      snprintf(buf,4095,"images/%d",edje_edit_image_id_get(edje_o, 
(char*)l->data));
-      ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_ImageComboBox),
-                     etk_image_new_from_file (Cur.edj_temp_name->string, buf),
-                     (char*)l->data);
-      l = l->next;
-   }
-   edje_edit_string_list_free(images);
-
-   //Renable  signal propagation
-   etk_signal_unblock("item-activated", ETK_OBJECT(UI_ImageComboBox), 
ETK_CALLBACK(on_ImageComboBox_item_activated), NULL);
-}
-
-void
 PopulateRelComboBoxes(void)
 {
    Evas_List *l;
@@ -607,6 +518,28 @@
 }
 
 
+
+void
+PopulateImageBrowser(void)
+{
+   Evas_List *l, *images;
+   char buf[4096];
+   
+   etk_iconbox_clear(UI_ImageBrowserIconbox);
+   
+   etk_iconbox_freeze(ETK_ICONBOX(UI_ImageBrowserIconbox));
+   images = l = edje_edit_images_list_get(edje_o);
+   while (l)
+   {
+      snprintf(buf,4096,"images/%d",edje_edit_image_id_get(edje_o, 
(char*)l->data));
+      etk_iconbox_append(ETK_ICONBOX(UI_ImageBrowserIconbox),
+                         Cur.edj_temp_name->string, buf, (char*)l->data);
+      l = l->next;
+   }
+   edje_edit_string_list_free(images);
+   etk_iconbox_thaw(ETK_ICONBOX(UI_ImageBrowserIconbox));
+}
+
 void
 UpdateGroupFrame(void)
 {
@@ -881,11 +814,51 @@
 }
 
 void
-UpdateImageFrame(void)
+UpdateImageBrowser(void)
 {
-   Etk_Combobox_Item *item = NULL;
-   char *im;
    const char *pi;
+   char buf[4096];
+   Etk_Iconbox_Icon *icon;
+   
+   if (ImageBroserUpdate)
+   {
+      //window title
+      snprintf(buf, 4096, "Choose image for part \"%s\" state: 
\"%s\"",Cur.part->string, Cur.state->string);
+      etk_window_title_set(ETK_WINDOW(UI_ImageBrowserWin), buf);
+      
+      //iconbox
+      etk_iconbox_unselect_all(UI_ImageBrowserIconbox);
+      pi = edje_edit_state_image_get(edje_o, Cur.part->string, 
Cur.state->string);
+      if (pi)
+      {
+         icon = etk_iconbox_icon_get_by_label( 
ETK_ICONBOX(UI_ImageBrowserIconbox), pi);
+         etk_iconbox_icon_select(icon);
+      }
+      //preview
+      //~ snprintf(buf, 4096, "images/%d", edje_edit_image_id_get(edje_o, pi));
+      //~ printf("IM: %s\n", buf);
+      //~ etk_image_set_from_file(UI_ImageBrowserPreview, 
Cur.edj_temp_name->string, buf);
+     
+      //~ edje_edit_string_free(pi);
+      
+      int w, h;
+      etk_image_size_get (etk_image_new_from_file(icon->filename, 
icon->edje_group), &w, &h);
+      printf("W: %d H: %d (%d)\n", w, h, 
etk_image_new_from_file(icon->filename, icon->edje_group));
+      etk_label_set(UI_ImageBrowserSizeLabel, "ciccio");
+      
+   }
+   else
+   {
+      etk_window_title_set(ETK_WINDOW(UI_ImageBrowserWin), "Image Browser");
+   }
+
+}
+
+void
+UpdateImageFrame(void)
+{
+   //Etk_Combobox_Item *item = NULL;
+   char *im, *pi;
     
    //Stop signal propagation
    etk_signal_block("value-changed",ETK_OBJECT(UI_BorderLeftSpinner),
@@ -898,8 +871,8 @@
                     ETK_CALLBACK(on_BorderSpinner_value_changed), 
(void*)BORDER_BOTTOM);
    etk_signal_block("value-changed",ETK_OBJECT(UI_ImageAlphaSlider),
                     ETK_CALLBACK(on_ImageAlphaSlider_value_changed), NULL);
-   etk_signal_block("item-activated", ETK_OBJECT(UI_ImageComboBox), 
-                    ETK_CALLBACK(on_ImageComboBox_item_activated), NULL);
+   etk_signal_block("icon-selected", ETK_OBJECT(UI_ImageBrowserIconbox),
+                    ETK_CALLBACK(on_ImageBrowserIconbox_selected), NULL);
    
    if (!etk_string_length_get(Cur.state)) return;
    if (!etk_string_length_get(Cur.part)) return;
@@ -909,28 +882,20 @@
    etk_widget_disabled_set(UI_MoveDownTweenButton, TRUE);
    etk_widget_disabled_set(UI_MoveUpTweenButton, TRUE);
 
-   //Set the images combobox for normal image
+   /* Update Image Browser */
+   UpdateImageBrowser();
+   
+   //Set the images laebl for normal image
    pi = edje_edit_state_image_get(edje_o, Cur.part->string, Cur.state->string);
    if (pi)
    {
-      //Loop for all the item in the Combobox
-      item = etk_combobox_first_item_get(ETK_COMBOBOX(UI_ImageComboBox));
-      while (item)
-      {
-         im = etk_combobox_item_field_get(item,1);
-         if (strcmp(im,pi) == 0)
-         {
-            //Found the item set active
-            etk_combobox_active_item_set(ETK_COMBOBOX(UI_ImageComboBox),item);
-            break;
-         }
-         item = etk_combobox_item_next_get(item);
-      }
+      etk_label_set(UI_ImageNameLabel, pi);
+      edje_edit_string_free(pi);
    }
    else
-      etk_combobox_active_item_set(ETK_COMBOBOX(UI_ImageComboBox),
-            etk_combobox_first_item_get(ETK_COMBOBOX(UI_ImageComboBox)));
-   edje_edit_string_free(pi);
+   {
+      etk_label_set(UI_ImageNameLabel, "none");
+   }
 
    //Set alpha and borders
    int alpha, t, l, r, b;
@@ -955,8 +920,8 @@
                       on_BorderSpinner_value_changed, (void*)BORDER_BOTTOM);
    etk_signal_unblock("value-changed", ETK_OBJECT(UI_ImageAlphaSlider),
                       on_ImageAlphaSlider_value_changed, NULL);
-   etk_signal_unblock("item-activated", ETK_OBJECT(UI_ImageComboBox),
-                      ETK_CALLBACK(on_ImageComboBox_item_activated), NULL);
+   etk_signal_unblock("icon-selected", ETK_OBJECT(UI_ImageBrowserIconbox),
+                    ETK_CALLBACK(on_ImageBrowserIconbox_selected), NULL);
 
 }
 
@@ -1678,7 +1643,6 @@
    sep = etk_vseparator_new();
    etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), sep, ETK_BOX_START);
 
-#if DEBUG_MODE
    //Images Browser Button
    button = etk_tool_button_new_from_stock( ETK_STOCK_IMAGE_X_GENERIC);
    etk_object_properties_set(ETK_OBJECT(button),"label","Images",NULL);
@@ -1686,16 +1650,17 @@
                   ETK_CALLBACK(on_AllButton_click), 
(void*)TOOLBAR_IMAGE_BROWSER);
    etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START);
 
+#if DEBUG_MODE
    //Font Browser Button
    button = etk_tool_button_new_from_stock( 
ETK_STOCK_PREFERENCES_DESKTOP_FONT);
    etk_object_properties_set(ETK_OBJECT(button),"label","Fonts",NULL);
    etk_signal_connect("clicked", ETK_OBJECT(button),
                   ETK_CALLBACK(on_AllButton_click), 
(void*)TOOLBAR_FONT_BROWSER);
    etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START);
-
+#endif
+   
    sep = etk_vseparator_new();
    etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), sep, ETK_BOX_START);
-#endif
    
    //OptionsButton
    button = etk_tool_button_new_from_stock(ETK_STOCK_PREFERENCES_SYSTEM);
@@ -2120,19 +2085,15 @@
    //table
    table = etk_table_new(5, 4, ETK_TABLE_NOT_HOMOGENEOUS);
 
-   //imageComboBox
-   UI_ImageComboBox = etk_combobox_new();
-   etk_combobox_column_add(ETK_COMBOBOX(UI_ImageComboBox),
-                           ETK_COMBOBOX_IMAGE, 24, ETK_COMBOBOX_NONE, 0.0);
-   etk_combobox_column_add(ETK_COMBOBOX(UI_ImageComboBox),
-                           ETK_COMBOBOX_LABEL, 75, ETK_COMBOBOX_NONE, 0.0);
-   etk_combobox_build(ETK_COMBOBOX(UI_ImageComboBox));
-   etk_table_attach_default(ETK_TABLE(table),UI_ImageComboBox, 0, 3, 0, 0);
-
    //AddImageButton
-   UI_ImageAddButton = etk_button_new_from_stock(ETK_STOCK_DOCUMENT_OPEN);
-   etk_object_properties_set(ETK_OBJECT(UI_ImageAddButton), "label","",NULL);
-   etk_table_attach_default(ETK_TABLE(table),UI_ImageAddButton, 4, 4, 0, 0);
+   UI_ImageAddButton = etk_button_new_from_stock(ETK_STOCK_IMAGE_X_GENERIC);
+   etk_object_properties_set(ETK_OBJECT(UI_ImageAddButton), "label", "Choose 
Image", NULL);
+   etk_table_attach_default(ETK_TABLE(table),UI_ImageAddButton, 0, 1, 0, 0);
+   
+   //ImageName
+   UI_ImageNameLabel = etk_label_new("none");
+   etk_object_properties_set(ETK_OBJECT(UI_ImageNameLabel), "xalign", 0.5, 
NULL);
+   etk_table_attach_default(ETK_TABLE(table),UI_ImageNameLabel, 2, 4, 0, 0);
 
    //ImageTweenVBox
    UI_ImageTweenVBox = etk_vbox_new(ETK_TRUE, 0);
@@ -2147,7 +2108,7 @@
                      ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
    
    //DeleteTweenButton
-   UI_DeleteTweenButton = etk_button_new_from_stock(ETK_STOCK_EDIT_DELETE);
+   UI_DeleteTweenButton = etk_button_new_from_stock(ETK_STOCK_LIST_REMOVE);
    etk_button_style_set(ETK_BUTTON(UI_DeleteTweenButton), ETK_BUTTON_ICON);
    etk_signal_connect("clicked", ETK_OBJECT(UI_DeleteTweenButton), 
       ETK_CALLBACK(on_AllButton_click), (void*)IMAGE_TWEEN_DELETE);
@@ -2231,9 +2192,7 @@
    etk_signal_connect("row-selected", ETK_OBJECT(UI_ImageTweenList),
             ETK_CALLBACK(on_ImageTweenList_row_selected), NULL);
    etk_signal_connect("clicked", ETK_OBJECT(UI_ImageAddButton),
-            ETK_CALLBACK(on_AllButton_click), (void*)TOOLBAR_IMAGE_FILE_ADD);
-   etk_signal_connect("item-activated", ETK_OBJECT(UI_ImageComboBox),
-            ETK_CALLBACK(on_ImageComboBox_item_activated), NULL);
+            ETK_CALLBACK(on_AllButton_click), (void*)IMAGE_BROWSER_SHOW);
    etk_signal_connect("value-changed", ETK_OBJECT(UI_ImageAlphaSlider),
             ETK_CALLBACK(on_ImageAlphaSlider_value_changed), NULL);
    etk_signal_connect("value-changed", ETK_OBJECT(UI_BorderLeftSpinner),
@@ -2249,6 +2208,90 @@
 }
 
 static Etk_Widget*
+create_image_browser(void)
+{
+   Etk_Widget *hbox, *vbox, *vbox2;
+   Etk_Widget *button;
+   Etk_Widget *frame;
+   Etk_Widget *label;
+   
+   UI_ImageBrowserWin = etk_window_new();
+   etk_window_title_set(ETK_WINDOW(UI_ImageBrowserWin), "Image Browser");
+   etk_window_resize(UI_ImageBrowserWin, 590, 370);
+   etk_signal_connect("delete-event", ETK_OBJECT(UI_ImageBrowserWin),
+                      ETK_CALLBACK(etk_window_hide_on_delete), NULL);
+   etk_container_border_width_set(ETK_CONTAINER(UI_ImageBrowserWin), 5);
+
+   hbox = etk_hbox_new(ETK_FALSE, 0);
+   etk_container_add (ETK_CONTAINER(UI_ImageBrowserWin), hbox);
+   
+   UI_ImageBrowserIconbox = etk_iconbox_new();
+   etk_signal_connect("icon-selected", ETK_OBJECT(UI_ImageBrowserIconbox),
+                      ETK_CALLBACK(on_ImageBrowserIconbox_selected), NULL);
+   etk_box_append(ETK_BOX(hbox), UI_ImageBrowserIconbox, 0, 
ETK_BOX_EXPAND_FILL, 0);
+   
+   vbox = etk_vbox_new(ETK_FALSE, 0);
+   etk_box_append (ETK_BOX(hbox), vbox, 0, ETK_BOX_NONE, 5);
+   
+   //AddImageButton
+   button = etk_button_new_from_stock(ETK_STOCK_DOCUMENT_OPEN);
+   etk_object_properties_set(ETK_OBJECT(button), "label","Import image",NULL);
+   etk_button_style_set(ETK_BUTTON(button), ETK_BUTTON_BOTH_VERT);
+   etk_signal_connect("clicked", ETK_OBJECT(button),
+            ETK_CALLBACK(on_AllButton_click), (void*)TOOLBAR_IMAGE_FILE_ADD);
+   etk_box_append(ETK_BOX(vbox), button, 0, ETK_BOX_NONE, 0);
+   
+   //DeleteImageButton
+   button = etk_button_new_from_stock(ETK_STOCK_EDIT_DELETE);
+   etk_object_properties_set(ETK_OBJECT(button), "label","Remove image",NULL);
+   etk_button_style_set(ETK_BUTTON(button), ETK_BUTTON_BOTH_VERT);
+   etk_widget_disabled_set(button, 1);
+   etk_box_append(ETK_BOX(vbox), button, 0, ETK_BOX_NONE, 0);
+   
+   //EditImageButton
+   button = etk_button_new_with_label("Edit Image");
+   Etk_Image *image = etk_image_new_from_file(EdjeFile, "GIMP");
+   etk_button_image_set(button, image);
+   etk_button_style_set(button, ETK_BUTTON_BOTH_VERT);
+   etk_widget_disabled_set(button, 1);
+   etk_box_append(vbox, button, 0, ETK_BOX_NONE, 0);
+   
+   //ImageInfo
+   frame = etk_frame_new("Image Info");
+   etk_box_append(vbox, frame, 0, ETK_BOX_EXPAND_FILL, 10);
+   
+   vbox2 = etk_vbox_new(ETK_FALSE, 0);
+   etk_container_add(frame, vbox2);
+   
+   label = etk_label_new("<b>name:</b>");
+   etk_object_properties_set(ETK_OBJECT(label), "xalign", 0, NULL);
+   etk_box_append(ETK_BOX(vbox2), label, 0, ETK_BOX_NONE, 0);
+   
+   label = etk_label_new("Unknow");
+   etk_object_properties_set(ETK_OBJECT(label), "xalign", 0, NULL);
+   etk_box_append(ETK_BOX(vbox2), label, 0, ETK_BOX_NONE, 0);
+   
+   label = etk_label_new(" ");
+   etk_object_properties_set(ETK_OBJECT(label), "xalign", 0, NULL);
+   etk_box_append(ETK_BOX(vbox2), label, 0, ETK_BOX_NONE, 0);
+   
+   UI_ImageBrowserSizeLabel = etk_label_new("<b>size:</b> Unknow");
+   etk_object_properties_set(ETK_OBJECT(UI_ImageBrowserSizeLabel), "xalign", 
0, NULL);
+   etk_box_append(ETK_BOX(vbox2), UI_ImageBrowserSizeLabel, 0, ETK_BOX_NONE, 
0);
+   
+   label = etk_label_new("<b>comp:</b> Unknow");
+   etk_object_properties_set(ETK_OBJECT(label), "xalign", 0, NULL);
+   etk_box_append(ETK_BOX(vbox2), label, 0, ETK_BOX_NONE, 0);
+   
+   //CloseButton
+   button = etk_button_new_from_stock(ETK_STOCK_DIALOG_CLOSE);
+   etk_button_style_set(ETK_BUTTON(button), ETK_BUTTON_BOTH_VERT);
+   etk_signal_connect("clicked", ETK_OBJECT(button),
+            ETK_CALLBACK(on_AllButton_click), (void*)IMAGE_BROWSER_CLOSE);
+   etk_box_append(ETK_BOX(vbox), button, 0, ETK_BOX_NONE, 0);
+}
+
+static Etk_Widget*
 create_text_frame(Evas *evas)
 {
    Etk_Widget *vbox;
@@ -2982,7 +3025,6 @@
    ecore_evas_callback_delete_request_set(UI_ecore_MainWin, ecore_delete_cb);
    ecore_evas_resize(UI_ecore_MainWin, 950, 500);
    ecore_evas_size_min_set(UI_ecore_MainWin, 600, 350);
-   ecore_evas_show(UI_ecore_MainWin);
    UI_evas = ecore_evas_get(UI_ecore_MainWin);
    
    //Load main edje interface
@@ -3137,6 +3179,9 @@
    etk_signal_connect("color-changed", ETK_OBJECT(UI_ColorPicker),
                         ETK_CALLBACK(on_ColorDialog_change), NULL);
 
+   //Image Browser
+   create_image_browser();
+   
    //Create the main edje object to edit
    edje_o = edje_object_add(UI_evas);
    edje_object_signal_callback_add(edje_o, "*", "*", signal_cb, NULL);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -3 -r1.37 -r1.38
--- interface.h 22 Jun 2008 15:55:18 -0000      1.37
+++ interface.h 30 Jun 2008 17:43:14 -0000      1.38
@@ -31,6 +31,11 @@
 Etk_Widget *UI_FilechooserLoadButton;
 Etk_Widget *UI_ColorWin;
 Etk_Widget *UI_ColorPicker;
+/* image browser objects */
+Etk_Widget *UI_ImageBrowserIconbox;
+Etk_Widget *UI_ImageBrowserWin;
+Etk_Widget *UI_ImageBrowserSizeLabel;
+
 /* toolbar objects */
 Etk_Widget *UI_PlayButton;
 Etk_Widget *UI_PlayImage;
@@ -79,7 +84,7 @@
 Etk_Widget *UI_AspectComboBox;
 /* image frame objects */
 Etk_Widget *UI_ImageTweenList;
-Etk_Widget *UI_ImageComboBox;
+Etk_Widget *UI_ImageNameLabel;
 Etk_Widget *UI_ImageTweenVBox;
 Etk_Widget *UI_ImageAlphaSlider;
 Etk_Widget *UI_AddTweenButton;
@@ -160,12 +165,12 @@
 void PopulateGroupsComboBox(void);
 void PopulateTree(void);
 void PopulateRelComboBoxes(void);
-void PopulateImagesComboBox(void);
 void PopulateFontsComboBox(void);
 void PopulateSourceComboBox(void);
 void PopulateTweenList(void);
 void PopulateSourceComboEntry(void);
 void PopulateSignalComboEntry(void);
+void PopulateImageBrowser(void);
 
 void UpdateGroupFrame(void);
 void UpdatePositionFrame(void);
@@ -181,7 +186,7 @@
 
 void ShowFilechooser(int FileChooserType);
 void ShowAlert(char* text);
-void ShowImageBrowser(void);
+void ShowImageBrowser(int UpdateCurrent);
 void ConsolleLog(char *text);
 void ConsolleClear(void);
 void TogglePlayButton(int set);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -3 -r1.40 -r1.41
--- main.c      21 Jun 2008 21:40:27 -0000      1.40
+++ main.c      30 Jun 2008 17:43:14 -0000      1.41
@@ -268,7 +268,6 @@
     
    PopulateGroupsComboBox();
    PopulateFontsComboBox();
-   PopulateImagesComboBox();
    
     
     
@@ -368,7 +367,10 @@
    }
    
    //DebugInfo(FALSE);
-
+   
+   //Show main window
+   ecore_evas_show(UI_ecore_MainWin);
+   
    //Start main loop
    etk_main();
    
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -3 -r1.34 -r1.35
--- main.h      22 Jun 2008 15:55:18 -0000      1.34
+++ main.h      30 Jun 2008 17:43:14 -0000      1.35
@@ -56,6 +56,8 @@
    TOOLBAR_MOVE_UP,
    TOOLBAR_MOVE_DOWN,
    TOOLBAR_IMAGE_BROWSER,
+   IMAGE_BROWSER_SHOW,
+   IMAGE_BROWSER_CLOSE,
    TOOLBAR_FONT_BROWSER,
    TOOLBAR_OPTION_BG1,
    TOOLBAR_OPTION_BG2,
@@ -135,6 +137,7 @@
 
 /* GLOBALS */
 int            FileChooserOperation;   //The current file chooser operation 
(FILECHOOSER_OPEN,FILECHOOSER_NEW etc)
+int            ImageBroserUpdate;      //When set to true the image browser 
will update the current state with the selected image
 char           *EdjeFile;              //The filename of the edje_editor.edj 
file (witch contain all the graphics used by the program)
 Evas_Object    *edje_o;                //The edje object we are editing
 Evas_Hash      *Parts_Hash;            //Associate part names with 
Etk_Tree_Row*



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to