/* * EuroCarbDB, a framework for carbohydrate bioinformatics * * Copyright (c) 2006-2009, Eurocarb project, or third-party contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU * Lesser General Public License, as published by the Free Software Foundation. * A copy of this license accompanies this distribution in the file LICENSE.txt. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * Last commit: $Rev: 1210 $ by $Author: glycoslave $ on $Date:: 2009-06-12 #$ */ /* * CompareReportDialog.java * * Created on 30 July 2008, 10:49 */ package org.eurocarbdb.application.glycoworkbench.plugin.reporting; import org.eurocarbdb.application.glycoworkbench.plugin.*; import org.eurocarbdb.application.glycoworkbench.*; import org.eurocarbdb.application.glycanbuilder.*; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import org.jdesktop.layout.*; /** * * @author aceroni */ public class ProfilesComparisonReportDialog extends EscapeDialog implements ActionListener, ChangeListener { private static class ScanCellRenderer extends DefaultListCellRenderer { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus); if( value == null ) setText(""); else if( value instanceof Scan ) setText(((Scan)value).getName()); else setText(value.toString()); return this; } } private GlycanWorkspace theWorkspace; private ProfilesComparisonReportOptions theOptions; private HashMap<String,Scan> nameScanMap = new HashMap<String,Scan>(); private HashMap<Scan,String> scanNameMap = new HashMap<Scan,String>(); private Vector<String> scanNames = new Vector<String>(); private Vector<Scan> firstGroup = new Vector<Scan>(); private Vector<Scan> secondGroup = new Vector<Scan>(); /** Creates new form CompareReportDialog */ public ProfilesComparisonReportDialog(Frame parent, GlycanWorkspace workspace, ProfilesComparisonReportOptions options) { super(parent, true); theWorkspace = workspace; theOptions = options; initComponents(); setTraversal(); setData(); setActions(); enableItems(); setLocationRelativeTo(parent); } public Vector<Scan> getFirstGroup() { return firstGroup; } public Vector<Scan> getSecondGroup() { return secondGroup; } public Map<String,Scan> getNameScanMap() { return nameScanMap; } public Map<Scan,String> getScanNameMap() { return scanNameMap; } private void setTraversal() { CustomFocusTraversalPolicy tp = new CustomFocusTraversalPolicy(); tp.addComponent(list_profiles); tp.addComponent(button_addfirst); tp.addComponent(button_removefirst); tp.addComponent(list_firstgroup); tp.addComponent(button_addsecond); tp.addComponent(button_removesecond); tp.addComponent(list_secondgroup); tp.addComponent(button_normalization_basepeak); tp.addComponent(button_normalization_sum); tp.addComponent(button_normalization_average); tp.addComponent(button_normalization_standardization); tp.addComponent(button_deconvolution_none); tp.addComponent(button_deconvolution_monosaccharides); tp.addComponent(button_deconvolution_disaccharides); tp.addComponent(button_deconvolution_cores); tp.addComponent(button_deconvolution_terminals); tp.addComponent(button_representation_table); tp.addComponent(button_representation_bars); tp.addComponent(button_representation_errorbars); tp.addComponent(button_representation_distributions); tp.addComponent(button_normalizebyrow); tp.addComponent(button_ok); tp.addComponent(button_cancel); this.setFocusTraversalPolicy(tp); getRootPane().setDefaultButton(button_ok); } private void addOrdered(JList dst, String s) { DefaultListModel dst_model = (DefaultListModel)dst.getModel(); for( int i=0; i<dst_model.getSize(); i++) { if( scanNames.indexOf(dst_model.get(i))>scanNames.indexOf(s) ) { dst_model.add(i,s); return; } } dst_model.addElement(s); } private void getProfiles(GlycanWorkspace workspace) { // retrieve profiles and scan names int count = 1; for( Scan s : workspace.getAllScans() ) { if( s.getAnnotatedPeakList().size()>0 && s.getAnnotatedPeakList().getNoStructures()==1 && s.getAnnotatedPeakList().getStructure(0).isEmpty() ) { String scan_name = (s.getName()!=null && s.getName().length()>0 && !s.getName().equals("Scan")) ?s.getName() : "Scan" + count; nameScanMap.put(scan_name,s); scanNameMap.put(s,scan_name); scanNames.add(scan_name); } count++; } } private void setData() { list_profiles.setModel(new DefaultListModel()); list_firstgroup.setModel(new DefaultListModel()); list_secondgroup.setModel(new DefaultListModel()); getProfiles(theWorkspace); for( String s : scanNames ) addOrdered(list_profiles,s); button_normalization_basepeak.setSelected(theOptions.NORMALIZATION == theOptions.BASEPEAK); button_normalization_sum.setSelected(theOptions.NORMALIZATION == theOptions.SUM); button_normalization_average.setSelected(theOptions.NORMALIZATION == theOptions.AVERAGE); button_normalization_standardization.setSelected(theOptions.NORMALIZATION == theOptions.STANDARDIZATION); button_deconvolution_none.setSelected(theOptions.DECONVOLUTION == theOptions.NONE); button_deconvolution_monosaccharides.setSelected(theOptions.DECONVOLUTION == theOptions.MONOSACCHARIDES); button_deconvolution_disaccharides.setSelected(theOptions.DECONVOLUTION == theOptions.DISACCHARIDES); button_deconvolution_cores.setSelected(theOptions.DECONVOLUTION == theOptions.CORES); button_deconvolution_terminals.setSelected(theOptions.DECONVOLUTION == theOptions.TERMINALS); button_representation_table.setSelected(theOptions.REPRESENTATION == theOptions.TABLE); button_representation_bars.setSelected(theOptions.REPRESENTATION == theOptions.BARS); button_representation_errorbars.setSelected(theOptions.REPRESENTATION == theOptions.ERRORBARS); button_representation_distributions.setSelected(theOptions.REPRESENTATION == theOptions.DISTRIBUTIONS); button_normalizebyrow.setSelected(theOptions.NORMALIZEBYROW); this.pack(); } private void setActions() { button_addfirst.addActionListener(this); button_removefirst.addActionListener(this); button_addsecond.addActionListener(this); button_removesecond.addActionListener(this); button_representation_table.addChangeListener(this); button_ok.addActionListener(this); button_cancel.addActionListener(this); } private void enableItems() { button_representation_table.setEnabled(list_secondgroup.getModel().getSize()==0); button_representation_bars.setEnabled(list_secondgroup.getModel().getSize()==0); button_representation_errorbars.setEnabled(list_secondgroup.getModel().getSize()>0); button_representation_distributions.setEnabled(list_secondgroup.getModel().getSize()>0); //button_normalizebyrow.setEnabled(button_representation_table.isSelected()); } private void retrieveData() { firstGroup = retrieveData(list_firstgroup); secondGroup = retrieveData(list_secondgroup); if( firstGroup.size()==0 ) firstGroup = retrieveData(list_profiles); if( button_normalization_basepeak.isSelected() ) theOptions.NORMALIZATION = theOptions.BASEPEAK; else if( button_normalization_sum.isSelected() ) theOptions.NORMALIZATION = theOptions.SUM; else if( button_normalization_average.isSelected() ) theOptions.NORMALIZATION = theOptions.AVERAGE; else if( button_normalization_standardization.isSelected() ) theOptions.NORMALIZATION = theOptions.STANDARDIZATION; else theOptions.NORMALIZATION = theOptions.NORMALIZATION_DEFAULT; if( button_deconvolution_none.isSelected() ) theOptions.DECONVOLUTION = theOptions.NONE; else if( button_deconvolution_monosaccharides.isSelected() ) theOptions.DECONVOLUTION = theOptions.MONOSACCHARIDES; else if( button_deconvolution_disaccharides.isSelected() ) theOptions.DECONVOLUTION = theOptions.DISACCHARIDES; else if( button_deconvolution_cores.isSelected() ) theOptions.DECONVOLUTION = theOptions.CORES; else if( button_deconvolution_terminals.isSelected() ) theOptions.DECONVOLUTION = theOptions.TERMINALS; else theOptions.DECONVOLUTION = theOptions.DECONVOLUTION_DEFAULT; if( button_representation_table.isSelected() && button_representation_table.isEnabled()) theOptions.REPRESENTATION = theOptions.TABLE; else if( button_representation_bars.isSelected() && button_representation_bars.isEnabled() ) theOptions.REPRESENTATION = theOptions.BARS; else if( button_representation_errorbars.isSelected() && button_representation_errorbars.isEnabled() ) theOptions.REPRESENTATION = theOptions.ERRORBARS; else if( button_representation_distributions.isSelected() && button_representation_distributions.isEnabled() ) theOptions.REPRESENTATION = theOptions.DISTRIBUTIONS; else theOptions.REPRESENTATION = theOptions.REPRESENTATION_DEFAULT; theOptions.NORMALIZEBYROW = button_normalizebyrow.isSelected(); } private Vector<Scan> retrieveData(JList src) { DefaultListModel src_model = (DefaultListModel)src.getModel(); Vector<Scan> ret = new Vector<Scan>(); for( int i=0; i<src_model.getSize(); i++) ret.add(nameScanMap.get((String)src_model.get(i))); return ret; } public void actionPerformed(ActionEvent e) { String action = e.getActionCommand(); if (action == "OK") { retrieveData(); return_status = action; closeDialog(); } else if (action == "Cancel"){ return_status = action; closeDialog(); } else if (action == ">>") { if( e.getSource()==button_addfirst ) move(list_profiles,list_firstgroup); else { move(list_profiles,list_secondgroup); enableItems(); } } else if (action == "<<") { if( e.getSource()==button_removefirst ) move(list_firstgroup,list_profiles); else { move(list_secondgroup,list_profiles); enableItems(); } } else enableItems(); } private void move(JList src, JList dst) { DefaultListModel src_model = (DefaultListModel)src.getModel(); for( Object v : src.getSelectedValues() ) { addOrdered(dst,(String)v); src_model.remove(src_model.indexOf(v)); } } public void stateChanged(ChangeEvent e) { enableItems(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { buttongroup_normalization = new javax.swing.ButtonGroup(); buttongroup_deconvolution = new javax.swing.ButtonGroup(); buttongroup_representation = new javax.swing.ButtonGroup(); jScrollPane1 = new javax.swing.JScrollPane(); list_profiles = new javax.swing.JList(); button_addfirst = new javax.swing.JButton(); button_removefirst = new javax.swing.JButton(); jScrollPane2 = new javax.swing.JScrollPane(); list_firstgroup = new javax.swing.JList(); button_addsecond = new javax.swing.JButton(); button_removesecond = new javax.swing.JButton(); jScrollPane3 = new javax.swing.JScrollPane(); list_secondgroup = new javax.swing.JList(); jLabel1 = new javax.swing.JLabel(); button_normalization_basepeak = new javax.swing.JRadioButton(); button_normalization_sum = new javax.swing.JRadioButton(); button_normalization_average = new javax.swing.JRadioButton(); button_normalization_standardization = new javax.swing.JRadioButton(); jLabel2 = new javax.swing.JLabel(); button_deconvolution_monosaccharides = new javax.swing.JRadioButton(); button_deconvolution_disaccharides = new javax.swing.JRadioButton(); jLabel3 = new javax.swing.JLabel(); button_representation_table = new javax.swing.JRadioButton(); button_representation_bars = new javax.swing.JRadioButton(); button_representation_errorbars = new javax.swing.JRadioButton(); button_representation_distributions = new javax.swing.JRadioButton(); jSeparator1 = new javax.swing.JSeparator(); button_ok = new javax.swing.JButton(); button_cancel = new javax.swing.JButton(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); button_deconvolution_none = new javax.swing.JRadioButton(); button_normalizebyrow = new javax.swing.JCheckBox(); button_deconvolution_cores = new javax.swing.JRadioButton(); button_deconvolution_terminals = new javax.swing.JRadioButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); list_profiles.setModel(new javax.swing.AbstractListModel() { String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" }; public int getSize() { return strings.length; } public Object getElementAt(int i) { return strings[i]; } }); jScrollPane1.setViewportView(list_profiles); button_addfirst.setText(">>"); button_removefirst.setText("<<"); list_firstgroup.setModel(new javax.swing.AbstractListModel() { String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" }; public int getSize() { return strings.length; } public Object getElementAt(int i) { return strings[i]; } }); jScrollPane2.setViewportView(list_firstgroup); button_addsecond.setText(">>"); button_removesecond.setText("<<"); list_secondgroup.setModel(new javax.swing.AbstractListModel() { String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" }; public int getSize() { return strings.length; } public Object getElementAt(int i) { return strings[i]; } }); jScrollPane3.setViewportView(list_secondgroup); jLabel1.setText("Normalizaton"); buttongroup_normalization.add(button_normalization_basepeak); button_normalization_basepeak.setText("base peak"); buttongroup_normalization.add(button_normalization_sum); button_normalization_sum.setText("sum"); buttongroup_normalization.add(button_normalization_average); button_normalization_average.setText("average"); buttongroup_normalization.add(button_normalization_standardization); button_normalization_standardization.setText("standardization"); jLabel2.setText("Structure deconvolution"); buttongroup_deconvolution.add(button_deconvolution_monosaccharides); button_deconvolution_monosaccharides.setText("monosaccharides"); buttongroup_deconvolution.add(button_deconvolution_disaccharides); button_deconvolution_disaccharides.setText("disaccharides"); jLabel3.setText("Representation"); buttongroup_representation.add(button_representation_table); button_representation_table.setText("table"); buttongroup_representation.add(button_representation_bars); button_representation_bars.setText("bars"); buttongroup_representation.add(button_representation_errorbars); button_representation_errorbars.setText("error bars"); buttongroup_representation.add(button_representation_distributions); button_representation_distributions.setText("distributions"); button_ok.setText("OK"); button_cancel.setText("Cancel"); jLabel4.setText("Profiles"); jLabel5.setText("To compare"); buttongroup_deconvolution.add(button_deconvolution_none); button_deconvolution_none.setText("none"); button_normalizebyrow.setText("normalize by row"); buttongroup_deconvolution.add(button_deconvolution_cores); button_deconvolution_cores.setText("cores"); buttongroup_deconvolution.add(button_deconvolution_terminals); button_deconvolution_terminals.setText("terminals"); org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .addContainerGap() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jLabel3) .add(layout.createSequentialGroup() .add(button_representation_table) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_representation_bars) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_representation_errorbars) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_representation_distributions)) .add(layout.createSequentialGroup() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 158, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(button_removesecond, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(button_addsecond, 0, 0, Short.MAX_VALUE) .add(button_addfirst, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(button_removefirst))) .add(jLabel4)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jLabel5) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false) .add(jScrollPane3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 183, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 183, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))) .add(button_normalizebyrow) .add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 418, Short.MAX_VALUE) .add(layout.createSequentialGroup() .add(135, 135, 135) .add(button_ok) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_cancel)) .add(jLabel1) .add(layout.createSequentialGroup() .add(button_normalization_basepeak) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_normalization_sum) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_normalization_average) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_normalization_standardization)) .add(jLabel2) .add(layout.createSequentialGroup() .add(button_deconvolution_none) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_deconvolution_monosaccharides) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_deconvolution_disaccharides)) .add(layout.createSequentialGroup() .add(button_deconvolution_cores) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_deconvolution_terminals))) .addContainerGap()) ); layout.linkSize(new java.awt.Component[] {button_cancel, button_ok}, org.jdesktop.layout.GroupLayout.HORIZONTAL); layout.linkSize(new java.awt.Component[] {jScrollPane1, jScrollPane2, jScrollPane3}, org.jdesktop.layout.GroupLayout.HORIZONTAL); layout.setVerticalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup() .addContainerGap() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel4) .add(jLabel5)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) .add(layout.createSequentialGroup() .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .add(button_addfirst) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_removefirst)) .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 84, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .add(button_addsecond) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_removesecond)) .add(jScrollPane3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 84, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) .add(jScrollPane1)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) .add(jLabel1) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(button_normalization_basepeak) .add(button_normalization_sum) .add(button_normalization_average) .add(button_normalization_standardization)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jLabel2) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(button_deconvolution_monosaccharides) .add(button_deconvolution_disaccharides) .add(button_deconvolution_none)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(button_deconvolution_cores) .add(button_deconvolution_terminals)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .add(jLabel3) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(button_representation_table) .add(button_representation_bars) .add(button_representation_errorbars) .add(button_representation_distributions)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(button_normalizebyrow) .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED) .add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(button_ok) .add(button_cancel)) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents private void closeDialog() { setVisible(false); dispose(); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton button_addfirst; private javax.swing.JButton button_addsecond; private javax.swing.JButton button_cancel; private javax.swing.JRadioButton button_deconvolution_terminals; private javax.swing.JRadioButton button_deconvolution_cores; private javax.swing.JRadioButton button_deconvolution_disaccharides; private javax.swing.JRadioButton button_deconvolution_monosaccharides; private javax.swing.JRadioButton button_deconvolution_none; private javax.swing.JRadioButton button_normalization_average; private javax.swing.JRadioButton button_normalization_basepeak; private javax.swing.JRadioButton button_normalization_standardization; private javax.swing.JRadioButton button_normalization_sum; private javax.swing.JCheckBox button_normalizebyrow; private javax.swing.JButton button_ok; private javax.swing.JButton button_removefirst; private javax.swing.JButton button_removesecond; private javax.swing.JRadioButton button_representation_bars; private javax.swing.JRadioButton button_representation_distributions; private javax.swing.JRadioButton button_representation_errorbars; private javax.swing.JRadioButton button_representation_table; private javax.swing.ButtonGroup buttongroup_deconvolution; private javax.swing.ButtonGroup buttongroup_normalization; private javax.swing.ButtonGroup buttongroup_representation; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JSeparator jSeparator1; private javax.swing.JList list_firstgroup; private javax.swing.JList list_profiles; private javax.swing.JList list_secondgroup; // End of variables declaration//GEN-END:variables }