/* * Scriptographer * * This file is part of Scriptographer, a Scripting Plugin for Adobe Illustrator * http://scriptographer.org/ * * Copyright (c) 2002-2010, Juerg Lehni * http://scratchdisk.com/ * * All rights reserved. See LICENSE file for details. * * File created on 03.01.2005. */ package com.scriptographer.adm; import java.util.HashMap; /** * @author lehni * * @jshide */ public enum Notifier { USER_CHANGED("ADM User Changed Notifier"), INTERMEDIATE_CHANGED("ADM Intermediate Changed Notifier"), BOUNDS_CHANGED("ADM Bounds Changed Notifier"), VIEW_BOUNDS_CHANGED("ADM View Bounds Changed Notifier"), ENTRY_TEXT_CHANGED("ADM Entry Text Changed Notifier"), CLOSE_HIT("ADM Close Hit Notifier"), ZOOM_HIT("ADM Zoom Hit Notifier"), CYCLE("ADM Cycle Notifier"), COLLAPSE("ADM Collapse Notifier"), EXPAND("ADM Expand Notifier"), CONTEXT_MENU_CHANGED("ADM Context Menu Changed Notifier"), WINDOW_SHOW("ADM Show Window Notifier"), WINDOW_HIDE("ADM Hide Window Notifier"), GROUP_SHOW("ADM Show Group Notifier"), GROUP_HIDE("ADM Hide Group Notifier"), WINDOW_ACTIVATE("ADM Activate Window Notifier"), WINDOW_DEACTIVATE("ADM Deactivate Window Notifier"), NUMBER_OUT_OF_BOUNDS("ADM Number Out Of Bounds Notifier"), WINDOW_DRAG_MOVED("ADM Window Moved By Drag"), PRE_CLIPBOARD_CUT("ADM Pre Clipboard Cut Notifier"), POST_CLIPBOARD_CUT("ADM Post Clipboard Cut Notifier"), PRE_CLIPBOARD_COPY("ADM Pre Clipboard Copy Notifier"), POST_CLIPBOARD_COPY("ADM Post Clipboard Copy Notifier"), PRE_CLIPBOARD_PASTE("ADM Pre Clipboard Paste Notifier"), POST_CLIPBOARD_PASTE("ADM Post Clipboard Paste Notifier"), PRE_CLIPBOARD_CLEAR("ADM Pre Clipboard Clear Notifier"), POST_CLIPBOARD_CLEAR("ADM Post Clipboard Clear Notifier"), PRE_TEXT_SELECTION_CHANGED("ADM Pre Selection Change Notification"), TEXT_SELECTION_CHANGED("ADM Text Selection Change Notification"), PRE_CLIPBOARD_REDO("ADM Pre Clipboard Redo Notifier"), POST_CLIPBOARD_REDO("ADM Post Clipboard Redo Notifier"), PRE_CLIPBOARD_UNDO("ADM Pre Clipboard Undo Notifier"), POST_CLIPBOARD_UNDO("ADM Post Clipboard Undo Notifier"), // Pseudo notifiers: INITIALIZE("ADM Initialize Notifier"), DESTROY("ADM Destroy Notifier"); protected String name; private Notifier(String name) { this.name = name; } // hash-map for conversation to unique ids that can be compared with == // instead of .equals private static HashMap<String, Notifier> notifiers = new HashMap<String, Notifier>(); static { for (Notifier notifier : values()) notifiers.put(notifier.name, notifier); } public static Notifier get(String name) { Notifier notifier = notifiers.get(name); if (notifier != null) return notifier; System.err.println("Notifier not found " + name); return null; } }