VR-Forces 4.1 Class Documentation
List of all members | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtTMApplication Class Reference
Inheritance diagram for DtTMApplication:
Inheritance graph
[legend]

Public Slots

virtual void removeAttachedEventController (QObject *)
virtual DtBaseWindowfileNewWindow (bool show=true)
 Slots.
virtual void fileExit ()
virtual void removeWindow (const DtBaseWindow *w)
 Removes a window from the list.
virtual void windowDestroyed (QObject *w)
virtual void modelDataAdded (const DtModelKey &key)
 Called when model data is added, marks the data for update.
virtual void modelDataRemoved (const DtModelKey &key)
 Called when model data is removed, removes from update.
virtual void setDisplayFrameRate (int iFramesPerSecond)
 Called to display target display frame rate.
virtual int displayFrameRate () const
 Called to return the target display frame rate.
virtual void tick ()
 This will go through the windows list and ask then windows to tick. Calls tickInternal if should tick.
virtual void tickInternal ()
virtual void setFullScreenMode (bool b)
 Changes the myFullScreenMode flag, but does not change the mode.
virtual void saveSettingsFile ()
 Saves out settings.
virtual void saveSettings (QTextStream &stream)
virtual void readSettingsFile (DtBaseWindow *w, bool windowOnly=false)
 Reads out settings file.
virtual void readSettings (DtBaseWindow *w, QTextStream &stream, bool windowOnly=false)
virtual void splashScreenDestroyed ()
virtual void removeManagedArea (QObject *)
 Call to remove a managed area. Is also called when an area is destroyed that is managed.
virtual void removeFromUpdate (const DtModelData &data)
 Removes this data for update (if exists)
virtual void markForUpdate (const DtModelData &)
virtual void markForUpdate (const DtModelKey &)
virtual void showSplashScreen ()
 Creates and shows the splash screen (if there is a splash image to show)
virtual void closeSplashScreen ()
 Closes splash screen and frees splash screen object.
virtual void showSplashScreen (bool show)
virtual void processMsgItem (const DtMsgItem &item)
virtual bool shouldTick ()
 Returns true if application should tick.
static void addUserDataFor (const DtEntityMapperKey &, DtArchivableObjectCreator)
 Called when a model data is added, adds a user data for the particular item (based on entity mapper key)
static void removeUserDataFor (const DtEntityMapperKey &)
virtual void addToUpdate (const DtModelData &data)
virtual void addToRemoval (const DtModelData &data)

Signals

void filenameInUseChanged (const QString &s)
 Signals.
void symbolMapChangedSignal ()
void pluginLoaded (const DtTMPlugin *)
void pasteAvailable ()
void pasteUnavailable ()

Public Member Functions

 DtTMApplication ()
 Default Constructor.
 DtTMApplication (int &argc, char **argv)
 Constructor.
virtual ~DtTMApplication ()
 Destructor.
virtual bool init (DtTMFactory *f, bool bShowSplashScreen=true)
 Initializer.
virtual void initializeQApplicationObject ()
 If there is no global qApp defined, this routine will create one and install this object as the event filter.
virtual DtBaseWindowcreateWindow (QWidget *parent, int mode=DtMenu_Hide, const Qt::WindowFlags &flags=0)
 This routine will create a new window (from the factory) and return a pointer to it.
virtual QVector< DtModelKeyselectedModelKeys () const
 Given the current active window, and active map area within that window, return the current selected model keys.
virtual const DtTMFactoryfactory () const
 Returns a pointer to the current factory.
virtual DtTMFactoryfactory ()
virtual void setFactory (DtTMFactory *f)
 Sets the current factory.
virtual bool initConnections ()
 Init application level QT connections. Called from init.
virtual DtTMMiniMapglobalMiniMap () const
 Returns pointer to terrain minimap.
virtual DtModelDataDictModelDataDict ()
 Returns the list of Symbol Datas.
virtual DtModelDataIterModelDataIter () const
 Returns the list of Symbol Datas.
virtual DtBaseWindowcreateNewWindow (QWidget *parent=NULL, int mode=DtWindow_NoAction, const Qt::WindowFlags &f=0)
 Creates a new window.
virtual DtBaseWindowactiveWindow () const
 Returns the currently active window.
DtTMAppOptionsoptions () const
DtTMDisplayOptionsdisplayOptions () const
virtual DtDrawerColldrawerColl ()
virtual const QString & filenameInUse ()
virtual void setFilenameInUse (const QString &filename)
virtual DtBaseSymbolMapperbaseSymbolMapper () const
 Returns the default instance of the symbol mapper.
DtArchiverarchiver ()
 Returns archiver that can be used to add in items to save/restore from settings file.
virtual DtBaseWindowmainWindowFromObject (QObject *o, DtBaseWindow *defaultWindow) const
 Used in reparenting global mini-map.
virtual void addWindow (const DtBaseWindow *w)
 Adds a new window to the window list.
virtual void addManagedArea (DtTMArea *)
 Adds a new area to be managed by this application.
virtual bool hasWindows () const
 Returns true if a window exists.
virtual DtWindowListwindowList ()
 Returns the list of windows.
virtual int fastestFrameRate ()
 Of all the windows opened, return the fastest frame rate.
virtual bool exec ()
 Run the qApp exec.
virtual void startTickTimer (int mSec, bool allowFutureOverride=true)
 Starts the tick timer at the specified msec.
virtual void setAllowTickTimerOverride (bool b)
virtual bool allowTickTimerOverride ()
virtual void adjustTickTimerToMeet (int mSec)
 This routine will attempt to meet the minimum frame rate request if the tick timer can be modified.
