int CentDedDiaCont::insert( const CentDedDia& element , int iIndex ) { int iRv = 0 ; if ( iRv >= 0 ){ if ( element.getName().empty() ){ iRv = -2 ; // element にはダイヤ名が指定されていません。 } } if ( iRv >= 0 ){ int iIndexFind = findCentDedDiaByName( element.getName() ) ; if ( iIndexFind >= 0 ){ iRv = -3 ; // すでに同名のダイヤが存在します。 } } if ( iRv >= 0 ){ if ( m_iEkiCount == element.getEkiCount() && m_iRessyasyubetsuCount == element.getRessyasyubetsuCount() ) { iRv = super::insert( element , iIndex ) ; } else { CentDedDia aCentDedDia( m_iEkiCount , m_iRessyasyubetsuCount ) ; aCentDedDia = element ; iRv = super::insert( aCentDedDia , iIndex ) ; } } return iRv ; }
// ******************************** //@name CRfEditCmd-操作 // ******************************** int CRfEditCmd_DiaProp:: execute( CDedRosenFileData* pCDedRosenFileData ) { int iRv = 0 ; // -------------------------------- CentDedRosen* pCentDedRosen = pCDedRosenFileData->getCentDedRosen() ; CentDedDia* pCentDedDia = NULL ; if ( iRv >= 0 ){ pCentDedDia = pCentDedRosen->getCentDedDiaCont()->getMuPtr()->get( m_iDiaIndex ) ; if ( pCentDedDia == NULL ){ iRv = -2 ; // m_iDiaIndex の値が不正です。 } } // -------------------------------- // 削除要素の保存 // -------------------------------- if ( iRv >= 0 ){ m_strDiaNameOld = pCentDedDia->getName() ; } // -------------------------------- // 要素の置換え // -------------------------------- if ( iRv >= 0 ){ pCentDedDia->setName( m_strDiaName ) ; } return ( iRv ) ; }