/*
* 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);
}