Beispiel #1
0
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;
				}
			}
		}
	}
Beispiel #2
0
//-----------------------------------------------------------------------------
//! 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 );
}
Beispiel #3
0
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;
}
Beispiel #4
0
tGauge* tGauge::Create( tDataType dataType, QWidget* parent, eGaugeType gaugeType, tGaugeParams params )
{
    tDataId dataId( dataType );
    return Create( dataId, parent, gaugeType, params );
}