MAK RTIspy API Documentation for HLA 1.3
Classes | Public Slots | Signals | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
DtAssistantConnQueryWidget Class Reference

Widget used to request the user to provide new connection parameters when a component cannot establish an RTI connection. More...

+ Inheritance diagram for DtAssistantConnQueryWidget:
+ Collaboration diagram for DtAssistantConnQueryWidget:

List of all members.

Classes

struct  DtRtiConnAndAssociatedConfig

Public Slots

virtual void processAdd ()
 Processes the pressing of the add connection button by the user.
virtual void processRemove ()
 Processes the pressing of the remove connection button by the user.
virtual void processEdit ()
 Processes the pressing of the edit connection button by the user.
virtual void processSelectionChange (QTreeWidgetItem *item=0)
 Processes a selection change.
virtual void showContextMenu (const QPoint &)
 Shows the context menu at the given location.

Signals

void selectionDoubleClicked ()
 Signal emitted when the selection is double clicked.
void acceptEnabled (bool)
 Signal that the accept button should be enabled/disabled.
void connectionAdded (const DtRtiConnectionInfoDataPair &conn, DtAssistantConnQueryWidget *widget)
 Signal emitted when a new connection is added by a user (but not yet accepted).

Public Member Functions

 DtAssistantConnQueryWidget (QWidget *parent, Qt::WindowFlags f=0)
 Constructor.
virtual ~DtAssistantConnQueryWidget ()
 Destructor.
virtual void useButtonsInsteadOfCheckBox (bool useButtons)
 Configure the widget to use radio buttons rather than a check box to set/unset the whether to use the chosen connection in the future.
virtual void showStartRtiexecButton (bool show)
 Configure the widget to show the start rtiexec button.
virtual void setConnections (const DtRtiConnectionAndConfiguration &conns, bool preserveSelection)
 Sets the list of connections.
virtual void addConnections (const DtRtiConnectionAndConfiguration &conns)
 Adds a set of available connections to the list.
virtual void removeConnections (const DtRtiConnectionAndConfiguration &conns)
 Removes a set of available connections from the list.
virtual void getResults (DtRtiConnectionInfoDataPair &conn, DtRtiConnectionConfigurationInfo &config, bool &choose) const
 Fills in the current chosen connection information settings.
virtual const
DtRtiConnectionAndConfiguration
userAddedConnections ()
 Returns the set of user added connections during this execution of the dialog.
virtual const
DtRtiConnectionAndConfiguration
userRemovedConnections ()
 Returns the set of user removed connections during this execution of the dialog.
virtual void clearUserAddedAndRemoved ()
 Clears all connections added and removed by the user during this execution of the dialog.
virtual bool selectConnection (const DtRtiConnectionInfo &conn)
 Sets which connection should be selected.
virtual void getSelectedConnection (DtRtiConnectionInfo &conn) const
 Get the currently selected connection.
virtual void getSelectedConfiguration (DtRtiConnectionConfigurationInfo &config) const
 Get the currently selected configuration.
virtual void addProhibitedPort (int port, const QString &reason)
 Add a port which is prohibited, along with a reason.
virtual void removeProhibitedPort (int port)
 Remove a port which is prohibited.
virtual void setInitialState (bool check)
 Set the initial state of the dialog when it is shown for the very first time.
virtual void setEnableLoopbackDevice (bool enb)
 Enables the loopback device as an available interface for new connections.
virtual bool isConnectionNameInUse (const QString &name) const
 Returns true if the given connection name is already in use by a known connection.
Check Functions - PASS = return true; FAIL = error dialog, return false
virtual bool checkForPortConflicts (int port1, int port2=0)
 Check if the port is prohibited and display an error if it is.
virtual bool checkForValidAddr (const QString &addrStr, const MAKRti::DtInetAddr &ifAddr, MAKRti::DtInetAddr &addr)
 Check if the string is a valid address, as well as valid for the specified interface.
virtual bool checkForConnNameConflict (const QString &name)
 Check if the new connection name is unique.
virtual bool checkForDuplicateConn (const DtRtiConnectionInfo &conn)
 Check if the given connection is a duplicate of an existing connection.

Protected Types

