paragui-cvs
[Top][All Lists]
Advanced

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

[paragui-cvs] CVS: paragui/src/core pgapplication.cpp,1.5,1.6 pgmessageo


From: Alexander Pipelka <address@hidden>
Subject: [paragui-cvs] CVS: paragui/src/core pgapplication.cpp,1.5,1.6 pgmessageobject.cpp,1.4,1.5
Date: Tue, 30 Apr 2002 06:18:41 -0400

Update of /cvsroot/paragui/paragui/src/core
In directory subversions:/tmp/cvs-serv24317/src/core

Modified Files:
        pgapplication.cpp pgmessageobject.cpp 
Log Message:
generalized removing of child widgets from lists
moved some app specific functions from PG_MessageBox to PG_Application



Index: pgapplication.cpp
===================================================================
RCS file: /cvsroot/paragui/paragui/src/core/pgapplication.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** pgapplication.cpp   29 Apr 2002 11:44:22 -0000      1.5
--- pgapplication.cpp   30 Apr 2002 10:18:39 -0000      1.6
***************
*** 194,202 ****
                                object->sigAppIdle(object);
                        } else {
!                               PG_MessageObject::PumpIntoEventQueue(&event);
                        }
                } else {
                        SDL_WaitEvent(&event);
!                       PG_MessageObject::PumpIntoEventQueue(&event);
                }
  
--- 194,202 ----
                                object->sigAppIdle(object);
                        } else {
!                               PumpIntoEventQueue(&event);
                        }
                } else {
                        SDL_WaitEvent(&event);
!                       PumpIntoEventQueue(&event);
                }
  
***************
*** 929,932 ****
--- 929,1011 ----
  
  void PG_Application::eventIdle() {
+ }
+ 
+ SDL_Event PG_Application::WaitEvent(Uint32 delay) {
+       static SDL_Event event;
+ 
+       while(SDL_PollEvent(&event) == 0) {
+               if(delay > 0) {
+                       SDL_Delay(delay);
+               }
+       }
+ 
+       return event;
+ }
+ 
+ bool PG_Application::PumpIntoEventQueue(const SDL_Event* event) {
+       PG_Widget* widget = NULL;
+ 
+       // do we have a capture hook?
+       if((event->type != SDL_USEREVENT) && (event->type != SDL_VIDEORESIZE) 
/*&& (event->type != SDL_VIDEOEXPOSE)*/) {
+               if(captureObject) {
+                       return captureObject->ProcessEvent(event);
+               }
+       }
+ 
+       switch(event->type) {
+ 
+               case SDL_KEYDOWN:
+               case SDL_KEYUP:
+                       if(inputFocusObject) {
+                               // first send it to the focus object
+                               if(inputFocusObject->ProcessEvent(event)) {
+                                       return true;
+                               }
+                               // if the focus object doesn't respond -> pump 
it into the queue
+                       }
+                       break;
+ 
+               case SDL_MOUSEMOTION:
+                       widget = PG_Widget::FindWidgetFromPos(event->motion.x, 
event->motion.y);
+ 
+                       if(lastwidget && (lastwidget != widget)) {
+                               lastwidget->eventMouseLeave();
+                               lastwidget = NULL;
+                       }
+ 
+                       if(widget) {
+                               lastwidget = widget;
+                               widget->ProcessEvent(event);
+                               return true;
+                       }
+                       break;
+ 
+               case SDL_MOUSEBUTTONUP:
+               case SDL_MOUSEBUTTONDOWN:
+                       widget = PG_Widget::FindWidgetFromPos(event->button.x, 
event->button.y);
+                       if(widget) {
+                               widget->ProcessEvent(event);
+                               return true;
+                       }
+                       break;
+                       /*
+                                       case SDL_VIDEOEXPOSE:
+                                               PG_Widget::UpdateScreen();
+                                               return 0;
+                       */
+       }
+ 
+       // send to all receivers
+       bool processed = false;
+       std::vector<PG_MessageObject*>::iterator list = objectList.begin();
+       while(list != objectList.end()) {
+               if((*list)->ProcessEvent(event)) {
+                       processed = true;
+                       break;          // exit loop if an object responds
+               }
+               list++;
+       }
+ 
+       return processed;
  }
  

Index: pgmessageobject.cpp
===================================================================
RCS file: /cvsroot/paragui/paragui/src/core/pgmessageobject.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** pgmessageobject.cpp 30 Apr 2002 06:37:04 -0000      1.4
--- pgmessageobject.cpp 30 Apr 2002 10:18:39 -0000      1.5
***************
*** 254,339 ****
  
  
- /** global event handler */
- 
- bool PG_MessageObject::PumpIntoEventQueue(const SDL_Event* event) {
-       PG_Widget* widget = NULL;
- 
-       // do we have a capture hook?
-       if((event->type != SDL_USEREVENT) && (event->type != SDL_VIDEORESIZE) 
/*&& (event->type != SDL_VIDEOEXPOSE)*/) {
-               if(captureObject) {
-                       return captureObject->ProcessEvent(event);
-               }
-       }
- 
-       switch(event->type) {
- 
-               case SDL_KEYDOWN:
-               case SDL_KEYUP:
-                       if(inputFocusObject) {
-                               // first send it to the focus object
-                               if(inputFocusObject->ProcessEvent(event)) {
-                                       return true;
-                               }
-                               // if the focus object doesn't respond -> pump 
it into the queue
-                       }
-                       break;
- 
-               case SDL_MOUSEMOTION:
-                       widget = PG_Widget::FindWidgetFromPos(event->motion.x, 
event->motion.y);
- 
-                       if(lastwidget && (lastwidget != widget)) {
-                               lastwidget->eventMouseLeave();
-                               lastwidget = NULL;
-                       }
- 
-                       if(widget) {
-                               lastwidget = widget;
-                               widget->ProcessEvent(event);
-                               return true;
-                       }
-                       break;
- 
-               case SDL_MOUSEBUTTONUP:
-               case SDL_MOUSEBUTTONDOWN:
-                       widget = PG_Widget::FindWidgetFromPos(event->button.x, 
event->button.y);
-                       if(widget) {
-                               widget->ProcessEvent(event);
-                               return true;
-                       }
-                       break;
-                       /*
-                                       case SDL_VIDEOEXPOSE:
-                                               PG_Widget::UpdateScreen();
-                                               return 0;
-                       */
-       }
- 
-       // send to all receivers
-       bool processed = false;
-       std::vector<PG_MessageObject*>::iterator list = objectList.begin();
-       while(list != objectList.end()) {
-               if((*list)->ProcessEvent(event)) {
-                       processed = true;
-                       break;          // exit loop if an object responds
-               }
-               list++;
-       }
- 
-       return processed;
- }
- 
- SDL_Event PG_MessageObject::WaitEvent(Uint32 delay) {
-       static SDL_Event event;
- 
-       while(SDL_PollEvent(&event) == 0) {
-               if(delay > 0) {
-                       SDL_Delay(delay);
-               }
-       }
- 
-       return event;
- }
- 
- 
  /** Remove an object from the message queue  */
  
--- 254,257 ----




reply via email to

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