blob: 2fdb94919abcaa70bf913a093ef00f3010b9a956 [file] [log] [blame]
/*
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.intellij.images.editor.impl;
import com.intellij.openapi.fileEditor.FileEditorState;
import com.intellij.openapi.fileEditor.FileEditorStateLevel;
import com.intellij.openapi.fileEditor.TransferableFileEditorState;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author Konstantin Bulenkov
*/
public class ImageFileEditorState implements TransferableFileEditorState, Serializable {
private static final long serialVersionUID = -4470317464706072486L;
public static final String IMAGE_EDITOR_ID = "ImageEditor";
public static final String BACKGROUND_VISIBLE_OPTION = "backgroundVisible";
public static final String GRID_VISIBLE_OPTION = "gridVisible";
public static final String ZOOM_FACTOR_OPTION = "zoomFactor";
private boolean backgroundVisible;
private boolean gridVisible;
private double zoomFactor;
ImageFileEditorState(boolean backgroundVisible, boolean gridVisible, double zoomFactor) {
this.backgroundVisible = backgroundVisible;
this.gridVisible = gridVisible;
this.zoomFactor = zoomFactor;
}
@Override
public boolean canBeMergedWith(FileEditorState otherState, FileEditorStateLevel level) {
return otherState instanceof ImageFileEditorState;
}
public boolean isBackgroundVisible() {
return backgroundVisible;
}
public boolean isGridVisible() {
return gridVisible;
}
public double getZoomFactor() {
return zoomFactor;
}
@Override
public String getEditorId() {
return IMAGE_EDITOR_ID;
}
@Override
public Map<String, String> getTransferableOptions() {
final HashMap<String, String> map = new HashMap<String, String>();
map.put(BACKGROUND_VISIBLE_OPTION, String.valueOf(backgroundVisible));
map.put(GRID_VISIBLE_OPTION, String.valueOf(gridVisible));
map.put(ZOOM_FACTOR_OPTION, String.valueOf(zoomFactor));
return map;
}
@Override
public void setTransferableOptions(Map<String, String> options) {
String o = options.get(BACKGROUND_VISIBLE_OPTION);
if (o != null) {
backgroundVisible = Boolean.valueOf(o);
}
o = options.get(GRID_VISIBLE_OPTION);
if (o != null) {
gridVisible = Boolean.valueOf(o);
}
o = options.get(ZOOM_FACTOR_OPTION);
if (o != null) {
zoomFactor = Double.parseDouble(o);
}
}
}