virtual int tickTimerRate ()
 Returns the rate of the current user tick timer.
virtual void setSuspendTicking (bool b)
 Suspend ticking of application.
virtual bool suspendTicking ()
virtual void setInTick (bool b)
 Set when the application is in the process of ticking.
virtual DtModelDatadataWithName (const QString &name, const QVector< int > *except=NULL)
 Returns the model data with the specified name.
virtual DtModelDatafindLocalDataFor (const DtModelKey &key)
 Find data in local data dictionaries for the specified key.
virtual const DtModelKeyfindLocalModelKey (DtSymbol *s)
 Find the model key, searching the view drivers of our known main windows.
virtual DtModelDatafindModelData (DtSymbol *s)
 Find the model key, searching the view drivers of our known main windows.
virtual DtViewDriverviewDriverFor (DtSymbol *s)
 Returns the view driver that holds the specified symbols.
virtual DtViewDriverviewDriverFor (const DtModelKey &key)
 Returns the view driver that holds the specified model key.
virtual DtPopupMenumenuFromAction (QAction *)
 Returns a menu that has this QAction.
virtual void markForUpdate (DtModelDataIter *iter)
 Mark this data for update by telling all child windows to mark it for update.
virtual void modelDataChanged (const DtModelData &data, int iChangedFlags)
 Different from markForUpdate in that it will mark the data for update and emit a model changed signal.
virtual DtModelDatacheckForDuplicateName (const DtModelData *checker, QString name, const QVector< int > *except=NULL)
 Does a name check for the requesting model data and the new name.
virtual void setDuplicateNameCheck (bool b)
 Set to false if duplicate name checks should not be made (default is true)
virtual bool duplicateNameCheck () const
virtual DtEventSignallereventSignaller ()
 Returns the event signaller the user can register to handle certain application level events.
virtual DtEventControllereventController ()
 Returns the applications event controller.
virtual const DtEventControllereventController () const
virtual const DtTerrainDatabaseterrainDatabase () const
 Stub routine to allow users to return a terrain database more easily from application subclasses.
virtual DtTerrainDatabaseterrainDatabase ()
virtual const DtPaperMapDatabasepaperMapDatabase () const
virtual DtPaperMapDatabasepaperMapDatabase ()
virtual bool fullScreenMode () const
 Returns state of full screen mode.
virtual bool isConcave (QVector< DtPoint > *pointList)
 Returns true if the point list supplied creates a concave shape.
virtual void addSymbol (const DtModelData &, bool force=true)
 Adds the specified symbol to all opened windows.
virtual void addSymbol (const DtModelData &, DtSymbol *)
virtual void removeSymbol (const DtModelData &, bool removeFromDict=false)
 Removes the symbol from the windows, and, optionally the dictionary as well.
virtual void clear ()
 Removes any model data from the data dictionary that is of type DtLocalControlModelDataType.
virtual void symbolMapChanged ()
 Removes all symbols from all map areas and windows.
virtual bool needsTerrainDatabase () const
 Return true if a terrain database is needed to display symbols in the map area.
virtual bool terrainLoaded () const
 Returns true if a terrain database is loaded.
virtual
DtCoordinateSystemCollection
coordinateSystemCollection () const
virtual DtUnitDisplayManagerunitDisplayManager () const
virtual DtUnitConverterFactoryunitConverterFactory () const
virtual bool allowTerrainProfileTracking () const
 Return true to allow terrain profile tracking to be enabled for terrain profile dialogs.
virtual void setUpdateOnTick (bool b, bool updateMini=false)
 Tells all children windows (and mini map) to update on next tick.
virtual void setPrintMode (bool b)
 If we are in print mode, so objects (such as routes) can draw differently.
virtual bool printMode () const
virtual QString dataFolder ()
 Returns the data folder of this application.
virtual QString makeRelativeTo (QString filename, QString path)
 If the name given contains the directory, adds ../ to that path, removing everything before it.
virtual QString relativePath ()
 Returns the folder that paths should be made relative to.
int settingsVersion () const
virtual QString appName () const
virtual QString appVersion () const
virtual QString pluginVersion () const
virtual QString buildDate () const
virtual DtString pluginName () const
 Used for plugins only.
virtual void setSplashScreenMessage (const QString &)
 If there is a splash screen, shows message on it.
virtual bool startSplashScreenProgress (const QString &title, int iTotalSteps)
 Returns true if the progress status can be started on the splash screen.
virtual void updateSplashScreenProgress (int)
virtual void endSplashScreenProgress ()
virtual bool splashScreenIsActive () const
 Returns true if splash screen is active.
bool applicationInitialized () const
 Set to true when first window is shown, meaning application has been initialized.
virtual void attachEventController (DtEventController *)
 If you are creating an event controller that can be used with this application, call this method to add it to event controllers that are tickable.
QList< DtEventController * > & attachedEventControllers ()
 Does not include the default event controller.
virtual void tickEventControllers ()
virtual void clearCurrentEvents ()
virtual void setSplashScreenImage (const QString &)
 Must call before init.
virtual DtTMMapAreamapContainsData (const DtModelData *data) const
 If a map area contains the model data, returns the map area that contains it.
virtual bool eventFilter (QObject *o, QEvent *e)
 This is part of the work-around described in recursiveTimer.h.
virtual bool event (QEvent *e)
virtual QString resolveFile (const QString &) const
 Returns full qualified filename given current directory and relative file to it.
