case KeyEvent.VK_T:
if (evt.isControlDown())
{
- newView();
+ newView(null);
}
break;
}
else if (source == newView)
{
- newView();
+ newView(null);
}
else if (source == showColumns)
{
{
new Finder(alignPanel);
}
-
- public void newView()
+ /**
+ * create a new view derived from the current view
+ * @param viewtitle
+ * @return frame for the new view
+ */
+ public AlignFrame newView(String viewtitle)
{
AlignmentI newal;
if (viewport.hasHiddenRows)
}
String title = new String(this.getTitle());
- if (title.indexOf("(View") > -1)
+ if (viewtitle!=null)
{
- title = title.substring(0, title.indexOf("(View"));
+ title = viewtitle+" ( "+title+")";
+ } else {
+ if (title.indexOf("(View") > -1)
+ {
+ title = title.substring(0, title.indexOf("(View"));
+ }
+ title += "(View " + viewSize + ")";
}
- title += "(View " + viewSize + ")";
-
newaf.setTitle(title.toString());
newaf.viewport.historyList = viewport.historyList;
newaf.viewport.redoList = viewport.redoList;
-
+ return newaf;
+ }
+ /**
+ *
+ * @return list of feature groups on the view
+ */
+ public String[] getFeatureGroups()
+ {
+ FeatureRenderer fr = null;
+ if (alignPanel!=null && (fr=alignPanel.getFeatureRenderer())!=null)
+ {
+ return fr.getGroups();
+ }
+ return null;
+ }
+ /**
+ * get sequence feature groups that are hidden or shown
+ * @param visible true is visible
+ * @return list
+ */
+ public String[] getFeatureGroupsOfState(boolean visible)
+ {
+ FeatureRenderer fr = null;
+ if (alignPanel!=null && (fr=alignPanel.getFeatureRenderer())!=null)
+ {
+ return fr.getGroups(visible);
+ }
+ return null;
+ }
+ /**
+ * Change the display state for the given feature groups
+ * @param groups list of group strings
+ * @param state visible or invisible
+ */
+ public void setFeatureGroupState(String[] groups, boolean state) {
+ FeatureRenderer fr = null;
+ this.sequenceFeatures.setState(true);
+ viewport.showSequenceFeatures(true);
+ if (alignPanel!=null && (fr=alignPanel.getFeatureRenderer())!=null)
+ {
+ fr.setGroupState(groups, state);
+ alignPanel.seqPanel.seqCanvas.repaint();
+ if (alignPanel.overviewPanel != null)
+ {
+ alignPanel.overviewPanel.updateOverviewImage();
+ }
+ }
}
-
public void seqLimits_itemStateChanged()
{
viewport.setShowJVSuffix(seqLimits.getState());