3 The file is used to override JList to create a List with CheckBox item
5 Copyright (c) 2006, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 package org
.tianocore
.frameworkwizard
.common
.ui
.iCheckBoxList
;
17 import java
.util
.Vector
;
19 import javax
.swing
.JList
;
21 public class ICheckBoxList
extends JList
{
23 /// Define class Serial Version UID
25 private static final long serialVersionUID
= -2843059688070447632L;
27 protected ICheckBoxListCellRenderer cellrenderer
= new ICheckBoxListCellRenderer();
29 protected ICheckBoxListener listener
= new ICheckBoxListener(this);
31 protected ICheckBoxListModel model
= new ICheckBoxListModel();
34 This the default Constructor
37 public ICheckBoxList() {
42 This the override constructor to create checkbox item with input vector
47 public ICheckBoxList(Vector
<ICheckBoxListItem
> items
) {
49 for (int index
= 0; index
< items
.size(); index
++) {
50 model
.addElement(items
.elementAt(index
));
55 // If there exists at least one item, set first item selected.
57 if (model
.size() > 0) {
58 ICheckBoxListItem listItem
= (ICheckBoxListItem
) model
.get(0);
59 listItem
.setSelected(true);
61 this.setCellRenderer(cellrenderer
);
63 this.addMouseListener(listener
);
64 this.addKeyListener(listener
);
68 Set all items of the CheckBoxList component.
73 public void setAllItems(Vector
<String
> items
) {
75 model
.removeAllElements();
76 for (int index
= 0; index
< items
.size(); index
++) {
77 model
.addElement(new ICheckBoxListItem(items
.elementAt(index
)));
82 // If there exists at least one item, set first item selected.
84 if (model
.size() > 0) {
85 ICheckBoxListItem listItem
= (ICheckBoxListItem
) model
.get(0);
86 listItem
.setSelected(true);
91 Get All Checked Items of the CheckBoxList component.
93 @return All Checked Items
95 public Vector
<ICheckBoxListItem
> getAllCheckedItems() {
96 Vector
<ICheckBoxListItem
> result
= new Vector
<ICheckBoxListItem
>();
98 for (int i
= 0; i
< this.getModel().getSize(); i
++) {
99 if (((ICheckBoxListItem
) this.getModel().getElementAt(i
)).isChecked()) {
100 result
.addElement((ICheckBoxListItem
) this.getModel().getElementAt(i
));
107 Get All Checked Items index of the CheckBoxList component.
109 @return All Checked Items index
111 public Vector
<Integer
> getAllCheckedItemsIndex() {
112 Vector
<Integer
> result
= new Vector
<Integer
>();
114 for (int i
= 0; i
< this.getModel().getSize(); i
++) {
115 if (((ICheckBoxListItem
) this.getModel().getElementAt(i
)).isChecked()) {
116 result
.addElement(i
);
123 Get All Checked Items String of the CheckBoxList component.
127 public Vector
<String
> getAllCheckedItemsString() {
128 Vector
<String
> result
= new Vector
<String
>();
130 for (int i
= 0; i
< this.getModel().getSize(); i
++) {
131 if (((ICheckBoxListItem
) this.getModel().getElementAt(i
)).isChecked()) {
132 result
.addElement(((ICheckBoxListItem
) this.getModel().getElementAt(i
)).text
);
139 Get All Items String of the CheckBoxList component.
143 public Vector
<String
> getAllItemsString() {
144 Vector
<String
> result
= new Vector
<String
>();
146 for (int i
= 0; i
< this.getModel().getSize(); i
++) {
147 result
.addElement(((ICheckBoxListItem
) this.getModel().getElementAt(i
)).text
);
153 Set Checked status for all input items.
156 public void initCheckedItem(boolean bool
, Vector
<String
> items
) {
157 if (items
!= null && items
.size() != 0) {
158 for (int indexI
= 0; indexI
< items
.size(); indexI
++) {
159 for (int indexJ
= 0; indexJ
< model
.size(); indexJ
++) {
160 if (items
.elementAt(indexI
).equals(model
.getAllElements().elementAt(indexJ
).getText())) {
161 ICheckBoxListItem listItem
= (ICheckBoxListItem
) model
.get(indexJ
);
162 listItem
.setChecked(bool
);
170 // If there exists at least one item, set first item selected.
172 if (model
.size() > 0) {
173 ICheckBoxListItem listItem
= (ICheckBoxListItem
) model
.get(0);
174 listItem
.setSelected(true);
181 Set all items of the compontent checked
184 public void setAllItemsChecked() {
185 initCheckedItem(true, this.getAllItemsString());
189 Set all items of the compontent unchecked
192 public void setAllItemsUnchecked() {
193 initCheckedItem(false, this.getAllItemsString());
197 Remove all items of list
200 public void removeAllItem() {
201 model
.removeAllElements();