VR-Forces 4.0.4 Class Documentation
include/tmqt/eventSignaller.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)