import jalview.io.JalviewFileChooser;
import jalview.io.JalviewFileView;
import jalview.jbgui.GUserDefinedColours;
-import jalview.schemabinding.version2.Colour;
-import jalview.schemabinding.version2.JalviewUserColours;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.ColourSchemeLoader;
import jalview.schemes.ColourSchemes;
import jalview.util.ColorUtils;
import jalview.util.Format;
import jalview.util.MessageManager;
+import jalview.xml.binding.jalview.JalviewUserColours;
+import jalview.xml.binding.jalview.JalviewUserColours.Colour;
+import jalview.xml.binding.jalview.ObjectFactory;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JInternalFrame;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Marshaller;
/**
* This panel allows the user to assign colours to Amino Acid residue codes, and
* @author Andrew Waterhouse
* @author Mungo Carstairs
*/
-public class UserDefinedColours extends GUserDefinedColours implements
- ChangeListener
+public class UserDefinedColours extends GUserDefinedColours
+ implements ChangeListener
{
- private static final Font VERDANA_BOLD_10 = new Font("Verdana",
- Font.BOLD, 10);
+ private static final Font VERDANA_BOLD_10 = new Font("Verdana", Font.BOLD,
+ 10);
public static final String USER_DEFINED_COLOURS = "USER_DEFINED_COLOURS";
if (oldColourScheme instanceof UserColourScheme)
{
schemeName.setText(oldColourScheme.getSchemeName());
- if (((UserColourScheme) oldColourScheme).getLowerCaseColours() != null)
+ if (((UserColourScheme) oldColourScheme)
+ .getLowerCaseColours() != null)
{
caseSensitive.setSelected(true);
lcaseColour.setEnabled(true);
UserDefinedColours()
{
super();
- selectedButtons = new ArrayList<JButton>();
+ selectedButtons = new ArrayList<>();
}
void showFrame()
if (upperCaseButtons == null)
{
- upperCaseButtons = new ArrayList<JButton>();
+ upperCaseButtons = new ArrayList<>();
}
for (int i = 0; i < 20; i++)
if (lowerCaseButtons == null)
{
- lowerCaseButtons = new ArrayList<JButton>();
+ lowerCaseButtons = new ArrayList<>();
}
for (int i = 0; i < 20; i++)
{
button = lowerCaseButtons.get(i);
button.setBackground(newColour);
- button.setForeground(ColorUtils.brighterThan(button.getBackground()));
+ button.setForeground(
+ ColorUtils.brighterThan(button.getBackground()));
}
}
for (int i = 0; i < selectedButtons.size(); i++)
JButton button = (JButton) buttonPanel.getComponent(b);
if (!selectedButtons.contains(button))
{
- button.setForeground(ColorUtils.brighterThan(button
- .getBackground()));
+ button.setForeground(
+ ColorUtils.brighterThan(button.getBackground()));
selectedButtons.add(button);
}
}
button.setForeground(ColorUtils.darkerThan(button.getBackground()));
}
selectedButtons.clear();
- pressed.setForeground(ColorUtils.brighterThan(pressed.getBackground()));
+ pressed.setForeground(
+ ColorUtils.brighterThan(pressed.getBackground()));
selectedButtons.add(pressed);
}
{
if (selectedButtons.contains(pressed))
{
- pressed.setForeground(ColorUtils.darkerThan(pressed.getBackground()));
+ pressed.setForeground(
+ ColorUtils.darkerThan(pressed.getBackground()));
selectedButtons.remove(pressed);
}
else
{
- pressed.setForeground(ColorUtils.brighterThan(pressed
- .getBackground()));
+ pressed.setForeground(
+ ColorUtils.brighterThan(pressed.getBackground()));
selectedButtons.add(pressed);
}
}
{
if (isNoSelectionMade())
{
- JvOptionPane.showMessageDialog(Desktop.desktop, MessageManager
- .getString("label.no_colour_selection_in_scheme"),
+ JvOptionPane.showMessageDialog(Desktop.desktop,
+ MessageManager
+ .getString("label.no_colour_selection_in_scheme"),
MessageManager.getString("label.no_colour_selection_warn"),
JvOptionPane.WARNING_MESSAGE);
}
{
if (isNoSelectionMade())
{
- JvOptionPane.showMessageDialog(Desktop.desktop, MessageManager
- .getString("label.no_colour_selection_in_scheme"),
+ JvOptionPane.showMessageDialog(Desktop.desktop,
+ MessageManager
+ .getString("label.no_colour_selection_in_scheme"),
MessageManager.getString("label.no_colour_selection_warn"),
JvOptionPane.WARNING_MESSAGE);
@Override
protected void loadbutton_actionPerformed()
{
- upperCaseButtons = new ArrayList<JButton>();
- lowerCaseButtons = new ArrayList<JButton>();
+ upperCaseButtons = new ArrayList<>();
+ lowerCaseButtons = new ArrayList<>();
JalviewFileChooser chooser = new JalviewFileChooser("jc",
"Jalview User Colours");
chooser.setFileView(new JalviewFileView());
- chooser.setDialogTitle(MessageManager
- .getString("label.load_colour_scheme"));
+ chooser.setDialogTitle(
+ MessageManager.getString("label.load_colour_scheme"));
chooser.setToolTipText(MessageManager.getString("action.load"));
int value = chooser.showOpenDialog(this);
File choice = chooser.getSelectedFile();
Cache.setProperty(LAST_DIRECTORY, choice.getParent());
- UserColourScheme ucs = ColourSchemeLoader.loadColourScheme(choice
- .getAbsolutePath());
+ UserColourScheme ucs = ColourSchemeLoader
+ .loadColourScheme(choice.getAbsolutePath());
Color[] colors = ucs.getColours();
schemeName.setText(ucs.getSchemeName());
* name if overwriting</li>
* <li>Do the standard file chooser thing to write with extension .jc</li>
* <li>If saving changes (possibly not yet applied) to the currently selected
- * colour scheme, then apply the changes, as it is too late to back out now</li>
+ * colour scheme, then apply the changes, as it is too late to back out
+ * now</li>
* <li>Don't apply the changes if the currently selected scheme is different,
* to allow a new scheme to be configured and saved but not applied</li>
* </ul>
String name = schemeName.getText().trim();
if (name.length() < 1)
{
- JvOptionPane.showInternalMessageDialog(Desktop.desktop, MessageManager
- .getString("label.user_colour_scheme_must_have_name"),
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop,
+ MessageManager
+ .getString("label.user_colour_scheme_must_have_name"),
MessageManager.getString("label.no_name_colour_scheme"),
JvOptionPane.WARNING_MESSAGE);
return false;
{
int reply = JvOptionPane.showInternalConfirmDialog(Desktop.desktop,
MessageManager.formatMessage(
- "label.colour_scheme_exists_overwrite", new Object[] {
- name, name }),
+ "label.colour_scheme_exists_overwrite", new Object[]
+ { name, name }),
MessageManager.getString("label.duplicate_scheme_name"),
JvOptionPane.YES_NO_OPTION);
if (reply != JvOptionPane.YES_OPTION)
JalviewFileView fileView = new JalviewFileView();
chooser.setFileView(fileView);
- chooser.setDialogTitle(MessageManager
- .getString("label.save_colour_scheme"));
+ chooser.setDialogTitle(
+ MessageManager.getString("label.save_colour_scheme"));
chooser.setToolTipText(MessageManager.getString("action.save"));
int value = chooser.showSaveDialog(this);
* update the delimited list of user defined colour files in
* Jalview property USER_DEFINED_COLOURS
*/
- String defaultColours = Cache
- .getDefault(USER_DEFINED_COLOURS, filePath);
+ String defaultColours = Cache.getDefault(USER_DEFINED_COLOURS,
+ filePath);
if (defaultColours.indexOf(filePath) == -1)
{
if (defaultColours.length() > 0)
Colour col = new Colour();
col.setName(button.getText());
col.setRGB(Format.getHexString(button.getBackground()));
- ucs.addColour(col);
+ ucs.getColour().add(col);
}
- ucs.marshal(out);
+ JAXBContext jaxbContext = JAXBContext
+ .newInstance(JalviewUserColours.class);
+ Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
+ jaxbMarshaller.marshal(
+ new ObjectFactory().createJalviewUserColours(ucs), out);
+ // ucs.marshal(out);
out.close();
} catch (Exception ex)
{
protected void cancelButton_actionPerformed()
{
ap.alignFrame.changeColour(oldColourScheme);
- ap.paintAlignment(true);
+ ap.paintAlignment(true, true);
try
{