GED: Arc Properties
[scilab.git] / scilab / modules / gui / src / java / org / scilab / modules / gui / ged / graphic_objects / arc / Style.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2013 - Marcos CARDINOT
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12 package org.scilab.modules.gui.ged.graphic_objects.arc;
13
14 import javax.swing.JPanel;
15 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
16 import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
17 import org.scilab.modules.gui.ged.MessagesGED;
18 import org.scilab.modules.gui.ged.graphic_objects.SimpleSection;
19 import org.scilab.modules.gui.ged.graphic_objects.properties.ContouredObject;
20
21 /**
22 * Construction and startup of all components of the section: Style/Appeareance.
23 * @author Marcos CARDINOT <mcardinot@gmail.com>
24 */
25 public class Style extends SimpleSection {
26     private JPanel sectionPanel;
27     private static Style instance;
28     private ContouredObject contouredObject = new ContouredObject();
29
30     /**
31     * Receives and passes the objectID to the parent class.
32     * @param objectID Enters the identification of object.
33     */
34     public Style(String objectID) {
35         super(MessagesGED.style_appearance, "arc");
36         instance = this;
37         sectionPanel = getSectionPanel();
38         initComponents(objectID);
39     }
40
41     /**
42      * Get instance
43      * @return instance
44      */
45     public static Style getInstance() {
46         return instance;
47     }
48
49     /**
50     * Initialize the Components.
51     */
52     @Override
53     public final void initComponents(String objectID) {
54         int row = 0;
55         final int leftmargin = 16; //to inner components
56         int column = 0; //first column
57
58         String parentFigure = (String) GraphicController.getController()
59                 .getProperty(objectID, GraphicObjectProperties.__GO_PARENT_FIGURE__);
60
61         //Components of the property: Fill Mode
62         contouredObject.fillMode(sectionPanel, row++, column, leftmargin, objectID);
63
64         //Components of the property: Background Color
65         contouredObject.backgroundColor(sectionPanel, row++, column, leftmargin, objectID, parentFigure);
66
67         //Components of the property: Line Mode
68         contouredObject.lineMode(sectionPanel, row++, column, leftmargin, objectID);
69
70         //Components of the property: Foreground Color
71         contouredObject.lineColor(sectionPanel, row++, column, leftmargin,
72                                   objectID, parentFigure, "arc.Style", this);
73
74         //Components of the property: Line Style
75         contouredObject.lineStyle(sectionPanel, row++, column, leftmargin, objectID);
76
77         //Components of the property: Thickness
78         contouredObject.thickness(sectionPanel, row++, column, leftmargin, objectID);
79     }
80
81     /**
82     * Change the color of the object.
83     * @param scilabColor index of the color map.
84     * @param UID objectID.
85     */
86     public void setForegroundColor(int scilabColor, String UID) {
87         GraphicController.getController().setProperty(
88                 UID, GraphicObjectProperties.__GO_LINE_COLOR__, scilabColor);
89     }
90 }