pingus-cvs
[Top][All Lists]
Advanced

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

[Pingus-CVS] r3562 - in trunk/pingus: data/data data/images/core/menu sr


From: grumbel at BerliOS
Subject: [Pingus-CVS] r3562 - in trunk/pingus: data/data data/images/core/menu src
Date: Mon, 24 Mar 2008 16:16:56 +0100

Author: grumbel
Date: 2008-03-24 16:16:55 +0100 (Mon, 24 Mar 2008)
New Revision: 3562

Added:
   trunk/pingus/data/images/core/menu/arrow_down.png
   trunk/pingus/data/images/core/menu/arrow_left.png
   trunk/pingus/data/images/core/menu/arrow_right.png
   trunk/pingus/data/images/core/menu/arrow_up.png
Modified:
   trunk/pingus/data/data/core.res
   trunk/pingus/src/global_event.cpp
   trunk/pingus/src/level_menu.cpp
   trunk/pingus/src/level_menu.hpp
Log:
- added some dummy scroll buttons

Modified: trunk/pingus/data/data/core.res
===================================================================
--- trunk/pingus/data/data/core.res     2008-03-24 11:38:00 UTC (rev 3561)
+++ trunk/pingus/data/data/core.res     2008-03-24 15:16:55 UTC (rev 3562)
@@ -358,6 +358,22 @@
 
           (section (name "menu")
                    (sprite
+                    (name "arrow_up")
+                    (image-file "../images/core/menu/arrow_up.png"))
+
+                   (sprite
+                    (name "arrow_down")
+                    (image-file "../images/core/menu/arrow_down.png"))
+
+                   (sprite
+                    (name "arrow_left")
+                    (image-file "../images/core/menu/arrow_left.png"))
+
+                   (sprite
+                    (name "arrow_right")
+                    (image-file "../images/core/menu/arrow_right.png"))
+
+                   (sprite
                     (name "menuitem")
                     (origin "center")
                     (image-file "../images/core/menu/menuitem.png"))

Added: trunk/pingus/data/images/core/menu/arrow_down.png
===================================================================
(Binary files differ)


Property changes on: trunk/pingus/data/images/core/menu/arrow_down.png
___________________________________________________________________
Name: svn:mime-type
   + image/png

Added: trunk/pingus/data/images/core/menu/arrow_left.png
===================================================================
(Binary files differ)


Property changes on: trunk/pingus/data/images/core/menu/arrow_left.png
___________________________________________________________________
Name: svn:mime-type
   + image/png

Added: trunk/pingus/data/images/core/menu/arrow_right.png
===================================================================
(Binary files differ)


Property changes on: trunk/pingus/data/images/core/menu/arrow_right.png
___________________________________________________________________
Name: svn:mime-type
   + image/png

Added: trunk/pingus/data/images/core/menu/arrow_up.png
===================================================================
(Binary files differ)


Property changes on: trunk/pingus/data/images/core/menu/arrow_up.png
___________________________________________________________________
Name: svn:mime-type
   + image/png

Modified: trunk/pingus/src/global_event.cpp
===================================================================
--- trunk/pingus/src/global_event.cpp   2008-03-24 11:38:00 UTC (rev 3561)
+++ trunk/pingus/src/global_event.cpp   2008-03-24 15:16:55 UTC (rev 3562)
@@ -75,12 +75,6 @@
             ScreenManager::instance()->push_screen(new AddOnMenu(), true);
         break;
 
-      case SDLK_F7:
-        if (maintainer_mode)
-          if 
(!dynamic_cast<LevelMenu*>(ScreenManager::instance()->get_screen()))
-            ScreenManager::instance()->push_screen(new LevelMenu(), true);
-        break;
-
       case SDLK_F12:
         {
           std::string filename;

Modified: trunk/pingus/src/level_menu.cpp
===================================================================
--- trunk/pingus/src/level_menu.cpp     2008-03-24 11:38:00 UTC (rev 3561)
+++ trunk/pingus/src/level_menu.cpp     2008-03-24 15:16:55 UTC (rev 3562)
@@ -68,6 +68,8 @@
   }
 };
 
