Enlightenment CVS committal

Author  : moom16
Project : e17
Module  : proto

Dir     : e17/proto/exhibit/src/bin


Modified Files:
        exhibit.h exhibit_image.c exhibit_main.c exhibit_menus.c 


Log Message:
* Implement the "Fit to window" feature
* Remove duplicated code for zoom
* Some clean up


===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- exhibit.h   15 Dec 2005 10:07:14 -0000      1.4
+++ exhibit.h   19 Dec 2005 19:28:31 -0000      1.5
@@ -75,6 +75,7 @@
    int            zoom;
    int            brightness;
    int            contrast;
+   Etk_Bool       fit_window;
    
    struct {
       int down;
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit_image.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- exhibit_image.c     19 Dec 2005 14:01:30 -0000      1.8
+++ exhibit_image.c     19 Dec 2005 19:28:31 -0000      1.9
@@ -27,14 +27,11 @@
    
    if(ev->button == 1)
      {
-       Ecore_X_Cursor cursor;
-       
        e->mouse.down = 1;
        e->mouse.x = ev->canvas.x;
        e->mouse.y = ev->canvas.y;
        
-       if ((cursor = ecore_x_cursor_shape_get(ECORE_X_CURSOR_FLEUR)))
-         
ecore_x_window_cursor_set(ecore_evas_software_x11_window_get(ETK_WINDOW(e->win)->ecore_evas),
 cursor);
+        etk_toplevel_widget_pointer_push(ETK_TOPLEVEL_WIDGET(e->win), 
ETK_POINTER_MOVE);
      }
    else if(ev->button == 3)
      {
@@ -73,12 +70,9 @@
    ev = event;
       
    if(ev->button == 1)
-     { 
-       Ecore_X_Cursor cursor;  
-       
+     {
        e->mouse.down = 0;
-       if ((cursor = ecore_x_cursor_shape_get(ECORE_X_CURSOR_LEFT_PTR)))
-         
ecore_x_window_cursor_set(ecore_evas_software_x11_window_get(ETK_WINDOW(e->win)->ecore_evas),
 cursor);
+        etk_toplevel_widget_pointer_pop(ETK_TOPLEVEL_WIDGET(e->win), 
ETK_POINTER_MOVE);
      }
 }
 
@@ -450,8 +444,6 @@
        h /= abs(zoom);
      }
 
-   evas_object_resize(im->image_object, w, h);
-   evas_object_image_fill_set(im->image_object, 0, 0, w, h);
    etk_widget_size_request_set(ETK_WIDGET(im), w, h);
    etk_widget_redraw_queue(ETK_WIDGET(im));
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit_main.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- exhibit_main.c      19 Dec 2005 14:01:30 -0000      1.11
+++ exhibit_main.c      19 Dec 2005 19:28:31 -0000      1.12
@@ -1,12 +1,6 @@
 #include "exhibit.h"
 #include <Ecore_File.h>
 
-#define EX_BUTTON_GET_RETURN(o) \
-      Etk_Button *item; \
-      if (!(item = ETK_BUTTON(o))) \
-          return;
-
-
 extern Evas_List *thumb_list;
 
 char *viewables[] =
@@ -21,7 +15,12 @@
 void
 _ex_main_statusbar_zoom_update(Exhibit *e)
 {
-   if(e->zoom > 0)
+   if (e->fit_window)
+     {
+        etk_statusbar_pop(ETK_STATUSBAR(e->statusbar[2]), 0);
+        etk_statusbar_push(ETK_STATUSBAR(e->statusbar[2]), _("Fit to window"), 
0);
+     }
+   else if(e->zoom > 0)
      {
        char zoom[6];
        etk_statusbar_pop(ETK_STATUSBAR(e->statusbar[2]), 0);
@@ -47,12 +46,16 @@
 _ex_main_button_zoom_in_cb(Etk_Object *obj, void *data)
 {
    Exhibit      *e;
-   Etk_Tree_Row *r;   
-   EX_BUTTON_GET_RETURN(obj);
    
    e = data;
-   r = etk_tree_selected_row_get(ETK_TREE(e->itree));
-   if(!r) return;
+   
+   if (e->fit_window)
+     {
+        etk_paned_add2(ETK_PANED(e->hpaned), e->scrolled_view, TRUE);
+        etk_widget_size_request_set(e->alignment, -1, -1);
+        
etk_scrolled_view_add_with_viewport(ETK_SCROLLED_VIEW(e->scrolled_view), 
e->alignment);
+        e->fit_window = FALSE;
+     }
    
    if(e->zoom == ZOOM_MAX)
      e->zoom = ZOOM_MAX;
@@ -67,12 +70,16 @@
 _ex_main_button_zoom_out_cb(Etk_Object *obj, void *data)
 {
    Exhibit      *e;
-   Etk_Tree_Row *r;   
-   EX_BUTTON_GET_RETURN(obj);
    
    e = data;
-   r = etk_tree_selected_row_get(ETK_TREE(e->itree));
-   if(!r) return;
+   
+   if (e->fit_window)
+     {
+        etk_paned_add2(ETK_PANED(e->hpaned), e->scrolled_view, TRUE);
+        etk_widget_size_request_set(e->alignment, -1, -1);
+        
etk_scrolled_view_add_with_viewport(ETK_SCROLLED_VIEW(e->scrolled_view), 
e->alignment);
+        e->fit_window = FALSE;
+     }
    
    if(e->zoom <= ZOOM_MIN)
      e->zoom = ZOOM_MIN;
@@ -87,12 +94,16 @@
 _ex_main_button_zoom_one_to_one_cb(Etk_Object *obj, void *data)
 {
    Exhibit      *e;
-   Etk_Tree_Row *r;
-   EX_BUTTON_GET_RETURN(obj);
    
    e = data;
-   r = etk_tree_selected_row_get(ETK_TREE(e->itree));
-   if(!r) return;
+   
+   if (e->fit_window)
+     {
+        etk_paned_add2(ETK_PANED(e->hpaned), e->scrolled_view, TRUE);
+        etk_widget_size_request_set(e->alignment, -1, -1);
+        
etk_scrolled_view_add_with_viewport(ETK_SCROLLED_VIEW(e->scrolled_view), 
e->alignment);
+        e->fit_window = FALSE;
+     }
    
    e->zoom = 0;
    e->brightness = 128;
@@ -105,8 +116,18 @@
 void
 _ex_main_button_fit_to_window_cb(Etk_Object *obj, void *data)
 {
-   EX_BUTTON_GET_RETURN(obj);
-   printf("fit to window\n");
+   Exhibit      *e;
+   
+   if (e->fit_window)
+      return;
+   
+   e = data;
+   etk_widget_size_request_set(e->alignment, 10, 10);
+   etk_paned_add2(ETK_PANED(e->hpaned), e->alignment, TRUE);
+   etk_widget_size_request_set(e->image, -1, -1);
+   
+   e->fit_window = TRUE;
+   _ex_main_statusbar_zoom_update(e);
 }
 
 void
@@ -123,8 +144,7 @@
 
    e = data;
    e->zoom = 0;
-   etk_statusbar_pop(ETK_STATUSBAR(e->statusbar[2]), 0);   
-   etk_statusbar_push(ETK_STATUSBAR(e->statusbar[2]), "1:1", 0);
+   _ex_main_statusbar_zoom_update(e);
    
    tree = ETK_TREE(object);
 
@@ -526,7 +546,7 @@
    etk_widget_size_request_set(e->fit[1], 33, 27);
    //etk_button_image_set(ETK_BUTTON(button), ETK_IMAGE(e->fit[1]));
    etk_container_add(ETK_CONTAINER(e->fit[0]), e->fit[1]);
-   etk_signal_connect("clicked", ETK_OBJECT(e->original[0]), 
ETK_CALLBACK(_ex_main_button_fit_to_window_cb), e);   
+   etk_signal_connect("clicked", ETK_OBJECT(e->fit[0]), 
ETK_CALLBACK(_ex_main_button_fit_to_window_cb), e);   
    etk_table_attach(ETK_TABLE(e->table), e->fit[0],
                    2, 2, 1, 1,
                    0, 0, ETK_FILL_POLICY_NONE);
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/exhibit/src/bin/exhibit_menus.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- exhibit_menus.c     19 Dec 2005 14:01:30 -0000      1.7
+++ exhibit_menus.c     19 Dec 2005 19:28:31 -0000      1.8
@@ -1,4 +1,5 @@
 #include "exhibit.h"
+#include "exhibit_main.h"
 
 #define EX_MENU_ITEM_GET_RETURN(o) \
    Etk_Menu_Item *item; \
@@ -33,14 +34,14 @@
        return NULL;
      }
    
-   if (stock_id != ETK_STOCK_NO_STOCK)
+   if (stock_id > ETK_STOCK_NO_STOCK)
      {
        Etk_Widget *image;
 
        image = etk_image_new_from_stock(stock_id);
        etk_menu_item_image_set(ETK_MENU_ITEM(menu_item), ETK_IMAGE(image));
      }
-   else
+   else if (stock_id < ETK_STOCK_NO_STOCK)
      { 
        stock_id = abs(stock_id) - 1;
        if(stock_id >= 0 && stock_id < sizeof(ex_images) / sizeof(char*))
@@ -270,65 +271,25 @@
 void
 _ex_menu_zoom_in_cb(Etk_Object *obj, void *data)
 {
-   Exhibit      *e;
-   Etk_Tree_Row *r;   
-   EX_MENU_ITEM_GET_RETURN(obj);
-   
-   e = data;
-   r = etk_tree_selected_row_get(ETK_TREE(e->itree));
-   if(!r) return;
-   
-   if(e->zoom == ZOOM_MAX)
-     e->zoom = ZOOM_MAX;
-   else
-     e->zoom += 2;
-   
-   _ex_image_zoom(ETK_IMAGE(e->image), e->zoom);
-   _ex_main_statusbar_zoom_update(e);   
+   _ex_main_button_zoom_in_cb(NULL, data);  
 }
 
 void
 _ex_menu_zoom_out_cb(Etk_Object *obj, void *data)
 {
-   Exhibit      *e;
-   Etk_Tree_Row *r;   
-   EX_MENU_ITEM_GET_RETURN(obj);
-   
-   e = data;
-   r = etk_tree_selected_row_get(ETK_TREE(e->itree));
-   if(!r) return;
-   
-   if(e->zoom <= ZOOM_MIN)
-     e->zoom = ZOOM_MIN;
-   else
-     e->zoom -= 2;
-   
-   _ex_image_zoom(ETK_IMAGE(e->image), e->zoom);
-   _ex_main_statusbar_zoom_update(e);
+   _ex_main_button_zoom_out_cb(NULL, data);
 }
 
 void
 _ex_menu_zoom_one_to_one_cb(Etk_Object *obj, void *data)
 {
-   Exhibit      *e;
-   Etk_Tree_Row *r;
-   EX_MENU_ITEM_GET_RETURN(obj);
-   
-   e = data;
-   r = etk_tree_selected_row_get(ETK_TREE(e->itree));
-   if(!r) return;
-   
-   e->zoom = 0;
-   
-   _ex_image_zoom(ETK_IMAGE(e->image), e->zoom);
-   _ex_main_statusbar_zoom_update(e);     
+   _ex_main_button_zoom_one_to_one_cb(NULL, data);    
 }
 
 void
 _ex_menu_fit_to_window_cb(Etk_Object *obj, void *data)
 {
-   EX_MENU_ITEM_GET_RETURN(obj);
-   printf("fit to window\n");
+   _ex_main_button_fit_to_window_cb(NULL, data);
 }
 
 void




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to