/*
* Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
* Copyright (C) 2014 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.api;
/**
* prototype abstract controller for a Jalview alignment view
*
* @author jimp
*
* All operations should return true if the view has changed as a result
* of the operation
* @param
*
*/
public interface AlignViewControllerI
{
public boolean makeGroupsFromSelection();
public boolean createGroup();
public boolean unGroup();
public boolean deleteGroups();
public void setViewportAndAlignmentPanel(AlignViewportI viewport,
AlignmentViewPanel alignPanel);
/**
* Mark columns in the current column selection according to positions of
* sequence features
*
* @param invert
* - when set, mark all but columns containing given type
* @param extendCurrent
* - when set, do not clear existing column selection
* @param toggle
* - rather than explicitly set, toggle selection state
* @param featureType
* - feature type string
* @return true if operation affected state
*/
boolean markColumnsContainingFeatures(boolean invert,
boolean extendCurrent, boolean clearColumns, String featureType);
}