pingus-cvs
[Top][All Lists]
Advanced

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

[Pingus-CVS] CVS: Games/Pingus/src/editor editor.cxx,1.20,1.21 editor.hx


From: grumbel
Subject: [Pingus-CVS] CVS: Games/Pingus/src/editor editor.cxx,1.20,1.21 editor.hxx,1.9,1.10 editor_event.cxx,1.25,1.26 editor_event.hxx,1.11,1.12
Date: 4 Aug 2002 19:57:18 -0000

Update of /usr/local/cvsroot/Games/Pingus/src/editor
In directory dark:/tmp/cvs-serv12427/editor

Modified Files:
        editor.cxx editor.hxx editor_event.cxx editor_event.hxx 
Log Message:
some cleanup

Index: editor.cxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/editor/editor.cxx,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- editor.cxx  4 Aug 2002 15:42:23 -0000       1.20
+++ editor.cxx  4 Aug 2002 19:57:16 -0000       1.21
@@ -89,10 +89,18 @@
   status_line->set_current_objs(&selection->get_objects());
   panel->set_editor(this);
   scroll_map->editor_event = event;
+
+  std::cout << "Editor: registering event handler" << event << "... " << 
std::flush; 
+  on_button_press_slot = CL_Input::sig_button_press ().connect(event, 
&EditorEvent::on_button_press);
+  on_button_release_slot = CL_Input::sig_button_release ().connect(event, 
&EditorEvent::on_button_release);
 }
 
 Editor::~Editor ()
 {
+  std::cout << "Editor: unregistering event handler" << event << "... " << 
std::flush; 
+  CL_Input::sig_button_press ().disconnect (on_button_press_slot);
+  CL_Input::sig_button_release ().disconnect (on_button_release_slot);
+
   delete object_manager;
   delete status_line;
   delete object_selector;
@@ -103,63 +111,22 @@
 }
 
 void
-Editor::register_event_handler()
-{
-  if (event_handler_ref_counter == 0)
-    {
-      event_handler_ref_counter++;
-      CL_System::keep_alive();
-      if (verbose) std::cout << "Editor: Registering event handler..." << 
event << std::flush; 
-
-      //CL_Input::chain_button_press.push_back(event);
-      //CL_Input::chain_button_release.push_back(event);
-
-      on_button_press_slot
-       = CL_Input::sig_button_press ().connect(event, 
&EditorEvent::on_button_press);
-      on_button_release_slot
-       = CL_Input::sig_button_release ().connect(event, 
&EditorEvent::on_button_release);
-
-      if (verbose) std::cout << "done: " << event_handler_ref_counter << 
std::endl;
-    }
-  else
-    {
-      if (verbose) std::cout << "Editor: event_handler already installed" << 
std::endl;
-    }
-}
-
-void
-Editor::unregister_event_handler()
-{
-  event_handler_ref_counter--;
-  if (verbose) std::cout << "Editor: unregistering event handler" << event << 
"... " << std::flush; 
-
-  //CL_Input::chain_button_release.remove(event);
-  //CL_Input::chain_button_press.remove(event);
-
-  CL_Input::sig_button_press ().disconnect (on_button_press_slot);
-  CL_Input::sig_button_release ().disconnect (on_button_release_slot);
-
-  CL_System::keep_alive();
-  if (verbose) std::cout << "done: " << event_handler_ref_counter << std::endl;
-}
-
-void
 Editor::on_startup ()
 {
+  std::cout << "Editor::on_startup ()" << std::endl;
   quit = false;
 
   Display::set_cursor(CL_MouseCursorProvider::load("cursors/cursor", 
PingusResource::get("core")));
-  
   Display::show_cursor();
-
-  register_event_handler();
+  event->enable ();
 }
 
 void
 Editor::on_shutdown ()
 {
-  unregister_event_handler();
+  std::cout << "Editor::on_shutdown ()" << std::endl;
   Display::hide_cursor(); 
+  event->disable ();
 }
 
 void

Index: editor.hxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/editor/editor.hxx,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- editor.hxx  4 Aug 2002 15:42:23 -0000       1.9
+++ editor.hxx  4 Aug 2002 19:57:16 -0000       1.10
@@ -118,9 +118,6 @@
 
   void toggle_help_screen ();
 
-  void register_event_handler();
-  void unregister_event_handler();
-
   ObjectManager* get_object_manager() { return object_manager; }
   std::string save_tmp_level ();
   EditorEvent* get_event() { return event; }

Index: editor_event.cxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/editor/editor_event.cxx,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- editor_event.cxx    2 Aug 2002 11:25:47 -0000       1.25
+++ editor_event.cxx    4 Aug 2002 19:57:16 -0000       1.26
@@ -47,7 +47,7 @@
 #include "../screen_manager.hxx"
 
 EditorEvent::EditorEvent()
-  : is_enabled (1)
+  : is_enabled (false)
 {
   for (float i = 0; i < 1.0f; i += 0.1f)
     background_colors.push_back (Color (i, i, i));
@@ -78,21 +78,15 @@
 void
 EditorEvent::enable()
 {
-  ++is_enabled;
-  
-  if (is_enabled)
-    editor->get_gui_manager ()->enable_input ();
+  is_enabled = true;
+  editor->get_gui_manager ()->enable_input ();
 }
 
 void
 EditorEvent::disable()
 {
-  --is_enabled;
-
-  if (is_enabled == 0)
-    {
-      editor->get_gui_manager ()->disable_input ();
-    }
+  is_enabled = false;
+  editor->get_gui_manager ()->disable_input ();
 }
 
 void
@@ -510,7 +504,7 @@
 
   try {
     std::string levelfile = editor->save_tmp_level();
-    ScreenManager::instance()->push_screen(new PingusGameSession (levelfile));
+    ScreenManager::instance()->push_screen(new PingusGameSession (levelfile), 
true);
   }
   
   catch(PingusError err) {

Index: editor_event.hxx
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/src/editor/editor_event.hxx,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- editor_event.hxx    2 Jul 2002 13:36:06 -0000       1.11
+++ editor_event.hxx    4 Aug 2002 19:57:16 -0000       1.12
@@ -33,7 +33,7 @@
 class EditorEvent //: public CL_Event_ButtonPress, public 
CL_Event_ButtonRelease
 {
 private:
-  int is_enabled;
+  bool is_enabled;
   CL_Font* font;
 
   std::vector<Color> background_colors;




reply via email to

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