Dojo BorderContainer レイアウト

 

Dojo に手を出し始めた。ので、API ドキュメントを確認しながら、少しずつつくっていこうかな。

ということで、先ずは、レイアウト。スタートラインとして、BorderContainer を試してみる。

BorderContainer

概要

  • BorderContainer は、 style="width: 500px; height: 500px;"のように、サイズを指定するボックス
  • region="center"(オプションで、"top"、"bottom"、"leading"、"trailing"、"left"、"right")でマークされた子ウィジェットを含むことができる
  • 子要素は、幅および高さおよびオプションのスプリッター(ユーザーによりリサイズ可能)にあわせてレイアウトされる
  • 残りのスペースは、center 領域のため使用される

 

  • 外側のサイズはBorderContainer ノードを規定する。幅は、両側および高さを規定する
  • centerのサイズを指定しないと、残りのスペースで埋められる
  • "leading" および "traling" 領域は、"left"および"right"のどちらかのみ使用する

 

  • 複雑なレイアウトの場合、複数の子要素を一つの領域に設定できる
  • 子要素の layoutPrioryty(レイアウト優先度) フラグ はどの子供がより端に近い(レイアウト優先度が低い)か、より中心に近いか(レイアウト優先度が高い)を決定する
    layoutPrioryty(レイアウト優先度)は、コントロールレイアウトの水平、垂直優先順位属性の代わりにも使用できる

dojo_boarder_layout

<!DOCTYPE HTML>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <link rel="stylesheet" href="js/dijit/themes/claro/claro.css"/>
  <style type="text/css">
  html, body {
      width: 100%;
      height: 100%;
      margin: 0;
      overflow:hidden;
  }
  #border_container{
    width:100%;
    height:100%;
  }
  </style>
  <title></title>
</head>
<body class="claro">

  <div data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="gutters: true" id="border_container">
    <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'top', splitter: true">
    top
    </div>
    <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'leading', splitter: true" style="left: 100px;">
    leading
    </div>
    <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'center', splitter: true">
    contents
    </div>
    <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'trailing', splitter: true" style="left: 100px;">
    trailing
    </div>
    <div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region: 'bottom', splitter: true">
    bottom
    </div>
  </div>

  <script src="js/dojo/dojo.js" djConfig="parseOnLoad: true">
  </script>
  <script type="text/javascript">
  dojo.require("dijit.layout.BorderContainer");
  dojo.require("dijit.layout.ContentPane");
  dojo.addOnLoad(function(){
    
    
  });
  </script>
</body>
</html>

ふーん。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次の記事

Dojo Buttons!