bool ClassDocument::saveData() { RecordEditMode old_mode = mode(); bool ret = Super::saveData(); //Log.info("CompetitorDocument", saveData_qml, "ret:", ret, "old_mode", old_mode, "vs", DataDocument.ModeInsert, old_mode == DataDocument.ModeInsert); if(ret) { if(old_mode == DataDocument::ModeInsert) { // insert classdefs int class_id = dataId().toInt(); //int si_id = value("competitors.siId").toInt(); auto *event_plugin = eventPlugin(); QF_ASSERT(event_plugin != nullptr, "invalid Event plugin type", return false); int stage_count = event_plugin->stageCount(); qf::core::sql::Query q(model()->connectionName()); q.prepare("INSERT INTO classdefs (classId, stageId) VALUES (:classId, :stageId)"); for(int i=0; i<stage_count; i++) { q.bindValue(":classId", class_id); q.bindValue(":stageId", i + 1); if(!q.exec()) { qfError() << q.lastError().text(); break; } } } }
//----------------------------------------------------------------------------- //! Convenience constructor that finds the vessel position //----------------------------------------------------------------------------- tSearchItemDialog::tSearchItemDialog( const FindType::eItemType type, tBrandFactory& brandFactory, QWidget* pParent, const tMapFilter& filter) : tDialog( tDialog::Full, pParent ) , m_positionIsFromVessel( true ) , m_pBrandFactory(brandFactory) { tDataId dataId( DATA_TYPE_POSITION ); tDigitalData boatPosition( dataId ); tMCoord position( boatPosition.Position() ); // Last known position if invalid Initialize( position, type, filter ); }
bool tGauge::DoAutoConfigure() { if( m_Indicators.size() > 0 ) { tDataType dt = m_Indicators.at( 0 ).dataId.DataType(); int instances = tDigitalData::NumInstances( dt ); // Repopulate indicators m_Indicators.clear(); for( int i = 0; i < instances; i++ ) { tDataId dataId( dt, i ); tIndicator newIndicator( dataId ); bool displayIndicator = true; // Check display settings permits displaying of this instance. QList< int > allowedInstances; if ( tInstrumentUiSettings::Instance()->GetLimitedDigitalDataInstancesForCategory( tDigitalData::Category( dt ), allowedInstances ) ) { QList< int >::const_iterator instIter = qFind( allowedInstances, i ); if ( instIter == allowedInstances.end() ) { displayIndicator = false; } } if ( displayIndicator ) { m_Indicators << newIndicator; } } InvalidateForeground(); return true; } return false; }
tGauge* tGauge::Create( tDataType dataType, QWidget* parent, eGaugeType gaugeType, tGaugeParams params ) { tDataId dataId( dataType ); return Create( dataId, parent, gaugeType, params ); }