+
+
 class LevelsetSelector : public GUI::RectComponent
 {
 private:
@@ -77,13 +79,21 @@
   Levelset* current_levelset;
   Sprite marker;
 
+  Sprite arrow_left;
+  Sprite arrow_right;
+  int page;
+
 public:
   LevelsetSelector(LevelMenu* level_menu_, const Rect& rect_) 
     : RectComponent(rect_),
-      level_menu(level_menu_), current_levelset(NULL)
+      level_menu(level_menu_), current_levelset(NULL),
+      page(0)
   {
     marker        = Resource::load_sprite("core/menu/marker");
 
+    arrow_left  = Resource::load_sprite("core/menu/arrow_left");
+    arrow_right = Resource::load_sprite("core/menu/arrow_right");
+
     std::string path = Pathname("levelsets", 
Pathname::DATA_PATH).get_sys_path();
     System::Directory directory = System::opendir(path, "*.levelset");
     for(System::Directory::iterator i = directory.begin(); i != 
directory.end(); ++i)
@@ -111,23 +121,34 @@
     //                 Color(255, 255, 0, 100));
 
     int y = 0;
-    for(Levelsets::iterator i = levelsets.begin(); i != levelsets.end(); ++i)
+    for(int i = 3*page; (i < 3*(page+1)) && (i < int(levelsets.size())); ++i)
       {
-        if (*i == current_levelset)
+        Levelset* levelset = levelsets[i];
+
+        if (levelset == current_levelset)
           gc.draw(marker, Vector2i(0, y - 5));
 
-        gc.draw((*i)->get_image(), Vector2i(30, y));
+        gc.draw(levelset->get_image(), Vector2i(30, y));
 
-        gc.print_left(Fonts::chalk_normal, 85+30, 15 + y, 
_((*i)->get_title()));
-        gc.print_left(Fonts::chalk_small,  85+50, 40 + y, 
_((*i)->get_description()));
+        gc.print_left(Fonts::chalk_normal, 85+30, 15 + y, 
_(levelset->get_title()));
+        gc.print_left(Fonts::chalk_small,  85+50, 40 + y, 
_(levelset->get_description()));
 
-        gc.print_right(Fonts::chalk_normal, rect.get_width() - 30, 15 + y, 
(boost::format("%1% %2%%%") % _("Solved:") % (*i)->get_completion()).str());
-        gc.print_right(Fonts::chalk_small,  rect.get_width() - 30, 60 + y, 
(boost::format("%1% %2%") % (*i)->get_level_count() % _("levels")).str());
+        gc.print_right(Fonts::chalk_normal, rect.get_width() - 30, 15 + y, 
(boost::format("%1% %2%%%") % _("Solved:") % levelset->get_completion()).str());
+        gc.print_right(Fonts::chalk_small,  rect.get_width() - 30, 60 + y, 
(boost::format("%1% %2%") % levelset->get_level_count() % _("levels")).str());
 
         //gc.draw(ok_button, 620, y);
 
         y += 95;
       }
+    
+    int total_pages = levelsets.size()/3 + ((levelsets.size()%3) != 0 ? 1 : 0);
+  
+    gc.print_center(Fonts::chalk_normal, rect.get_width()/2, 453 - rect.top,
+                    (boost::format("%1% %2%/%3%") % _("Page") % (page+1) % 
total_pages).str());
+
+    gc.draw(arrow_left,  Vector2i(570 - rect.left, 445 - rect.top));
+    gc.draw(arrow_right, Vector2i(630 - rect.left, 445 - rect.top));
+
     gc.pop_modelview();
   }
 
@@ -166,6 +187,8 @@
   Sprite marker_locked;
   Levelset* levelset;
   int current_level;
+  Sprite arrow_up;
+  Sprite arrow_down;
   
 public:
   LevelSelector(LevelMenu* level_menu_, const Rect& rect_) 
@@ -176,6 +199,9 @@
   {
     marker        = Resource::load_sprite("core/menu/marker2");
     marker_locked = Resource::load_sprite("core/menu/marker_locked");
+
+    arrow_up   = Resource::load_sprite("core/menu/arrow_up");
+    arrow_down = Resource::load_sprite("core/menu/arrow_down");
   }
 
   void draw(DrawingContext& gc) 
@@ -193,7 +219,7 @@
         //                 Color(255, 255, 0, 100));
 
         gc.print_left(Fonts::chalk_normal,  30, -32, _("Title"));
-        gc.print_right(Fonts::chalk_normal, rect.get_width() - 30, - 32, 
_("Status"));
+        gc.print_right(Fonts::chalk_normal, rect.get_width() - 30 - 40, - 32, 
_("Status"));
 
         int y = 0;
         for(int i = 0; i < levelset->get_level_count(); ++i)
@@ -209,13 +235,16 @@
               gc.print_left(Fonts::chalk_small, 30, y+4, 
_(levelset->get_level(i)->plf.get_levelname()));
 
             if (levelset->get_level(i)->finished)
-              gc.print_right(Fonts::chalk_small, rect.get_width() -30, y+4, 
_("solved"));
+              gc.print_right(Fonts::chalk_small, rect.get_width() -30 - 40, 
y+4, _("solved"));
             else
-              gc.print_right(Fonts::chalk_small, rect.get_width() -30, y+4, 
_("unsolved"));
+              gc.print_right(Fonts::chalk_small, rect.get_width() -30 - 40, 
y+4, _("unsolved"));
 
             y += 32;
           }
       }
+
+    gc.draw(arrow_up,   Vector2i(rect.get_width() - 26 - 20, 0));
+    gc.draw(arrow_down, Vector2i(rect.get_width() - 26 - 20, 32 * 8 - 48 - 4));
     
     gc.pop_modelview();
   }

Modified: trunk/pingus/src/level_menu.hpp
===================================================================
--- trunk/pingus/src/level_menu.hpp     2008-03-24 11:38:00 UTC (rev 3561)
+++ trunk/pingus/src/level_menu.hpp     2008-03-24 15:16:55 UTC (rev 3562)
@@ -37,7 +37,7 @@
   Sprite background;
   Sprite ok_button;
 
-  LevelSelector* level_selector;
+  LevelSelector*    level_selector;
   LevelsetSelector* levelset_selector;
 
 public:





reply via email to

[Prev in Thread] Current Thread [Next in Thread]