enum  DtConnQueryCol { ConnectionNameCol, StatusCol, SortCol }
typedef std::map< QString,
DtRtiConnAndAssociatedConfig
DtNameToConnInfoMap

Protected Member Functions

virtual bool addConnection (const DtRtiConnectionInfoDataPair &conn, const DtRtiConfigurationInfoDataPair &config, DtNameToConnInfoMap::iterator &connIter)=0
 Adds an available connection to the list.
virtual void removeConnection (const DtRtiConnectionInfoDataPair &conn)=0
 Removes an available connection from the list.
virtual void clearAllConnections ()=0
 Clears the entire connection list.
virtual void storeUserAddedConnection (const DtRtiConnectionInfoDataPair &conn)
 Store information on a connection that user requested to add.
virtual void storeUserRemovedConnection (const DtRtiConnectionInfoDataPair &conn)
 Store information on a connection that user requested to remove.
virtual QTreeWidgetItem * findConnInTree (const DtRtiConnectionInfo &conn, DtNameToConnInfoMap::iterator &connIter)=0
 Finds the connection item in the tree.
virtual void setConnItemToolTip (QTreeWidgetItem *item, const DtRtiConnectionInfoDataPair &conn=std::make_pair(DtRtiConnectionInfo::invalidConn(), DtRtiAssociatedConnectionData()), const DtRtiConfigurationInfoDataPair &config=DtRtiConfigurationInfoDataPair())
 Set the tool tip for the given item.
virtual void getConnStatusText (const QTreeWidgetItem *item, const DtRtiConnectionInfoDataPair &conn, const DtRtiConfigurationInfoDataPair &, QString &text)=0
 Gets the connection status text to be used in the tool tip for the given connection.
virtual void loadLocalInterfaceList ()=0
 Reloads the list of local network interfaces which can be selected for new connections.
virtual bool promptUserForNewConnInfo (DtRtiConnectionInfoDataPair &conn)=0
 Prompts the user for new connection info.
virtual bool promptUserToEditConnInfo (DtRtiConnectionInfoDataPair &conn)=0
 Prompts the user to edit connection info.
virtual void setAcceptEnabledBasedOnConn (const DtRtiConnectionInfoDataPair *conn)=0
 Enables or disables the accept button based on the state of the given currently selected connection.
virtual void updateDisplayedConnection (const QString &name, const DtRtiConnectionInfoDataPair &updatedConn, QTreeWidgetItem *connItem)=0
 Depending on the type of our current query connection, we update connItem based on updatedConn.
virtual void setFullyCompliantStateBasedOnConn (const DtRtiConnectionInfoDataPair *conn, const DtRtiConfigurationInfoDataPair *config)
 Enables or disables and sets the fully compliant check box based on the state of the given currently selected connection and configuration.
virtual void setRemoveEnabledBasedOnConn (const DtRtiConnectionInfoDataPair *conn)
 Enables or disables the remove button based on the state of the given currently selected connection.
virtual void setEditEnabledBasedOnConn (const DtRtiConnectionInfoDataPair *conn)
 Enables or disables the edit button based on the state of the given currently selected connection.
virtual void updateDialogBasedOnConn (const DtRtiConnectionInfoDataPair *conn, const DtRtiConfigurationInfoDataPair *config, bool isDisabled)
 Updates the dialog based on the state of the given currently selected connection and configuration.
virtual void disableItem (QTreeWidgetItem *item, bool disable)
 Marks the item as disabled.
virtual bool isItemDisabled (const QTreeWidgetItem *item) const
 Returns true if the item is marked as disabled.
virtual QString reserveNameForConnection (const DtRtiConnectionInfoDataPair &conn)
 Reserves the name for the given connection.
virtual void unreserveNameForConnection (const DtRtiConnectionInfoDataPair &conn)
 Unreserves the given connection name.
virtual void setAcceptEnabled (bool enabled, const QString &reasonForDisable)
 Sets whether or not accept is enabled.
bool isAddressNotation (const QString &addrString) const
 Checks if the given string contains an address notation.

Protected Attributes

DtNameToConnInfoMap::iterator myIter
Ui::AssistantConnQueryWidget myUiImpl
DtNameToConnInfoMap myConnectionInfo
 The map of connection entries to detailed connection info.
