package com.dlsc.flexgantt.showcase.demo.textures;

import java.awt.BorderLayout;

import javax.swing.JPanel;
import javax.swing.SwingUtilities;

import com.dlsc.flexgantt.showcase.AbstractDemo;
import com.dlsc.flexgantt.showcase.DemoControlsPanel;
import com.dlsc.flexgantt.swing.GanttChart;
import com.dlsc.flexgantt.swing.GanttChartFrame;
import com.dlsc.flexgantt.swing.layer.LayerContainer;
import com.dlsc.flexgantt.swing.treetable.TreeTable;

public class TextureDemo extends AbstractDemo {
    
    public TextureDemo() {
        super("Textures");
    }

    @Override
    public String[] getSourceCodeFileNames() {
        return new String[] { "TextureDemo", "TextureChooser" };
    }

    @Override
    public void run(boolean embedded) {
        GanttChart gc = createGanttChart();
        TreeTable tt = gc.getTreeTable();
        tt.setAlternatingBackground(null);
        tt.setRootVisible(false);
        
        LayerContainer lc = gc.getLayerContainer();
        lc.setAlternatingBackground(null);
        
        GanttChartFrame frame = createFrame("Textures", gc, embedded);
        
        TextureChooser chooser = new TextureChooser("Textures", gc, tt, lc);

        JPanel controls = new DemoControlsPanel(this);
        controls.setLayout(new BorderLayout());
        controls.add(BorderLayout.NORTH, chooser);
        
        frame.add(BorderLayout.EAST, controls);
        frame.center();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new TextureDemo());
    }
}
