1 33 package com.icesoft.icefaces.samples.showcase.layoutPanels.tabSetPanel; 34 35 import com.icesoft.faces.component.paneltabset.PanelTabSet; 36 import java.util.ArrayList ; 37 import java.util.List ; 38 import javax.faces.event.ActionEvent; 39 import javax.faces.model.SelectItem; 40 41 48 public class DynamicTabSetBean{ 49 50 private int tabIndex; 51 private String newTabLabel; 52 private String newTabContent; 53 private List tabs = new ArrayList (); 54 private String removedTab; 55 private List tabItems = new ArrayList (); 56 private PanelTabSet dynamicTabSet; 57 58 public DynamicTabSetBean() { 59 60 Tab newTab1 = new Tab(); 62 newTab1.setLabel("Label1"); 63 newTab1.setContent("Content1"); 64 newTab1.setIndex(tabIndex++); 65 66 Tab newTab2 = new Tab(); 67 newTab2.setLabel("Label2"); 68 newTab2.setContent("Content2"); 69 newTab2.setIndex(tabIndex++); 70 71 tabItems.add( 72 new SelectItem(Integer.toString(newTab1.index), newTab1.label)); 73 tabItems.add( 74 new SelectItem(Integer.toString(newTab2.index), newTab2.label)); 75 76 tabs.add(newTab1); 77 tabs.add(newTab2); 78 } 79 80 85 public void removeTab(ActionEvent event) { 86 int selectedIndex = dynamicTabSet.getSelectedIndex(); 87 for (int i = 0; i < tabs.size(); i++) { 89 if (((Tab) tabs.get(i)).getIndex() == 90 Integer.parseInt(removedTab)) { 91 tabs.remove(i); 92 if (selectedIndex > i) { 93 dynamicTabSet.setSelectedIndex((selectedIndex > 0)? 94 (selectedIndex -1) : selectedIndex); 95 } else if (tabs.size() ==1) { 96 dynamicTabSet.setSelectedIndex(0); 97 } 98 break; 99 } 100 } 101 102 for (int i = 0; i < tabItems.size(); i++) { 104 if ((((SelectItem) tabItems.get(i)).getValue()) 105 .equals(removedTab)) { 106 tabItems.remove(i); 107 break; 108 } 109 } 110 } 111 112 117 public void addTab(ActionEvent event) { 118 119 if (newTabLabel.equals("")) { 121 newTabLabel = "Tab " + (tabIndex + 1); 122 } 123 124 Tab newTab = new Tab(); 126 newTab.setContent(newTabContent); 127 newTab.setLabel(newTabLabel); 128 newTab.setIndex(tabIndex++); 129 130 tabs.add(newTab); 132 tabItems.add( 133 new SelectItem(Integer.toString(newTab.index), newTabLabel)); 134 135 newTabLabel = ""; 137 newTabContent = ""; 138 } 139 140 145 public String getNewTabLabel() { 146 return newTabLabel; 147 } 148 149 154 public void setNewTabLabel(String newTabLabel) { 155 this.newTabLabel = newTabLabel; 156 } 157 158 163 public String getNewTabContent() { 164 return newTabContent; 165 } 166 167 172 public void setNewTabContent(String newTabContent) { 173 this.newTabContent = newTabContent; 174 } 175 176 181 public String getRemovedTab() { 182 return removedTab; 183 } 184 185 190 public void setRemovedTab(String removedTab) { 191 this.removedTab = removedTab; 192 } 193 194 199 public List getTabItems() { 200 return tabItems; 201 } 202 203 208 public void setTabItems(List tabItems) { 209 this.tabItems = tabItems; 210 } 211 212 217 public List getTabs() { 218 return tabs; 219 } 220 221 226 public void setTabs(List tabs) { 227 this.tabs = tabs; 228 } 229 230 235 public PanelTabSet getDynamicTabSet() { 236 return dynamicTabSet; 237 } 238 239 244 public void setDynamicTabSet(PanelTabSet dynamicTabSet) { 245 this.dynamicTabSet = dynamicTabSet; 246 } 247 248 252 public class Tab { 253 String label; 254 String content; 255 int index; 256 257 262 public String getContent() { 263 return content; 264 } 265 266 271 public void setContent(String content) { 272 this.content = content; 273 } 274 275 280 public String getLabel() { 281 return label; 282 } 283 284 289 public void setLabel(String label) { 290 this.label = label; 291 } 292 293 298 public int getIndex() { 299 return index; 300 } 301 302 307 public void setIndex(int index) { 308 this.index = index; 309 } 310 311 } 312 313 } 314 | Popular Tags |