DtRtiConnectionAndConfiguration myAddedConnections
 Set of added connections.
DtRtiConnectionAndConfiguration myRemovedConnections
 Set of added connections.
DtNameToConnInfoMap::iterator myPredefinedLightweightConnection
 The predefined lightweight connection.
DtNameToConnInfoMap::iterator myPredefinedRtiexecConnection
 The predefined rtiexec connection.
DtNameToConnInfoMap::iterator myChosenConnection
 The connection chosen to be used without prompting.
std::map< int, QString > myProhibitedPorts
 List of prohibited ports and reasons why.
QMenumyContextMenu
 Context Menu.
bool myContextMenuEnabled
 Controls whether the context menu should be displayed on right clicks.
bool myShowStartRtiexecButton
 Whether the start rtiexec button is displayed.
bool myUseButtonsInsteadOfCheckBox
 Whether the radio buttons are used instead of the check box to set the selected connection to be used automatically in the future.
bool myInitialState
 The dialog is being displayed for the first time ever and should be in its default initial state.
bool myEnableLoopbackDevice
 Whether or not the loopback device is an available network interface.
QAction * myAddConnectionAction
 Context menu actions.
QAction * myRemoveConnectionAction
 Context menu actions.
QAction * myEditConnectionAction
 Context menu actions.
QAction * myStartRtiexecAction
 Context menu actions.
QIcon myValidChoiceIcon
 Icons.
QIcon myUnknownChoiceIcon
 Icons.
QIcon myInvalidChoiceIcon
 Icons.

Private Member Functions

 DtAssistantConnQueryWidget (DtAssistantConnQueryWidget const &)
 Copy constructor not implemented.
DtAssistantConnQueryWidgetoperator= (DtAssistantConnQueryWidget const &)
 Assignment operator not implemented.

Detailed Description

Widget used to request the user to provide new connection parameters when a component cannot establish an RTI connection.


Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
ConnectionNameCol 
StatusCol 
SortCol 

Constructor & Destructor Documentation

DtAssistantConnQueryWidget::DtAssistantConnQueryWidget ( QWidget parent,
Qt::WindowFlags  f = 0 
)

Destructor.

Copy constructor not implemented.


Member Function Documentation

Signal that the accept button should be enabled/disabled.

Referenced by setAcceptEnabled().

virtual bool DtAssistantConnQueryWidget::addConnection ( const DtRtiConnectionInfoDataPair conn,
const DtRtiConfigurationInfoDataPair config,
DtNameToConnInfoMap::iterator &  connIter 
) [protected, pure virtual]

Adds an available connection to the list.

Returns true if it was successfully added and sets the iterator to location in the map of the new connection.

Referenced by addConnections(), processAdd(), and processEdit().

void DtAssistantConnQueryWidget::addProhibitedPort ( int  port,
const QString &  reason 
) [virtual]

Add a port which is prohibited, along with a reason.

References myProhibitedPorts.

Referenced by DtAssistantConnQueryMgr::addProhibitedPort().

bool DtAssistantConnQueryWidget::checkForConnNameConflict ( const QString &  name) [virtual]

Check if the new connection name is unique.

References myConnectionInfo.

Referenced by processAdd(), and processEdit().

Check if the given connection is a duplicate of an existing connection.

References myConnectionInfo.

Referenced by processAdd(), and processEdit().

bool DtAssistantConnQueryWidget::checkForPortConflicts ( int  port1,
int  port2 = 0 
) [virtual]

Check if the port is prohibited and display an error if it is.

Checks one or two ports, and will make sure the two do not conflict with each other.

References myProhibitedPorts.

Referenced by DtAssistantLrcConnQueryWidget::processStartRtiexec(), DtAssistantRtiexecConnQueryWidget::promptUserForConnInfo(), and DtAssistantLrcConnQueryWidget::promptUserForConnInfo().

bool DtAssistantConnQueryWidget::checkForValidAddr ( const QString &  addrStr,
const MAKRti::DtInetAddr &  ifAddr,
MAKRti::DtInetAddr &  addr 
) [virtual]

Check if the string is a valid address, as well as valid for the specified interface.

Return the constructed DtInetAddr.

References isAddressNotation().

