]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/common/ui/iCheckBoxList/ICheckBoxList.java
Restructuring for better separation of Tool packages.
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / common / ui / iCheckBoxList / ICheckBoxList.java
1 /** @file
2
3 The file is used to override JList to create a List with CheckBox item
4
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
10
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.
13
14 **/
15 package org.tianocore.frameworkwizard.common.ui.iCheckBoxList;
16
17 import java.util.Vector;
18
19 import javax.swing.JList;
20
21 public class ICheckBoxList extends JList {
22 ///
23 /// Define class Serial Version UID
24 ///
25 private static final long serialVersionUID = -2843059688070447632L;
26
27 protected ICheckBoxListCellRenderer cellrenderer = new ICheckBoxListCellRenderer();
28
29 protected ICheckBoxListener listener = new ICheckBoxListener(this);
30
31 protected ICheckBoxListModel model = new ICheckBoxListModel();
32
33 /**
34 This the default Constructor
35
36 **/
37 public ICheckBoxList() {
38 this(null);
39 }
40
41 /**
42 This the override constructor to create checkbox item with input vector
43
44 @param options
45
46 **/
47 public ICheckBoxList(Vector<ICheckBoxListItem> items) {
48 if (items != null) {
49 for (int index = 0; index < items.size(); index++) {
50 model.addElement(items.elementAt(index));
51 }
52 }
53 this.setCellRenderer(cellrenderer);
54 this.setModel(model);
55 this.addMouseListener(listener);
56 this.addKeyListener(listener);
57 }
58
59 /**
60 Set all items of the CheckBoxList component.
61
62 @param items
63
64 **/
65 public void setAllItems(Vector<String> items) {
66 if (items != null) {
67 model.removeAllElements();
68 for (int index = 0; index < items.size(); index++) {
69 model.addElement(new ICheckBoxListItem(items.elementAt(index)));
70 }
71 }
72 }
73
74 /**
75 Get All Checked Items of the CheckBoxList component.
76
77 @return All Checked Items
78 **/
79 public Vector<ICheckBoxListItem> getAllCheckedItems() {
80 Vector<ICheckBoxListItem> result = new Vector<ICheckBoxListItem>();
81
82 for (int i = 0; i < this.getModel().getSize(); i++) {
83 if (((ICheckBoxListItem) this.getModel().getElementAt(i)).isChecked()) {
84 result.addElement((ICheckBoxListItem) this.getModel().getElementAt(i));
85 }
86 }
87 return result;
88 }
89
90 /**
91 Get All Checked Items index of the CheckBoxList component.
92
93 @return All Checked Items index
94 **/
95 public Vector<Integer> getAllCheckedItemsIndex() {
96 Vector<Integer> result = new Vector<Integer>();
97
98 for (int i = 0; i < this.getModel().getSize(); i++) {
99 if (((ICheckBoxListItem) this.getModel().getElementAt(i)).isChecked()) {
100 result.addElement(i);
101 }
102 }
103 return result;
104 }
105
106 /**
107 Get All Checked Items String of the CheckBoxList component.
108
109 @return Vector
110 **/
111 public Vector<String> getAllCheckedItemsString() {
112 Vector<String> result = new Vector<String>();
113
114 for (int i = 0; i < this.getModel().getSize(); i++) {
115 if (((ICheckBoxListItem) this.getModel().getElementAt(i)).isChecked()) {
116 result.addElement(((ICheckBoxListItem) this.getModel().getElementAt(i)).text);
117 }
118 }
119 return result;
120 }
121
122 /**
123 Get All Items String of the CheckBoxList component.
124
125 @return Vector
126 **/
127 public Vector<String> getAllItemsString() {
128 Vector<String> result = new Vector<String>();
129
130 for (int i = 0; i < this.getModel().getSize(); i++) {
131 result.addElement(((ICheckBoxListItem) this.getModel().getElementAt(i)).text);
132 }
133 return result;
134 }
135
136 /**
137 Set Checked status for all input items.
138
139 **/
140 public void initCheckedItem(boolean bool, Vector<String> items) {
141 if (items != null && items.size() != 0) {
142 for (int indexI = 0; indexI < items.size(); indexI++) {
143 for (int indexJ = 0; indexJ < model.size(); indexJ++) {
144 if (items.elementAt(indexI).equals(model.getAllElements().elementAt(indexJ).getText())) {
145 ICheckBoxListItem listItem = (ICheckBoxListItem) model.get(indexJ);
146 listItem.setChecked(bool);
147 break;
148 }
149 }
150 }
151 }
152 this.validate();
153 }
154
155 /**
156 Set all items of the compontent checked
157
158 **/
159 public void setAllItemsChecked() {
160 initCheckedItem(true, this.getAllItemsString());
161 }
162
163 /**
164 Set all items of the compontent unchecked
165
166 **/
167 public void setAllItemsUnchecked() {
168 initCheckedItem(false, this.getAllItemsString());
169 }
170
171 /**
172 Remove all items of list
173
174 **/
175 public void removeAllItem() {
176 model.removeAllElements();
177 }
178 }