void cpPlugins::Interface::Parameters::
SetProcessObject( ProcessObject* v )
{
- this->m_Process = v;
+ if( this->m_Process != v )
+ {
+ this->m_Process = v;
+ this->Modified( );
+
+ } // fi
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
void cpPlugins::Interface::Parameters::
-GetNames( std::vector< TString >& container ) const
+GetNames( std::vector< std::string >& container ) const
{
container.clear( );
TParameters::const_iterator i = this->m_Parameters.begin( );
// -------------------------------------------------------------------------
cpPlugins::Interface::Parameters::
Type cpPlugins::Interface::Parameters::
-GetType( const TString& name ) const
+GetType( const std::string& name ) const
{
auto i = this->m_Parameters.find( name );
if( i != this->m_Parameters.end( ) )
return( #Y )
std::string cpPlugins::Interface::Parameters::
-GetTypeAsString( const TString& name ) const
+GetTypeAsString( const std::string& name ) const
{
auto i = this->m_Parameters.find( name );
cpPlugins_Parameters_TypeAsString( String );
else cpPlugins_Parameters_TypeAsString( Int );
else cpPlugins_Parameters_TypeAsString( Uint );
else cpPlugins_Parameters_TypeAsString( Real );
- else cpPlugins_Parameters_TypeAsString( Index );
- else cpPlugins_Parameters_TypeAsString( Point );
- else cpPlugins_Parameters_TypeAsString( Vector );
else cpPlugins_Parameters_TypeAsString( OpenFileName );
else cpPlugins_Parameters_TypeAsString( SaveFileName );
else cpPlugins_Parameters_TypeAsString( PathName );
else cpPlugins_Parameters_TypeAsString( IntList );
else cpPlugins_Parameters_TypeAsString( UintList );
else cpPlugins_Parameters_TypeAsString( RealList );
- else cpPlugins_Parameters_TypeAsString( IndexList );
- else cpPlugins_Parameters_TypeAsString( PointList );
- else cpPlugins_Parameters_TypeAsString( VectorList );
else cpPlugins_Parameters_TypeAsString( OpenFileNameList );
else cpPlugins_Parameters_TypeAsString( SaveFileNameList );
else cpPlugins_Parameters_TypeAsString( PathNameList );
else cpPlugins_Parameters_TypeFromString( Int, t );
else cpPlugins_Parameters_TypeFromString( Uint, t );
else cpPlugins_Parameters_TypeFromString( Real, t );
- else cpPlugins_Parameters_TypeFromString( Index, t );
- else cpPlugins_Parameters_TypeFromString( Point, t );
- else cpPlugins_Parameters_TypeFromString( Vector, t );
else cpPlugins_Parameters_TypeFromString( OpenFileName, t );
else cpPlugins_Parameters_TypeFromString( SaveFileName, t );
else cpPlugins_Parameters_TypeFromString( PathName, t );
else cpPlugins_Parameters_TypeFromString( IntList, t );
else cpPlugins_Parameters_TypeFromString( UintList, t );
else cpPlugins_Parameters_TypeFromString( RealList, t );
- else cpPlugins_Parameters_TypeFromString( IndexList, t );
- else cpPlugins_Parameters_TypeFromString( PointList, t );
- else cpPlugins_Parameters_TypeFromString( VectorList, t );
else cpPlugins_Parameters_TypeFromString( OpenFileNameList, t );
else cpPlugins_Parameters_TypeFromString( SaveFileNameList, t );
else cpPlugins_Parameters_TypeFromString( PathNameList, t );
{
if( i->second.first == Self::String || force )
{
- i->second.second = v;
- this->Modified( );
+ if( i->second.second != v )
+ {
+ i->second.second = v;
+ this->Modified( );
+
+ } // fi
} // fi
// -------------------------------------------------------------------------
std::vector< std::string > cpPlugins::Interface::Parameters::
-GetChoices( const TString& name ) const
+GetChoices( const std::string& name ) const
{
std::vector< std::string > choices;
// -------------------------------------------------------------------------
bool cpPlugins::Interface::Parameters::
-SetSelectedChoice( const TString& name, const TString& choice )
+SetSelectedChoice( const std::string& name, const std::string& choice )
{
auto i = this->m_Parameters.find( name );
if( i != this->m_Parameters.end( ) )
{
if( i->second.first == Self::Choices )
{
- std::vector< std::string > c = this->GetChoices( name );
- if( std::find( c.begin( ), c.end( ), choice ) != c.end( ) )
+ std::istringstream str_choices( i->second.second );
+ std::string choices;
+ std::getline( str_choices, choices, '@' );
+ if( choices.find( choice ) != std::string::npos )
{
- std::istringstream str_choices( i->second.second );
- std::string choices;
- std::getline( str_choices, choices, '@' );
std::stringstream new_choices;
new_choices << choices << "@" << choice;
i->second.second = new_choices.str( );
+ this->Modified( );
return( true );
}
else
}
// -------------------------------------------------------------------------
-#define cpPlugins_Parameters_ClearList( Y ) \
- void cpPlugins::Interface::Parameters:: \
- Clear##Y##List( const TString& name ) \
- { \
- auto i = this->m_Parameters.find( name ); \
- if( i == this->m_Parameters.end( ) ) \
- return; \
- if( i->second.first != Self::Y##List ) \
- return; \
- i->second.second = ""; \
- this->Modified( ); \
- }
+std::string cpPlugins::Interface::Parameters::
+GetAcceptedFileExtensions( const std::string& name ) const
+{
+ auto i = this->m_AcceptedFileExtensions.find( name );
+ if( i != this->m_AcceptedFileExtensions.end( ) )
+ return( i->second );
+ else
+ return( "" );
+}
-cpPlugins_Parameters_ClearList( Index );
-cpPlugins_Parameters_ClearList( Point );
-cpPlugins_Parameters_ClearList( Vector );
+// -------------------------------------------------------------------------
+void cpPlugins::Interface::Parameters::
+SetAcceptedFileExtensions(
+ const std::string& name, const std::string& extensions
+ )
+{
+ auto i = this->m_Parameters.find( name );
+ if( i != this->m_Parameters.end( ) )
+ {
+ bool is_valid = ( i->second.first == Self::OpenFileName );
+ is_valid |= ( i->second.first == Self::SaveFileName );
+ is_valid |= ( i->second.first == Self::OpenFileNameList );
+ is_valid |= ( i->second.first == Self::SaveFileNameList );
+ if( is_valid )
+ this->m_AcceptedFileExtensions[ name ] = extensions;
+
+ } // fi
+}
// -------------------------------------------------------------------------
bool cpPlugins::Interface::Parameters::
bool cpPlugins::Interface::Parameters::
FromXML( const TiXmlElement* filter_elem )
{
- this->m_Parameters.clear( );
-
const TiXmlElement* param = filter_elem->FirstChildElement( "parameter" );
bool ret = false;
while( param != NULL )
ret = true;
} // elihw
+ this->Modified( );
return( ret );
}