]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/common/ui/iCheckBoxList/ICheckBoxList.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@671 6f19259b...
[mirror_edk2.git] / Tools / 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 String of the CheckBoxList component.
92
93 @return Vector
94 **/
95 public Vector<String> getAllCheckedItemsString() {
96 Vector<String> result = new Vector<String>();
97
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)).text);
101 }
102 }
103 return result;
104 }
105
106 /**
107 Get All Items String of the CheckBoxList component.
108
109 @return Vector
110 **/
111 public Vector<String> getAllItemsString() {
112 Vector<String> result = new Vector<String>();
113
114 for (int i = 0; i < this.getModel().getSize(); i++) {
115 result.addElement(((ICheckBoxListItem) this.getModel().getElementAt(i)).text);
116 }
117 return result;
118 }
119
120 /**
121 Set Checked status for all input items.
122
123 **/
124 public void initCheckedItem(boolean bool, Vector<String> items) {
125 if (items != null && items.size() != 0) {
126 for (int indexI = 0; indexI < items.size(); indexI++) {
127 for (int indexJ = 0; indexJ < model.size(); indexJ++) {
128 if (items.elementAt(indexI).equals(model.getAllElements().elementAt(indexJ).getText())) {
129 ICheckBoxListItem listItem = (ICheckBoxListItem) model.get(indexJ);
130 listItem.setChecked(bool);
131 break;
132 }
133 }
134 }
135 }
136 this.validate();
137 }
138
139 /**
140 Set all items of the compontent checked
141
142 **/
143 public void setAllItemsChecked() {
144 initCheckedItem(true, this.getAllItemsString());
145 }
146
147 /**
148 Set all items of the compontent unchecked
149
150 **/
151 public void setAllItemsUnchecked() {
152 initCheckedItem(false, this.getAllItemsString());
153 }
154
155 /**
156 Remove all items of list
157
158 **/
159 public void removeAllItem() {
160 model.removeAllElements();
161 }
162 }