virtual DtTMPluginManagerpluginManager () const
virtual void mergeFeatureActionManager (const DtFeatureActionManager &)
 Because feature action managers are local to windows, passes this down to each window to merge.
virtual void mergeToolbarManager (const DtToolbarFactoryManager &)
 Because toolbar managers are local to windows, passes this down to each window to merge.
virtual void revertToolbars ()
 Asks all windows to revert toolbars using stored toolbar factory information.
virtual DtEnvironmentalModelDatacreateObject (const QString &object, QVector< DtPoint > &points, const QString &name=QString::null)
 These routines will aide in the creating of symbols and model data based on their name.
virtual bool canPaste () const
 Routines that are used to store paste information for copy/paste operation.
virtual void setPasteData (const QByteArray &)
virtual void clearPasteData ()
const QByteArray & pasteData () const

Static Public Member Functions

static DtTMApplicationapp ()
static DtTMApplicationcreate (int argc, char **argv)

Protected Member Functions

virtual void postAppInit ()
virtual DtTMPluginManagercreatePluginManager (DtTMFactory *)
 Initializes and loads up all plugins. Done before calling any other factory methods.
virtual void initPlugins (DtTMFactory *f)
virtual bool readOptions (DtTMFactory *f)
virtual bool setupOptions ()
 Initializes command line arguments and mtl arguments for the app options.
virtual bool processOptions (DtTMFactory *f)
virtual bool initGlobalMiniMap ()
 Initialize global mini map from DtTMFactory.
virtual bool initUnitConverterFactory (DtTMFactory *f)
 Initialize unit converter factory.
virtual bool initUnitDisplayManager (DtTMFactory *f)
 Initialize unit display manager.
virtual bool initMenuSystem ()
 Call to override or initialize menu structure.
virtual void setupApplicationFromSettings ()
 Called as the last operation of readSettings().
virtual bool setupFromOptions ()
virtual bool setupMapReaders ()
 Override to add new types of map readers to the symbol mapper.
virtual bool initSymbolMapper (DtTMFactory *f)
virtual void setupWindowFromSettings (DtBaseWindow *w, bool show)
virtual bool createCoordinateSystemCollection (const DtTMFactory *f)
 Creates an instance of a terrain coordinate system collection from the factory and initializes it.
virtual bool shouldClear (const DtModelData *data)
 Returns true if the model data specified should be deleted when all model data is asked to be cleared when closing a terrain database.
virtual void initGlobalMiniMapConnections ()
virtual const QString & splashScreenImage () const
 Returns empty string by default to prevent splash screen.
virtual DtTMPluginloadPlugin (const QString &)
 Calls down to plugin manager to load plugin. This should only be called during the init process.
virtual void applicationReady ()
 Call when application is ready to start ticking for updates.
virtual bool loadTranslationFiles (const QString &lang)
 Loads up translation files that are part of the app options object.
virtual bool loadSymbolMapFilesAtStartup () const
virtual DtString initialLogFile () const
 Returns the log file used to store initial startup information before final output log file is known from command line or .mtl file.
virtual bool useConsole () const
virtual void setEnableGuiPrinter (bool enable, int level)
 Enables/disables the printer object that connects DtInfo/DtWarn/DtVerbose statements with the DtMessageHandler.write call.
virtual void timerEvent (QTimerEvent *e)
virtual void initUserData ()
virtual void addUserDataFor (DtEnvironmentalModelData *)
 In respone to a model data being added, see if there is a user data that needs to be added for this model.
virtual void setupLanguage ()

Protected Attributes

DtTMFactorymyFactory
DtTMMiniMapmyTMGlobalMiniMap
DtBaseSymbolMappermyMapper
DtModelDataDictmyModelDataDict
 Changed from stack to pointer in order to support plugins.
DtModelDataItermyModelDataIter
DtTMAppOptionsmyOptions
int myArgc
char ** myArgv
QString myFilenameInUse
DtWindowList myWindows
DtAreaListmyManagedAreas
bool mySuspendTicking
 This is part of the work-around described in recursiveTimer.h.
bool myInTick
int myTickTimerRate
bool myAllowTickTimerOverride
bool myDuplicateNameCheck
 Set to false if duplicate name checks should not be made.
DtEventControllermyEventController
 Application level event controller.
bool myFullScreenMode
bool myLoadedSettings
bool myPrintMode
DtArchivermyArchiver
DtDrawerCollmyDrawerColl
DtCoordinateSystemCollectionmyCoordinateSystemCollection
QList< QObject * > myInactiveWindows
 Keeps track of windows that have been closed but not yet deleted Can be useful to make sure windows that are about to go away are not referenced.
int mySettingsVersion
int myTimerId
QSplashScreen * mySplashScreen
QProgressBar * mySplashProgress
DtTMPluginManagermyPluginManager
DtEventSignaller myEventSignaller
 Even though this can be created through the factory, it is not due to the fact that this needs to be available before other objects are created (such as the application options)
QString mySplashScreenMessage
QString mySplashScreenImage
bool myApplicationInitialized
bool myNeedsPostAppInit
QList< DtEventController * > * myAttachedEventControllers
QHash< DtModelKey, DtModelData * > myUpdateData
QHash< DtModelKey, DtModelData * > myRemoveData
bool myResetPruneStatus
bool myStashPrune
bool myMarkTime
QByteArray myPasteBuffer
int myTickCount
std::map< std::string, double > myTickTimes
DtUnitConverterFactorymyUnitConverterFactory
DtUnitDisplayManagermyUnitDisplayManager
DtMsgGuiPrintermyGuiPrinter
DtRecursiveTimermyRecursiveTimer

