/** 編集フラグをクリアーします。 ファイルとして保存された後に呼び出されます。 */ public void clearChangedFlags() { for (RgtProxy mediator : games_) { if (mediator != null) { mediator.clearChanged(); } } isRgtEdited_ = false; }
/** * どのゲームが編集されているかを示す配列を返します。<br> * 戻り値は長さが{@link Collection#size()}で各要素がtrueの場合は そのRootGameTreeから始まるゲームが編集されていることを示します。 * * @return {@link RootGameTree}が編集されている場合にtrueを返す配列。 */ public boolean[] getChangedFlags() { boolean[] ret = new boolean[collection_.size()]; for (int i = 0; i < ret.length; ++i) { RgtProxy gm = games_.get(i); ret[i] = (gm != null) && gm.isChanged(); } return ret; }
/* (non-Javadoc) * @see org.unitarou.sgf.CollectionListener#rootGameTreeRemoved(org.unitarou.sgf.CollectionEvent) */ public void rootGameTreeRemoved(CollectionEvent event) { RootGameTree target = event.getRootGameTree(); for (int i = 0; i < games_.size(); ++i) { RgtProxy gm = games_.get(i); if (gm != null && gm.getRootGameTree() == target) { games_.remove(i); break; } } if (activeRgtIndex_ == collection_.size()) { activeRgtIndex_ = collection_.size() - 1; } }