nudge RebuildWheelItems and RebuildMusicWheelItems together
This commit is contained in:
@@ -739,16 +739,19 @@ void MusicWheel::RebuildAllMusicWheelItems()
|
|||||||
|
|
||||||
void MusicWheel::RebuildMusicWheelItems( int iDist )
|
void MusicWheel::RebuildMusicWheelItems( int iDist )
|
||||||
{
|
{
|
||||||
|
vector<WheelItemData *> &data = m_CurWheelItemData;
|
||||||
|
vector<MusicWheelItem *> &items = m_MusicWheelItems;
|
||||||
|
|
||||||
// rewind to first index that will be displayed;
|
// rewind to first index that will be displayed;
|
||||||
int iFirstVisibleIndex = m_iSelection;
|
int iFirstVisibleIndex = m_iSelection;
|
||||||
if( m_iSelection > int(m_CurWheelItemData.size()-1) )
|
if( m_iSelection > int(data.size()-1) )
|
||||||
m_iSelection = 0;
|
m_iSelection = 0;
|
||||||
|
|
||||||
// find the first wheel item shown
|
// find the first wheel item shown
|
||||||
iFirstVisibleIndex -= NUM_WHEEL_ITEMS/2;
|
iFirstVisibleIndex -= NUM_WHEEL_ITEMS/2;
|
||||||
|
|
||||||
ASSERT(m_CurWheelItemData.size());
|
ASSERT(data.size());
|
||||||
wrap( iFirstVisibleIndex, m_CurWheelItemData.size() );
|
wrap( iFirstVisibleIndex, data.size() );
|
||||||
|
|
||||||
// iIndex is now the index of the lowest WheelItem to draw
|
// iIndex is now the index of the lowest WheelItem to draw
|
||||||
|
|
||||||
@@ -758,31 +761,31 @@ void MusicWheel::RebuildMusicWheelItems( int iDist )
|
|||||||
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
|
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
|
||||||
{
|
{
|
||||||
int iIndex = iFirstVisibleIndex + i;
|
int iIndex = iFirstVisibleIndex + i;
|
||||||
wrap( iIndex, m_CurWheelItemData.size() );
|
wrap( iIndex, data.size() );
|
||||||
|
|
||||||
WheelItemData *data = m_CurWheelItemData[iIndex];
|
WheelItemData *pData = data[iIndex];
|
||||||
MusicWheelItem *display = m_MusicWheelItems[i];
|
MusicWheelItem *pDisplay = items[i];
|
||||||
|
|
||||||
bool bExpanded = (data->m_Type == TYPE_SECTION) ? (data->m_sText == m_sExpandedSectionName) : false;
|
bool bExpanded = (pData->m_Type == TYPE_SECTION) ? (pData->m_sText == m_sExpandedSectionName) : false;
|
||||||
display->LoadFromWheelItemData( data, bExpanded );
|
pDisplay->LoadFromWheelItemData( pData, bExpanded );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Shift items and refresh only those that have changed.
|
// Shift items and refresh only those that have changed.
|
||||||
CircularShift( m_MusicWheelItems, iDist );
|
CircularShift( items, iDist );
|
||||||
if( iDist > 0 )
|
if( iDist > 0 )
|
||||||
{
|
{
|
||||||
for( int i=NUM_WHEEL_ITEMS-iDist; i<NUM_WHEEL_ITEMS; i++ )
|
for( int i=NUM_WHEEL_ITEMS-iDist; i<NUM_WHEEL_ITEMS; i++ )
|
||||||
{
|
{
|
||||||
int iIndex = iFirstVisibleIndex + i;
|
int iIndex = iFirstVisibleIndex + i;
|
||||||
wrap( iIndex, m_CurWheelItemData.size() );
|
wrap( iIndex, data.size() );
|
||||||
|
|
||||||
WheelItemData *data = m_CurWheelItemData[iIndex];
|
WheelItemData *pData = data[iIndex];
|
||||||
MusicWheelItem *display = m_MusicWheelItems[i];
|
MusicWheelItem *pDisplay = items[i];
|
||||||
|
|
||||||
bool bExpanded = (data->m_Type == TYPE_SECTION) ? (data->m_sText == m_sExpandedSectionName) : false;
|
bool bExpanded = (pData->m_Type == TYPE_SECTION) ? (pData->m_sText == m_sExpandedSectionName) : false;
|
||||||
display->LoadFromWheelItemData( data, bExpanded );
|
pDisplay->LoadFromWheelItemData( pData, bExpanded );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( iDist < 0 )
|
else if( iDist < 0 )
|
||||||
@@ -790,13 +793,13 @@ void MusicWheel::RebuildMusicWheelItems( int iDist )
|
|||||||
for( int i=0; i < -iDist; i++ )
|
for( int i=0; i < -iDist; i++ )
|
||||||
{
|
{
|
||||||
int iIndex = iFirstVisibleIndex + i;
|
int iIndex = iFirstVisibleIndex + i;
|
||||||
wrap( iIndex, m_CurWheelItemData.size() );
|
wrap( iIndex, data.size() );
|
||||||
|
|
||||||
WheelItemData *data = m_CurWheelItemData[iIndex];
|
WheelItemData *pData = data[iIndex];
|
||||||
MusicWheelItem *display = m_MusicWheelItems[i];
|
MusicWheelItem *pDisplay = items[i];
|
||||||
|
|
||||||
bool bExpanded = (data->m_Type == TYPE_SECTION) ? (data->m_sText == m_sExpandedSectionName) : false;
|
bool bExpanded = (pData->m_Type == TYPE_SECTION) ? (pData->m_sText == m_sExpandedSectionName) : false;
|
||||||
display->LoadFromWheelItemData( data, bExpanded );
|
pDisplay->LoadFromWheelItemData( pData, bExpanded );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+18
-15
@@ -627,16 +627,19 @@ void WheelBase::BuildWheelItemsData( vector<WheelItemBaseData*> &arrayWheelItemD
|
|||||||
|
|
||||||
void WheelBase::RebuildWheelItems( int iDist )
|
void WheelBase::RebuildWheelItems( int iDist )
|
||||||
{
|
{
|
||||||
|
vector<WheelItemBaseData *> &data = m_WheelBaseItemsData;
|
||||||
|
vector<WheelItemBase *> &items = m_WheelBaseItems;
|
||||||
|
|
||||||
// rewind to first index that will be displayed;
|
// rewind to first index that will be displayed;
|
||||||
int iFirstVisibleIndex = m_iSelection;
|
int iFirstVisibleIndex = m_iSelection;
|
||||||
if( m_iSelection > int(m_WheelBaseItemsData.size()-1) )
|
if( m_iSelection > int(data.size()-1) )
|
||||||
m_iSelection = 0;
|
m_iSelection = 0;
|
||||||
|
|
||||||
// find the first wheel item shown
|
// find the first wheel item shown
|
||||||
iFirstVisibleIndex -= NUM_WHEEL_ITEMS/2;
|
iFirstVisibleIndex -= NUM_WHEEL_ITEMS/2;
|
||||||
|
|
||||||
ASSERT(m_WheelBaseItemsData.size());
|
ASSERT(data.size());
|
||||||
wrap( iFirstVisibleIndex, m_WheelBaseItemsData.size() );
|
wrap( iFirstVisibleIndex, data.size() );
|
||||||
|
|
||||||
// iIndex is now the index of the lowest WheelItem to draw
|
// iIndex is now the index of the lowest WheelItem to draw
|
||||||
|
|
||||||
@@ -646,29 +649,29 @@ void WheelBase::RebuildWheelItems( int iDist )
|
|||||||
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
|
for( int i=0; i<NUM_WHEEL_ITEMS; i++ )
|
||||||
{
|
{
|
||||||
int iIndex = iFirstVisibleIndex + i;
|
int iIndex = iFirstVisibleIndex + i;
|
||||||
wrap( iIndex, m_WheelBaseItemsData.size() );
|
wrap( iIndex, data.size() );
|
||||||
|
|
||||||
WheelItemBaseData *data = m_WheelBaseItemsData[iIndex];
|
WheelItemBaseData *pData = data[iIndex];
|
||||||
WheelItemBase *display = m_WheelBaseItems[i];
|
WheelItemBase *pDisplay = items[i];
|
||||||
|
|
||||||
display->LoadFromWheelItemBaseData( data );
|
pDisplay->LoadFromWheelItemBaseData( pData );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Shift items and refresh only those that have changed.
|
// Shift items and refresh only those that have changed.
|
||||||
CircularShift( m_WheelBaseItems, iDist );
|
CircularShift( items, iDist );
|
||||||
if( iDist > 0 )
|
if( iDist > 0 )
|
||||||
{
|
{
|
||||||
for( int i=NUM_WHEEL_ITEMS-iDist; i<NUM_WHEEL_ITEMS; i++ )
|
for( int i=NUM_WHEEL_ITEMS-iDist; i<NUM_WHEEL_ITEMS; i++ )
|
||||||
{
|
{
|
||||||
int iIndex = iFirstVisibleIndex + i;
|
int iIndex = iFirstVisibleIndex + i;
|
||||||
wrap( iIndex, m_WheelBaseItemsData.size() );
|
wrap( iIndex, data.size() );
|
||||||
|
|
||||||
WheelItemBaseData *data = m_WheelBaseItemsData[iIndex];
|
WheelItemBaseData *pData = data[iIndex];
|
||||||
WheelItemBase *display = m_WheelBaseItems[i];
|
WheelItemBase *pDisplay = items[i];
|
||||||
|
|
||||||
display->LoadFromWheelItemBaseData( data );
|
pDisplay->LoadFromWheelItemBaseData( pData );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( iDist < 0 )
|
else if( iDist < 0 )
|
||||||
@@ -678,10 +681,10 @@ void WheelBase::RebuildWheelItems( int iDist )
|
|||||||
int iIndex = iFirstVisibleIndex + i;
|
int iIndex = iFirstVisibleIndex + i;
|
||||||
wrap( iIndex, m_WheelBaseItemsData.size() );
|
wrap( iIndex, m_WheelBaseItemsData.size() );
|
||||||
|
|
||||||
WheelItemBaseData *data = m_WheelBaseItemsData[iIndex];
|
WheelItemBaseData *pData = data[iIndex];
|
||||||
WheelItemBase *display = m_WheelBaseItems[i];
|
WheelItemBase *pDisplay = items[i];
|
||||||
|
|
||||||
display->LoadFromWheelItemBaseData( data );
|
pDisplay->LoadFromWheelItemBaseData( pData );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user