Top > OOoBasic > Generic > LayoutManager

レイアウトマネージャ Edit

メニューバー、ツールバー、ステータスバー、ドッキングウィンドウの位置などの要素を管理します。

レイアウトマネージャ Edit

レイアウトマネージャから com.sun.star.frame.XLayoutManager インターフェースを利用します。

oFrame = ThisComponent.getCurrentController().getFrame()
oLayoutManager = oFrame.LayoutManager

ID Edit

UI 要素の ID は private:resource/TYPE/NAME の形式です。

  • menubar
  • popupmenu
  • toolbar
  • statusbar
  • floater
  • メニューバーは一種類です private:resource/menubar/menubar
  • ステータスバーは今のところ一種類 private:resource/statusbar/statusbar
  • ツールバーは share/registry/data/org/openoffice/Office/UI/XXXWindowState.xcu ファイルに記述されています。また、ツールバーにいくつか記載があります。

現在表示されている UI の ID を調べるには次のようにします。

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
Sub layoutmanager_5
  oFrame = ThisComponent.getCurrentController().getFrame()
  oLayoutManager = oFrame.LayoutManager
  oElements = oLayoutManager.getElements()
  
  sTxt = ""
  For i = 0 To UBound(oElements) Step 1
    sTxt = sTxt & oElements(i).ResourceURL & chr(10)
  Next
  msgbox sTxt
End Sub

ツールバーの自動表示 Edit

ツールバーの自動表示機能の切り替えは AutomaticToolbars プロパティを変更します。

oLayoutManager.AutomaticToolbars = True

要素の表示と非表示など Edit

isElementVisible メソッドを利用して要素の表示状態を調べられます。

  • boolean isElementVisible ( [in] string ResourceURL )

requestElement メソッドで要素の表示を要求します。非表示状態のときに表示されます。

  • boolea requestElement ( [in] string ResourceURL )

無理に表示させるときには showElement メソッドを利用します。

oLayoutManager.showElement("private:resource/toolbar/standardbar")
  • boolean showElement ( [in] string ResourceURL )

また、無理に非表示にするときには hideElement メソッドを利用します。

  • boolean hideElement ( [in] string ResourceURL )

全 UI の表示と非表示 Edit

UI を非表示にします。残るのはドキュメントの部分です。メニューバーさえ残りません。

  • void setVisible ( [in] boolean Visible )

表示状態は isVisible メソッドで調べられます。

  • boolean isVisible ()

setVisible にしてもうまくいかないことがあります。全ての表示要素を非表示にします。

Sub HideUI
 oFrame = ThisComponent.getCurrentController().getFrame()
 oLayoutManager = oFrame.LayoutManager
 
 oElements = oLayoutManager.getElements()
 For i = 0 To UBound( oElements ) step 1
   oLayoutManager.hideElement( oElements(i).ResourceURL )
 Next
 oLayoutManager.setVisible(False)
End Sub

UI のロックとロック解除 Edit

ロックは lock メソッド、ロック解除は unlock メソッドを使用します。ウィンドウを複数作成するときのスピードアップに利用します。


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