Referenced by DtAssistantRtiexecConnQueryWidget::promptUserForConnInfo(), and DtAssistantLrcConnQueryWidget::promptUserForConnInfo().

virtual void DtAssistantConnQueryWidget::clearAllConnections ( ) [protected, pure virtual]

Clears the entire connection list.

Implemented in DtAssistantLrcConnQueryWidget, DtAssistantRtiexecConnQueryWidget, and DtAssistantConnConfigWidget.

Referenced by setConnections().

Signal emitted when a new connection is added by a user (but not yet accepted).

Referenced by storeUserAddedConnection().

void DtAssistantConnQueryWidget::disableItem ( QTreeWidgetItem *  item,
bool  disable 
) [protected, virtual]
virtual QTreeWidgetItem* DtAssistantConnQueryWidget::findConnInTree ( const DtRtiConnectionInfo conn,
DtNameToConnInfoMap::iterator &  connIter 
) [protected, pure virtual]

Finds the connection item in the tree.

Returns a pointer to the tree item as well as an iterator to its location in the map.

Referenced by addConnections(), removeConnections(), reserveNameForConnection(), selectConnection(), and unreserveNameForConnection().

virtual void DtAssistantConnQueryWidget::getConnStatusText ( const QTreeWidgetItem *  item,
const DtRtiConnectionInfoDataPair conn,
const DtRtiConfigurationInfoDataPair ,
QString &  text 
) [protected, pure virtual]

Gets the connection status text to be used in the tool tip for the given connection.

Implemented in DtAssistantLrcConnQueryWidget, and DtAssistantRtiexecConnQueryWidget.

Referenced by setConnItemToolTip().

Fills in the current chosen connection information settings.

The choose parameter will be set to true if the user selected to set this as the chosen connection for the future in order to avoid further prompts.

References ConnectionNameCol, myConnectionInfo, myUiImpl, and myUseButtonsInsteadOfCheckBox.

Referenced by DtAssistantConnQueryMgr::updateConfigFromWidgetResults().

Get the currently selected configuration.

References myUiImpl, and DtRtiConnectionConfigurationInfo::setForceFullCompliance().

Get the currently selected connection.

References ConnectionNameCol, DtRtiConnectionInfo::invalidConn(), myConnectionInfo, and myUiImpl.

Referenced by addConnections(), and setConnections().

bool DtAssistantConnQueryWidget::isAddressNotation ( const QString &  addrString) const [protected]

Checks if the given string contains an address notation.

e.g. "192.168.3.226" or "fe80::a8f5:2359:6c86:3890"

Referenced by checkForValidAddr(), and DtAssistantLrcConnQueryWidget::checkForValidAddrAndHost().

bool DtAssistantConnQueryWidget::isConnectionNameInUse ( const QString &  name) const [virtual]

Returns true if the given connection name is already in use by a known connection.

References myConnectionInfo.

Referenced by DtAssistantAddConnDialog::getDefaultLightweightConnName(), and DtAssistantAddConnDialog::getDefaultRtiexecConnName().

bool DtAssistantConnQueryWidget::isItemDisabled ( const QTreeWidgetItem *  item) const [protected, virtual]
virtual void DtAssistantConnQueryWidget::loadLocalInterfaceList ( ) [protected, pure virtual]

Reloads the list of local network interfaces which can be selected for new connections.

Implemented in DtAssistantLrcConnQueryWidget, and DtAssistantRtiexecConnQueryWidget.

Referenced by setConnections(), and setEnableLoopbackDevice().

DtAssistantConnQueryWidget& DtAssistantConnQueryWidget::operator= ( DtAssistantConnQueryWidget const &  ) [private]

Assignment operator not implemented.

void DtAssistantConnQueryWidget::processAdd ( ) [virtual, slot]
void DtAssistantConnQueryWidget::processEdit ( ) [virtual, slot]

Processes the pressing of the remove connection button by the user.

References ConnectionNameCol, myConnectionInfo, myUiImpl, removeConnection(), and storeUserRemovedConnection().

Referenced by DtAssistantConnQueryWidget().

void DtAssistantConnQueryWidget::processSelectionChange ( QTreeWidgetItem *  item = 0) [virtual, slot]