Static Protected Attributes

static DtTMApplicationtheApplication
static QHash< QString,
DtArchivableObjectCreator
theUserData

Constructor & Destructor Documentation

DtTMApplication::DtTMApplication ( )

Default Constructor.

DtTMApplication::DtTMApplication ( int &  argc,
char **  argv 
)

Constructor.

virtual DtTMApplication::~DtTMApplication ( )
virtual

Destructor.

Member Function Documentation

static DtTMApplication* DtTMApplication::app ( )
static
virtual bool DtTMApplication::init ( DtTMFactory f,
bool  bShowSplashScreen = true 
)
virtual

Initializer.

MUST BE CALLED. Returns true if successful. If bShowSplashScreen is false, splash screen will not be shown

Reimplemented in DtEntityEditorApplication, and DtTerrainApplication.

virtual void DtTMApplication::initializeQApplicationObject ( )
virtual

If there is no global qApp defined, this routine will create one and install this object as the event filter.

Override to create your own type of QApplication object

virtual DtBaseWindow* DtTMApplication::createWindow ( QWidget parent,
int  mode = DtMenu_Hide,
const Qt::WindowFlags &  flags = 0 
)
virtual

This routine will create a new window (from the factory) and return a pointer to it.

This differs from fileNewWindow in that this window will not be shown nor will it signal to terminate the application if it is destroyed.

The parameter supplied will tell the window what to do with the menu. If the value is DtWindow_NoAction, the menu and toolbards will be displayed as normal. If it is DtMenu_Hide (the default) it will always be hidden and will only be shown if a pointer to the menu tool bar is received and shown by the developer. This means that a show/hide of the toolbar will have no effect. If the value is DtMenu_DoNotCreate, the menu will not be created

virtual QVector<DtModelKey> DtTMApplication::selectedModelKeys ( ) const
virtual

Given the current active window, and active map area within that window, return the current selected model keys.

virtual const DtTMFactory* DtTMApplication::factory ( ) const
virtual

Returns a pointer to the current factory.

virtual DtTMFactory* DtTMApplication::factory ( )
virtual
virtual void DtTMApplication::setFactory ( DtTMFactory f)
virtual

Sets the current factory.

virtual bool DtTMApplication::initConnections ( )
virtual

Init application level QT connections. Called from init.

Reimplemented in DtTerrainApplication.

virtual DtTMMiniMap* DtTMApplication::globalMiniMap ( ) const
virtual

Returns pointer to terrain minimap.

virtual DtModelDataDict& DtTMApplication::ModelDataDict ( )
virtual

Returns the list of Symbol Datas.

virtual DtModelDataIter* DtTMApplication::ModelDataIter ( ) const
virtual

Returns the list of Symbol Datas.

virtual DtBaseWindow* DtTMApplication::createNewWindow ( QWidget parent = NULL,
int  mode = DtWindow_NoAction,
const Qt::WindowFlags &  f = 0 
)
virtual

Creates a new window.

virtual DtBaseWindow* DtTMApplication::activeWindow ( ) const
virtual

Returns the currently active window.

DtTMAppOptions * DtTMApplication::options ( ) const
inline

References myOptions.

DtTMDisplayOptions * DtTMApplication::displayOptions ( ) const
inline
virtual DtDrawerColl* DtTMApplication::drawerColl ( )
virtual
virtual const QString& DtTMApplication::filenameInUse ( )
virtual
virtual void DtTMApplication::setFilenameInUse ( const QString &  filename)
virtual
virtual DtBaseSymbolMapper* DtTMApplication::baseSymbolMapper ( ) const
virtual

Returns the default instance of the symbol mapper.

DtArchiver * DtTMApplication::archiver ( )
inline

Returns archiver that can be used to add in items to save/restore from settings file.

References myArchiver.

virtual DtBaseWindow* DtTMApplication::mainWindowFromObject ( QObject o,
DtBaseWindow defaultWindow 
) const
virtual

Used in reparenting global mini-map.

virtual void DtTMApplication::addWindow ( const DtBaseWindow w)
virtual

Adds a new window to the window list.

virtual void DtTMApplication::addManagedArea ( DtTMArea )
virtual

Adds a new area to be managed by this application.

Called from DtTMArea if no windows exist

virtual bool DtTMApplication::hasWindows ( ) const
virtual

Returns true if a window exists.

virtual DtWindowList* DtTMApplication::windowList ( )
virtual

Returns the list of windows.

virtual int DtTMApplication::fastestFrameRate ( )
virtual

Of all the windows opened, return the fastest frame rate.

This will be used to determine how long we process messages on the stack

virtual bool DtTMApplication::exec ( )
virtual

Run the qApp exec.

(you could instead do qApp->exec());

virtual void DtTMApplication::startTickTimer ( int  mSec,
bool  allowFutureOverride = true 
)
virtual

Starts the tick timer at the specified msec.

The allowFutureOverride flag will allow the application to change the tick timer as the user changes the frame rate. If this flag is set to false then that change will become permanent until the override flag is set to true again via the setAllowOverride call

virtual void DtTMApplication::setAllowTickTimerOverride ( bool  b)
virtual
virtual bool DtTMApplication::allowTickTimerOverride ( )
virtual
virtual void DtTMApplication::adjustTickTimerToMeet ( int  mSec)
virtual

This routine will attempt to meet the minimum frame rate request if the tick timer can be modified.

virtual int DtTMApplication::tickTimerRate ( )
virtual

Returns the rate of the current user tick timer.

