![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: eventSignaller.h,v $ $Revision: 1.61 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DTEVENTSIGNALLER_H_ 00013 #define DTEVENTSIGNALLER_H_ 00014 00015 #include <QtCore/QHash> 00016 #include <QtCore/QObject> 00017 #include <QtCore/QString> 00018 #include <map> 00019 00020 #include "tmqt/tmqtDefines.h" 00021 00036 00042 static const char* DtApplicationWindowEvent = "DtApplicationWindow"; 00043 00044 static const char* DtApplicationEvent = "DtApplication"; 00045 00046 static const char* DtEditEntityPlanWidgetEvent = "DtEditEntityPlanWidget"; 00047 static const char* DtCheckpointScenarioWidgetEvent = "DtCheckpointScenarioWidget"; 00048 static const char* DtConditionalExpressionViewWidgetEvent = "DtConditionalExpressionViewWidget"; 00049 static const char* DtRandomWidgetEvent = "DtRandomWidget"; 00050 static const char* DtEntityDestroyedWidgetEvent = "DtEntityDestroyedWidget"; 00051 static const char* DtEntityAltitudeWidgetEvent = "DtEntityAltitudeWidget"; 00052 static const char* DtEntityCheckDiGuyAnimationWidgetEvent = "DtEntityCheckDiGuyAnimationWidget"; 00053 static const char* DtEntityCheckDiGuyAppearanceWidgetEvent = "DtEntityCheckDiGuyAppearanceWidget"; 00054 static const char* DtEntityEmbarkationStateChangedWidgetEvent = "DtEntityEmbarkationStateChangedWidget"; 00055 static const char* DtEntityUnderFireWidgetEvent = "DtEntityUnderFireWidget"; 00056 static const char* DtEntityHasTargetWidgetEvent = "DtEntityHasTargetWidget"; 00057 static const char* DtEntityInAreaWidgetEvent = "DtEntityInAreaWidget"; 00058 static const char* DtEntityIdentLevelWidgetEvent = "DtCheckEntityIdentificationLevelWidget"; 00059 static const char* DtEntityLeftOfLineWidgetEvent = "DtEntityLeftOfLineWidget"; 00060 static const char* DtLifeformSurrenderWidgetEvent = "DtLifeformSurrenderWidget"; 00061 static const char* DtResourceOperatorWidgetEvent = "DtResourceOperatorWidget"; 00062 static const char* DtSimTimeExprWidgetEvent = "DtSimTimeExprWidget"; 00063 static const char* DtReceiveTextExprWidgetEvent = "DtReceiveTextExprWidgetEvent"; 00064 static const char* DtSetEmbarkedWidgetEvent = "DtSetEmbarkedWidget"; 00065 static const char* DtLandingTaskWidgetEvent = "DtLandingTaskWidget"; 00066 static const char* DtTakeoffTaskWidgetEvent = "DtTakeoffTaskWidget"; 00067 static const char* DtRotaryWingLandWidgetEvent = "DtRotaryWingLandWidget"; 00068 static const char* DtMoveToWidgetEvent = "DtMoveToWidget"; 00069 static const char* DtMoveToLocationWidgetEvent = "DtMoveToLocationWidget"; 00070 static const char* DtMoveToAltitudeWidgetEvent = "DtMoveToAltitudeWidget"; 00071 static const char* DtMoveAlongRouteWidgetEvent = "DtMoveAlongRouteWidget"; 00072 static const char* DtPatrolObjectsWidgetEvent = "DtPatrolObjectsWidget"; 00073 static const char* DtPatrolAlongRouteWidgetEvent = "DtPatrolAlongRouteWidget"; 00074 static const char* DtInterceptAndDestroyWidgetEvent = "DtInterceptAndDestroyWidget"; 00075 static const char* DtFollowEntityWidgetEvent = "DtFollowEntityWidget"; 00076 static const char* DtTurnToHeadingWidgetEvent = "DtTurnToHeadingWidget"; 00077 static const char* DtWaitDurationWidgetEvent = "DtWaitDurationWidget"; 00078 static const char* DtWaitElapsedWidgetEvent = "DtWaitElapsedWidget"; 00079 static const char* DtFireEffectEntityWidgetEvent = "DtFireEffectEntityWidget"; 00080 static const char* DtFireEffectLocationWidgetEvent = "DtFireEffectLocationWidget"; 00081 static const char* DtFireEffectTargetWidgetEvent = "DtFireEffectTargetWidget"; 00082 static const char* DtFireCruiseMissileWidgetEvent = "DtFireCruiseMissileWidget"; 00083 static const char* DtDetonationWidgetEvent = "DtDetonationWidget"; 00084 static const char* DtUserTaskWidgetEvent = "DtUserTaskWidget"; 00085 static const char* DtMoveIntoFormationTaskWidgetEvent = "DtMoveIntoFormationTaskWidget"; 00086 static const char* DtSendTextTaskWidgetEvent = "DtSendTextTaskWidgetEvent"; 00087 static const char* DtSetLocationWidgetEvent = "DtSetLocationWidget"; 00088 static const char* DtSetNotifyLevelWidgetEvent = "DtSetNotifyLevelWidget"; 00089 static const char* DtSetAltitudeWidgetEvent = "DtSetAltitudeWidget"; 00090 static const char* DtSetSpeedWidgetEvent = "DtSetSpeedWidget"; 00091 static const char* DtSetHeadingWidgetEvent = "DtSetHeadingWidget"; 00092 static const char* DtSetForceWidgetEvent = "DtSetForceWidget"; 00093 static const char* DtSetResourcesWidgetEvent = "DtSetResourcesWidget"; 00094 static const char* DtSetResponsibilityWidgetEvent = "DtSetResponsibilityWidget"; 00095 static const char* DtSetEngagementWidgetEvent = "DtSetEngagementWidget"; 00096 static const char* DtSetTargetWidgetEvent = "DtSetTargetWidget"; 00097 static const char* DtSetFireNowWidgetEvent = "DtSetFireNowWidget"; 00098 static const char* DtSetPostureWidgetEvent = "DtSetPostureWidget"; 00099 static const char* DtSetWeaponStateWidgetEvent = "DtSetWeaponStateWidget"; 00100 static const char* DtSetFormationWidgetEvent = "DtSetFormationWidget"; 00101 static const char* DtSetConcealmentWidgetEvent = "DtSetConcealmentWidget"; 00102 static const char* DtSetArmedWidgetEvent = "DtSetArmedWidget"; 00103 static const char* DtSetEmitterWidgetEvent = "DtSetEmitterWidget"; 00104 static const char* DtSetIffWidgetEvent = "DtSetIffWidget"; 00105 static const char* DtSetAppearanceWidgetEvent = "DtSetAppearanceWidget"; 00106 static const char* DtSetCapabilitiesWidgetEvent = "DtSetCapabilitiesWidget"; 00107 static const char* DtSetStayInLaneWidgetEvent = "DtSetStayInLaneWidget"; 00108 static const char* DtSetCollisionAvoidTypesWidgetEvent = "DtSetCollisionAvoidTypesWidget"; 00109 static const char* DtIntervisibilityOptionsWidgetEvent = "DtIntervisibilityOptionsWidget"; 00110 static const char* DtTerrainDatabaseInformationDialogEvent = "DtTerrainDatabaseInformationDialog"; 00111 static const char* DtTerrainIntervisibilityOptionsEvent = "DtTerrainIntervisibilityOptions"; 00112 static const char* DtTerrainFeaturesWidgetEvent = "DtTerrainFeaturesWidget"; 00113 static const char* DtTerrainInfoDialogEvent = "DtTerrainInfoDialog"; 00114 static const char* DtTerrainPaperMapWidgetEvent = "DtTerrainPaperMapWidget"; 00115 static const char* DtTerrainProfileWidgetEvent = "DtTerrainProfileWidget"; 00116 static const char* DtTerrainViewOptionsWidgetEvent = "DtTerrainViewOptionsWidget"; 00117 static const char* DtAboutBoxEvent = "DtAboutBox"; 00118 static const char* DtPluginDialogEvent = "DtPluginDialog"; 00119 static const char* DtDisplayOptionsWidgetEvent = "DtDisplayOptionsWidget"; 00120 static const char* DtEditToolbarsWidgetEvent = "DtEditToolbarsWidgetEvent"; 00121 static const char* DtHierarchiesPanelEvent = "DtHierarchiesPanel"; 00122 static const char* DtEmitterFilterPanelEvent = "DtEmitterFilterPanel"; 00123 static const char* DtFrameRateMonitorWidgetEvent = "DtFrameRateMonitorWidget"; 00124 static const char* DtOverlayGroupingWidgetEvent = "DtOverlayGroupingWidget"; 00125 static const char* DtOverlayDlgEvent = "DtOverlayDlg"; 00126 static const char* DtOverlayPaletteEvent = "DtOverlayPalette"; 00127 static const char* DtPrinterDialogEvent = "DtPrinterDialog"; 00128 static const char* DtPuffOptionsWidgetEvent = "DtPuffOptionsWidget"; 00129 static const char* DtTacticalSmokeOptionsWidgetEvent = "DtTacticalSmokeOptionsWidgetEvent"; 00130 static const char* DtSpotReportOptionsWidgetEvent = "DtSpotReportOptionsWidget"; 00131 static const char* DtSaveMapAreaWidgetEvent = "DtSaveMapAreaWidget"; 00132 static const char* DtSelectionGroupHandlerWidgetEvent = "DtSelectionGroupHandlerWidget"; 00133 static const char* DtTransmitterFilterPanelEvent = "DtTransmitterFilterPanel"; 00134 static const char* DtFileOpenDialogWidgetEvent = "DtFileOpenDialogWidget"; 00135 static const char* DtFileOpenDatatabaseWidgetEvent = "DtFileOpenDatatabaseWidget"; 00136 static const char* DtFileSaveDatatabaseWidgetEvent = "DtFileSaveDatatabaseWidget"; 00137 static const char* DtTerrainOverlaySaveWidgetEvent = "DtTerrainOverlaySaveWidget"; 00138 static const char* DtOverlayLoadWidgetEvent = "DtOverlayLoadWidget"; 00139 static const char* DtSelectionGroupLoadWidgetEvent = "DtSelectionGroupLoadWidget"; 00140 static const char* DtSelectionGroupSaveWidgetEvent = "DtSelectionGroupSaveWidget"; 00141 static const char* DtLoadSymbolMapWidgetEvent = "DtLoadSymbolMapWidget"; 00142 static const char* DtBatchScenarioLoadWidgetEvent = "DtBatchScenarioLoadWidget"; 00143 static const char* DtLoadCreateMenuWidgetEvent = "DtLoadCreateMenuWidget"; 00144 static const char* DtLoadCreateOverlayMenuWidgetEvent = "DtLoadCreateOverlayMenuWidget"; 00145 static const char* DtLoadCreateModelSetMenuWidgetEvent = "DtLoadCreateModelSetMenuWidget"; 00146 static const char* DtLoadScenarioWidgetEvent = "DtLoadScenarioWidget"; 00147 static const char* DtSaveScenarioWidgetEvent = "DtSaveScenarioWidget"; 00148 static const char* DtNewScenarioWidgetEvent = "DtNewScenarioWidget"; 00149 static const char* DtVrfOverlayLoadHandlerWidgetEvent = "DtVrfOverlayLoadHandlerWidget"; 00150 static const char* DtVrfIndirectArtilleryEditWidgetEvent = "DtVrfIndirectArtilleryEditWidget"; 00151 static const char* DtVrfHostilityMatrixWidgetEvent = "DtVrfHostilityMatrixWidget"; 00152 static const char* DtVrfForceHostilityWidgetEvent = "DtVrfForceHostilityWidget"; 00153 static const char* DtLaseTargetWidgetEvent = "DtLaseTargetWidget"; 00154 00155 static const char* DtCreateControlObjectWidgetEvent = "DtCreateControlObjectWidget"; 00156 static const char* DtCreateLineWidgetEvent = "DtCreateLineWidget"; 00157 static const char* DtCreateAreaWidgetEvent = "DtCreateAreaWidget"; 00158 static const char* DtCreatePointWidgetEvent = "DtCreatePointWidget"; 00159 static const char* DtEchelonViewOptionsEvent = "DtEchelonViewOptions"; 00160 static const char* DtEchelonViewWidgetEvent = "DtEchelonViewWidget"; 00161 static const char* DtEmbarkationViewWidgetEvent = "DtEmbarkationViewWidget"; 00162 static const char* DtMapAreaEvent = "DtMapArea"; 00163 static const char* DtMiniMapEvent = "DtMiniMap"; 00164 static const char* DtTerrainFeatureInfoDialogEvent = "DtTerrainFeatureInfoDialog"; 00165 static const char* DtTransmitterInfoDialogEvent = "DtTransmitterInfoDialog"; 00166 static const char* DtPuffInfoDialogEvent = "DtPuffInfoDialog"; 00167 static const char* DtSpotReportInfoDialogEvent = "DtSpotReportInfoDialog"; 00168 static const char* DtEnvironmentalInfoDialogEvent = "DtEnvironmentalInfoDialog"; 00169 static const char* DtEntityInfoDialogEvent = "DtEntityInfoDialog"; 00170 static const char* DtScenarioInformationWidgetEvent = "DtScenarioInformationWidget"; 00171 static const char* DtScenarioPreviewWidgetEvent = "DtScenarioPreviewWidget"; 00172 static const char* DtEmitterBeamInfoDialogEvent = "DtEmitterBeamInfoDialog"; 00173 static const char* DtAggregateInfoDialogEvent = "DtAggregateInfoDialog"; 00174 static const char* DtRangeRingsOptionsWidgetEvent = "DtRangeRingsOptionsWidget"; 00175 static const char* DtLOSFilterOptionsDlgEvent = "DtLOSFilterOptionsDlg"; 00176 static const char* DtConfigureSpatialSubdivisionWidgetEvent = "DtConfigureSpatialSubdivisionWidget"; 00177 static const char* DtEditAggregateDialogEvent = "DtEditAggregateDialog"; 00178 static const char* DtEditEntityDialogEvent = "DtEditEntityDialog"; 00179 static const char* DtEmbarkOnWidgetEvent = "DtEmbarkOnWidget"; 00180 static const char* DtAttachObjectWidgetEvent = "DtAttachObjectWidget"; 00181 static const char* DtViewPlanWidgetEvent = "DtViewPlanWidget"; 00182 static const char* DtMonitorResourceWidgetEvent = "DtMonitorResourceWidget"; 00183 static const char* DtCommModelSettingsWidgetEvent = "DtCommModelSettingsWidget"; 00184 static const char* DtPerformanceOptionsWidgetEvent = "DtPerformanceOptionsWidget"; 00185 static const char* DtAggregateOptionsWidgetEvent = "DtAggregateOptionsWidget"; 00186 static const char* DtSessionOptionsWidgetEvent = "DtSessionOptionsWidget"; 00187 static const char* DtCreationMenuEvent = "DtCreationMenu"; 00188 static const char* DtContextMenuEvent = "DtContentMenu"; 00189 static const char* DtRightClickMenuEvent = "DtRightClickMenu"; 00190 static const char* DtRightClickMouseDragEvent = "DtRightClickMouseDrag"; 00191 static const char* DtMiddleClickMenuEvent = "DtMiddleClickMenu"; 00192 static const char* DtAvailableTaskSetManagerEvent = "DtAvailableTaskSetManager"; 00193 static const char* DtSpotAdjudicatorEvent = "DtSpotAdjudicator"; 00194 static const char* DtGlobalPlansWidgetEvent = "DtGlobalPlansWidget"; 00195 static const char* DtAggregateAsWidgetEvent = "DtAggregateAsWidget"; 00196 static const char* DtEntityPlansWidgetEvent = "DtEntityPlansWidget"; 00197 static const char* DtSimulationConsoleMessageWidgetEvent = "DtSimulationConsoleMessageWidget"; 00198 static const char* DtSetSpotReportWidgetsEvent = "DtSetSpotReportWidgets"; 00199 static const char* DtNewScenarioHandlerEvent = "DtNewScenarioHandler"; 00200 static const char* DtEntityPaletteRightClickMenuEvent = "DtEntityPaletteRightClickMenu"; 00201 static const char* DtFavoritesPaletteRightClickMenuEvent = "DtFavoritesPaletteRightClickMenu"; 00202 static const char* DtPasteHandlerWidgetEvent = "DtPasteHandlerWidget"; 00203 static const char* DtLoadScenarioHandlerEvent = "DtLoadScenarioHandler"; 00204 static const char* DtSymbolMapEvent = "DtSymbolMapEvent"; 00205 static const char* DtToolbarFactoryManagerEvent = "DtToolbarFactoryManagerEvent"; 00206 static const char* DtFeatureActionManagerEvent= "DtFeatureActionManagerEvent"; 00207 static const char* DtDiGuySetAppearanceWidgetEvent = "DtDiGuySetAppearanceWidgetEvent"; 00208 static const char* DtDiGuyAnimationTaskWidgetEvent = "DtDiGuyAnimationTaskWidget"; 00209 static const char* DtOrbitTaskWidgetEvent = "DtOrbitTaskWidget"; 00210 static const char* DtLaunchSmokeWidgetEvent = "DtLaunchSmokeWidget"; 00211 static const char* DtSetSurrenderWidgetEvent = "DtSetSurrenderWidget"; 00212 static const char* DtWeatherInfoWidgetEvent = "DtWeatherInfoWidget"; 00213 static const char* DtChangeHostilityCommandWidgetEvent = "DtChangeHostilityCommandWidget"; 00214 static const char* DtSetAggregateStateWidgetEvent = "DtSetAggregateStateWidget"; 00215 00217 static const char* DtSymbolMapLoaded = "DtSymbolMapLoaded"; 00218 00221 static const char* DtGlobalPlansSetupWidgetEvent = "DtGlobalPlansSetupWidgetEvent"; 00222 00225 static const char* DtTimeManagementSetupWidgetEvent = "DtTimeManagementSetupWidgetEvent"; 00226 00229 static const char* DtAppOptionsEvent = "DtAppOptions"; 00230 static const char* DtLoadBalancingEvent = "DtLoadBalancer"; 00231 00234 00236 static const char* DtFrontEndAllEvents = "DtFrontEndAllEvents"; 00237 00240 static const char* DtFrontEndEventObjectCreated = "DtFrontEndEventObjectCreated"; 00241 00245 static const char* DtFrontEndEventObjectDestroyed = "DtFrontEndEventObjectDestroyed"; 00246 00248 static const char* DtFrontEndEventObjectInitialized = "DtFrontEndEventObjectInitialized"; 00249 00251 static const char* DtFrontEndEventMenuSystemCreated = "DtFrontEndEventMenuSystemCreated"; 00252 static const char* DtFrontEndEventMenuSystemInitialized = "DtFrontEndEventMenuSystemInitialized"; 00253 00255 static const char* DtClickMenuInitialized = "DtClickMenuInitialized"; 00256 00258 static const char* DtFrontPreOpenComplete = "DtFrontPreOpenComplete"; 00259 static const char* DtFrontEndOpenCompleted = "DtFrontEndOpenCompleted"; 00260 00263 static const char* DtCreationMenuLoadedFromFile = "DtCreationMenuLoadedFromFile"; 00264 00266 static const char* DtOverlayMenuLoadedFromFile = "DtOverlayMenuLoadedFromFile"; 00267 00269 static const char* DtPreAppOptionsSetup = "DtPreAppOptionsSetup"; 00270 static const char* DtPostCommandLineSetup = "DtPostCommandLineSetup"; 00271 static const char* DtPostMtlSetup = "DtPostMtlSetup"; 00272 static const char* DtReadConfigurationFile = "DtReadConfigurationFile"; 00273 static const char* DtParsedCommandLine = "DtParsedCommandLine"; 00274 00276 00277 static const char* DtPreSetupFromOptions = "DtPreSetupFromOptions"; 00278 static const char* DtPostSetupFromOptions = "DtPostSetupFromOptions"; 00279 static const char* DtApplicationReady = "DtApplicationReady"; 00280 static const char* DtSettingsReadFromFile = "DtSettingsReadFromFile"; 00281 static const char* DtTerrainDatabaseOpened = "DtTerrainDatabaseOpened"; 00282 00284 static const char* DtInitializeScenarioObject = "DtInitializeScenarioObject"; 00285 static const char* DtCompleteScenarioObject = "DtCompleteScenarioObject"; 00286 00289 00291 static const char* DtAddLoadBalancers = "DtAddLoadBalancers"; 00292 00297 static const char* DtPreLoadSymbolMaps = "DtPreLoadSymbolMaps"; 00298 static const char* DtPostLoadSymbolMaps = "DtPostLoadSymbolMaps"; 00299 static const char* DtPreLoadCreateMenus = "DtPreLoadCreateMenus"; 00300 static const char* DtPreLoadIndirectArtilleryTypesManager = "DtPreLoadIndirectArtilleryTypesManager"; 00301 static const char* DtPreLoadForceFiles = "DtPreLoadForceFiles"; 00302 static const char* DtPostLoadCreateMenus = "DtPostLoadCreateMenus"; 00303 static const char* DtPreLoadOverlayMenus = "DtPreLoadOverlayMenus"; 00304 static const char* DtPostLoadOverlayMenus = "DtPostLoadOverlayMenus"; 00305 static const char* DtPostLoadIndirectArtilleryTypesManager = "DtPostLoadIndirectArtilleryTypesManager"; 00306 static const char* DtPostLoadForceFiles = "DtPostLoadForceFiles"; 00307 static const char* DtPreLoadModelSets = "DtPreLoadModelSets"; 00308 static const char* DtPostLoadModelSets = "DtPostLoadModelSets"; 00309 00312 static const char* DtSetupLoadBalancingInformation = "DtSetupLoadBalancingInformation"; 00313 00315 static const char* DtSimulationCommandMenuInitialized = "DtSimulationCommandMenuInitialized"; 00316 static const char* DtSimulationCommandMenuCreated = "DtSimulationCommandMenuCreated"; 00317 00318 class DT_DLL_tmqt DtEventSignallerObject 00319 { 00320 public: 00321 QObject* myEventSender; 00322 QString myEventSlot; 00323 }; 00324 00325 typedef QHash<QString, DtEventSignallerObject*> DtSignalOwnerList; 00326 typedef QHash<QString, DtSignalOwnerList*> DtEventObjectSignallerList; 00327 typedef QHash<QString, DtEventObjectSignallerList*> DtEventWatcherMap; 00328 00329 class DT_DLL_tmqt DtEventSignaller : public QObject 00330 { 00331 Q_OBJECT 00332 00333 public: 00334 00336 DtEventSignaller(); 00337 00339 virtual ~DtEventSignaller(); 00340 00341 public: 00343 virtual void signalEventOnDestroy(const char* object, QObject* eventObject); 00344 virtual void signalEvent(const char* object, const char* event, QObject* w); 00345 00348 00349 virtual void catchEventSignal(const char* signalOwner, const char* object, const char* event, 00350 QObject* signalImplementor, const char* slot); 00351 00353 virtual void removeEventSignal(const char* signalOwner, const char* object = NULL, const char* event = NULL, 00354 QObject* signalImplementor = NULL, const char* slot = NULL); 00355 00356 public: 00357 static DtEventSignaller* create(); 00358 00359 protected slots: 00360 virtual void objectDestroyed(QObject*); 00361 00362 signals: 00363 void signalEventSignal(const char* object, const char* event, QObject* eventObject); 00364 00365 protected: 00366 QHash<QObject*, QString> myEventObjectsDestroyed; 00367 DtEventWatcherMap myEventWatchers; 00368 }; 00369 00370 #endif //DTEVENTSIGNALLER_H_ 00371