Prompts the user for new connection info.

Implemented in DtAssistantLrcConnQueryWidget, and DtAssistantRtiexecConnQueryWidget.

Referenced by processAdd().

Prompts the user to edit connection info.

Implemented in DtAssistantLrcConnQueryWidget, and DtAssistantRtiexecConnQueryWidget.

Referenced by processEdit().

virtual void DtAssistantConnQueryWidget::removeConnection ( const DtRtiConnectionInfoDataPair conn) [protected, pure virtual]

Removes an available connection from the list.

Implemented in DtAssistantLrcConnQueryWidget, and DtAssistantRtiexecConnQueryWidget.

Referenced by processEdit(), processRemove(), and removeConnections().

Remove a port which is prohibited.

References myProhibitedPorts.

Referenced by DtAssistantConnQueryMgr::removeProhibitedPort().

Reserves the name for the given connection.

Ensures that all connections are listed with unique names in the dialog. Returns the name that should be used for this connection.

References ConnectionNameCol, DtAssistantConnNameForDisplay(), findConnInTree(), and myConnectionInfo.

Referenced by DtAssistantRtiexecConnQueryWidget::addConnection(), DtAssistantLrcConnQueryWidget::addConnection(), and addConnections().

Sets which connection should be selected.

Returns true if connection was found and selected.

References findConnInTree(), DtRtiConnectionInfo::isValid(), and myUiImpl.

Referenced by addConnections(), processAdd(), processEdit(), setConnections(), DtAssistantRtiexecConnQueryWidget::showEvent(), and DtAssistantLrcConnQueryWidget::showEvent().

Signal emitted when the selection is double clicked.

Referenced by DtAssistantConnQueryWidget().

void DtAssistantConnQueryWidget::setAcceptEnabled ( bool  enabled,
const QString &  reasonForDisable 
) [protected, virtual]
virtual void DtAssistantConnQueryWidget::setAcceptEnabledBasedOnConn ( const DtRtiConnectionInfoDataPair conn) [protected, pure virtual]

Enables or disables the accept button based on the state of the given currently selected connection.

Implemented in DtAssistantLrcConnQueryWidget, and DtAssistantRtiexecConnQueryWidget.

Referenced by processSelectionChange().

void DtAssistantConnQueryWidget::setConnections ( const DtRtiConnectionAndConfiguration conns,
bool  preserveSelection 
) [virtual]

Sets the list of connections.

Clears the current list first. Will preserve the current selection if preserveSelection is true and the connection still exists after the update.

References addConnections(), clearAllConnections(), getSelectedConnection(), DtRtiConnectionInfo::isValid(), loadLocalInterfaceList(), myUiImpl, selectConnection(), and setAcceptEnabled().

Referenced by DtAssistantConnQueryMgr::updateConnQueryWidget().

void DtAssistantConnQueryWidget::setConnItemToolTip ( QTreeWidgetItem *  item,
const DtRtiConnectionInfoDataPair conn = std::make_pair( DtRtiConnectionInfo::invalidConn(), DtRtiAssociatedConnectionData() ),
const DtRtiConfigurationInfoDataPair config = DtRtiConfigurationInfoDataPair() 
) [protected, virtual]

Enables or disables the edit button based on the state of the given currently selected connection.

References DtGetLocalHostName(), myEditConnectionAction, and myUiImpl.

Referenced by processSelectionChange().

Enables the loopback device as an available interface for new connections.

References loadLocalInterfaceList(), and myEnableLoopbackDevice.

Referenced by DtAssistantConnQueryMgr::DtAssistantConnQueryMgr(), and DtAssistantConnQueryMgr::enableLoopbackDevice().

Enables or disables and sets the fully compliant check box based on the state of the given currently selected connection and configuration.

References myUiImpl.

Referenced by processSelectionChange().

Set the initial state of the dialog when it is shown for the very first time.

References myInitialState.

Referenced by DtAssistantConnQueryMgr::updateConnQueryWidget().

Enables or disables the remove button based on the state of the given currently selected connection.

References myRemoveConnectionAction, and myUiImpl.

Referenced by processSelectionChange().

void DtAssistantConnQueryWidget::showContextMenu ( const QPoint &  pos) [virtual, slot]

