package org.freeplane.view.swing.features.time.mindmapmode; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.swing.JDialog; import org.freeplane.core.resources.WindowConfigurationStorage; import org.freeplane.n3.nanoxml.XMLElement; class TimeWindowConfigurationStorage extends WindowConfigurationStorage { public static TimeWindowConfigurationStorage decorateDialog(final String marshalled, final JDialog dialog) { final TimeWindowConfigurationStorage storage = new TimeWindowConfigurationStorage(); final XMLElement xml = storage.unmarschall(marshalled, dialog); if (xml != null) { final Iterator<XMLElement> iterator = xml.getChildren().iterator(); while (iterator.hasNext()) { storage.addTimeWindowColumnSetting(TimeWindowColumnSetting.create(iterator.next())); } return storage; } return null; } public TimeWindowConfigurationStorage() { super("time_window_configuration_storage"); } protected List<TimeWindowColumnSetting> timeWindowColumnSettingList = new ArrayList<TimeWindowColumnSetting>(); public void addAtTimeWindowColumnSetting(final int position, final TimeWindowColumnSetting timeWindowColumnSetting) { timeWindowColumnSettingList.add(position, timeWindowColumnSetting); } public void addTimeWindowColumnSetting(final TimeWindowColumnSetting timeWindowColumnSetting) { timeWindowColumnSettingList.add(timeWindowColumnSetting); } public void clearTimeWindowColumnSettingList() { timeWindowColumnSettingList.clear(); } public List<TimeWindowColumnSetting> getListTimeWindowColumnSettingList() { return java.util.Collections.unmodifiableList(timeWindowColumnSettingList); } public TimeWindowColumnSetting getTimeWindowColumnSetting(final int index) { return timeWindowColumnSettingList.get(index); } @Override protected void marshallSpecificElements(final XMLElement xml) { final Iterator<TimeWindowColumnSetting> iterator = timeWindowColumnSettingList.iterator(); while (iterator.hasNext()) { iterator.next().marschall(xml); } } public int sizeTimeWindowColumnSettingList() { return timeWindowColumnSettingList.size(); } }