メソッド
|
説明
|
getUniqueSerialNumber
|
public int getUniqueSerialNumber()
図形要素につけるシリアル番号を返す。シリアル番号はつぎのgetMaxSerialNumberメソッドの戻り値に1を加えた値を返す。
|
getMaxSerialNumber
|
public int getMaxSerialNumber()
ContainerListに登録されている全ての図形のshapeIdからシリアル番号部分を取り出しそのmax値を返す。シリアル番号はShapeContainer.getSerialNumberメソッドで取り出す。
: shapeIdは図形要素のキーワードとシリアルナンバで作る識別子で”Rectangle (No-1)”など。 |
getContainerList
|
public ArrayList getContainerList()
ContainerListを返す。通常はこのメソッドは使われない。
|
setContainerList
|
public void setContainerList(ArrayList containerList)
主にページの切り替えを行うためPageManagerから呼ばれ、引数で指定するcontainerListをセットする。
containerList内の図形を調べ、シリアル番号の最大値を求めて、フィールド変数SerialNumberに設定する。
|
size
|
public int size()
ContainerListのサイズを返す。
|
clear
|
public void clear()
ContainerListを空にする。
|
setContainerIndex
|
private void setContainerIndex(ShapeContainer container)
containerにcontainerIndexを設定する。ContainerList登録時、削除時には必ずこのメソッドを呼ぶ。
|
getContainerIndex
|
private int getContainerIndex(ShapeContainer container)
containerのContainerListでの位置(index)を返す。
|
addContainer
|
public void addContainer(ShapeContainer container)
ShapeContainerをContainerListに追加。すでにcontainerがContainerListにあれば削除して新たに登録する。setContainerIndexを呼ぶ。
フィールド変数undoSetupがtrueならば、このクラスのundoSetupOfAddOrDeleteを呼ぶ。
|
addContainer
|
public void addContainer(int index, ShapeContainer container)
ContainerListのindexを指定してShapeContainerをContainerListに追加。
すでにcontainerがContainerListにあれば削除して、新たに登録する。setContainerIndexを呼ぶ。
フィールド変数undoSetupがtrueならば、このクラスのundoSetupOfAddOrDeleteを呼ぶ。 |
deleteContainer
|
public void deleteContainer(ShapeContainer container)
ShapeContainerをContainerListから削除する。
削除前に setContainerIndex メソッドを呼ぶ。
フィールド変数undoSetupがtrueならば、このクラスのundoSetupOfAddOrDeleteを呼ぶ。
|
deleteContainer
|
public void deleteContainer(int index)
順番indexを指定してContainerListからShapeContainerを削除する。
削除前に setContainerIndex メソッドを呼ぶ。
フィールド変数undoSetupがtrueならば、このクラスのundoSetupOfAddOrDeleteを呼ぶ。
|
deleteContainer
|
public void deleteContainer(String shapeId)
引数:
shapeId - ShapeContainerオブジェクトの
shapeId.
Processing:
shapeIdで指定したShapeContainer オブジェクトを
ContainerListから削除する。
削除前に setContainerIndex メソッドを呼ぶ。
フィールド変数undoSetupがtrueならば、
このクラスのundoSetupOfAddOrDeleteを呼ぶ。
|
getContainer
|
public ShapeContainer getContainer(int index)
indexで指定されるcontainerを返す。
setContainerIndexを呼ぶ。
|
getContainer
|
public ShapeContainer getContainer(String shapeId)
指定されたshapeIdを持つcontainerを返す。containerがContainerListに登録されているオブジェクト
(ShapeContainer)の子オブジェクトでも返す。setContainerIndexを呼ぶ。
|
getContainers
|
public ShapeContainer[] getContainers()
全てのShapeContainerを配列形式で返す。
|
getSelectedContainers
|
public ShapeContainer[] getSelectedContainers()
全ての選択されているShapeContainerを配列形式で返す。
|
getAllShapeContainers
|
public Vector getAllShapeContainers()
すべてのShapeContainersをVectorの格納して返す。
例えば上記図1.1, 1.2, 1.3ではRound_Rectangle(No-0), Group(No-1),
Group(No-2), Rectangle(No-3), Rectangle(No-4), Group(No-5), Rectangle(No-6), Rectangle(No-7),
Line(No-8), Line(No-9), Rectangle(No-10), Rectangle(No-11), Line(No-12), Line(No-13)がこの順番で返される。
この順番は図形のz方向深さ(操作説明書 )と関連しており、
Round_Rectangle(No-0)が最も後ろに、Line(No-13)が最も手前にある。
|
getAllSigleShapeContainers
|
public ShapeContainer[] getAllSingleShapeContainers()
ContainerListに登録されている全てのShapeContainerのうちグループ図形を除く単一図形のShapeContainerを全て返す。
例えば上記図1.1, 1.2, 1.3ではRound_Rectangle(No-0), Rectangle(No-3), Rectangle(No-4),
Rectangle(No-6), Rectangle(No-7), Line(No-8), Line(No-9), Rectangle(No-10), Rectangle(No-11),
Line(No-12), Line(No-13)がこの順番で返される。
ShapeContainer.getGroupedSingleShapeContainersメソッドで検索する。
|
renumberContainerList
|
public void renumberContainerList()
ShapeContainer.shapeIdのシリアルナンバをリナンバーする。
|
getEditableTextBox
|
public ShapeContainer getEditableTextBox()
テキスト入力・編集可能(アクティブ)なShapeContainerを返す。複数個存在するときはワーニングメッセージを出す。
|
makeAllTextBoxesUneditable
|
public void makeAllTextBoxesUneditable()
TextBoxを持つ全てのShapeContainerをテキスト入力・編集できないようにする。
|
swapContainers
|
public void swapContainers(ShapeContainer container1, ShapeContainer
container2)
container1, container2のContainerListでの位置を交換する。図形の表示レイヤーを変えるときに使う。
|
group
|
public ShapeContainer group(ShapeContainer[] containers)
・Group図形用のをShapeContainerを作成する。
・引数で指定される図形をGroupElementに登録する。
・Group図形用のShapeContainerをContainerListに登録する。
登録位置はグループ化された図形のindexの最大値の位置(図形の重なりでは一番手前)。
|
ungroup
|
public void unGroup(ShapeContainer groupContainer)
・GroupElementに登録されている子要素がContainerListにあることを確認。なければエラーメッセージ出力。
・子要素を選択状態にする。
・groupContainerを削除。
|
undoSetupStart
|
public void undoSetupStart()
Undo設定開始を宣言する。フィールド変数undoSetup=trueとする。
これ以降、getContainer系統のメソッド(このクラスの読み出しメソッド)が呼ばれると、変更前のShapeContainerのクローンをBackupContainerListにセーブする。
さらにContainerListに登録されているShapeContainerに対し"変更なし"を設定する。
|
undoSetupStart
|
public void undoSetupStart(ShapeContainer[] containers)
Undo設定開始を宣言する。フィールド変数undoSetup=trueとする。
これ以降、getContainer系統のメソッド(このクラスの読み出しメソッド)が呼ばれると、変更前のShapeContainerのクローンをBackupContainerListにセーブする。
さらにContainerListに登録されているShapeContainerに対し"変更なし"を設定する。
|
backup
|
private void backup(ShapeContainer container)
指定のShapeContainerのクローンをBackupContainerListにセーブする。
|
backup
|
private void backup(ShapeContainer[] containers)
指定のShapeContainer(複数)のクローンをBackupContainerListにセーブする。
|
getBackup
|
private ShapeContainer getBackup(String shapeId)
指定のshapeIdを持つShapeContainerをBackupContainerListから返す。
|
undoSetupOfAddOrDelete
|
public void undoSetupOfAddOrDelete(int type, ShapeContainer container)
undoSetupStart()が呼ばれた後、undoSetupEnd()が呼ばれるまで、addContainerメソッドとdeleteContainerメソッドが、このメソッドを呼んでundoの設定を行う。
addContainerメソッドから呼ばれたときは、UndoableDrawEdit.CreateContainerオブジェクトをUndoDrawManagerに登録、deleteContainerメソッドから呼ばれたときは、UndoableDrawEdit.DeleteContainerオブジェクトをUndoDrawManagerに登録する。
|
undoSetupEnd
|
public void undoSetupEnd()
ShapeContainerに変更があった場合、BackupContainerList内の変更前ShapeContainerを取り出し、変更後のShapeContainerとセットにし、変更の UndoableDrawEditオブジェクトをUndoDrawManagerに登録する。
現在のところ変更対象はShapeContainer、TextBox、PaintStyleの3種類に分類しており、コードはそれぞれUndoConstants.CONTAINER, UndoConstants.TEXTBOX, UndoConstants.PAINTSTYLE。ShapeContainerの位置・サイズ変更を意味するUndoConstants.SIZE_POSITION、図形データの変更を示すUndoConstants.SHAPEも用意してあるが、現在のところUndoConstants.CONTAINERで処理している。もっと粒度の細かいundo設定が必要になれば、UndoConstants.SIZE_POSITION、UndoConstants.SHAPEも使う。
変更対象に応じて次の3つのメソッドのどれかを呼ぶ。
|
undoSetupEndOfContainer
|
private boolean undoSetupEndOfContainer(ShapeContainer container)
ShapeContainerの変更に対するundo設定を行う。
UndoableDrawEdit.ChangeContainerオブジェクトをUndoDrawManagerに登録する。
|
undoSetupEndOfTextBox
|
private boolean undoSetupEndOfTextBox(ShapeContainer container)
指定ShapeContainerのTextBoxの変更に対するundo設定を行う。
UndoableDrawEdit.ChangeTextBoxオブジェクトをUndoDrawManagerに登録する。
|
undoSetupEndOfPaintStyle
|
private boolean undoSetupEndOfPaintStyle(ShapeContainer container)
指定ShapeContainerのPaintStyleの変更に対するundo設定を行う。
UndoableDrawEdit.ChangePaintStyleオブジェクトをUndoDrawManagerに登録する。
|
printContainers
|
public void printContainers()
ContainerList に登録されているShapeContainerを印字する。
|
toString
|
public String toString()
printContainersの印刷内容を文字列で返す。
|