0deb3f22a732c389c3b866dd8e4c72333a70f89a
[scilab.git] / scilab / modules / xcos / src / java / org / scilab / modules / xcos / palette / actions / SearchAction.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2015 - 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.1-en.txt
10  *
11  */
12
13 package org.scilab.modules.xcos.palette.actions;
14
15 import java.awt.Dimension;
16 import java.awt.FlowLayout;
17 import java.awt.event.ActionEvent;
18 import java.lang.reflect.InvocationTargetException;
19
20 import javax.swing.ImageIcon;
21 import javax.swing.JButton;
22 import javax.swing.JPanel;
23 import javax.swing.JTextField;
24
25 import org.scilab.modules.commons.gui.FindIconHelper;
26 import org.scilab.modules.commons.gui.ScilabLAF;
27 import org.scilab.modules.gui.events.callback.CommonCallBack;
28 import org.scilab.modules.xcos.utils.XcosMessages;
29
30 /**
31  * Search Palettes Action
32  * @author Marcos CARDINOT <mcardinot@gmail.com>
33  */
34 public class SearchAction extends CommonCallBack {
35
36     private static final long serialVersionUID = 1L;
37
38     private static final String LABEL_SEARCH = XcosMessages.SEARCH;
39     private static final String ICON_SEARCH = FindIconHelper.findIcon("system-search");
40
41     private static JButton btnSearch;
42     private static JTextField txtSearch;
43     private static JPanel searchBar;
44
45     /**
46      * Constructor
47      */
48     public SearchAction() {
49         super("");
50     }
51
52     /**
53      * Create the search bar
54      * @return JPanel
55      */
56     public static JPanel createSearchBar() {
57         searchBar = new JPanel();
58         searchBar.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
59
60         txtSearch = new JTextField();
61         txtSearch.setPreferredSize(new Dimension(150, 22));
62         searchBar.add(txtSearch);
63
64         btnSearch = new JButton();
65         ScilabLAF.setDefaultProperties(btnSearch);
66         btnSearch.setIcon(new ImageIcon(ICON_SEARCH));
67         btnSearch.setToolTipText(LABEL_SEARCH);
68         btnSearch.addActionListener(getCallBack());
69         btnSearch.setFocusable(true);
70         btnSearch.setBorderPainted(false);
71         searchBar.add(btnSearch);
72
73         return searchBar;
74     }
75
76     /**
77      * Create a new class instance
78      * @return the instance
79      */
80     private static CommonCallBack getCallBack() {
81         CommonCallBack callback = null;
82         try {
83             callback = SearchAction.class.getConstructor().newInstance();
84         } catch (IllegalArgumentException e) {
85             e.printStackTrace();
86         } catch (SecurityException e) {
87             e.printStackTrace();
88         } catch (InstantiationException e) {
89             e.printStackTrace();
90         } catch (IllegalAccessException e) {
91             e.printStackTrace();
92         } catch (InvocationTargetException e) {
93             e.printStackTrace();
94         } catch (NoSuchMethodException e) {
95             e.printStackTrace();
96         }
97         return callback;
98     }
99
100     /**
101      * Action
102      * @param e ActionEvent
103      */
104     public void actionPerformed(ActionEvent e) {
105         // TODO
106     }
107
108     @Override
109     public void callBack() {
110     }
111 }