Exemplo n.º 1
0
void DegenGeomScreen::CallBack( Fl_Widget *w )
{
    Vehicle* vehiclePtr = m_ScreenMgr->GetVehiclePtr();

	if ( w == m_DegenGeomUI->csvFileButton )
	{
		vehiclePtr->setExportDegenGeomCsvFile( !!m_DegenGeomUI->csvFileButton->value() );
	}
	else if ( w == m_DegenGeomUI->csvFileChooseButton )
	{
        vehiclePtr->setExportFileName( vsp::DEGEN_GEOM_CSV_TYPE,
                                       m_ScreenMgr->GetSelectFileScreen()->FileChooser( "Select degen geom CSV output file.", "*.csv" ) );
	}
	else if ( w == m_DegenGeomUI->mFileButton )
	{
		vehiclePtr->setExportDegenGeomMFile( !!m_DegenGeomUI->mFileButton->value() );
	}
	else if ( w == m_DegenGeomUI->mFileChooseButton )
	{
        vehiclePtr->setExportFileName( vsp::DEGEN_GEOM_M_TYPE,
                                       m_ScreenMgr->GetSelectFileScreen()->FileChooser( "Select degen geom Matlab output file.", "*.m" ) );
	}
    else if ( w == m_DegenGeomUI->setChoice )
    {
        m_SelectedSetIndex = m_DegenGeomUI->setChoice->value();
    }
	else if (w == m_DegenGeomUI->computeButton)
	{
		m_DegenGeomUI->outputTextDisplay->buffer()->text("");
		m_DegenGeomUI->outputTextDisplay->buffer()->append("Computing degenerate geometry...\n");
		Fl::flush();
		vehiclePtr->CreateDegenGeom( m_SelectedSetIndex );
		m_DegenGeomUI->outputTextDisplay->buffer()->append("Done!\n");
		if ( vehiclePtr->getExportDegenGeomCsvFile() || vehiclePtr->getExportDegenGeomMFile() )
		{
			m_DegenGeomUI->outputTextDisplay->buffer()->append("--------------------------------\n");
			m_DegenGeomUI->outputTextDisplay->buffer()->append("\nWriting output...\n");
			Fl::flush();
			m_DegenGeomUI->outputTextDisplay->buffer()->append( vehiclePtr->WriteDegenGeomFile().c_str() );
		}
	}

    m_ScreenMgr->SetUpdateFlag( true );
}