virtual void DtTMApplication::setSuspendTicking ( bool  b)
virtual

Suspend ticking of application.

virtual bool DtTMApplication::suspendTicking ( )
virtual
virtual void DtTMApplication::setInTick ( bool  b)
virtual

Set when the application is in the process of ticking.

virtual DtModelData* DtTMApplication::dataWithName ( const QString &  name,
const QVector< int > *  except = NULL 
)
virtual

Returns the model data with the specified name.

If more than one object model data contains that name, returns the first instance found. except contains a list of model data types to not match against

virtual DtModelData* DtTMApplication::findLocalDataFor ( const DtModelKey key)
virtual

Find data in local data dictionaries for the specified key.

virtual const DtModelKey* DtTMApplication::findLocalModelKey ( DtSymbol s)
virtual

Find the model key, searching the view drivers of our known main windows.

virtual DtModelData* DtTMApplication::findModelData ( DtSymbol s)
virtual

Find the model key, searching the view drivers of our known main windows.

virtual DtViewDriver* DtTMApplication::viewDriverFor ( DtSymbol s)
virtual

Returns the view driver that holds the specified symbols.

virtual DtViewDriver* DtTMApplication::viewDriverFor ( const DtModelKey key)
virtual

Returns the view driver that holds the specified model key.

virtual DtPopupMenu* DtTMApplication::menuFromAction ( QAction )
virtual

Returns a menu that has this QAction.

Calls down to each active window to see which menu system has it

virtual void DtTMApplication::markForUpdate ( DtModelDataIter iter)
virtual

Mark this data for update by telling all child windows to mark it for update.

virtual void DtTMApplication::modelDataChanged ( const DtModelData data,
int  iChangedFlags 
)
virtual

Different from markForUpdate in that it will mark the data for update and emit a model changed signal.

virtual DtModelData* DtTMApplication::checkForDuplicateName ( const DtModelData checker,
QString  name,
const QVector< int > *  except = NULL 
)
virtual

Does a name check for the requesting model data and the new name.

If there is a match returns the model data of the match. except contains a list of model data types to not match against

virtual void DtTMApplication::setDuplicateNameCheck ( bool  b)
virtual

Set to false if duplicate name checks should not be made (default is true)

virtual bool DtTMApplication::duplicateNameCheck ( ) const
virtual
DtEventSignaller * DtTMApplication::eventSignaller ( )
inlinevirtual

Returns the event signaller the user can register to handle certain application level events.

References myEventSignaller.

virtual DtEventController& DtTMApplication::eventController ( )
virtual

Returns the applications event controller.

virtual const DtEventController& DtTMApplication::eventController ( ) const
virtual
virtual const DtTerrainDatabase* DtTMApplication::terrainDatabase ( ) const
virtual

Stub routine to allow users to return a terrain database more easily from application subclasses.

virtual DtTerrainDatabase* DtTMApplication::terrainDatabase ( )
virtual
virtual const DtPaperMapDatabase* DtTMApplication::paperMapDatabase ( ) const
virtual
virtual DtPaperMapDatabase* DtTMApplication::paperMapDatabase ( )
virtual
virtual bool DtTMApplication::fullScreenMode ( ) const
virtual

Returns state of full screen mode.

virtual bool DtTMApplication::isConcave ( QVector< DtPoint > *  pointList)
virtual

Returns true if the point list supplied creates a concave shape.

virtual void DtTMApplication::addSymbol ( const DtModelData ,
bool  force = true 
)
virtual

Adds the specified symbol to all opened windows.

virtual void DtTMApplication::addSymbol ( const DtModelData ,
DtSymbol  
)
virtual
virtual void DtTMApplication::removeSymbol ( const DtModelData ,
bool  removeFromDict = false 
)
virtual

Removes the symbol from the windows, and, optionally the dictionary as well.

virtual void DtTMApplication::clear ( )
virtual

Removes any model data from the data dictionary that is of type DtLocalControlModelDataType.

virtual void DtTMApplication::symbolMapChanged ( )
virtual

Removes all symbols from all map areas and windows.

virtual bool DtTMApplication::needsTerrainDatabase ( ) const
virtual

Return true if a terrain database is needed to display symbols in the map area.

By default returns false

Reimplemented in DtTerrainApplication.

virtual bool DtTMApplication::terrainLoaded ( ) const
virtual

Returns true if a terrain database is loaded.

virtual DtCoordinateSystemCollection* DtTMApplication::coordinateSystemCollection ( ) const
virtual
virtual DtUnitDisplayManager* DtTMApplication::unitDisplayManager ( ) const
virtual
virtual DtUnitConverterFactory* DtTMApplication::unitConverterFactory ( ) const
virtual
virtual bool DtTMApplication::allowTerrainProfileTracking ( ) const
virtual

Return true to allow terrain profile tracking to be enabled for terrain profile dialogs.

By default returns false

virtual void DtTMApplication::setUpdateOnTick ( bool  b,
bool  updateMini = false 
)
virtual

Tells all children windows (and mini map) to update on next tick.

virtual void DtTMApplication::setPrintMode ( bool  b)
virtual

If we are in print mode, so objects (such as routes) can draw differently.

virtual bool DtTMApplication::printMode ( ) const
virtual
virtual QString DtTMApplication::dataFolder ( )
virtual

Returns the data folder of this application.

Defaults to ../data

virtual QString DtTMApplication::makeRelativeTo ( QString  filename,
QString  path 
)
virtual

If the name given contains the directory, adds ../ to that path, removing everything before it.

