示例#1
0
文件: sheetval.cpp 项目: GWRon/wx.mod
void wxSheetValueProviderBase::Clear()
{
    const int numRows = GetNumberRows();
    const int numCols = GetNumberCols();
    if (numRows > 0) UpdateRows(0, -numRows);
    if (numCols > 0) UpdateCols(0, -numCols);
}
void FPropertyTable::Tick()
{
	// Execute any deferred actions
	for( int32 ActionIndex = 0; ActionIndex < DeferredActions.Num(); ++ActionIndex )
	{
		DeferredActions[ActionIndex].ExecuteIfBound();
	}

	DeferredActions.Empty();

	for( int32 ColumnIdx = 0; ColumnIdx < Columns.Num(); ColumnIdx++ )
	{
		Columns[ColumnIdx]->Tick();
	}

	if( bRefreshRequested )
	{
		bRefreshRequested = false;
		PurgeInvalidObjectNodes();
		UpdateRows();
		
		if( Orientation == EPropertyTableOrientation::AlignPropertiesInRows )
		{
			UpdateColumns();
		}
	}
}
void FPropertyTable::SetOrientation( EPropertyTableOrientation::Type InOrientation )
{
	Orientation = InOrientation;

	UpdateColumns();
	UpdateRows();
}
void FPropertyTable::SetObjects( const TArray< TWeakObjectPtr< UObject > >& Objects )
{
	SourceObjects.Empty();
	SourceObjects.Append( Objects );

	UpdateColumns();
	UpdateRows();
}
void FPropertyTable::SetObjects( const TArray< UObject* >& Objects )
{
	SourceObjects.Empty();
	
	for( auto ObjectIter = Objects.CreateConstIterator(); ObjectIter; ++ObjectIter )
	{
		SourceObjects.Add( *ObjectIter );
	}

	UpdateColumns();
	UpdateRows();
}
void FPropertyTable::SetRootPath( const TSharedPtr< FPropertyPath >& Path )
{
	if ( Path.IsValid() )
	{
		RootPath = Path.ToSharedRef();
	}
	else
	{
		RootPath = FPropertyPath::CreateEmpty();
	}

	RootPathChanged.Broadcast();

	UpdateRows();
	UpdateColumns();
}
示例#7
0
文件: sheetval.cpp 项目: GWRon/wx.mod
void wxSheetValueProviderBase::Copy(const wxSheetValueProviderBase& other)
{
    Clear();
    const int numRows = other.GetNumberRows();
    const int numCols = other.GetNumberCols();
    SetOptions(other.GetOptions());
    UpdateRows(0, numRows);
    UpdateCols(0, numCols);
    wxSheetCoords c;
    bool allow_empty = HasOption(wxSHEET_ValueProviderAllowEmpty);

    for (c.m_row = 0; c.m_row < numRows; c.m_row++)
    {
        for (c.m_col = 0; c.m_col < numCols; c.m_col++)
        {
            wxString val(other.GetValue(c));
            if (allow_empty || !val.IsEmpty())
                SetValue(c, val);
        }
    }
}