01: /*
02: * Created on 10/08/2005
03: *
04: * Swing Components - visit http://sf.net/projects/gfd
05: *
06: * Copyright (C) 2004 Igor Regis da Silva Simões
07: *
08: * This program is free software; you can redistribute it and/or
09: * modify it under the terms of the GNU General Public License
10: * as published by the Free Software Foundation; either version 2
11: * of the License, or (at your option) any later version.
12: *
13: * This program is distributed in the hope that it will be useful,
14: * but WITHOUT ANY WARRANTY; without even the implied warranty of
15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: * GNU General Public License for more details.
17: *
18: * You should have received a copy of the GNU General Public License
19: * along with this program; if not, write to the Free Software
20: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21: */
22: package br.com.gfp.actions;
23:
24: import java.awt.event.ActionEvent;
25: import java.awt.event.ActionListener;
26:
27: import org.flexdock.docking.DockingConstants;
28: import org.flexdock.view.View;
29:
30: import br.com.gfp.dao.GFPController;
31: import br.com.gfp.windows.views.HelpView;
32:
33: /**
34: * @author Igor Regis da Silva Simoes
35: */
36: public class HelpAction implements ActionListener {
37: private static HelpAction action = null;
38:
39: /**
40: *
41: */
42: private HelpAction() {
43: super ();
44: }
45:
46: /**
47: * @return Retorna uma instancia desta action
48: */
49: public static HelpAction getAction() {
50: return action;
51: }
52:
53: /**
54: *
55: */
56: public static void initializeAction() {
57: if (action == null)
58: action = new HelpAction();
59: }
60:
61: /**
62: * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
63: */
64: public void actionPerformed(final ActionEvent e) {
65: (new Thread("HelpGFP") {
66: @Override
67: public void run() {
68: View helpView = (View) GFPController.getGFPController()
69: .getContexto().getWeak(
70: GFPController.HELP_WINDOW);
71: if (helpView != null)//Se a janela estiver no contexto (aberta ou ainda não recolhida pelo GC)
72: {
73: if (!helpView.isActive())//Se ela estiver fechada...
74: {
75: View rootWindow = (View) GFPController
76: .getGFPController().getContexto().get(
77: GFPController.ROOT_WINDOW);
78: rootWindow.dock(helpView,
79: DockingConstants.EAST_REGION);//Adicionamos devolta a tela
80: }
81: } else//Se ela já foi fechada e recolhida pelo GC...
82: {
83: helpView = new HelpView();//Criamos uma nova
84: GFPController.getGFPController().getContexto()
85: .putWeak(GFPController.HELP_WINDOW,
86: helpView);
87:
88: View rootWindow = (View) GFPController
89: .getGFPController().getContexto().get(
90: GFPController.ROOT_WINDOW);
91: rootWindow.dock(helpView,
92: DockingConstants.EAST_REGION, 0.3f);//Adicionamos devolta a tela
93: }
94:
95: helpView.setActive(true);//Fazemos com que ela abra na tela
96: }
97: }).start();
98: }
99: }
|