org.geotoolkit.gui.swing.propertyedit.styleproperty.JAnalizePanel.java Source code

Java tutorial

Introduction

Here is the source code for org.geotoolkit.gui.swing.propertyedit.styleproperty.JAnalizePanel.java

Source

/*
 *    Geotoolkit - An Open Source Java GIS Toolkit
 *    http://www.geotoolkit.org
 *
 *    (C) 2009 Geomatys
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.
 *
 *    This library 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.
 */

package org.geotoolkit.gui.swing.propertyedit.styleproperty;

import java.awt.Color;

import java.awt.Component;
import java.text.NumberFormat;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JList;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;

import org.geotoolkit.gui.swing.resource.MessageBundle;
import org.geotoolkit.style.interval.IntervalStyleBuilder;
import org.geotoolkit.style.interval.IntervalStyleBuilder.METHOD;

import org.jdesktop.swingx.combobox.EnumComboBoxModel;
import org.jdesktop.swingx.decorator.Highlighter;
import org.jdesktop.swingx.decorator.HighlighterFactory;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYBarRenderer;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;

/**
 *
 * @author Johann Sorel (Geomatys)
 * @module
 */
public class JAnalizePanel extends javax.swing.JPanel {

    private static NumberFormat FORMAT = NumberFormat.getNumberInstance();

    private final IntervalStyleBuilder analyze;

    /** Creates new form JAnalizePanel */
    public JAnalizePanel(final IntervalStyleBuilder analyze) {
        this.analyze = analyze;
        initComponents();

        guiMethod.setModel(new EnumComboBoxModel(IntervalStyleBuilder.METHOD.class));
        guiMethod.setRenderer(new MethodRenderer());

        refresh();
    }

    private void refresh() {
        guiCount.setText(String.valueOf(analyze.getCount()));
        guiSum.setText(FORMAT.format(analyze.getSum()));
        guiMinimum.setText(FORMAT.format(analyze.getMinimum()));
        guiMaximum.setText(FORMAT.format(analyze.getMaximum()));
        guiMean.setText(FORMAT.format(analyze.getMean()));
        guiMedian.setText(FORMAT.format(analyze.getMedian()));

        guiChart.removeAll();
        guiChart.add(new ChartPanel(getChart((Integer) guiDivision.getModel().getValue())));

        double[] values = analyze.getValues();
        Double[][] vals = new Double[values.length][1];

        for (int i = 0; i < values.length; i++) {
            vals[i][0] = values[i];
        }

        guiTable.setTableHeader(null);
        guiTable.setModel(new DefaultTableModel(vals, new String[] { "" }) {

            @Override
            public Class<?> getColumnClass(int columnIndex) {
                return Double.class;
            }

        });
        guiTable.setShowGrid(false, false);
        guiTable.setHighlighters(new Highlighter[] {
                HighlighterFactory.createAlternateStriping(Color.white, HighlighterFactory.QUICKSILVER, 1) });
        guiTable.revalidate();
        guiTable.repaint();

        guiTable.setEditable(analyze.getMethod() == METHOD.MANUAL);

        guiTable.getModel().addTableModelListener(new TableModelListener() {

            @Override
            public void tableChanged(TableModelEvent e) {
                double[] values = new double[guiTable.getModel().getRowCount()];
                for (int i = 0; i < values.length; i++) {
                    values[i] = Double.valueOf(guiTable.getModel().getValueAt(i, 0).toString());
                }

                analyze.setValues(values);

            }
        });

        guiMethod.setSelectedItem(analyze.getMethod());

    }

    public JFreeChart getChart(final int nbDivision) {
        XYSeries series = new XYSeries("Data");

        double before = analyze.getMinimum();
        for (float i = 1; i <= nbDivision; i++) {
            final double localmin = before;
            final double localmax = analyze.getMinimum()
                    + (i / nbDivision) * (analyze.getMaximum() - analyze.getMinimum());
            before = localmax;
            long localsum = 0;

            for (Double d : analyze.getAllValues()) {
                if (i == 100) {
                    //last element
                    if (d >= localmin && d <= localmax) {
                        localsum++;
                    }
                } else {
                    if (d >= localmin && d < localmax) {
                        localsum++;
                    }
                }
            }
            series.add(analyze.getMinimum() + (localmin + localmax) / 2, localsum);
        }

        XYSeriesCollection dataset = new XYSeriesCollection(series);

        JFreeChart chart = ChartFactory.createXYBarChart("", "", false, "", dataset, PlotOrientation.VERTICAL,
                false, false, false);

        XYPlot plot = chart.getXYPlot();
        ((XYBarRenderer) plot.getRenderer()).setShadowVisible(false);
        ((XYBarRenderer) plot.getRenderer()).setUseYInterval(false);
        ((XYBarRenderer) plot.getRenderer()).setMargin(0);

        chart.getPlot().setBackgroundAlpha(0);
        chart.setBackgroundPaint(new Color(0f, 0f, 0f, 0f));

        return chart;
    }