virtual QString DtTMApplication::relativePath ( )
virtual

Returns the folder that paths should be made relative to.

int DtTMApplication::settingsVersion ( ) const
inline

References mySettingsVersion.

virtual QString DtTMApplication::appName ( ) const
virtual

Reimplemented in DtEntityEditorApplication.

virtual QString DtTMApplication::appVersion ( ) const
virtual

Reimplemented in DtEntityEditorApplication.

virtual QString DtTMApplication::pluginVersion ( ) const
virtual

Reimplemented in DtEntityEditorApplication.

virtual QString DtTMApplication::buildDate ( ) const
virtual
virtual DtString DtTMApplication::pluginName ( ) const
virtual

Used for plugins only.

Reimplemented in DtEntityEditorApplication.

virtual void DtTMApplication::setSplashScreenMessage ( const QString &  )
virtual

If there is a splash screen, shows message on it.

virtual bool DtTMApplication::startSplashScreenProgress ( const QString &  title,
int  iTotalSteps 
)
virtual

Returns true if the progress status can be started on the splash screen.

virtual void DtTMApplication::updateSplashScreenProgress ( int  )
virtual
virtual void DtTMApplication::endSplashScreenProgress ( )
virtual
virtual bool DtTMApplication::splashScreenIsActive ( ) const
virtual

Returns true if splash screen is active.

bool DtTMApplication::applicationInitialized ( ) const
inline

Set to true when first window is shown, meaning application has been initialized.

References myApplicationInitialized.

virtual void DtTMApplication::attachEventController ( DtEventController )
virtual

If you are creating an event controller that can be used with this application, call this method to add it to event controllers that are tickable.

Will also connect a slot to the destroyed signal of the event controller to remove it from the internal tickable list

QList< DtEventController * > & DtTMApplication::attachedEventControllers ( )
inline

Does not include the default event controller.

References myAttachedEventControllers.

virtual void DtTMApplication::tickEventControllers ( )
virtual
virtual void DtTMApplication::clearCurrentEvents ( )
virtual
virtual void DtTMApplication::setSplashScreenImage ( const QString &  )
virtual

Must call before init.

virtual DtTMMapArea* DtTMApplication::mapContainsData ( const DtModelData data) const
virtual

If a map area contains the model data, returns the map area that contains it.

virtual bool DtTMApplication::eventFilter ( QObject o,
QEvent *  e 
)
virtual

This is part of the work-around described in recursiveTimer.h.

virtual bool DtTMApplication::event ( QEvent *  e)
virtual
virtual QString DtTMApplication::resolveFile ( const QString &  ) const
virtual

Returns full qualified filename given current directory and relative file to it.

virtual DtTMPluginManager* DtTMApplication::pluginManager ( ) const
virtual
virtual void DtTMApplication::mergeFeatureActionManager ( const DtFeatureActionManager )
virtual

Because feature action managers are local to windows, passes this down to each window to merge.

virtual void DtTMApplication::mergeToolbarManager ( const DtToolbarFactoryManager )
virtual

Because toolbar managers are local to windows, passes this down to each window to merge.

virtual void DtTMApplication::revertToolbars ( )
virtual

Asks all windows to revert toolbars using stored toolbar factory information.

virtual DtEnvironmentalModelData* DtTMApplication::createObject ( const QString &  object,
QVector< DtPoint > &  points,
const QString &  name = QString::null 
)
virtual

These routines will aide in the creating of symbols and model data based on their name.

The name is what appears in the menu system (e.g. Line or Area). The points are supplied in daatabase coordinates for the database that is currently opened.

If no name is supplied one will be creeated based on the object and a unique id

Creating an object will have two effects: 1) Creating a model data type of DtEnvironmentalModelData and inserting it into the application model data dictionary 2) For all open windows, creating a symbol of that type that will be drawn on the map area

bool DtTMApplication::canPaste ( ) const
inlinevirtual

Routines that are used to store paste information for copy/paste operation.

References myPasteBuffer.

virtual void DtTMApplication::setPasteData ( const QByteArray &  )
virtual
virtual void DtTMApplication::clearPasteData ( )
virtual
const QByteArray & DtTMApplication::pasteData ( ) const
inline

References myPasteBuffer.

static DtTMApplication* DtTMApplication::create ( int  argc,
char **  argv 
)
static

Reimplemented in DtTerrainApplication.

void DtTMApplication::filenameInUseChanged ( const QString &  s)
signal

Signals.

void DtTMApplication::symbolMapChangedSignal ( )
signal
void DtTMApplication::pluginLoaded ( const DtTMPlugin )
signal
void DtTMApplication::pasteAvailable ( )
signal
void DtTMApplication::pasteUnavailable ( )
signal
virtual void DtTMApplication::removeAttachedEventController ( QObject )
virtualslot
virtual DtBaseWindow* DtTMApplication::fileNewWindow ( bool  show = true)
virtualslot

Slots.

virtual void DtTMApplication::fileExit ( )
virtualslot
virtual void DtTMApplication::removeWindow ( const DtBaseWindow w)
virtualslot

Removes a window from the list.

virtual void DtTMApplication::windowDestroyed ( QObject w)
virtualslot
virtual void DtTMApplication::modelDataAdded ( const DtModelKey key)
virtualslot

Called when model data is added, marks the data for update.

virtual void DtTMApplication::modelDataRemoved ( const DtModelKey key)
virtualslot

Called when model data is removed, removes from update.

virtual void DtTMApplication::setDisplayFrameRate ( int  iFramesPerSecond)
virtualslot

Called to display target display frame rate.

