void TableSettings::FillColumns() { wxVector<wxVariant> line; m_dvColumns->DeleteAllItems(); for( SerializableList::iterator it = m_lstColumns.begin(); it != m_lstColumns.end(); ++it ) { Column *c = wxDynamicCast( *it, Column ); if( c ) { IDbType *type = c->GetType(); line.clear(); line.push_back( wxVariant( c->GetName() ) ); line.push_back( wxVariant( type->GetTypeName() ) ); line.push_back( wxVariant( wxString::Format( wxT("%ld,%ld"), type->GetSize(), type->GetSize2() ) ) ); line.push_back( wxVariant( type->GetNotNull() ) ); line.push_back( wxVariant( type->GetAutoIncrement() ) ); line.push_back( wxVariant( IsPrimaryKey( c->GetName() ) ) ); m_dvColumns->AppendItem( line, reinterpret_cast<wxUIntPtr>(c) ); } } }