    /** 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() {

        jPanel2 = new javax.swing.JPanel();
        guiLblCount = new javax.swing.JLabel();
        guiLblMinimum = new javax.swing.JLabel();
        guiLblMaximum = new javax.swing.JLabel();
        guiLblSum = new javax.swing.JLabel();
        guiCount = new javax.swing.JLabel();
        guiMinimum = new javax.swing.JLabel();
        guiMaximum = new javax.swing.JLabel();
        guiSum = new javax.swing.JLabel();
        jSeparator2 = new javax.swing.JSeparator();
        guiLblMean = new javax.swing.JLabel();
        guiLblMedian = new javax.swing.JLabel();
        guiMean = new javax.swing.JLabel();
        guiMedian = new javax.swing.JLabel();
        jSeparator3 = new javax.swing.JSeparator();
        guiLblMethod = new javax.swing.JLabel();
        guiLblClasses = new javax.swing.JLabel();
        guiMethod = new javax.swing.JComboBox();
        guiClasses = new javax.swing.JSpinner();
        jSplitPane1 = new javax.swing.JSplitPane();
        jPanel1 = new javax.swing.JPanel();
        jPanel3 = new javax.swing.JPanel();
        guiLblDivision = new javax.swing.JLabel();
        guiDivision = new javax.swing.JSpinner();
        guiChart = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        guiTable = new org.jdesktop.swingx.JXTable();

        jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        guiLblCount.setText(MessageBundle.format("count")); // NOI18N

        guiLblMinimum.setText(MessageBundle.format("minimum")); // NOI18N

        guiLblMaximum.setText(MessageBundle.format("maximum")); // NOI18N

        guiLblSum.setText(MessageBundle.format("sum")); // NOI18N

        guiCount.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        guiCount.setText("0");
        guiCount.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);

        guiMinimum.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        guiMinimum.setText("0");
        guiMinimum.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);

        guiMaximum.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        guiMaximum.setText("0");
        guiMaximum.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);

        guiSum.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        guiSum.setText("0");
        guiSum.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);

        jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL);

        guiLblMean.setText(MessageBundle.format("mean")); // NOI18N

        guiLblMedian.setText(MessageBundle.format("median")); // NOI18N

        guiMean.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        guiMean.setText("0");

        guiMedian.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        guiMedian.setText("0");

        jSeparator3.setOrientation(javax.swing.SwingConstants.VERTICAL);

        guiLblMethod.setText(MessageBundle.format("method")); // NOI18N

        guiLblClasses.setText(MessageBundle.format("classes")); // NOI18N

        guiMethod.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                guiMethodActionPerformed(evt);
            }
        });

        guiClasses.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(5), Integer.valueOf(1), null,
                Integer.valueOf(1)));
        guiClasses.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                guiClassesStateChanged(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(jPanel2Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap()
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel2Layout.createSequentialGroup().addComponent(guiLblMethod)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(guiMethod, javax.swing.GroupLayout.PREFERRED_SIZE, 130,
                                                javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(jPanel2Layout.createSequentialGroup().addComponent(guiLblClasses)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(guiClasses, javax.swing.GroupLayout.PREFERRED_SIZE, 129,
                                                javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 6,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel2Layout.createSequentialGroup().addComponent(guiLblCount)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(guiCount))
                                .addGroup(jPanel2Layout.createSequentialGroup().addComponent(guiLblMean)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(guiMean))
                                .addGroup(jPanel2Layout.createSequentialGroup().addComponent(guiLblMedian)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(guiMedian)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 6,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel2Layout.createSequentialGroup().addComponent(guiLblMinimum)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(guiMinimum))
                                .addGroup(jPanel2Layout.createSequentialGroup().addComponent(guiLblMaximum)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(guiMaximum))
                                .addGroup(jPanel2Layout.createSequentialGroup().addComponent(guiLblSum)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(guiSum)))
                        .addContainerGap(103, Short.MAX_VALUE)));

        jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
                new java.awt.Component[] { guiClasses, guiMethod });

        jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
                new java.awt.Component[] { guiLblClasses, guiLblMethod });

        jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
                new java.awt.Component[] { guiLblCount, guiLblMean, guiLblMedian });

        jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
                new java.awt.Component[] { guiLblMaximum, guiLblMinimum, guiLblSum });

        jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
                new java.awt.Component[] { guiMaximum, guiMinimum, guiSum });

        jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL,
                new java.awt.Component[] { guiCount, guiMean, guiMedian });

        jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap()
                                        .addGroup(jPanel2Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(guiLblMethod).addComponent(guiMethod,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(jPanel2Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(guiLblClasses).addComponent(guiClasses,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE,
                                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                                        javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap()
                                        .addGroup(jPanel2Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(guiLblCount).addComponent(guiCount))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(jPanel2Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(guiLblMean).addComponent(guiMean))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(jPanel2Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(guiLblMedian).addComponent(guiMedian)))
                                .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap()
                                        .addGroup(jPanel2Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(guiLblMinimum).addComponent(guiMinimum))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(jPanel2Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(guiLblMaximum).addComponent(guiMaximum))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(jPanel2Layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(guiLblSum).addComponent(guiSum))))
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addComponent(jSeparator3, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)
                .addComponent(jSeparator2, javax.swing.GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE));

        jSplitPane1.setBorder(null);
        jSplitPane1.setDividerLocation(225);
        jSplitPane1.setDividerSize(3);

        jPanel1.setLayout(new java.awt.BorderLayout());

        guiLblDivision.setText(MessageBundle.format("division")); // NOI18N

        guiDivision.setModel(new javax.swing.SpinnerNumberModel(50, 1, 100, 1));
        guiDivision.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                guiDivisionStateChanged(evt);
            }
        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
                jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                        jPanel3Layout.createSequentialGroup().addContainerGap().addComponent(guiLblDivision)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(guiDivision, javax.swing.GroupLayout.PREFERRED_SIZE, 84,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addContainerGap(138, Short.MAX_VALUE)));
        jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(guiLblDivision).addComponent(guiDivision,
                                javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.PREFERRED_SIZE)));

        jPanel1.add(jPanel3, java.awt.BorderLayout.NORTH);

        guiChart.setLayout(new java.awt.BorderLayout());
        jPanel1.add(guiChart, java.awt.BorderLayout.CENTER);

        jSplitPane1.setRightComponent(jPanel1);

        guiTable.setBorder(null);
        guiTable.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {

        }, new String[] {

        }));
        jScrollPane1.setViewportView(guiTable);

        jSplitPane1.setLeftComponent(jScrollPane1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                        Short.MAX_VALUE)
                .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 531, Short.MAX_VALUE));
        layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jSplitPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 238, Short.MAX_VALUE)));
    }// </editor-fold>//GEN-END:initComponents

    private void guiMethodActionPerformed(final java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guiMethodActionPerformed
        analyze.setMethod((METHOD) guiMethod.getSelectedItem());
        refresh();
    }//GEN-LAST:event_guiMethodActionPerformed

    private void guiClassesStateChanged(final javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_guiClassesStateChanged
        analyze.setNbClasses((Integer) guiClasses.getModel().getValue());
        refresh();
    }//GEN-LAST:event_guiClassesStateChanged

    private void guiDivisionStateChanged(final javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_guiDivisionStateChanged
        guiChart.removeAll();
        guiChart.add(new ChartPanel(getChart((Integer) guiDivision.getModel().getValue())));
        guiChart.revalidate();
        guiChart.repaint();
    }//GEN-LAST:event_guiDivisionStateChanged

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel guiChart;
    private javax.swing.JSpinner guiClasses;
    private javax.swing.JLabel guiCount;
    private javax.swing.JSpinner guiDivision;
    private javax.swing.JLabel guiLblClasses;
    private javax.swing.JLabel guiLblCount;
    private javax.swing.JLabel guiLblDivision;
    private javax.swing.JLabel guiLblMaximum;
    private javax.swing.JLabel guiLblMean;
    private javax.swing.JLabel guiLblMedian;
    private javax.swing.JLabel guiLblMethod;
    private javax.swing.JLabel guiLblMinimum;
    private javax.swing.JLabel guiLblSum;
    private javax.swing.JLabel guiMaximum;
    private javax.swing.JLabel guiMean;
    private javax.swing.JLabel guiMedian;
    private javax.swing.JComboBox guiMethod;
    private javax.swing.JLabel guiMinimum;
    private javax.swing.JLabel guiSum;
    private org.jdesktop.swingx.JXTable guiTable;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JSplitPane jSplitPane1;
    // End of variables declaration//GEN-END:variables

    private class MethodRenderer extends DefaultListCellRenderer {

        @Override
        public Component getListCellRendererComponent(final JList list, final Object value, final int index,
                final boolean isSelected, final boolean cellHasFocus) {
            super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);

            MethodRenderer.this.setText(" ");

            if (value instanceof IntervalStyleBuilder.METHOD) {
                METHOD mt = (METHOD) value;

                final String txt;
                switch (mt) {
                case EL:
                    txt = MessageBundle.format("el");
                    break;
                case MANUAL:
                    txt = MessageBundle.format("manual");
                    break;
                default:
                    txt = MessageBundle.format("qantile");
                    break;
                }
                MethodRenderer.this.setText(txt);
            }
            return MethodRenderer.this;
        }
    }

}