さっと掃けるView

動作

多くのビューを開いている際、画面外にさっと掃くことができます。また、戻すこともできます。

バージョン

Curl Advanced UI 0.5

API説明

SweepWindowクラス

Viewを画面外に掃くクラスです。

パッケージ

COM.CURLAP.ADVANCED-UI.CONTAINERS

スーパークラス

View

コンストラクタ

default
キーワード引数(view-owner:#SweepWindow = null):親のView
キーワード引数(corner:String = “upper-left”):sweepする方向
キーワード引数(sweep-key:char = KeyPressValue.f12):sweepするボタン

メソッド

sweep(手動で子Viewを画面外へ掃き出す)

restore(掃き出した子Viewを画面内へ戻す)

notify(Viewの状態に応じて、sweepとrestoreを呼び出す)

利用方法

親のSweepWindowを作成し、その親のSweepWindowを引数にセットして掃き出したり・戻したりするView(SweepWindow )を作成する。

{curl 6.0 applet}
{applet manifest = “manifest.mcurl”,
{compiler-directives careful? = true}
}

{import * from COM.CURLAP.ADVANCED-UI.CONTAINERS}
{import * from COM.CURL.GUI.STYLED-CONTROLS}
{install-style-sheet {manifest-url “file”, “DEFAULT-STYLE-SHEET”}}

{let pos_table:{Array-of Distance} = {{Array-of Distance}
150pt, 180pt,
333pt, 243pt,
355pt, 214pt,
70pt, 165pt
}
}

{let corner_table:{Array-of String} = {{Array-of String}
“upper-left”,
“upper-right”,
“lower-left”,
“lower-right”
}
}

{let cmb:CommandButton = {CommandButton
label = “Make some window”
}
}

|| 親SweepWindowの作成
{let first-parent:SweepWindow = {SweepWindow
width = 16cm,
height = 12cm,
halign = “center”,
valign = “center”,

{VBox
spacing = 40pt,
halign = “center”,
{bold Demo for Sweep Window},
cmb
},

visibility = “normal”,
{on WindowClose do
{exit}
}
}
}

{cmb.add-event-handler
{on Action do
{for i:int=0 to 3 step 1 do
|| 子SweepWindowの作成
let sw:SweepWindow = {SweepWindow
view-owner = first-parent, || 親SweepWindow
corner = corner_table[i rem 4],
width = 12cm,
height = 8cm,
halign = “center”,
valign = “center”,
visibility = “normal”
}
{sw.add “Press F12 to sweep & restore”}
{sw.set-position pos_table[i rem 4], pos_table[(i rem 4)*2+1]}
}
}
}

{value first-parent}

 

サンプル

SweepWindowサンプル

関連Curl標準API

View