/*! Act on a connection change. Change how the label looks and change the tool tip This is the slot used to recieve connection updates from a QCaObject based class. */ void QCaSpinBox::connectionChanged( QCaConnectionInfo& connectionInfo ) { /// If connected, enable the widget if the QCa enabled property is true if( connectionInfo.isChannelConnected() ) { isConnected = true; updateToolTipConnection( isConnected ); if( localEnabled ) QWidget::setEnabled( true ); } /// If disconnected always disable the widget. else { isConnected = false; updateToolTipConnection( isConnected ); QWidget::setEnabled( false ); } /// ??? not sure if this is right. Added as the record type was comming back as GENERIC::UNKNOWN deep in the write /// Start a single shot read if the channel is up (ignore channel down), /// This will allow initialisation of the widget using info from the database. /// If subscribing, then an update will occur without having to initiated one here. /// Note, channel up implies link up /// Note, even though there is nothing to do to initialise the spin box if not subscribing, an /// initial sing shot read is still performed to ensure we have valid information about the /// variable when it is time to do a write. if( connectionInfo.isChannelConnected() && !subscribe ) { QCaInteger* qca = (QCaInteger*)getQcaItem(0); qca->singleShotRead(); } }
// Log connection issues void monitor::connectionChanged( QCaConnectionInfo& connectionInfo ) { if( !connectionInfo.isChannelConnected() ) *stream << QString( "%1: %2 Channel not connected\n").arg( QTime::currentTime().toString() ).arg( pv ); if( !connectionInfo.isLinkUp() ) *stream << QString( "%1: %2 Link not up\n").arg( QTime::currentTime().toString() ).arg( pv ); stream->flush(); }
/* Act on a connection change. Change how the label looks and change the tool tip This is the slot used to recieve connection updates from a QCaObject based class. */ void QEPeriodic::connectionChanged( QCaConnectionInfo& connectionInfo, const unsigned int& variableIndex ) { // If connected enabled the widget if required. if( connectionInfo.isChannelConnected() ) { isConnected = true; updateToolTipConnection( isConnected, variableIndex ); if( localEnabled ) { if( writeButton ) writeButton->setEnabled( true ); if( readbackLabel ) readbackLabel->setEnabled( true ); } } // If disconnected always disable the widget. else { isConnected = false; updateToolTipConnection( isConnected, variableIndex ); if( writeButton ) writeButton->setEnabled( false ); if( readbackLabel ) readbackLabel->setEnabled( false ); } // Set cursor to indicate access mode. setAccessCursorStyle(); }
/* Act on a connection change. Change how the label looks and change the tool tip This is the slot used to recieve connection updates from a QCaObject based class. */ void QELabel::connectionChanged( QCaConnectionInfo& connectionInfo, const unsigned int& ) { // Note the connected state isConnected = connectionInfo.isChannelConnected(); // Display the connected state updateToolTipConnection( isConnected ); updateConnectionStyle( isConnected ); // Signal channel connection change to any Link widgets, // using signal dbConnectionChanged. emitDbConnectionChanged( 0 ); }
/* Act on a connection change. Change how the label looks and change the tool tip This is the slot used to recieve connection updates from a QCaObject based class. */ void QEGenericButton::connectionChanged( QCaConnectionInfo& connectionInfo, const unsigned int& variableIndex ) { // Do nothing if no variable name, but there is a program to run or a new gui to open. // Most widgets will be dissabled at this point if there is no good connection to a PV, // but this widget may be doing other stuff (running a program of starting a GUI) if( getSubstitutedVariableName( variableIndex ).isEmpty() ) return; // Note the connected state isConnected = connectionInfo.isChannelConnected(); // Display the connected state updateToolTipConnection( isConnected, variableIndex ); updateConnectionStyle( isConnected ); }
/*! Act on a connection change. Change how the label looks and change the tool tip This is the slot used to recieve connection updates from a QCaObject based class. */ void QCaLineEdit::connectionChanged( QCaConnectionInfo& connectionInfo ) { /// If connected enabled the widget if required. if( connectionInfo.isChannelConnected() ) { isConnected = true; updateToolTipConnection( isConnected ); if( localEnabled ) QWidget::setEnabled( true ); } /// If disconnected always disable the widget. else { isConnected = false; updateToolTipConnection( isConnected ); QWidget::setEnabled( false ); } }
//------------------------------------------------------------------------------ // Act on a connection change. // Change how the label looks and change the tool tip // This is the slot used to recieve connection updates from a QCaObject based class. // void QEGenericEdit::connectionChanged( QCaConnectionInfo& connectionInfo ) { // Note the connected state isConnected = connectionInfo.isChannelConnected(); // Note if first update has arrived (ok to set repeatedly) if( isConnected ) { isFirstUpdate = true; } // Display the connected state updateToolTipConnection( isConnected ); updateConnectionStyle( isConnected ); // Set cursor to indicate access mode. setAccessCursorStyle(); // Signal channel connection change to any (Link) widgets. // using signal dbConnectionChanged. // emitDbConnectionChanged( 0 ); }
/* Act on a connection change. Change how the label looks and change the tool tip This is the slot used to recieve connection updates from a QCaObject based class. */ void QESpinBox::connectionChanged( QCaConnectionInfo& connectionInfo ) { // Note the connected state isConnected = connectionInfo.isChannelConnected(); // Display the connected state updateToolTipConnection( isConnected ); updateConnectionStyle( isConnected ); // !!! ??? not sure if this is right. Added as the record type was comming back as GENERIC::UNKNOWN deep in the write // Start a single shot read if the channel is up (ignore channel down), // This will allow initialisation of the widget using info from the database. // If subscribing, then an update will occur without having to initiated one here. // Note, channel up implies link up // Note, even though there is nothing to do to initialise the spin box if not subscribing, an // initial sing shot read is still performed to ensure we have valid information about the // variable when it is time to do a write. if( isConnected && !subscribe ) { QEFloating* qca = (QEFloating*)getQcaItem(0); qca->singleShotRead(); ignoreSingleShotRead = true; } }