2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3 * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
11 * Jalview is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty
13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 * PURPOSE. See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
23 import java.awt.event.*;
29 import jalview.jbgui.*;
30 import jalview.schemes.*;
38 public class Preferences extends GPreferences
42 * Holds name and link separated with | character. Sequence ID must be
43 * $SEQUENCE_ID$ or $SEQUENCE_ID=/.possible | chars ./=$
45 public static Vector sequenceURLLinks;
48 * Holds name and link separated with | character. Sequence IDS and Sequences
49 * must be $SEQUENCEIDS$ or $SEQUENCEIDS=/.possible | chars ./=$ and
50 * $SEQUENCES$ or $SEQUENCES=/.possible | chars ./=$ and separation character
51 * for first and second token specified after a pipe character at end |,|.
52 * (TODO: proper escape for using | to separate ids or sequences
55 public static Vector groupURLLinks;
61 "EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$");
62 sequenceURLLinks = new Vector();
66 StringTokenizer st = new StringTokenizer(string, "|");
67 while (st.hasMoreElements())
69 String name = st.nextToken();
70 String url = st.nextToken();
71 // check for '|' within a regex
72 int rxstart = url.indexOf("$SEQUENCE_ID$");
73 while (rxstart == -1 && url.indexOf("/=$") == -1)
75 url = url + "|" + st.nextToken();
77 sequenceURLLinks.addElement(name + "|" + url);
79 } catch (Exception ex)
81 System.out.println(ex + "\nError parsing sequence links");
84 // upgrade old SRS link
85 int srsPos = sequenceURLLinks
86 .indexOf("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
89 sequenceURLLinks.setElementAt(
90 "EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$",
96 * TODO: reformulate groupURL encoding so two or more can be stored in the
97 * .properties file as '|' separated strings
100 groupURLLinks = new Vector();
101 // groupURLLinks.addElement("UNIPROT|EnVision2|http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow=Default&datasetName=JalviewIDs$DATASETID$&input=$SEQUENCEIDS$&inputType=0|,");
102 // groupURLLinks.addElement("Seqs|EnVision2|http://www.ebi.ac.uk/enfin-srv/envision2/pages/linkin.jsf?tool=Jalview&workflow=Default&datasetName=JalviewSeqs$DATASETID$&input=$SEQUENCES=/([A-Za-z]+)+/=$&inputType=1|,");
106 Vector nameLinks, urlLinks;
108 JInternalFrame frame;
110 DasSourceBrowser dasSource;
112 private WsPreferences wsPrefs;
115 * Creates a new Preferences object.
120 frame = new JInternalFrame();
121 frame.setContentPane(this);
122 dasSource = new DasSourceBrowser();
123 dasPanel.add(dasSource, BorderLayout.CENTER);
124 wsPrefs = new WsPreferences();
125 wsPanel.add(wsPrefs, BorderLayout.CENTER);
126 int width = 500, height = 420;
127 if (new jalview.util.Platform().isAMac())
133 Desktop.addInternalFrame(frame, "Preferences", width, height);
134 frame.setMinimumSize(new Dimension(width, height));
136 seqLimit.setSelected(Cache.getDefault("SHOW_JVSUFFIX", true));
137 rightAlign.setSelected(Cache.getDefault("RIGHT_ALIGN_IDS", false));
138 fullScreen.setSelected(Cache.getDefault("SHOW_FULLSCREEN", false));
139 annotations.setSelected(Cache.getDefault("SHOW_ANNOTATIONS", true));
141 conservation.setSelected(Cache.getDefault("SHOW_CONSERVATION", true));
142 quality.setSelected(Cache.getDefault("SHOW_QUALITY", true));
143 identity.setSelected(Cache.getDefault("SHOW_IDENTITY", true));
144 openoverv.setSelected(Cache.getDefault("SHOW_OVERVIEW", false));
146 .setSelected(Cache.getDefault("SHOW_UNCONSERVED", false));
147 showNpTooltip.setSelected(Cache
148 .getDefault("SHOW_NPFEATS_TOOLTIP", true));
149 showDbRefTooltip.setSelected(Cache.getDefault("SHOW_DBREFS_TOOLTIP",
151 sortByTree.setSelected(Cache.getDefault("SORT_BY_TREE", false));
152 for (int i = ColourSchemeProperty.FIRST_COLOUR; i <= ColourSchemeProperty.LAST_COLOUR; i++)
154 colour.addItem(ColourSchemeProperty.getColourName(i));
157 String string = Cache.getDefault("DEFAULT_COLOUR", "None");
159 colour.setSelectedItem(string);
162 * default min-max colours for annotation shading
164 minColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MIN",
166 maxColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MAX",
169 String[] fonts = java.awt.GraphicsEnvironment
170 .getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
172 for (int i = 0; i < fonts.length; i++)
174 fontNameCB.addItem(fonts[i]);
177 for (int i = 1; i < 31; i++)
179 fontSizeCB.addItem(i + "");
182 fontStyleCB.addItem("plain");
183 fontStyleCB.addItem("bold");
184 fontStyleCB.addItem("italic");
186 fontNameCB.setSelectedItem(Cache.getDefault("FONT_NAME", "SansSerif"));
187 fontSizeCB.setSelectedItem(Cache.getDefault("FONT_SIZE", "10"));
188 fontStyleCB.setSelectedItem(Cache.getDefault("FONT_STYLE", Font.PLAIN
191 smoothFont.setSelected(Cache.getDefault("ANTI_ALIAS", false));
193 idItalics.setSelected(Cache.getDefault("ID_ITALICS", true));
195 wrap.setSelected(Cache.getDefault("WRAP_ALIGNMENT", false));
197 gapSymbolCB.addItem("-");
198 gapSymbolCB.addItem(".");
200 gapSymbolCB.setSelectedItem(Cache.getDefault("GAP_SYMBOL", "-"));
203 .setSelected(Cache.getDefault("SHOW_STARTUP_FILE", true));
204 startupFileTextfield.setText(Cache.getDefault("STARTUP_FILE",
205 Cache.getDefault("www.jalview.org", "http://www.jalview.org")
206 + "/examples/exampleFile_2_3.jar"));
208 sortby.addItem("No sort");
209 sortby.addItem("Id");
210 sortby.addItem("Pairwise Identity");
211 sortby.setSelectedItem(Cache.getDefault("SORT_ALIGNMENT", "No sort"));
213 epsRendering.addItem("Prompt each time");
214 epsRendering.addItem("Lineart");
215 epsRendering.addItem("Text");
216 epsRendering.setSelectedItem(Cache.getDefault("EPS_RENDERING",
217 "Prompt each time"));
218 autoIdWidth.setSelected(Cache.getDefault("FIGURE_AUTOIDWIDTH", false));
219 userIdWidth.setEnabled(autoIdWidth.isSelected());
220 userIdWidthlabel.setEnabled(autoIdWidth.isSelected());
221 Integer wi = Cache.getIntegerProperty("FIGURE_USERIDWIDTH");
222 userIdWidth.setText(wi == null ? "" : wi.toString());
223 blcjv.setSelected(Cache.getDefault("BLC_JVSUFFIX", true));
224 clustaljv.setSelected(Cache.getDefault("CLUSTAL_JVSUFFIX", true));
225 fastajv.setSelected(Cache.getDefault("FASTA_JVSUFFIX", true));
226 msfjv.setSelected(Cache.getDefault("MSF_JVSUFFIX", true));
227 pfamjv.setSelected(Cache.getDefault("PFAM_JVSUFFIX", true));
228 pileupjv.setSelected(Cache.getDefault("PILEUP_JVSUFFIX", true));
229 pirjv.setSelected(Cache.getDefault("PIR_JVSUFFIX", true));
231 modellerOutput.setSelected(Cache.getDefault("PIR_MODELLER", false));
233 autoCalculateConsCheck.setSelected(Cache.getDefault(
234 "AUTO_CALC_CONSENSUS", true));
235 showGroupConsensus.setSelected(Cache.getDefault("SHOW_GROUP_CONSENSUS",
237 showGroupConservation.setSelected(Cache.getDefault(
238 "SHOW_GROUP_CONSERVATION", false));
239 showConsensHistogram.setSelected(Cache.getDefault(
240 "SHOW_CONSENSUS_HISTOGRAM", true));
241 showConsensLogo.setSelected(Cache.getDefault("SHOW_CONSENSUS_LOGO",
244 padGaps.setSelected(Cache.getDefault("PAD_GAPS", false));
246 /***************************************************************************
249 nameLinks = new Vector();
250 urlLinks = new Vector();
251 for (int i = 0; i < sequenceURLLinks.size(); i++)
253 String link = sequenceURLLinks.elementAt(i).toString();
254 nameLinks.addElement(link.substring(0, link.indexOf("|")));
255 urlLinks.addElement(link.substring(link.indexOf("|") + 1));
260 useProxy.setSelected(Cache.getDefault("USE_PROXY", false));
261 proxyServerTB.setEnabled(useProxy.isSelected());
262 proxyPortTB.setEnabled(useProxy.isSelected());
263 proxyServerTB.setText(Cache.getDefault("PROXY_SERVER", ""));
264 proxyPortTB.setText(Cache.getDefault("PROXY_PORT", ""));
266 defaultBrowser.setText(Cache.getDefault("DEFAULT_BROWSER", ""));
268 usagestats.setSelected(Cache.getDefault("USAGESTATS", false));
270 .setSelected(Cache.getProperty("NOQUESTIONNAIRES") == null); // note
273 versioncheck.setSelected(Cache.getDefault("VERSION_CHECK", true)); // default
276 annotations_actionPerformed(null); // update the display of the annotation
281 } catch (Exception ex)
283 ex.printStackTrace();
294 public void ok_actionPerformed(ActionEvent e)
297 Cache.applicationProperties.setProperty("SHOW_JVSUFFIX",
298 Boolean.toString(seqLimit.isSelected()));
299 Cache.applicationProperties.setProperty("RIGHT_ALIGN_IDS",
300 Boolean.toString(rightAlign.isSelected()));
301 Cache.applicationProperties.setProperty("SHOW_FULLSCREEN",
302 Boolean.toString(fullScreen.isSelected()));
303 Cache.applicationProperties.setProperty("SHOW_OVERVIEW",
304 Boolean.toString(openoverv.isSelected()));
305 Cache.applicationProperties.setProperty("SHOW_ANNOTATIONS",
306 Boolean.toString(annotations.isSelected()));
307 Cache.applicationProperties.setProperty("SHOW_CONSERVATION",
308 Boolean.toString(conservation.isSelected()));
309 Cache.applicationProperties.setProperty("SHOW_QUALITY",
310 Boolean.toString(quality.isSelected()));
311 Cache.applicationProperties.setProperty("SHOW_IDENTITY",
312 Boolean.toString(identity.isSelected()));
314 Cache.applicationProperties.setProperty("DEFAULT_COLOUR", colour
315 .getSelectedItem().toString());
316 Cache.applicationProperties.setProperty("GAP_SYMBOL", gapSymbolCB
317 .getSelectedItem().toString());
319 Cache.applicationProperties.setProperty("FONT_NAME", fontNameCB
320 .getSelectedItem().toString());
321 Cache.applicationProperties.setProperty("FONT_STYLE", fontStyleCB
322 .getSelectedItem().toString());
323 Cache.applicationProperties.setProperty("FONT_SIZE", fontSizeCB
324 .getSelectedItem().toString());
326 Cache.applicationProperties.setProperty("ID_ITALICS",
327 Boolean.toString(idItalics.isSelected()));
328 Cache.applicationProperties.setProperty("SHOW_UNCONSERVED",
329 Boolean.toString(showUnconserved.isSelected()));
330 Cache.applicationProperties.setProperty("SHOW_GROUP_CONSENSUS",
331 Boolean.toString(showGroupConsensus.isSelected()));
332 Cache.applicationProperties.setProperty("SHOW_GROUP_CONSERVATION",
333 Boolean.toString(showGroupConservation.isSelected()));
334 Cache.applicationProperties.setProperty("SHOW_CONSENSUS_HISTOGRAM",
335 Boolean.toString(showConsensHistogram.isSelected()));
336 Cache.applicationProperties.setProperty("SHOW_CONSENSUS_LOGO",
337 Boolean.toString(showConsensLogo.isSelected()));
338 Cache.applicationProperties.setProperty("ANTI_ALIAS",
339 Boolean.toString(smoothFont.isSelected()));
340 Cache.applicationProperties.setProperty("SHOW_NPFEATS_TOOLTIP",
341 Boolean.toString(showNpTooltip.isSelected()));
342 Cache.applicationProperties.setProperty("SHOW_DBREFS_TOOLTIP",
343 Boolean.toString(showDbRefTooltip.isSelected()));
345 Cache.applicationProperties.setProperty("WRAP_ALIGNMENT",
346 Boolean.toString(wrap.isSelected()));
348 Cache.applicationProperties.setProperty("STARTUP_FILE",
349 startupFileTextfield.getText());
350 Cache.applicationProperties.setProperty("SHOW_STARTUP_FILE",
351 Boolean.toString(startupCheckbox.isSelected()));
353 Cache.applicationProperties.setProperty("SORT_ALIGNMENT", sortby
354 .getSelectedItem().toString());
356 Cache.setColourProperty("ANNOTATIONCOLOUR_MIN",
357 minColour.getBackground());
358 Cache.setColourProperty("ANNOTATIONCOLOUR_MAX",
359 maxColour.getBackground());
361 if (epsRendering.getSelectedItem().equals("Prompt each time"))
363 Cache.applicationProperties.remove("EPS_RENDERING");
367 Cache.applicationProperties.setProperty("EPS_RENDERING", epsRendering
368 .getSelectedItem().toString());
371 if (defaultBrowser.getText().trim().length() < 1)
373 Cache.applicationProperties.remove("DEFAULT_BROWSER");
377 Cache.applicationProperties.setProperty("DEFAULT_BROWSER",
378 defaultBrowser.getText());
381 jalview.util.BrowserLauncher.resetBrowser();
383 if (nameLinks.size() > 0)
385 StringBuffer links = new StringBuffer();
386 sequenceURLLinks = new Vector();
387 for (int i = 0; i < nameLinks.size(); i++)
389 sequenceURLLinks.addElement(nameLinks.elementAt(i) + "|"
390 + urlLinks.elementAt(i));
391 links.append(sequenceURLLinks.elementAt(i).toString());
395 links.setLength(links.length() - 1);
396 Cache.applicationProperties.setProperty("SEQUENCE_LINKS",
401 Cache.applicationProperties.remove("SEQUENCE_LINKS");
404 Cache.applicationProperties.setProperty("USE_PROXY",
405 Boolean.toString(useProxy.isSelected()));
407 if (proxyServerTB.getText().trim().length() < 1)
409 Cache.applicationProperties.remove("PROXY_SERVER");
413 Cache.applicationProperties.setProperty("PROXY_SERVER",
414 proxyServerTB.getText());
417 if (proxyPortTB.getText().trim().length() < 1)
419 Cache.applicationProperties.remove("PROXY_PORT");
423 Cache.applicationProperties.setProperty("PROXY_PORT",
424 proxyPortTB.getText());
427 if (useProxy.isSelected())
429 System.setProperty("http.proxyHost", proxyServerTB.getText());
430 System.setProperty("http.proxyPort", proxyPortTB.getText());
434 System.setProperty("http.proxyHost", "");
435 System.setProperty("http.proxyPort", "");
437 Cache.setProperty("VERSION_CHECK",
438 Boolean.toString(versioncheck.isSelected()));
439 if (Cache.getProperty("USAGESTATS") != null || usagestats.isSelected())
441 // default is false - we only set this if the user has actively agreed
442 Cache.setProperty("USAGESTATS",
443 Boolean.toString(usagestats.isSelected()));
445 if (!questionnaire.isSelected())
447 Cache.setProperty("NOQUESTIONNAIRES", "true");
451 // special - made easy to edit a property file to disable questionnaires
452 // by just adding the given line
453 Cache.removeProperty("NOQUESTIONNAIRES");
455 Cache.applicationProperties.setProperty("BLC_JVSUFFIX",
456 Boolean.toString(blcjv.isSelected()));
457 Cache.applicationProperties.setProperty("CLUSTAL_JVSUFFIX",
458 Boolean.toString(clustaljv.isSelected()));
459 Cache.applicationProperties.setProperty("FASTA_JVSUFFIX",
460 Boolean.toString(fastajv.isSelected()));
461 Cache.applicationProperties.setProperty("MSF_JVSUFFIX",
462 Boolean.toString(msfjv.isSelected()));
463 Cache.applicationProperties.setProperty("PFAM_JVSUFFIX",
464 Boolean.toString(pfamjv.isSelected()));
465 Cache.applicationProperties.setProperty("PILEUP_JVSUFFIX",
466 Boolean.toString(pileupjv.isSelected()));
467 Cache.applicationProperties.setProperty("PIR_JVSUFFIX",
468 Boolean.toString(pirjv.isSelected()));
469 Cache.applicationProperties.setProperty("PIR_MODELLER",
470 Boolean.toString(modellerOutput.isSelected()));
471 jalview.io.PIRFile.useModellerOutput = modellerOutput.isSelected();
473 Cache.applicationProperties.setProperty("FIGURE_AUTOIDWIDTH",
474 Boolean.toString(autoIdWidth.isSelected()));
475 userIdWidth_actionPerformed();
476 Cache.applicationProperties.setProperty("FIGURE_USERIDWIDTH",
477 userIdWidth.getText());
479 Cache.applicationProperties.setProperty("AUTO_CALC_CONSENSUS",
480 Boolean.toString(autoCalculateConsCheck.isSelected()));
481 Cache.applicationProperties.setProperty("SORT_BY_TREE",
482 Boolean.toString(sortByTree.isSelected()));
483 Cache.applicationProperties.setProperty("PAD_GAPS",
484 Boolean.toString(padGaps.isSelected()));
486 dasSource.saveProperties(Cache.applicationProperties);
487 wsPrefs.updateAndRefreshWsMenuConfig(false);
488 Cache.saveProperties();
491 frame.setClosed(true);
492 } catch (Exception ex)
500 public void startupFileTextfield_mouseClicked()
502 JalviewFileChooser chooser = new JalviewFileChooser(
503 jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
505 { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "jar" },
507 { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "Jalview" },
508 jalview.bin.Cache.getProperty("DEFAULT_FILE_FORMAT"));
509 chooser.setFileView(new JalviewFileView());
510 chooser.setDialogTitle("Select startup file");
512 int value = chooser.showOpenDialog(this);
514 if (value == JalviewFileChooser.APPROVE_OPTION)
516 jalview.bin.Cache.applicationProperties.setProperty(
517 "DEFAULT_FILE_FORMAT", chooser.getSelectedFormat());
518 startupFileTextfield.setText(chooser.getSelectedFile()
529 public void cancel_actionPerformed(ActionEvent e)
533 wsPrefs.updateWsMenuConfig(true);
534 wsPrefs.refreshWs_actionPerformed(e);
535 frame.setClosed(true);
536 } catch (Exception ex)
547 public void annotations_actionPerformed(ActionEvent e)
549 conservation.setEnabled(annotations.isSelected());
550 quality.setEnabled(annotations.isSelected());
551 identity.setEnabled(annotations.isSelected());
552 showGroupConsensus.setEnabled(annotations.isSelected());
553 showGroupConservation.setEnabled(annotations.isSelected());
554 showConsensHistogram.setEnabled(annotations.isSelected()
555 && (identity.isSelected() || showGroupConsensus.isSelected()));
556 showConsensLogo.setEnabled(annotations.isSelected()
557 && (identity.isSelected() || showGroupConsensus.isSelected()));
560 public void newLink_actionPerformed(ActionEvent e)
563 GSequenceLink link = new GSequenceLink();
564 boolean valid = false;
567 if (JOptionPane.showInternalConfirmDialog(Desktop.desktop, link,
568 "New sequence URL link", JOptionPane.OK_CANCEL_OPTION, -1,
569 null) == JOptionPane.OK_OPTION)
571 if (link.checkValid())
573 nameLinks.addElement(link.getName());
574 urlLinks.addElement(link.getURL());
586 public void editLink_actionPerformed(ActionEvent e)
588 GSequenceLink link = new GSequenceLink();
590 int index = linkNameList.getSelectedIndex();
593 JOptionPane.showInternalMessageDialog(Desktop.desktop,
594 "No link selected!", "No link selected",
595 JOptionPane.WARNING_MESSAGE);
599 link.setName(nameLinks.elementAt(index).toString());
600 link.setURL(urlLinks.elementAt(index).toString());
602 boolean valid = false;
606 if (JOptionPane.showInternalConfirmDialog(Desktop.desktop, link,
607 "New sequence URL link", JOptionPane.OK_CANCEL_OPTION, -1,
608 null) == JOptionPane.OK_OPTION)
610 if (link.checkValid())
612 nameLinks.setElementAt(link.getName(), index);
613 urlLinks.setElementAt(link.getURL(), index);
626 public void deleteLink_actionPerformed(ActionEvent e)
628 int index = linkNameList.getSelectedIndex();
631 JOptionPane.showInternalMessageDialog(Desktop.desktop,
632 "No link selected!", "No link selected",
633 JOptionPane.WARNING_MESSAGE);
636 nameLinks.removeElementAt(index);
637 urlLinks.removeElementAt(index);
641 void updateLinkData()
643 linkNameList.setListData(nameLinks);
644 linkURLList.setListData(urlLinks);
647 public void defaultBrowser_mouseClicked(MouseEvent e)
649 JFileChooser chooser = new JFileChooser(".");
650 chooser.setDialogTitle("Select default web browser");
652 int value = chooser.showOpenDialog(this);
654 if (value == JFileChooser.APPROVE_OPTION)
656 defaultBrowser.setText(chooser.getSelectedFile().getAbsolutePath());
665 * jalview.jbgui.GPreferences#showunconserved_actionPerformed(java.awt.event
668 protected void showunconserved_actionPerformed(ActionEvent e)
670 // TODO Auto-generated method stub
671 super.showunconserved_actionPerformed(e);
674 private void jbInit() throws Exception
678 public static Collection getGroupURLLinks()
680 return groupURLLinks;
683 public void minColour_actionPerformed()
685 Color col = JColorChooser.showDialog(this,
686 "Select Colour for Minimum Value", minColour.getBackground());
689 minColour.setBackground(col);
694 public void maxColour_actionPerformed()
696 Color col = JColorChooser.showDialog(this,
697 "Select Colour for Maximum Value", maxColour.getBackground());
700 maxColour.setBackground(col);
706 protected void userIdWidth_actionPerformed()
710 String val = userIdWidth.getText().trim();
711 if (val.length() > 0)
713 Integer iw = Integer.parseInt(val);
714 if (iw.intValue() < 12)
716 throw new NumberFormatException();
718 userIdWidth.setText(iw.toString());
720 } catch (NumberFormatException x)
723 .showInternalMessageDialog(
725 "The user defined width for the\nannotation and sequence ID columns\nin exported figures must be\nat least 12 pixels wide.",
726 "Invalid ID Column width",
727 JOptionPane.WARNING_MESSAGE);
728 userIdWidth.setText("");
733 protected void autoIdWidth_actionPerformed()
735 userIdWidth.setEnabled(!autoIdWidth.isSelected());
736 userIdWidthlabel.setEnabled(!autoIdWidth.isSelected());