gcompris r3555 - branches/gcomprixogoo/src/gcompris



Author: bcoudoin
Date: Mon Sep 29 22:52:35 2008
New Revision: 3555
URL: http://svn.gnome.org/viewvc/gcompris?rev=3555&view=rev

Log:
improved the level button, the level number works again.
there is a problem when we leave an activity that scaled the bar


Modified:
   branches/gcomprixogoo/src/gcompris/bar.c

Modified: branches/gcomprixogoo/src/gcompris/bar.c
==============================================================================
--- branches/gcomprixogoo/src/gcompris/bar.c	(original)
+++ branches/gcomprixogoo/src/gcompris/bar.c	Mon Sep 29 22:52:35 2008
@@ -53,6 +53,7 @@
 static gint current_flags = 0;
 static GooCanvasItem *bar_item  = NULL;
 static GooCanvasItem *rootitem = NULL;
+static GooCanvasItem *level_item;
 
 static gint sound_play_id = 0;
 static gboolean _hidden;     /* Dialog boxes request a bar hide */
@@ -211,7 +212,7 @@
                                       GC_BAR_HELP,
                                       "help.png"));
 
-  // LEVEL
+  // LEVEL (Multiple buttons for this one)
   GooCanvasItem *rootitem_level = goo_canvas_group_new (rootitem, NULL);
   g_object_set (rootitem_level,
                 "visibility", GOO_CANVAS_ITEM_INVISIBLE,
@@ -236,6 +237,19 @@
                 "visibility", GOO_CANVAS_ITEM_VISIBLE,
                 NULL);
 
+  GooCanvasBounds bounds;
+  goo_canvas_item_get_bounds(item, &bounds);
+
+  level_item =
+    goo_canvas_text_new (rootitem_level,
+                         "",
+                         (bounds.x2 - bounds.x1) / 2,
+                         (bounds.y2 - bounds.y1) - 15,
+                         -1,
+                         GTK_ANCHOR_CENTER,
+                         "font", gc_skin_font_board_title_bold,
+                         "fill-color-rgba", gc_skin_color_title,
+                         NULL);
   current_level = 1;
 
   // REPEAT
@@ -270,9 +284,7 @@
 
   if(gcomprisBoard!=NULL)
     {
-
-#if 0
-  char *str = NULL;
+      char *str = NULL;
       str = g_strdup_printf("%d", gcomprisBoard->level);
 
       g_object_set (level_item,
@@ -280,8 +292,6 @@
 		    NULL);
 
       g_free(str);
-#endif
-
     }
 
   current_level = gcomprisBoard->level;
@@ -372,14 +382,14 @@
       GooCanvasItem *item = (GooCanvasItem *)list->data;
       GComprisBarFlags flag =
         GPOINTER_TO_UINT(g_object_get_data(G_OBJECT (item), "flag"));
-      printf("gc_bar_set flag=%d  current_flags=%d\n", flag, current_flags);
+
       if (flag & current_flags)
         {
           GooCanvasBounds bounds;
-          goo_canvas_item_get_bounds(item, &bounds);
-          printf("  GOT IT x=%f     item=%p\n", x, item);
           goo_canvas_item_set_transform(item, NULL);
+          goo_canvas_item_get_bounds(item, &bounds);
           goo_canvas_item_translate(item, x, 0);
+          gc_item_focus_init(item, NULL);
           x += bounds.x2 - bounds.x1 + BAR_GAP;
           g_object_set (item,
                         "visibility", GOO_CANVAS_ITEM_VISIBLE,
@@ -400,33 +410,6 @@
                         x / (bounds.x2 - bounds.x1),
                         1);
 
-#if 0
-  if(flags&GC_BAR_LEVEL)
-    {
-    g_object_set (level_up_item,
-		  "visibility", GOO_CANVAS_ITEM_VISIBLE,
-		  NULL);
-    g_object_set (level_down_item,
-		  "visibility", GOO_CANVAS_ITEM_VISIBLE,
-		  NULL);
-    g_object_set (level_item,
-		  "visibility", GOO_CANVAS_ITEM_VISIBLE,
-		  NULL);
-    }
-  else
-    {
-    g_object_set (level_up_item,
-		  "visibility", GOO_CANVAS_ITEM_INVISIBLE,
-		  NULL);
-    g_object_set (level_down_item,
-		  "visibility", GOO_CANVAS_ITEM_INVISIBLE,
-		  NULL);
-    g_object_set (level_item,
-		  "visibility", GOO_CANVAS_ITEM_INVISIBLE,
-		  NULL);
-    }
-#endif
-
   if(flags&GC_BAR_REPEAT) {
     GdkPixbuf *pixmap;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]