/* * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.datamodel; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * A data bean to hold stored data about a structure viewer. */ public class StructureViewerModel { private int x; private int y; private int width; private int height; private boolean alignWithPanel; private boolean colourWithAlignPanel; private boolean colourByViewer; private String stateData = ""; private String viewId; // CHIMERA or JMOL (for projects from Jalview 2.9 on) private String type; private Map fileData = new HashMap(); public class StructureData { private String filePath; private String pdbId; private List seqList; // TODO and possibly a list of chains? /** * Constructor given structure file path and id. * * @param pdbFile * @param id */ public StructureData(String pdbFile, String id) { this.filePath = pdbFile; this.pdbId = id; this.seqList = new ArrayList(); } public String getFilePath() { return filePath; } protected void setFilePath(String filePath) { this.filePath = filePath; } public String getPdbId() { return pdbId; } protected void setPdbId(String pdbId) { this.pdbId = pdbId; } public List getSeqList() { return seqList; } protected void setSeqList(List seqList) { this.seqList = seqList; } } public StructureViewerModel(int x, int y, int width, int height, boolean alignWithPanel, boolean colourWithAlignPanel, boolean colourByViewer, String viewId, String type) { this.x = x; this.y = y; this.width = width; this.height = height; this.alignWithPanel = alignWithPanel; this.colourWithAlignPanel = colourWithAlignPanel; this.colourByViewer = colourByViewer; this.viewId = viewId; this.type = type; } public int getX() { return x; } protected void setX(int x) { this.x = x; } public int getY() { return y; } protected void setY(int y) { this.y = y; } public int getWidth() { return width; } protected void setWidth(int width) { this.width = width; } public int getHeight() { return height; } public void setHeight(int height) { this.height = height; } public boolean isAlignWithPanel() { return alignWithPanel; } public void setAlignWithPanel(boolean alignWithPanel) { this.alignWithPanel = alignWithPanel; } public boolean isColourWithAlignPanel() { return colourWithAlignPanel; } public void setColourWithAlignPanel(boolean colourWithAlignPanel) { this.colourWithAlignPanel = colourWithAlignPanel; } public boolean isColourByViewer() { return colourByViewer; } public void setColourByViewer(boolean colourByViewer) { this.colourByViewer = colourByViewer; } public String getStateData() { return stateData; } public void setStateData(String stateData) { this.stateData = stateData; } public Map getFileData() { return fileData; } protected void setFileData(Map fileData) { this.fileData = fileData; } public String getViewId() { return this.viewId; } public String getType() { return this.type; } }