ウィザード

動作

ウィザード画面を簡単に作成するためのコンポーネントです。

 

バージョン

Curl Advanced UI 0.5

API説明

WizardManagementFrameクラス

  ウィザードを管理するFrameクラスです。 

パッケージ

  COM.CURLAP.ADVANCED-UI.CONTAINERS

スーパークラス

  Frame

プロパティ

  current-page:int 現在のウィザードページ
  total-page:int すべてのウィザードページ数
  first?:bool 最初のウィザードページか否か
  last?:bool 最後のウィザードページか否か

コンストラクタ

  default
    引数1(wizard-frames:{Array-of Frame}):ウィザードとする全ページのFrame
    キーワード引数(start-page:int = 1):開始ページ番号

メソッド

  move-next (次のFrameへ移動)
   戻り値:int

 
move-previous (前のFrameへ移動)
   戻り値:int  

  move-last(最後のFrameへ移動)
   戻り値:int  

  move-first (最初のFrameへ移動)
   戻り値:int  

  move (指定したFrameへ移動)
    引数1(page:int):ページ番号
    戻り値:int
  

 

利用方法

WizardManagementFrameクラスを生成し、move-xxxxメソッドを用いてウィザードを制御します。

{curl 6.0 applet}
{curl-file-attributes character-encoding = “shift-jis”}
{applet manifest = “manifest.mcurl”}

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

{value
     def wizard =
        {WizardManagementFrame
            start-page = 2,
            {{Array-of Frame}
                {Frame width = 10cm, height = 5cm, background = “grey”,
                    {spaced-vbox
                        {bold #1}, {TextField}, {ComboBox}, {CommandButton}
                    }
                },
                {Frame width = 10cm, height = 5cm, background = “orange”,
                    {spaced-vbox
                        {bold #2}, {CommandButton}, {TextArea}, {ComboBox}
                    }
                },
                {Frame width = 10cm, height = 5cm, background = “green”,
                    {spaced-vbox
                        {bold #3}, {TextField}, {ComboBox}, {CommandButton}
                    }
                },
                {Frame width = 10cm, height = 5cm, background = “red”,
                    {spaced-vbox
                        {bold #4}, {TextArea width = 8cm}, {ComboBox}
                    }
                }
            }
        }
    def page:Dynamic = wizard.current-page

    || display
    {spaced-vbox
        {text Wizard},
        wizard,
        {spaced-hbox
            || first
            {CommandButton label = “<<“,
                {on Action do
                    set page.value = {wizard.move-first}
                    {popup-message “first page”}
                }
            },
            || previous
            {CommandButton label = “<“,
                {on Action at v:CommandButton do
                set page.value = {wizard.move-previous}
                    {if wizard.first? then
                        {popup-message “first page”}
                    }
                }
            },
            || next
            {CommandButton label = “>”,
                {on Action at v:CommandButton do
                    set page.value = {wizard.move-next}
                    {if wizard.last? then
                        {popup-message “last page”}
                    }
                }
            },
            || last
            {CommandButton label = “>>”,
                {on Action do
                    set page.value = {wizard.move-last}
                    {popup-message “last page”}
                }
            },
            page, “/” & wizard.total-page
        }
    }
}

このサンプルでは、”<<“, “<“, “>”, “>>”ボタンを押下し、ウィザード形式でページ遷移します。

サンプル

ウィザードサンプル

関連Curl標準API

Frame