If iframesPerSecond is -1, this means to try and run as fast as possible.

virtual int DtTMApplication::displayFrameRate ( ) const
virtualslot

Called to return the target display frame rate.

virtual void DtTMApplication::tick ( )
virtualslot

This will go through the windows list and ask then windows to tick. Calls tickInternal if should tick.

virtual void DtTMApplication::tickInternal ( )
virtualslot
virtual void DtTMApplication::setFullScreenMode ( bool  b)
virtualslot

Changes the myFullScreenMode flag, but does not change the mode.

To change to full screen mode, call DtTMAppEventController::processToggleFullScreen(true). Called when app controller signals we are in or not in full screen mode

virtual void DtTMApplication::saveSettingsFile ( )
virtualslot

Saves out settings.

virtual void DtTMApplication::saveSettings ( QTextStream &  stream)
virtualslot
virtual void DtTMApplication::readSettingsFile ( DtBaseWindow w,
bool  windowOnly = false 
)
virtualslot

Reads out settings file.

virtual void DtTMApplication::readSettings ( DtBaseWindow w,
QTextStream &  stream,
bool  windowOnly = false 
)
virtualslot
virtual void DtTMApplication::splashScreenDestroyed ( )
virtualslot
virtual void DtTMApplication::removeManagedArea ( QObject )
virtualslot

Call to remove a managed area. Is also called when an area is destroyed that is managed.

virtual void DtTMApplication::removeFromUpdate ( const DtModelData data)
virtualslot

Removes this data for update (if exists)

virtual void DtTMApplication::markForUpdate ( const DtModelData )
virtualslot
virtual void DtTMApplication::markForUpdate ( const DtModelKey )
virtualslot
virtual void DtTMApplication::showSplashScreen ( )
virtualslot

Creates and shows the splash screen (if there is a splash image to show)

virtual void DtTMApplication::closeSplashScreen ( )
virtualslot

Closes splash screen and frees splash screen object.

virtual void DtTMApplication::showSplashScreen ( bool  show)
virtualslot
virtual void DtTMApplication::processMsgItem ( const DtMsgItem item)
virtualslot
virtual bool DtTMApplication::shouldTick ( )
virtualslot

Returns true if application should tick.

static void DtTMApplication::addUserDataFor ( const DtEntityMapperKey ,
DtArchivableObjectCreator   
)
staticslot

Called when a model data is added, adds a user data for the particular item (based on entity mapper key)

static void DtTMApplication::removeUserDataFor ( const DtEntityMapperKey )
staticslot
virtual void DtTMApplication::addToUpdate ( const DtModelData data)
virtualslot
virtual void DtTMApplication::addToRemoval ( const DtModelData data)
virtualslot
virtual void DtTMApplication::postAppInit ( )
protectedvirtual
virtual DtTMPluginManager* DtTMApplication::createPluginManager ( DtTMFactory )
protectedvirtual

Initializes and loads up all plugins. Done before calling any other factory methods.

Reimplemented in DtEntityEditorApplication.

virtual void DtTMApplication::initPlugins ( DtTMFactory f)
protectedvirtual
virtual bool DtTMApplication::readOptions ( DtTMFactory f)
protectedvirtual

Reimplemented in DtTerrainApplication.

virtual bool DtTMApplication::setupOptions ( )
protectedvirtual

Initializes command line arguments and mtl arguments for the app options.

Event signals are also sent out before the process and after each step of the init process.

virtual bool DtTMApplication::processOptions ( DtTMFactory f)
protectedvirtual
virtual bool DtTMApplication::initGlobalMiniMap ( )
protectedvirtual

Initialize global mini map from DtTMFactory.

virtual bool DtTMApplication::initUnitConverterFactory ( DtTMFactory f)
protectedvirtual

Initialize unit converter factory.

Must be called before initializing unit display manager as the unit converter factory is passed into the display manager

virtual bool DtTMApplication::initUnitDisplayManager ( DtTMFactory f)
protectedvirtual

Initialize unit display manager.

virtual bool DtTMApplication::initMenuSystem ( )
protectedvirtual

Call to override or initialize menu structure.

Reimplemented in DtTerrainApplication, and DtEntityEditorApplication.

virtual void DtTMApplication::setupApplicationFromSettings ( )
protectedvirtual

Called as the last operation of readSettings().

The window is the window that will be active when the application starts

virtual bool DtTMApplication::setupFromOptions ( )
protectedvirtual
virtual bool DtTMApplication::setupMapReaders ( )
protectedvirtual

Override to add new types of map readers to the symbol mapper.

virtual bool DtTMApplication::initSymbolMapper ( DtTMFactory f)
protectedvirtual
virtual void DtTMApplication::setupWindowFromSettings ( DtBaseWindow w,
bool  show 
)
protectedvirtual
virtual bool DtTMApplication::createCoordinateSystemCollection ( const DtTMFactory f)
protectedvirtual

Creates an instance of a terrain coordinate system collection from the factory and initializes it.

Called from init()

virtual bool DtTMApplication::shouldClear ( const DtModelData data)
protectedvirtual

Returns true if the model data specified should be deleted when all model data is asked to be cleared when closing a terrain database.

Called from clear() method. Local model data, detonation and fire interactions are removed

virtual void DtTMApplication::initGlobalMiniMapConnections ( )
protectedvirtual

Reimplemented in DtTerrainApplication.

virtual const QString& DtTMApplication::splashScreenImage ( ) const
protectedvirtual

Returns empty string by default to prevent splash screen.

