GPL + CeCILL Header change
[scilab.git] / scilab / modules / xcos / src / java / org / scilab / modules / xcos / utils / PaletteComponent.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2009 - DIGITEO - Clement DAVID
4  * Copyright (C) 2011-2015 - Scilab Enterprises - Clement DAVID
5  *
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  * === LICENSE_END ===
15  *
16  */
17
18 package org.scilab.modules.xcos.utils;
19
20 import java.awt.event.ComponentEvent;
21 import java.awt.event.ComponentListener;
22
23 import org.scilab.modules.graph.ScilabComponent;
24 import org.scilab.modules.xcos.graph.PaletteDiagram;
25 import org.scilab.modules.xcos.graph.XcosDiagram;
26
27 /**
28  * Customize the default component
29  *
30  * @see java.awt.Component
31  */
32 public class PaletteComponent extends ScilabComponent {
33
34     private static final long serialVersionUID = 1592816691330208090L;
35
36     /**
37      * Construct the component with the associated graph
38      *
39      * @param graph
40      *            The associated graph
41      */
42     public PaletteComponent(XcosDiagram graph) {
43         super(graph);
44
45         addComponentListener(new ComponentListener() {
46
47             @Override
48             public void componentShown(ComponentEvent arg0) {
49                 if (getGraph() instanceof PaletteDiagram) {
50                     ((PaletteDiagram) getGraph()).updateDiagram(getSize()
51                             .getWidth());
52                 }
53             }
54
55             @Override
56             public void componentResized(ComponentEvent arg0) {
57                 if (getGraph() instanceof PaletteDiagram) {
58                     ((PaletteDiagram) getGraph()).updateDiagram(getSize()
59                             .getWidth());
60                 }
61             }
62
63             @Override
64             public void componentMoved(ComponentEvent arg0) {
65             }
66
67             @Override
68             public void componentHidden(ComponentEvent arg0) {
69             }
70         });
71     }
72
73     /**
74      * @return The filename
75      */
76     @Override
77     public String toString() {
78         if (getGraph() instanceof PaletteDiagram) {
79             String fileName = ((PaletteDiagram) getGraph()).getName();
80             return fileName.substring(0, fileName.lastIndexOf('.'));
81         } else {
82             return super.toString();
83         }
84     }
85 }