/* * #%L * gitools-ui-app * %% * Copyright (C) 2013 Universitat Pompeu Fabra - Biomedical Genomics group * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * 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 General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ package org.gitools.ui.app.analysis.combination.wizard; import org.gitools.api.matrix.IMatrixLayer; import org.gitools.api.matrix.view.IMatrixViewLayers; import org.gitools.matrix.model.MatrixLayer; import org.gitools.ui.platform.IconUtils; import org.gitools.ui.platform.icons.IconNames; import org.gitools.ui.platform.wizard.AbstractWizardPage; import javax.swing.*; import java.util.Vector; public class CombinationAnalysisParamsPage extends AbstractWizardPage { private static IMatrixLayer ALL_COLUMNS = new MatrixLayer("null-selection", Void.class, "All columns with the same weight", ""); public CombinationAnalysisParamsPage(IMatrixViewLayers<?> layers) { initComponents(); setTitle("Configure combination options"); setLogo(IconUtils.getImageIconResourceScaledByHeight(IconNames.LOGO_METHOD, 96)); setComplete(true); Vector<IMatrixLayer> pvalueLayers = new Vector<>(); Vector<IMatrixLayer> sizeLayers = new Vector<>(); sizeLayers.add(ALL_COLUMNS); for (IMatrixLayer layer : layers) { //TODO Add only valid layers. Ex: skip 'string' layers sizeLayers.add(layer); pvalueLayers.add(layer); } sizeAttrCb.setModel(new DefaultComboBoxModel(sizeLayers)); pvalueAttrCb.setModel(new DefaultComboBoxModel(pvalueLayers)); pvalueAttrCb.setSelectedItem(layers.getTopLayer()); /* sizeAttrLabel.setEnabled(true); sizeAttrCb.setEnabled(true); pvalueAttrLabel.setEnabled(true); pvalueAttrCb.setEnabled(true); */ } public String getSizeLayerId() { IMatrixLayer sizeLayer = (IMatrixLayer) sizeAttrCb.getSelectedItem(); return (sizeLayer == ALL_COLUMNS ? null : sizeLayer.getId()); } public String getPvalueLayerId() { return ((IMatrixLayer) pvalueAttrCb.getSelectedItem()).getId(); } public boolean isTransposeEnabled() { return applyToRowsRb.isSelected(); } public void setTransposeEnabled(boolean transpose) { applyToColumnsRb.setSelected(!transpose); } /** * 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. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { applyButtonGroup = new javax.swing.ButtonGroup(); sizeAttrLabel = new javax.swing.JLabel(); sizeAttrCb = new javax.swing.JComboBox(); jLabel2 = new javax.swing.JLabel(); applyToColumnsRb = new javax.swing.JRadioButton(); applyToRowsRb = new javax.swing.JRadioButton(); pvalueAttrLabel = new javax.swing.JLabel(); pvalueAttrCb = new javax.swing.JComboBox(); sizeAttrLabel.setText("Size layer"); jLabel2.setText("Apply to:"); applyButtonGroup.add(applyToColumnsRb); applyToColumnsRb.setSelected(true); applyToColumnsRb.setText("Columns"); applyButtonGroup.add(applyToRowsRb); applyToRowsRb.setText("Rows"); pvalueAttrLabel.setText("P-value layer"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false).addComponent(sizeAttrLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addComponent(pvalueAttrLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addComponent(sizeAttrCb, 0, 304, Short.MAX_VALUE).addComponent(pvalueAttrCb, javax.swing.GroupLayout.Alignment.LEADING, 0, 304, Short.MAX_VALUE))).addComponent(jLabel2).addComponent(applyToColumnsRb).addComponent(applyToRowsRb)).addContainerGap())); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(sizeAttrLabel).addComponent(sizeAttrCb, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(pvalueAttrLabel).addComponent(pvalueAttrCb, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(18, 18, 18).addComponent(jLabel2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(applyToColumnsRb).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(applyToRowsRb).addContainerGap(125, Short.MAX_VALUE))); }// </editor-fold>//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.ButtonGroup applyButtonGroup; private javax.swing.JRadioButton applyToColumnsRb; private javax.swing.JRadioButton applyToRowsRb; private javax.swing.JLabel jLabel2; private javax.swing.JComboBox pvalueAttrCb; private javax.swing.JLabel pvalueAttrLabel; private javax.swing.JComboBox sizeAttrCb; private javax.swing.JLabel sizeAttrLabel; // End of variables declaration//GEN-END:variables }