virtual DtTMPlugin* DtTMApplication::loadPlugin ( const QString &  )
protectedvirtual

Calls down to plugin manager to load plugin. This should only be called during the init process.

virtual void DtTMApplication::applicationReady ( )
protectedvirtual

Call when application is ready to start ticking for updates.

This is called when the first window is created or called from a map area when a map area is created without any indication there is a window present (see tmArea.h)

virtual bool DtTMApplication::loadTranslationFiles ( const QString &  lang)
protectedvirtual

Loads up translation files that are part of the app options object.

Reimplemented in DtEntityEditorApplication.

virtual bool DtTMApplication::loadSymbolMapFilesAtStartup ( ) const
protectedvirtual
virtual DtString DtTMApplication::initialLogFile ( ) const
protectedvirtual

Returns the log file used to store initial startup information before final output log file is known from command line or .mtl file.

Reimplemented in DtEntityEditorApplication.

virtual bool DtTMApplication::useConsole ( ) const
protectedvirtual

Reimplemented in DtEntityEditorApplication.

virtual void DtTMApplication::setEnableGuiPrinter ( bool  enable,
int  level 
)
protectedvirtual

Enables/disables the printer object that connects DtInfo/DtWarn/DtVerbose statements with the DtMessageHandler.write call.

This is to allow output on the output console window

virtual void DtTMApplication::timerEvent ( QTimerEvent *  e)
protectedvirtual
virtual void DtTMApplication::initUserData ( )
protectedvirtual
virtual void DtTMApplication::addUserDataFor ( DtEnvironmentalModelData )
protectedvirtual

In respone to a model data being added, see if there is a user data that needs to be added for this model.

virtual void DtTMApplication::setupLanguage ( )
protectedvirtual

Member Data Documentation

DtTMApplication* DtTMApplication::theApplication
staticprotected
DtTMFactory* DtTMApplication::myFactory
protected
DtTMMiniMap* DtTMApplication::myTMGlobalMiniMap
protected
DtBaseSymbolMapper* DtTMApplication::myMapper
protected
DtModelDataDict* DtTMApplication::myModelDataDict
protected

Changed from stack to pointer in order to support plugins.

DtModelDataIter* DtTMApplication::myModelDataIter
protected
DtTMAppOptions* DtTMApplication::myOptions
protected

Referenced by displayOptions(), and options().

int DtTMApplication::myArgc
protected
char** DtTMApplication::myArgv
protected
QString DtTMApplication::myFilenameInUse
protected
DtWindowList DtTMApplication::myWindows
protected
DtAreaList* DtTMApplication::myManagedAreas
protected
bool DtTMApplication::mySuspendTicking
protected

This is part of the work-around described in recursiveTimer.h.

bool DtTMApplication::myInTick
protected
int DtTMApplication::myTickTimerRate
protected
bool DtTMApplication::myAllowTickTimerOverride
protected
bool DtTMApplication::myDuplicateNameCheck
protected

Set to false if duplicate name checks should not be made.

DtEventController* DtTMApplication::myEventController
protected

Application level event controller.

bool DtTMApplication::myFullScreenMode
protected
bool DtTMApplication::myLoadedSettings
protected
bool DtTMApplication::myPrintMode
protected
DtArchiver* DtTMApplication::myArchiver
protected

Referenced by archiver().

DtDrawerColl* DtTMApplication::myDrawerColl
protected
DtCoordinateSystemCollection* DtTMApplication::myCoordinateSystemCollection
protected
QList<QObject*> DtTMApplication::myInactiveWindows
protected

Keeps track of windows that have been closed but not yet deleted Can be useful to make sure windows that are about to go away are not referenced.

int DtTMApplication::mySettingsVersion
protected

Referenced by settingsVersion().

int DtTMApplication::myTimerId
protected
QSplashScreen* DtTMApplication::mySplashScreen
protected
QProgressBar* DtTMApplication::mySplashProgress
protected
DtTMPluginManager* DtTMApplication::myPluginManager
protected
DtEventSignaller DtTMApplication::myEventSignaller
protected

Even though this can be created through the factory, it is not due to the fact that this needs to be available before other objects are created (such as the application options)

Referenced by eventSignaller().

QString DtTMApplication::mySplashScreenMessage
protected
QString DtTMApplication::mySplashScreenImage
protected
bool DtTMApplication::myApplicationInitialized
protected

Referenced by applicationInitialized().

bool DtTMApplication::myNeedsPostAppInit
protected
QList<DtEventController*>* DtTMApplication::myAttachedEventControllers
protected
QHash<DtModelKey, DtModelData*> DtTMApplication::myUpdateData
protected
QHash<DtModelKey, DtModelData*> DtTMApplication::myRemoveData
protected
bool DtTMApplication::myResetPruneStatus
protected
bool DtTMApplication::myStashPrune
protected
bool DtTMApplication::myMarkTime
protected
QByteArray DtTMApplication::myPasteBuffer
protected

Referenced by canPaste(), and pasteData().

int DtTMApplication::myTickCount
protected
std::map<std::string, double> DtTMApplication::myTickTimes
protected
DtUnitConverterFactory* DtTMApplication::myUnitConverterFactory
protected
DtUnitDisplayManager* DtTMApplication::myUnitDisplayManager
protected
DtMsgGuiPrinter* DtTMApplication::myGuiPrinter
protected
DtRecursiveTimer* DtTMApplication::myRecursiveTimer
protected
QHash<QString, DtArchivableObjectCreator> DtTMApplication::theUserData
staticprotected

The documentation for this class was generated from the following file:

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)