Widgetの説明 Part4

#目次
各Widgetの説明
・Segment
・ListBox

##Segment
Segment Widgetは、データのリストまたはページを表示するために一般的に使用されるUIコンポーネントです。
__Segment(Web)__
![スクリーンショット 2020-03-16 12.06.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/8bf73535-347d-10a1-458c-4bec5aa4bc74.png)
Master Data: テンプレートのマスターデータの設定(*1)
Row Template: セグメントの各行に使用される共通テンプレートの選択(*2)
Section Header Template: セクションヘッダーの作成およびデータの入力中に各セクションに使用される共通テンプレートの指定
Group Cells: セグメント内のすべての行をグループ化するかどうかを指定
Retain Selection: ユーザーがフォームから移動してフォームを再表示した場合でも、セグメントが行った選択を保持するかどうかを指定
Separator: 境界線を表示するかどうかの設定
Separator Thickness: 境界線の太さ
Separator Color: 境界線の色
Separator Transparency: 境界線の透明度
Show Scrollbars: スクロールバーの表示・非表示の設定
View Type: 閲覧タイプの選択
Selection Behavior: 選択肢のタイプの設定(default・single select・multi select)
※「Selection Behavior」で「single select」または「multi select」を選択すると「Image Identifier」が設定できます

__Segment(Mobile)__
![スクリーンショット 2020-03-16 12.06.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/14d371a8-96e3-756f-1ae5-0ab9696c531c.png)
Hidden Columns: 列を隠すことができます。
Enable Reordering: セグメント内の行の並べ替えを有効または無効にできます。
Enable Haptic Feedback: このプロパティを使用すると、WidgetのHaptic Feedback(*)を有効または無効にすることができます
※Haptic Feedback とは、ユーザーアクションに対してハードウェアを振動させる触覚フィードバックのことです。 例えば、App Storeでアプリを購入する時、間違ったパスワードを入力した時などに発生する振動が「Haptic Feedback」にあたります。 
Dictionary: このプロパティを有効にすると、AからZのアルファベットが画面に表示され、選択したアルファベットで始まる全ての結果が表示されます。
Indicator: インディケータータイプをselect・click・noneから指定することができます。
Edit Style: 行に適用される編集スタイルの指定
Progress Indicator: Progress Indicatorの有効または無効にすることができます
Progress Indicator Color: Progress Indicatorの色を白または灰色で指定
Scroll Bounce: スクロールビューがコンテンツの端を超えて跳ね返り再び戻るかどうかを指定
Dock Section Header: セクションコンテンツをスクロールしながら、セグメントの上部にセクションヘッダーをドッキングまたは配置できます。
Enable Cache: このプロパティを使用するとPositional Dimension Animationのパフォーマンスが改善できます。

__Segment(Tablet)__
![スクリーンショット 2020-03-16 12.07.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/973a1078-3240-fc7b-b959-10456b2c4199.png)

*1) TemplateのMaster Dataを設定する方法
「Master Data」を設定する前に、最初に「Row Template」を選択する必要がある。
 「Master Data」 の「Edit」ボタンをクリックして、各列で表示する項目名と項目に対するデータを入れる。
![スクリーンショット 2020-03-09 19.41.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/c15c9e16-0171-4ce1-65d7-b90c5d72bb66.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/004d3923-e99e-a330-bd44-6465637e9352.png)



*2)Row Template・Section Header Templateの作成・設定方法
None: Row Templateを選択しません。
Create New: 新しいRow Templateを作成します。
SampleRowTemplate: 既成のRow Templateを使用します。
SampleSectionHeaderTemplate: 既成のSectionHeaderTemplateを使用します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/3ca35e41-5900-0ef8-a5c2-189b53aae4b7.png)
Create Newをクリックし、新規でテンプレートを作成すると、「Template」タブに再利用可能なテンプレートとしてに配置されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/77c26074-6e41-2851-919f-9b9b07d0f644.png)


★その他の方法：次のコマンドを使用して、Segmentのデータを設定できる。

```javascript
setDateSegment : function(){
/*
まず、"Segment内のWidget名"に対して"ID"を定義します。
左にWidget名、右にID名を記載する。
例：lblHeading（表示名） : “heading”  (ID名)
*/
  this.view.Segment名.widgetDataMap = {
    lblSample1 : "Sample1"
    lblSample2 : "Sample2"
    lblSample3 : "Sample3"
    lblSample4 : "Sample4"
  };

/*
定義したIDに従ってSegmentに値を渡します。
データ以外にも、イベントや属性を渡すことができます。
*/
  var rowData = [
    {
      Sample1 : "sample1_1",
      Sample2 : "sample2_1",
      Sample3 : "sample3_1",
      Sample4 : "sample4_1"
    },
    {
      Sample1 : "sample1_2",
      Sample2 : "sample2_2",
      Sample3 : "sample3_2",
      Sample4 : "sample4_2"
    },
  ];

/*
セグメントにデータを設定します。
*/
  this.view.Segment名.setData(rowData);
}
```


