package org.archstudio.editormanager.core;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.archstudio.editormanager.EditorConstants;
import org.archstudio.editormanager.IEditorManager;
import org.archstudio.xarchadt.ObjRef;
import org.eclipse.swt.graphics.Image;
/**
* Myx brick: "org.archstudio.editormanager.core.EditorManagerMyxComponent"
*
* @see org.archstudio.editormanager.core.EditorManagerMyxComponentStub
* @generated
*/
public class EditorManagerMyxComponent extends org.archstudio.editormanager.core.EditorManagerMyxComponentStub {
public EditorManagerMyxComponent() {
}
@Override
public void init() {
editorManager = new EditorManager();
}
@Override
public void destroy() {
editorManager = null;
}
protected class EditorManager implements IEditorManager {
protected Map<String, RegisteredEditor> registeredEditors = Collections
.synchronizedMap(new HashMap<String, RegisteredEditor>());
@Override
public void focusEditor(String name, ObjRef[] refs) {
synchronized (EditorManagerMyxComponent.this) {
if (focusEditorEvents != null) {
focusEditorEvents.focusEditor(name, refs);
}
}
}
@Override
public String getDefaultEditor() {
String defaultEditor = preferences.getString(EditorConstants.PREF_DEFAULT_EDITOR);
if (defaultEditor == null) {
return null;
}
if (defaultEditor.equals(EditorConstants.NO_EDITOR)) {
return null;
}
if (registeredEditors.get(defaultEditor) == null) {
return null;
}
return defaultEditor;
}
@Override
public void registerEditor(String name, Image icon) {
RegisteredEditor re = new RegisteredEditor(name, icon);
registeredEditors.put(name, re);
}
@Override
public void unregisterEditor(String name) {
registeredEditors.remove(name);
}
@Override
public boolean isEditorRegistered(String name) {
return registeredEditors.get(name) != null;
}
@Override
public String[] getEditors() {
return registeredEditors.keySet().toArray(new String[registeredEditors.keySet().size()]);
}
@Override
public Image getIcon(String name) {
RegisteredEditor re = registeredEditors.get(name);
if (re == null) {
return null;
}
return re.getIcon();
}
}
@SuppressWarnings("unused")
static private class RegisteredEditor {
protected String name;
protected Image icon;
public RegisteredEditor(String name, Image icon) {
this.name = name;
this.icon = icon;
}
public Image getIcon() {
return icon;
}
public String getName() {
return name;
}
}
}