label.generating_annotations_for_params = Generating annotations for - {0}
label.varna_params = VARNA - {0}
label.sequence_feature_settings = Sequence Feature Settings
+label.sequence_feature_settings_for_view = Sequence Feature Settings for view "{0}"
label.pairwise_aligned_sequences = Pairwise Aligned Sequences
label.original_data_for_params = Original Data for {0}
label.points_for_params = Points for {0}
import jalview.commands.CommandI;
import jalview.schemes.ColourSchemeI;
+import java.awt.Rectangle;
+
/**
* Interface implemented by gui implementations managing a Jalview Alignment
* View
* @return the current feature settings controller
*/
FeatureSettingsControllerI showFeatureSettingsUI();
+
+ /**
+ * record the last position of a feature settings dialog before it was closed
+ *
+ * @param bounds
+ */
+ void setFeatureSettingsGeometry(Rectangle bounds);
+
+ /**
+ *
+ * @return last position of feature settings for this alignment view GUI
+ */
+ Rectangle getFeatureSettingsGeometry();
}
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.Panel;
+import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
return new FeatureSettings(alignPanel);
}
+ private Rectangle fs_bounds = null;
+
+ @Override
+ public void setFeatureSettingsGeometry(Rectangle bounds)
+ {
+ fs_bounds = bounds;
+ }
+
+ @Override
+ public Rectangle getFeatureSettingsGeometry()
+ {
+ return fs_bounds;
+ }
+
}
}
}
+
+ private Rectangle lastFeatureSettingsBounds = null;
+ @Override
+ public void setFeatureSettingsGeometry(Rectangle bounds)
+ {
+ lastFeatureSettingsBounds = bounds;
+ }
+
+ @Override
+ public Rectangle getFeatureSettingsGeometry()
+ {
+ return lastFeatureSettingsBounds;
+ }
}
class PrintThread extends Thread
boolean antiAlias = false;
- private Rectangle explodedGeometry;
+ private Rectangle explodedGeometry = null;
- private String viewName;
+ private String viewName = null;
/*
* Flag set true on the view that should 'gather' multiple views of the same
{
frame = new JInternalFrame();
frame.setContentPane(this);
- if (Platform.isAMac())
+ Rectangle bounds = af.getFeatureSettingsGeometry();
+ String title;
+ if (af.getAlignPanels().size() > 1 || Desktop.getAlignmentPanels(
+ af.alignPanel.av.getSequenceSetId()).length > 1)
{
- Desktop.addInternalFrame(frame,
- MessageManager.getString("label.sequence_feature_settings"),
- 600, 480);
+ title = MessageManager.formatMessage(
+ "label.sequence_feature_settings_for_view",
+ af.alignPanel.getViewName());
}
else
{
- Desktop.addInternalFrame(frame,
- MessageManager.getString("label.sequence_feature_settings"),
- 600, 450);
+ title = MessageManager.getString("label.sequence_feature_settings");
+ }
+ if (bounds == null)
+ {
+ if (Platform.isAMac())
+ {
+ Desktop.addInternalFrame(frame, title, 600, 480);
+ }
+ else
+ {
+ Desktop.addInternalFrame(frame, title, 600, 450);
+ }
+ }
+ else
+ {
+ Desktop.addInternalFrame(frame, title,
+ false, bounds.width, bounds.height);
+ frame.setBounds(bounds);
+ frame.setVisible(true);
}
frame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT));
{
if (frame != null)
{
+ af.setFeatureSettingsGeometry(frame.getBounds());
frame.setClosed(true);
}
else
{
SplitContainerI sc = af.getSplitViewContainer();
- sc.closeFeatureSettings(this);
+ sc.closeFeatureSettings(this, closeContainingFrame);
af.featureSettings = null;
}
} catch (Exception exe)