1 2 //---------------------------------------------------------------------------- 3 // Copyright (c) 2004, David Burken, all rights reserved. 4 // 5 // License: LGPL 6 // 7 // See LICENSE.txt file in the top level directory for more details. 8 // 9 // Author: David Burken 10 // 11 // Description: 12 // 13 //---------------------------------------------------------------------------- 14 // $Id: ossimConnectableDisplayListener.cpp 9094 2006-06-13 19:12:40Z dburken $ 15 16 #include <ossim/base/ossimConnectableDisplayListener.h> 17 #include <ossim/base/ossimConnectableObject.h> 18 #include <ossim/base/ossimObjectEvents.h> 19 #include <ossim/base/ossimDisplayListEvent.h> 20 #include <ossim/base/ossimDisplayRefreshEvent.h> 21 22 #include <ossim/base/ossimNotifyContext.h> 23 24 RTTI_DEF1(ossimConnectableDisplayListener, 25 "ossimConnectableDisplayListener", 26 ossimListener); 27 ossimConnectableDisplayListener()28ossimConnectableDisplayListener::ossimConnectableDisplayListener() 29 : ossimListener() 30 {} 31 processEvent(ossimEvent & event)32void ossimConnectableDisplayListener::processEvent(ossimEvent& event) 33 { 34 switch(event.getId()) 35 { 36 case OSSIM_EVENT_OBJECT_DESTRUCTING_ID: 37 { 38 ossimObjectDestructingEvent* eventCast = 39 static_cast<ossimObjectDestructingEvent*>(&event); 40 objectDestructingEvent(*eventCast); 41 42 break; 43 } 44 case OSSIM_EVENT_CONNECTION_CONNECT_ID: 45 case OSSIM_EVENT_CONNECTION_DISCONNECT_ID: 46 { 47 ossimConnectionEvent* eventCast = 48 static_cast<ossimConnectionEvent*>(&event); 49 50 connectionEvent(*eventCast); 51 if(event.getId() == OSSIM_EVENT_CONNECTION_DISCONNECT_ID) 52 { 53 if(eventCast->isInputDirection()) 54 { 55 disconnectInputEvent(*eventCast); 56 } 57 else if(eventCast->isOutputDirection()) 58 { 59 disconnectOutputEvent(*eventCast); 60 } 61 else 62 { 63 ossimNotify(ossimNotifyLevel_WARN) 64 << "ossimConnectableDisplayListener::processEvent, Direction not set\n"; 65 } 66 } 67 else 68 { 69 ossimConnectionEvent* eventCast = static_cast<ossimConnectionEvent*>(&event); 70 71 if(eventCast->isInputDirection()) 72 { 73 connectInputEvent(*eventCast); 74 } 75 else if(eventCast->isOutputDirection()) 76 { 77 connectOutputEvent(*eventCast); 78 } 79 else 80 { 81 ossimNotify(ossimNotifyLevel_WARN) << "ossimConnectableDisplayListener::processEvent, Direction not set\n"; 82 } 83 } 84 break; 85 } 86 case OSSIM_EVENT_PROPERTY_ID: 87 { 88 ossimPropertyEvent* eventCast = static_cast<ossimPropertyEvent*>(&event); 89 propertyEvent(*eventCast); 90 break; 91 } 92 case OSSIM_EVENT_ADD_OBJECT_ID: 93 { 94 ossimContainerEvent* eventCast = static_cast<ossimContainerEvent*>(&event); 95 addObjectEvent(*eventCast); 96 break; 97 } 98 case OSSIM_EVENT_REMOVE_OBJECT_ID: 99 { 100 ossimContainerEvent* eventCast = static_cast<ossimContainerEvent*>(&event); 101 removeObjectEvent(*eventCast); 102 break; 103 } 104 case OSSIM_EVENT_REFRESH_ID: 105 { 106 ossimRefreshEvent* eventCast = static_cast<ossimRefreshEvent*>(&event); 107 refreshEvent(*eventCast); 108 break; 109 } 110 case OSSIM_EVENT_DISPLAY_LIST_ID: 111 { 112 ossimDisplayListEvent* eventCast = 113 static_cast<ossimDisplayListEvent*>(&event); 114 displayListEvent(*eventCast); 115 break; 116 } 117 case OSSIM_EVENT_DISPLAY_REFRESH_ID: 118 { 119 ossimDisplayRefreshEvent* eventCast = 120 static_cast<ossimDisplayRefreshEvent*>(&event); 121 displayRefreshEvent(*eventCast); 122 break; 123 } 124 default: 125 { 126 ossimListener::processEvent(event); 127 break; 128 } 129 } 130 } 131 objectDestructingEvent(ossimObjectDestructingEvent &)132void ossimConnectableDisplayListener::objectDestructingEvent( 133 ossimObjectDestructingEvent& /*event*/) 134 { 135 } 136 connectionEvent(ossimConnectionEvent &)137void ossimConnectableDisplayListener::connectionEvent( 138 ossimConnectionEvent& /* event */) 139 {} 140 disconnectInputEvent(ossimConnectionEvent &)141void ossimConnectableDisplayListener::disconnectInputEvent( 142 ossimConnectionEvent& /* event */) 143 {} 144 disconnectOutputEvent(ossimConnectionEvent &)145void ossimConnectableDisplayListener::disconnectOutputEvent( 146 ossimConnectionEvent& /* event */) 147 {} 148 connectInputEvent(ossimConnectionEvent &)149void ossimConnectableDisplayListener::connectInputEvent( 150 ossimConnectionEvent& /* event */) 151 {} 152 connectOutputEvent(ossimConnectionEvent &)153void ossimConnectableDisplayListener::connectOutputEvent( 154 ossimConnectionEvent& /* event */) 155 {} 156 propertyEvent(ossimPropertyEvent &)157void ossimConnectableDisplayListener::propertyEvent( 158 ossimPropertyEvent& /* event */) 159 {} 160 displayListEvent(ossimDisplayListEvent &)161void ossimConnectableDisplayListener::displayListEvent(ossimDisplayListEvent&) 162 {} 163 displayRefreshEvent(ossimDisplayRefreshEvent &)164void ossimConnectableDisplayListener::displayRefreshEvent( 165 ossimDisplayRefreshEvent&) 166 {} 167 addObjectEvent(ossimContainerEvent &)168void ossimConnectableDisplayListener::addObjectEvent( 169 ossimContainerEvent& /* event */) 170 {} 171 removeObjectEvent(ossimContainerEvent &)172void ossimConnectableDisplayListener::removeObjectEvent( 173 ossimContainerEvent& /* event */) 174 {} 175 refreshEvent(ossimRefreshEvent &)176void ossimConnectableDisplayListener::refreshEvent( 177 ossimRefreshEvent& /* event */) 178 {} 179 180