X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FUserDefinedColours.java;h=6e14146846376e4fdc85cc50a6316bcb5850c33a;hb=6173092ff5cb03f039cac674bfc8bc4f969976a5;hp=de1cff7a39b322288ff068d77029cbe0deb80621;hpb=890bd0eac47a4b0f55bd062a359c16a43c3780a0;p=jalview.git diff --git a/src/jalview/appletgui/UserDefinedColours.java b/src/jalview/appletgui/UserDefinedColours.java index de1cff7..6e14146 100755 --- a/src/jalview/appletgui/UserDefinedColours.java +++ b/src/jalview/appletgui/UserDefinedColours.java @@ -38,8 +38,10 @@ public class UserDefinedColours ColourSchemeI oldColourScheme; Frame frame; MCview.AppletPDBCanvas pdbcanvas; + AppletJmol jmol; - Component caller; + Dialog dialog; + Object caller; String originalLabel; Color originalColour; @@ -74,7 +76,36 @@ public class UserDefinedColours init(); } + public UserDefinedColours(AppletJmol jmol) + { + this.jmol = jmol; + init(); + } + + public UserDefinedColours(FeatureRenderer fr, Frame alignframe) + { + caller = fr; + originalColour = fr.colourPanel.getBackground(); + originalLabel = "Feature Colour"; + setForDialog("Select Feature Colour", alignframe); + setTargetColour(fr.colourPanel.getBackground()); + dialog.setVisible(true); + } + public UserDefinedColours(Component caller, + Color col1, + Frame alignframe) + { + this.caller = caller; + originalColour = col1; + originalLabel = "Select Colour"; + setForDialog("Select Colour", alignframe); + setTargetColour(col1); + dialog.setVisible(true); + } + + + public UserDefinedColours(Object caller, String label, Color colour) { @@ -91,6 +122,27 @@ public class UserDefinedColours frame.setSize(420, 200); } + void setForDialog(String title, Frame alignframe) + { + init(); + frame.setVisible(false); + remove(buttonPanel); + dialog = new Dialog(alignframe, title, true); + + dialog.add(this); + this.setSize(400,123); + okcancelPanel.setBounds(new Rectangle(0, 123, 400, 35)); + int height = 160 + alignframe.getInsets().top + getInsets().bottom; + int width = 400; + + dialog.setBounds(alignframe.getBounds().x + + (alignframe.getSize().width - width) / 2, + alignframe.getBounds().y + + (alignframe.getSize().height - height) / 2, + width, height); + + } + public void actionPerformed(ActionEvent evt) { if (evt.getSource() == okButton) @@ -245,6 +297,7 @@ public class UserDefinedColours R = col.getRed(); G = col.getGreen(); B = col.getBlue(); + rScroller.setValue(R); gScroller.setValue(G); bScroller.setValue(B); @@ -291,9 +344,17 @@ public class UserDefinedColours protected void okButton_actionPerformed() { applyButton_actionPerformed(); + if (dialog != null) + dialog.setVisible(false); + frame.setVisible(false); } + public Color getColor() + { + return new Color(R, G, B); + } + protected void applyButton_actionPerformed() { if (caller != null) @@ -301,21 +362,26 @@ public class UserDefinedColours if (caller instanceof FeatureSettings) { ( (FeatureSettings) caller).setUserColour - (originalLabel, new Color(R, G, B)); + (originalLabel, getColor()); } else if (caller instanceof AnnotationColourChooser) { if (originalLabel.equals("Min Colour")) { ( (AnnotationColourChooser) caller).minColour_actionPerformed - (new Color(R, G, B)); + (getColor()); } else { ( (AnnotationColourChooser) caller).maxColour_actionPerformed - (new Color(R, G, B)); + (getColor()); } } + else if(caller instanceof FeatureRenderer) + { + ((FeatureRenderer)caller).colourPanel.setBackground(getColor()); + } + return; } @@ -345,6 +411,10 @@ public class UserDefinedColours ap.seqPanel.seqCanvas.img = null; ap.paintAlignment(true); } + else if(jmol!=null) + { + jmol.setJalviewColourScheme(ucs); + } else if (pdbcanvas != null) { pdbcanvas.setColours(ucs); @@ -373,6 +443,15 @@ public class UserDefinedColours (originalColour); } } + else if (caller instanceof FeatureRenderer) + { + ( (FeatureRenderer) caller).colourPanel.setBackground(originalColour); + + } + + if(dialog!=null) + dialog.setVisible(false); + frame.setVisible(false); return; } @@ -398,6 +477,10 @@ public class UserDefinedColours } ap.paintAlignment(true); } + else if(jmol !=null) + { + jmol.setJalviewColourScheme(ucs); + } else if (pdbcanvas != null) { pdbcanvas.pdb.setColours(ucs);