##ListBox
ListBox Widgetは、アイテムのリストをドロップダウンボックスとして表示し、リストから1つ以上のアイテムを選択できます。
__ListBox(Web)__
![スクリーンショット 2020-03-16 12.53.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/d9422efd-bb9e-8bf6-3f0a-bcdeddf8e7a5.png)
Master Data: ユーザーが利用可能な選択肢から選択するために表示する必要がある値のセットを指定(＊1)
Enable Blur: Widgetのぼかし効果を有効または無効にすることができます
Tool Tip: Widgetの上にマウスポインターを移動することでメッセージを表示できます
Placeholder: 入力欄の初期値の設定
Multi Select: ドロップダウンリストから複数の値を選択できるかを指定

__ListBox(Mobile)__
![スクリーンショット 2020-03-16 12.54.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/7ee77f3c-1b90-823d-621c-6646a8ad4efc.png)
Drop Down Image: Drop Down Boxインジケーターに使用する画像を指定(＊2)
Selected Image: リストから一つ選択した時に表示される画像を指定
Unselected Image: 選択がクリアされた時に表示される画像を指定
Enable Haptic Feedback: このプロパティを使用すると、WidgetのHaptic Feedback(*)を有効または無効にすることができます
※Haptic Feedback とは、ユーザーアクションに対してハードウェアを振動させる触覚フィードバックのことです。 例えば、App Storeでアプリを購入する時、間違ったパスワードを入力した時などに発生する振動が「Haptic Feedback」にあたります。 
View Type: 閲覧タイプの選択(＊5)
Input View Type: アプリケーションで必要な特定の操作が可能になります
Popup Icon: リストボックスを選択する際に表示される、ポップアップのタイトル領域（ポップアップの左上）に表示されるアイコンの指定
Popup Title: ListBoxに表示されるタイトルテキストの指定
Apply Skins To Popup: ポップアップのスキンを適用するかどうかを指定
Enable Cache: このプロパティを使用するとPositional Dimension Animationのパフォーマンスが改善できます。

__ListBox(Tablet)__
![スクリーンショット 2020-03-16 12.54.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/440a0ce0-cf33-83bf-8136-0e2e51ec548a.png)

＊1)Master Dataを設定する方法　
●方法1 「Master Data」プロパティの「Edit」をクリックして→ダイアログボックスが次のように表示されます。
・Key: 各List Box値の一意の識別子です。
・Display Value： この値は、フォームのList Boxウィジェットに表示されます。
・Selected Key： グループから個々のList Boxの値を選択できる。 必要に応じて、List Boxの値をWidgetに追加するには、「Add」をクリックします。 List Boxの行を削除するには、セル内をクリックし、「Delete」をクリックします。 必要な詳細を入力して、「Apply」をクリックしてMaster Dataを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/99a7c3bf-b5d4-26c1-c9cf-6d2bc11105d4.png)

●方法2 次のコード行を使用します
・データをlistboxに設定する。
frmList: formのID
myList: listboxのID

```javascript
var dateList = [
  ["Key1", "value1"],
  ["Key2", "value2"],
  ["Key3", "value3"],
];
frmList.myList.masterDAta = dataList;
```

＊2)Drop Down Image
Drop Down Boxインジケーターに使用する画像を指定します。
デフォルトでは、左の画像のような表示となります。
プラットフォーム固有の画像を指定するには、Drop Down Image の「Edit」ボタンをクリックして、Drop Down Imageダイアログボックスを開き、必要なPlatformを選択し、対応するValueフィールド内をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/d6b5420c-2767-2a5c-5f64-a303bb4ad497.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/8eb2755f-c712-d224-7ba3-2a243ca4890d.png)

＊3)Selected Image
リストから一つ選択した時に表示される画像を指定します。
設定方法は、2と同じです。
次のいずれかを実行できます。
・リソースから画像の選択
・画像のURLの指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/6dbc5673-24ff-2a1e-e029-726d651ea9e2.png)

＊4)Unselected Image
選択がクリアされた時に表示される画像を指定します。
設定方法は、2と同じです
次のいずれかを実行できます。
・リソースから画像の選択
・画像のURLの指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/be124938-a4cf-3678-2b78-c78e1fc639b2.png)

＊5)View Type
iOSとAndroidの間で利用可能なオプションは互いに異なります。   
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/5ef0a846-8dea-14de-1528-d8add968bde9.png)
iOSで利用可能な閲覧タイプ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/7592cb25-2451-3947-1c0e-e7670b3c65eb.png)
iOSで利用可能な閲覧タイプ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/5491c708-c2a6-5730-ab06-8330e970e5a3.png)
Androidで利用可能な閲覧タイプ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/0aa05a9c-5ae5-cfc0-728e-63e054a505d8.png)

#参考
“https://docs.kony.com/konylibrary/visualizer/visualizer_user_guide/Content/PopulatingWidgets.htm”
“https://docs.kony.com/konylibrary/visualizer/viz_widget_prog_guide/Default.htm#WidgetReferences.htm”