Shows the context menu at the given location.

References myContextMenu, myContextMenuEnabled, and myUiImpl.

Referenced by DtAssistantConnQueryWidget().

Store information on a connection that user requested to add.

References DtRtiConnectionAndConfiguration::addConnection(), connectionAdded(), and myAddedConnections.

Referenced by processAdd(), and processEdit().

Store information on a connection that user requested to remove.

References DtRtiConnectionAndConfiguration::addConnection(), myAddedConnections, myRemovedConnections, and DtRtiConnectionAndConfiguration::removeConnection().

Referenced by processEdit(), and processRemove().

virtual void DtAssistantConnQueryWidget::updateDialogBasedOnConn ( const DtRtiConnectionInfoDataPair conn,
const DtRtiConfigurationInfoDataPair config,
bool  isDisabled 
) [inline, protected, virtual]

Updates the dialog based on the state of the given currently selected connection and configuration.

Reimplemented in DtAssistantLrcConnQueryWidget.

Referenced by processSelectionChange().

virtual void DtAssistantConnQueryWidget::updateDisplayedConnection ( const QString &  name,
const DtRtiConnectionInfoDataPair updatedConn,
QTreeWidgetItem *  connItem 
) [protected, pure virtual]

Depending on the type of our current query connection, we update connItem based on updatedConn.

Implemented in DtAssistantLrcConnQueryWidget, DtAssistantRtiexecConnQueryWidget, and DtAssistantConnConfigWidget.

Referenced by addConnections(), and removeConnections().

Configure the widget to use radio buttons rather than a check box to set/unset the whether to use the chosen connection in the future.

References myUiImpl, and myUseButtonsInsteadOfCheckBox.

Referenced by DtAssistantConnConfigWidget::DtAssistantConnConfigWidget().

Returns the set of user added connections during this execution of the dialog.

References myAddedConnections.

Referenced by DtAssistantConnQueryMgr::checkForConflictingUnsavedConns(), and DtAssistantConnQueryMgr::updateConfigFromWidgetResults().

Returns the set of user removed connections during this execution of the dialog.

References myRemovedConnections.

Referenced by DtAssistantConnQueryMgr::updateConfigFromWidgetResults().


Member Data Documentation

DtNameToConnInfoMap::iterator DtAssistantConnQueryWidget::myChosenConnection [protected]

Context Menu.

Referenced by DtAssistantConnQueryWidget(), and showContextMenu().

Controls whether the context menu should be displayed on right clicks.

Referenced by processSelectionChange(), and showContextMenu().

Context menu actions.

Referenced by DtAssistantConnQueryWidget(), and setEditEnabledBasedOnConn().

Whether or not the loopback device is an available network interface.

Referenced by DtAssistantRtiexecConnQueryWidget::loadLocalInterfaceList(), DtAssistantLrcConnQueryWidget::loadLocalInterfaceList(), and setEnableLoopbackDevice().

The dialog is being displayed for the first time ever and should be in its default initial state.

Referenced by setInitialState(), DtAssistantRtiexecConnQueryWidget::showEvent(), and DtAssistantLrcConnQueryWidget::showEvent().

DtNameToConnInfoMap::iterator DtAssistantConnQueryWidget::myIter [protected]
DtNameToConnInfoMap::iterator DtAssistantConnQueryWidget::myPredefinedLightweightConnection [protected]
DtNameToConnInfoMap::iterator DtAssistantConnQueryWidget::myPredefinedRtiexecConnection [protected]
std::map<int, QString> DtAssistantConnQueryWidget::myProhibitedPorts [protected]

List of prohibited ports and reasons why.

Referenced by addProhibitedPort(), checkForPortConflicts(), and removeProhibitedPort().

Context menu actions.

Referenced by DtAssistantConnQueryWidget(), and setRemoveEnabledBasedOnConn().

Whether the start rtiexec button is displayed.

Referenced by showStartRtiexecButton().

Ui::AssistantConnQueryWidget DtAssistantConnQueryWidget::myUiImpl [protected]

Whether the radio buttons are used instead of the check box to set the selected connection to be used automatically in the future.

Referenced by getResults(), and useButtonsInsteadOfCheckBox().


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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)