Top > OOoBasic > Draw > Layer

レイヤー Edit

概要 Edit

レイヤーはドキュメントで一貫して存在します。ページごとレイヤーを追加したりするのではなく、ドキュメント全体に反映されます。

ドキュメントを作成すると最初から五つのレイヤーが在ります。このうち background と backgroundobjects は隠しレイヤーで UI に表示されません。

レイヤー名説明
layout一般レイヤー
background背景に配置したシェープ
backgroundobjects
controlsいつも最前面
measurelines寸法線

レイヤーを追加したり削除したりできますが、標準のものは削除できません。

レイヤーマネージャ Edit

レイヤーマネージャがレイヤーを管理します。ドキュメントオブジェクトから getLayerManager メソッドで取得します。

oDoc = ThisComponent
oLayerManager = oDoc.getLayerManager()

このレイヤーマネージャは一般的な com.sun.star.container.XNameAccess インターフェースおよび独自の com.sun.star.drawing.XLayerManager インターフェースを備えています。

XNameAccess インターフェースを利用してレイヤーにアクセスできます。レイヤーの追加や削除といった管理は XLayerManager インターフェースを利用します。

取得 Edit

レイヤーの取得は XNameAccess インターフェースを使用します。また、XLayerManager インターフェースは XIndexAccess インターフェースを継承しているのでそのインターフェースのメソッドも利用できます。

sLayerNames = oLayerManager.getElementNames()
For i = 0 To UBound(sLayerNames) Step 1
  sLayerName = sLayerNames(i)
  oLayer = oLayerManager.getByName(sLayerName)
Next

XIndexAccess のメソッドも利用できます。

For i = 0 To oLayerManager.getCount() - 1 Step 1
  oLayer = oLayerManager.getByIndex(i)
Next

追加 Edit

レイヤーの追加。レイヤーの順番はコンテナ中のインデックスと同じになり、表示順に影響を与えます。

oLayer = oLayerManager.insertNewByIndex(1)

削除 Edit

レイヤーを削除します。

oLayerManager.remove(oLayer)

シェープのあるレイヤー Edit

あるシェープが所属しているレイヤーを取得します。

oShape = oDrawPage.getByIndex(0)
oLayer = oLayerManager.getLayerForShape(oShape)

シェープをレイヤーに配置 Edit

あるシェープを特定のレイヤーに配置します。

oShape = oDrawPage.getByIndex(0)
oLayerManager.attachShapeToLayer( oShape, oLayer )

レイヤーのプロパティ Edit

プロパティ説明
Nameレイヤー名
IsLockedロックする
IsPrintable印刷可能にする
IsVisible表示状態
Titleタブ表示名
Descriptionレイヤーのコメント (2.4 以降?)

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes