![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: guiObjectDataConsole.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 //\file guiObjectDataConsole.h 00009 00010 #pragma once 00011 00012 #include <vrvUtil/signalslib.h> 00013 #include <vrvCore/DtUniqueID.h> 00014 #include <QtGui/QDialog> 00015 #include <vrfGuiCore/DtEntityDataInterface.h> 00016 #include <vrfGuiCore/DtAggregateDataInterface.h> 00017 #include <vrfGuiCore/DtSpotReportDataInterface.h> 00018 #include <vrfGuiCore/DtTacticalGraphicDataInterface.h> 00019 00020 namespace makVrv 00021 { 00022 class DtDe; 00023 } 00024 00025 //The DtGuiObjectDataConsole class will allow for the entering of an object name 00026 //or element id to retrieve information about that object 00027 00028 class DtVector; 00029 class QVBoxLayout; 00030 class QTextEdit; 00031 class QLineEdit; 00032 class QRadioButton; 00033 00034 class DtGuiObjectDataConsole : public QDialog 00035 { 00036 Q_OBJECT 00037 00038 public: 00039 DtGuiObjectDataConsole(makVrv::DtDe& de, QWidget* parent); 00040 00041 virtual ~DtGuiObjectDataConsole(); 00042 00043 protected: 00044 //Prints a line of text to the console window. Will add CR/LF 00045 virtual void print(const QString&); 00046 00047 //Displays information for the tactical graphics 00048 virtual void displaySpotReportInformation(makVrf::DtSpotReportDataInterfacePtr); 00049 00050 //Displays information for the tactical graphics 00051 virtual void displayTacticalGraphicInformation(makVrf::DtTacticalGraphicDataInterfacePtr); 00052 00053 //Displays information for the aggregate 00054 virtual void displayAggregateInformation(makVrf::DtAggregateDataInterfacePtr); 00055 00056 //Displays information for the entity 00057 virtual void displayEntityInformation(makVrf::DtEntityDataInterfacePtr); 00058 00059 //Shows help for the console 00060 virtual void help(); 00061 00062 //Shows information for the given item 00063 virtual void info(const QString&); 00064 00065 //Shows spot report information for the given item (if it exists) 00066 virtual void spotinfo(const QString&); 00067 00068 //Returns the network data interface for given item 00069 virtual DtBoost::shared_ptr<makVrf::DtObjectDataInterface> lookupObjectData(const QString&) const; 00070 00071 //Hides the specified object 00072 virtual void hideObject(const QString&); 00073 00074 //Shows the specified object 00075 virtual void showObject(const QString&); 00076 00077 //Adds the object to the selection 00078 virtual void selectObject(const QString&); 00079 00080 //Removes the object from the current selection 00081 virtual void removeFromSelection(const QString&); 00082 00083 protected: 00084 //Returns a list of names from the given element ids 00085 virtual QString namesFrom(const std::vector<makVrv::DtElementID>& ids) const; 00086 00087 //Displays information for the entity, along with resource information. This call will 00088 //delete the interface when complete 00089 virtual void displayEntityInformationWithResources(makVrf::DtEntityDataInterfacePtr); 00090 00091 protected slots: 00092 //Called when return is pressed in the object widget. Will then try and find 00093 //information for that object 00094 virtual void processObject(); 00095 00096 protected: 00097 makVrv::DtDe& myDe; 00098 QRadioButton* myLocal; 00099 QRadioButton* myGeocentric; 00100 QVBoxLayout* myMainLayout; 00101 QTextEdit* myConsole; //The output of the command 00102 QLineEdit* myObject; //Object input 00103 };