Package timeflow.app.ui

Source Code of timeflow.app.ui.ColorLegendPanel

package timeflow.app.ui;

import timeflow.model.*;
import timeflow.app.ui.filter.FilterCategoryPanel;
import timeflow.data.db.*;
import timeflow.data.db.filter.FieldValueFilter;
import timeflow.data.db.filter.ValueFilter;
import timeflow.data.time.*;

import timeflow.util.*;

import java.awt.*;

import javax.swing.JLabel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class ColorLegendPanel extends ModelPanel {
 

  Field oldColor;

  public ColorLegendPanel(TFModel model)
  {
    super(model);
    setBackground(Color.white);
    setLayout(new GridLayout(1,1));
  }
 
  @Override
  public void note(TFEvent e) {
    Field color=getModel().getColorField();
    if (color!=null && color!=oldColor)
    {
        removeAll();
        final FilterCategoryPanel p=new FilterCategoryPanel("Color Legend: '"+color.getName()+"'",
            color, this);
        add(p);
        Bag<String> data=DBUtils.countValues(getModel().getDB().all(), color);
        p.setData(data);
        p.dataList.addListSelectionListener(new ListSelectionListener() {       
          @Override
          public void valueChanged(ListSelectionEvent e) {
            ValueFilter f=(ValueFilter)p.defineFilter()
            getModel().setGrayFilter(f, this);
          }
        });
       
        oldColor=color;
        revalidate();
        return;
    } else if (color==null)
    {
      removeAll();
    }
    repaint();
  }
 
  public Dimension getPreferredSize()
  {
    return new Dimension(200,400);
  }
}
TOP

Related Classes of timeflow.app.ui.ColorLegendPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.