Example #1
0
void ProjectViewModel::GetValue(wxVariant& value, const wxDataViewItem& item, unsigned int column) const
{
    Reflect::DocumentElement* node = static_cast< Reflect::DocumentElement* >( item.GetID() );

    if ( node )
    {
        ProjectFile* file = Reflect::ObjectCast<ProjectFile>( node );
        if ( file )
        {
            switch ( column )
            {
            case 0:
                value = file->Path().Get().c_str();
                break;

            case 1:
                break;
            }
        }
        else
        {
            ProjectFolder* folder = Reflect::ObjectCast<ProjectFolder>( node );
            if ( folder )
            {
                switch ( column )
                {
                case 0:
                    value = folder->Name().Get();
                    break;

                case 1:
                    break;
                }
            }
            else
            {
                Project* project = Reflect::ObjectCast<Project>( node );
                if ( project )
                {
                    switch ( column )
                    {
                    case 0:
                        value = project->Path().Get().c_str();
                        break;

                    case 1:
                        break;
                    }
                }
            }
        }
    }
}