メソッド
|
説明
|
コンストラクタ
|
public ShapeContainer()
PaintStyleオブジェクトを作成し設定する。
|
getContainerType
|
public int getContainerType()
単一図形を格納するShapeContainerのときShapeContainer.SHAPEを返す。グループ図形のときShapeContainer.GROUP
を返す。
|
getShapeId
|
public String getShapeId()
フィールド変数shapeIdを返す。
|
setShapeId
|
public void setShapeId(String shapeId)
フィールド変数shapeIdに設定。
このメソッドは SerializableElementUtil
オブジェクトと、 ContainerManager.backup
メソッドだけから呼ばれる。
|
setNewShapeId
|
public void setShapeId(ContainerManager manager, boolean withChildren)
引数:
manager - ContainerManager オブジェクト.
withChildren - trueでかつこのオブジェクトがグループならば、
このオブジェクトの子図形(ShapeContainer)にも新しいshapeIdを設定する。
処理:
shapeIdを作成し shapeId に設定する。
図形のシリアル番号を ContainerManager.getUniqueSerialNumber
で取得し、configureShapeIdを呼んでshapeIdを作成する。
|
configureShapeId
|
private String configureShapeId(int number)
引数:
number - シリアル番号
戻り値:
shapeIdを返す。
処理:
ShapeElement.getShapeIdStringの戻り値と、
引数 numberからshapeIdを構成し戻り値で返す。
|
getSerialNumber |
public int getSerialNumber()
戻り値:
ContainerManager.getUniqueSerialNumberメソッドで生成されたシリアル番号を返す。
Processing;
shapeIdからシリアル番号を取り出す。
|
getSerialNumber
(static) |
public static int getSerialNumber(String shapeId)
引数:
shapeId - The shape id.
戻り値:
ContainerManager.getUniqueSerialNumber
メソッドで生成されたシリアル番号を返す。
処理;
shapeIdからシリアル番号を取り出す。
|
getContainerIndex |
public int getContainerIndex()
フィールド変数containerIndexを返す。 |
setContainerIndex |
public void setContainerIndex(int containerIndex)
フィールド変数containerIndexに設定。 |
getParent
|
public ShapeContainer getParent()
グループに所属する場合、親オブジェクト(フィールド変数parent)を返す。
|
setParent
|
public void setParent(ShapeContainer parent)
親要素を設定する。グループ化のメソッドContainerManager.groupで設定する。
|
getTopParent
|
public ShapeContainer getTopParent()
このオブジェクトの親がなければこのオブジェクトを返す。そうでなければ親のgetParentメソッドを再帰的に呼び出し最上位の親を返す。
|
getElement
|
public ShapeElement getElement()
このShapeContainerの図形要素(フィールド変数element)を返す。
|
setElement
|
public void setElement(ShapeElement element)
このShapeContainerに図形要素を設定する。
|
getMode
|
public int getMode()
このShapeContainerの動作モードを返す。 |
setMode
|
public void setMode(int mode)
NORMAL_MODE, CREATING_MODE, MOVING_MODE, RESIZING_MODE, MODIFYING_SHAPE_MODEのいずれかを設定。
モード定数はCommandクラスで定義。
|
setSelected
|
public void setSelected(boolean selected)
この図形に選択状態(フィールド変数selected)を設定する。
selected=falseで呼ばれたときactivated=trueならば、activated=falseにする。
|
isSelected
|
public boolean isSelected()
この図形が選択されているときtrueを返す。
|
setVisible |
public void setVisible(boolean visible)
表示の可否(フィールド変数visible)を設定する。 |
isVisible |
public boolean isVisible()
表示の可否を返す。 |
isClosed |
public boolean isClosed()
閉図形の場合、trueを返す。図形要素のメソッドを呼ぶ。 |
isEditableTextBox
|
public boolean isEditableTextBox()
現在のところ、TextBoxを持ち、テキスト入力可能な場合にtrueを返す。
|
makeTextBoxEditable
|
public void makeTextBoxEditable(boolean activate)
activateがtrueならばこの図形が持つTextBoxをテキスト入力・編集可能な状態にする。
TextBox.activateMouseListener
でTextBoxをマウスリスナー、マウスモーションリスナーとしてListenerPanelにセットする。
|
makeTextBoxEditable |
public void makeTextBoxEditable(Point2D point, int ctrl)
引数:
point - マウスでクリックした点。.
ctrl - 0/1/2
マウスクリック時にShift/Ctrlキーを押しているとctrl には1/2が設定される。
処理:
図形のテキスト領域をクリックしたときにSelectionLS.execSelectionから呼ばれる。
・この図形が持つTextBoxをテキスト入力・編集可能な状態にする。
・Point2D pointの指す位置にTextBoxのキャレットを表示する。
TextBox.mouseClickedと同じロジックで、次のメソッドを使って処理する。
TextBox.getCaretPositionAtMouse
TextBox.setCaretPositionOrSelection
|
getChangeCode
|
public int getChangeCode()
このオブジェクトがグループでなければフィールド変数changeCodeを返す。グループの場合、子オブジェクトのchangeCode(>=0)を返す。
|
setChangeCode
|
public void setChangeCode(int code)
フィールド変数changeCodeに引数を設定する。
|
resetChangeCode
|
public void resetChangeCode()
フィールド変数changeCodeをリセットする(-1をセットする)。
|
setProperty |
public void setProperty(String key, Object object)
引数:
key - プロパティ(属性)キー
object - プロパティ(属性)値
=>property
処理:
この図形のプロパティを設定する。
|
getProperty |
public Object getProperty(String key)
引数:
key - プロパティ(属性)キー
戻り値:
プロパティキーの値を返す。
|
removeProperty |
public void removeProperty(String key)
引数:
key - プロパティ(属性)キー
Processing:
プロパティをpropertyから削除する。
|
getBooleanProperty |
public boolean getBooleanProperty(String key)
戻り値:
キーの値を返す。
|
getPaintStyle |
public PaintStyle getPaintStyle()
フィールド変数paintStyleを返す。 |
setPaintStyle |
public void setPaintStyle(PaintStyle paintStyle)
フィールド変数paintStyleに引数を設定する。 |
getColors |
public Color[] getColors()
このオブジェクトのPaintStyleオブジェクトとTextBoxのCommittedTextContainerオブジェクトに設定されている全ての色情報を配列で返す。 |
hasTextBox |
public boolean hasTextBox()
TextBoxを持つときtrueを返す。 |
addTextBox |
public int addTextBox()
戻り値:
0 - 正常終了。
1 - グループのためテキストボックスは付加されなかった。
2 - 図形要素の種類が異常=>バグ。
3 - 図形要素が閉図形ではない。
4 - すでにテキストボックスを持っている。
5 - テキストエリアが確保できない=>バグ。
6 - 作成したテキストエリアが小さすぎる(幅または高さが10ピクセル以下)。
処理:
このShapeContainerオブジェクトに新規作成のTextBoxオブジェクトを追加する。
TextBoxオブジェクトのテキスト領域(textArea: Rectangle2D)を
ShapeElement.createTextArea抽象(abstract)メソッドを呼んで
取得し、次のようにTextBoxに設定する。
newTextBox.setTextArea(textArea);
=> 操作説明書
テキストボックス作成、追加、削除
|
addTextBox |
public void addTextBox(Rectangle2D textArea)
引数:
textArea -新しいTextBoxオブジェクトを配置する矩形。
処理:
このメソッドはSerializableElementUtilだけから呼ばれる。ファイルから読み込んだデータ、クリップボードにストアしたSerializableElementデータからShapeContainer全体を再構成する場合に使う。 |
deleteTextBox |
public int deleteTextBox()
textBox フィールドにnullを設定する。
|
getTextBox |
public TextBox getTextBox()
TextBoxオブジェクトを返す(フィールド変数textBoxを返す)。 |
setTextBox |
public void setTextBox(TextBox textBox)
このShapeContainerにTextBoxオブジェクトを設定する。 |
setConnectorTarget
Permission
|
public void setConnectorTargetPermission(boolean permission)
コネクターの接続を許すか否かを設定する。
現在使用していない。
|
setConnectorPermission
|
public void setConnectorPermission(boolean permission)
コネクター図形であるか否かを設定する。直線、折れ線だけにtrueを設定できる。
CutShapeでfalse設定。
MoveResizeShapeLSで直線、折れ線を動かす時にtrue設定。
他では使用していない。
|
isConnectorTarget
|
public boolean isConnectorTarget()
このShapeContainerがコネクターの接続を許す図形のときtrueを返す。
|
isConnector
|
public boolean isConnector()
このShapeContainerがコネクター図形のときtrueを返す。
|
compare
|
public boolean compare(ShapeContainer container)
このオブジェクトが引数containerに等しいときtruを返す。
|
compare
|
public boolean compare(ShapeContainer[] containers)
このオブジェクトが引数containersにのどれかに等しいときtruを返す。
|
getGroupedContainers
|
public ShapeContainer[] getGroupedContainers()
処理:
このShapeContainerが単一図形ならば、このShapeContainerを返す。
このShapeContainerがグループ図形ならば、このShapeContainerと子要素のShapeContainerを全て返す。
全ての子要素はGroupElement.getGroupedContainersメソッド
で検索できる
(例) GroupElement.getGroupedContainersメソッド:
もしこのShapeContainerオブジェクトが図2のSingle shape(No- 0)ならば、Single shape(No- 0)を返す。
もしこのShapeContainerオブジェクトがGroup(No-1)ならば、Group(No-1), Group(No-2), Single
shape(No-3), Single shape(No-4), Group(No-5), Single shape(No-6), Single
shape(No-7)を返す
|
getGroupedSingleShape
Containers
|
public ShapeContainer[] getGroupedSingleShapeContainers()
このShapeContainerが単一図形ならば、このShapeContainerを返す。
このShapeContainerがグループ図形ならば、このShapeContainerと子要素のうちグループ図形でないShapeContainerを全て返す。
|
getGroupedTextBoxes
|
public TextBox[] getGroupedTextBoxes()
このShapeContainerおよび子要素のShapeContainerからTextBoxを全て取り出す。
TextBoxを取り出す処理を、単一図形とグループ図形で共通化するためのメソッド。
|
getGroupedTextBox
|
public TextBox getGroupedTextBox(String shapeId)
このShapeContainerおよび子要素のShapeContainerからshapeIdを持つShapeContainerを選びそのTextBoxを返す。
TextBoxを取り出す処理を、単一図形とグループ図形で共通化するためのメソッド。
|
getGroupedPaintStyles
|
public PaintStyle[] getGroupedPaintStyles()
このShapeContainerおよび子要素のShapeContainerからPaintStyleを全て取り出す。
PaintStyleを取り出す処理を、単一図形とグループ図形で共通化するためのメソッド。
|
getGroupedPaintStyle
|
public PaintStyle getGroupedPaintStyles(String shapeId)
このShapeContainerおよび子要素のShapeContainerからshapeIdを持つShapeContainerを選び、そのPaintStyleを返す。
PaintStyleを取り出す処理を、単一図形とグループ図形で共通化するためのメソッド。
|
getBoundingBox
|
public Rectangle2D getBoundingBox()
この図形を囲むボックスを返す。図形要素のgetBoundingBoxを呼ぶ。
|
setTextBoxLayout
|
public void setTextBoxLayout(Insets textBoxInsets, int textAlign, double
lineSpace)
引数:
textBoxInsets - TextBoxとテキスト領域の間の余白
textAlign - 右寄せ/中央寄せ/左寄せ
lineSpace - 行間隔
処理:
このShapeContainerのTextBoxの属性を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。TextBox
のsetTextBoxLayoutメソッドを呼ぶ。
|
setFillColor
|
public void setFillColor(Color fillColor)
このShapeContainerの塗つぶし色を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。
PaintStyleの同名メソッドを呼ぶ。
|
setLineColor
|
public void setLineColor(Color lineColor)
このShapeContainerの輪郭線の色を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。
PaintStyleの同名メソッドを呼ぶ。
|
setLineWidth
|
public void setLineWidth(String lineWidth)
このShapeContainerの輪郭線の色を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。
PaintStyleの同名メソッドを呼ぶ。
|
setLineStroke
|
public void setlineStroke(String lineStroke)
このShapeContainerの輪郭線の線種を設定する。このShapeContainerがグループ図形ならば、子要素の全てに設定する。
PaintStyleの同名メソッドを呼ぶ。
|
setArrowStyle
|
public void setArrowStyle(String arrowStyle)
このShapeContainerが矢印を付けられる直線/曲線のとき、端点の矢印の形を指定する。
このShapeContainerがグループ図形ならば、子要素の全てに設定する。
PaintStyleの同名メソッドを呼ぶ。引数の意味はPaintStyleのarrowStyle>参照。
|
|
public void drawShape(Graphics g)
このShapeContainerの図形要素、TextBoxなど全ての図形を対応するクラスのメソッドを呼んで描画する。
呼び出すクラスとメソッドは次の通り。
・図形要素:DrawShapeUtil.drawShapeElement
・TextBox:TextBox.drawTextBox
・図形要素変形の制御点:MODIFYING_SHAPE_MODEのとき
DrawShapeUtil.drawSegmentModifiersを呼ぶ。
・選択ボックス、リサイズハンドル:DrawShapeUtil.drawSelection
|
clone
|
public Object clone()
このShapeContainerのクローンを作る。クローン図形のshapeIdは元のShapeContainerと同じ。
このShapeContainerに付随するTextBox、PaintStyleなど全てクローンを作る。
このShapeContainerがグループ図形でも可。 |
toString
|
public String toString()
このShapeContainerの文字列表現を返す。
|
toShortString
|
public String toShortString()
このShapeContainerの短い文字列表現を返す。
|