void StarContainer::SearchDelStar(int index,int type) { int x , y , dx , dy , tIndex; x = getArrayX( index ); y = getArrayY( index ); // left dx = x - 1; tIndex = getArrayIndex( dx , y); if( IsInMap( dx , y ) && IsMatchType( m_pStars[dx][y]->GetType() , type ) && IsNotInList(tIndex) ) openList->push_back( tIndex ); // right dx = x + 1; tIndex = getArrayIndex( dx , y); if( IsInMap( dx , y ) && IsMatchType(m_pStars[dx][y]->GetType() , type ) && IsNotInList(tIndex) ) openList->push_back( tIndex ); // top dy = y - 1; tIndex = getArrayIndex( x , dy); if( IsInMap( x , dy ) && IsMatchType(m_pStars[x][dy]->GetType() , type ) && IsNotInList(tIndex) ) openList->push_back( tIndex ); // buttom dy = y + 1; tIndex = getArrayIndex( x , dy); if( IsInMap( x , dy ) && IsMatchType(m_pStars[x][dy]->GetType() , type) && IsNotInList(tIndex) ) openList->push_back( tIndex ); closeList->push_back( index ); if( openList->size() == 0 ) return; index = openList->back(); openList->pop_back(); SearchDelStar(index,type); }
bool CChangeGroup::ShouldAcceptChangeIntoGroup(int iType) { switch (m_iChangeType) { case DV_STYLE_UNITIALIZED: case DV_STYLE_MATCH: return true; case DV_STYLE_CHANGED_TEXT: return IsInsertOrDelete(iType) && !m_bSeenMatchAfterChange; case DV_STYLE_INSERTION: case DV_STYLE_DELETION: return IsInsertOrDelete(iType); case DV_STYLE_INSERTEDCOMMENT: case DV_STYLE_DELETEDCOMMENT: case DV_STYLE_COMMENT: return IsCommentType(iType); case DV_STYLE_CHANGED_COMMENT: if (IsCommentType(iType)) { if (IsMatchType(iType)) return true; return !m_bSeenMatchAfterChange; } return false; case DV_STYLE_FORMAT_CHANGE: case DV_STYLE_MOVESOURCE: case DV_STYLE_MOVEDESTINATION: return (iType==m_iChangeType); case DV_STYLE_STYLECHANGE_TEXT: if (iType == DV_STYLE_STYLECHANGE_TEXT || iType == DV_STYLE_MATCH) { return true; } return false; case DV_STYLE_STYLECHANGE_LABEL: return (iType == DV_STYLE_STYLECHANGE_TEXT); } return false; }
void CChangeGroup::UpdateType(int iType) { switch (m_iChangeType) { case DV_STYLE_UNITIALIZED: m_iChangeType = iType; break; case DV_STYLE_COMMENT: case DV_STYLE_MATCH: m_iChangeType = iType; case DV_STYLE_DELETION: case DV_STYLE_INSERTION: case DV_STYLE_MOVESOURCE: case DV_STYLE_MOVEDESTINATION: { m_iOrigChangeType = m_iChangeType; if (iType!=m_iChangeType) m_iChangeType=DV_STYLE_CHANGED_TEXT; break; } case DV_STYLE_INSERTEDCOMMENT: case DV_STYLE_DELETEDCOMMENT: { m_iOrigChangeType = m_iChangeType; if ((iType!=m_iChangeType)&&IsCommentType(iType)) m_iChangeType=DV_STYLE_CHANGED_COMMENT; break; } case DV_STYLE_CHANGED_COMMENT: case DV_STYLE_CHANGED_TEXT: if (IsMatchType(iType)) m_bSeenMatchAfterChange = true; break; default: break; } }