package net.heartsome.cat.ts.ui.xliffeditor.nattable.editor; import java.util.HashSet; import net.heartsome.cat.common.innertag.TagStyle; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; /** * 标记样式管理器 * @author weachy * @version * @since JDK1.5 */ public class TagStyleManager { private TagStyle tagStyle; public TagStyleManager() { tagStyle = TagStyle.getDefault(); } public TagStyle getTagStyle() { return tagStyle; } public void setTagStyle(TagStyle tagStyle) { this.tagStyle = tagStyle; TagStyle.setTagStyle(tagStyle); Event event = new Event(); event.data = tagStyle; for (Listener listener : tagStyleChangeListeners) { listener.handleEvent(event); } } private HashSet<Listener> tagStyleChangeListeners = new HashSet<Listener>(); /** * 添加关闭单元格关闭时的监听器 * @param closeListener * 关闭监听器 ; */ public void addTagStyleChangeListener(Listener tagStyleChangeListener) { if (tagStyleChangeListener == null) { SWT.error(SWT.ERROR_NULL_ARGUMENT); } tagStyleChangeListeners.add(tagStyleChangeListener); } /** * 移除关闭单元格关闭时的监听器 * @param closeListener * 关闭监听器 ; */ public void removeTagStyleChangeListener(Listener tagStyleChangeListener) { for (Listener listener : tagStyleChangeListeners) { if (listener != null && listener.equals(tagStyleChangeListener)) { tagStyleChangeListeners.remove(listener); break; } } } }