/*
 * @(#)DrawingEditor.java 5.1
 *
 */

package CH.ifa.draw.standard;

import java.awt.Image;
import java.awt.event.KeyEvent;

import de.renew.draw.storables.ontology.Drawing;
import de.renew.draw.storables.ontology.TextHolder;
import de.renew.draw.ui.api.EditorApi;
import de.renew.draw.ui.ontology.DrawingEditor;
import de.renew.draw.ui.ontology.DrawingView;
import de.renew.draw.ui.ontology.DrawingViewContainer;
import de.renew.draw.ui.ontology.Tool;
import de.renew.draw.ui.ontology.Toolbar;
import de.renew.draw.ui.ontology.undoredo.UndoRedoManager;

/**
 * @deprecated This class is not to be used externally. Please use the {@link EditorApi} instead.
 */
@Deprecated
public class NullDrawingEditor implements DrawingEditor {
    /**
     * @deprecated This constant is not to be used externally. Please use the method {@link EditorApi#getNullDrawingEditor()} instead.
     */
    @Deprecated
    public static final NullDrawingEditor INSTANCE = new NullDrawingEditor();

    private NullDrawingEditor() {}

    @Override
    public DrawingView view() {
        return EditorApi.getNullDrawingView();
    }

    @Override
    public DrawingView previousView() {
        return EditorApi.getNullDrawingView();
    }

    @Override
    public Drawing drawing() {
        return NullDrawing.INSTANCE;
    }

    @Override
    public Tool tool() {
        return NullTool.INSTANCE;
    }

    @Override
    public Tool defaultTool() {
        return null;
    }

    @Override
    public void setStickyTools(boolean sticky) {}

    @Override
    public boolean isStickyTools() {
        return false;
    }

    @Override
    public void dispatchEvent(KeyEvent evt) {}

    @Override
    public Image getIconImage() {
        return null;
    }

    @Override
    public void toolDone() {}

    @Override
    public void selectionChanged(DrawingView view) {}

    @Override
    public void menuStateChanged() {}

    @Override
    public void showStatus(String string) {}

    @Override
    public void drawingViewContainerActivated(DrawingViewContainer viewContainer) {}

    @Override
    public void drawingViewContainerClosing(DrawingViewContainer viewContainer) {}

    @Override
    public void prepareUndoSnapshot() {}

    @Override
    public void commitUndoSnapshot() {}

    @Override
    public void prepareAccumulatedUndoSnapshot() {}

    @Override
    public void triggerAccumulatedUndoSnapshot() {}

    @Override
    public UndoRedoManager getUndoRedoManager() {
        return null;
    }

    @Override
    public void setCurrentDrawing(DrawingViewContainer dvc) {}

    @Override
    public void doTextEdit(TextHolder textfigure) {

    }

    @Override
    public Toolbar getToolbar() {
        return NullToolbar.INSTANCE;
    }

    @Override
    public void registerDrawingViewFactoryID(Class key, String id) {

    }
}