KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > wings > plaf > css > msie > ClickableCG


1 /*
2  * $Id: ClickableCG.java,v 1.2 2005/06/07 12:55:59 neurolabs Exp $
3  * Copyright 2000,2005 wingS development team.
4  *
5  * This file is part of wingS (http://www.j-wings.org).
6  *
7  * wingS is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU Lesser General Public License
9  * as published by the Free Software Foundation; either version 2.1
10  * of the License, or (at your option) any later version.
11  *
12  * Please see COPYING for the complete licence.
13  */

14 package org.wings.plaf.css.msie;
15
16 import java.io.IOException JavaDoc;
17
18 import org.wings.SClickable;
19 import org.wings.SComponent;
20 import org.wings.SConstants;
21 import org.wings.SFrame;
22 import org.wings.event.SParentFrameEvent;
23 import org.wings.event.SParentFrameListener;
24 import org.wings.externalizer.ExternalizeManager;
25 import org.wings.header.Script;
26 import org.wings.io.Device;
27 import org.wings.plaf.css.Utils;
28 import org.wings.resource.ClasspathResource;
29 import org.wings.resource.DefaultURLResource;
30 import org.wings.session.SessionManager;
31
32 /**
33  * @author ole
34  *
35  */

36 public class ClickableCG extends org.wings.plaf.css.ClickableCG implements SParentFrameListener {
37     private static final String JavaDoc FORMS_JS = (String JavaDoc) SessionManager
38     .getSession().getCGManager().getObject("JScripts.form",
39             String JavaDoc.class);
40
41
42     protected void writeButtonStart(Device device, SClickable button) throws IOException JavaDoc {
43         device.print("<button onclick=\"addHiddenField(this.form,'");
44         device.print(button.getParentFrame().getEventEpoch());
45         device.print(SConstants.UID_DIVIDER);
46         device.print(SConstants.IEFIX_BUTTONACTION);
47         device.print("','");
48         device.print(button.getEventTarget().getEncodedLowLevelEventId());
49         device.print(SConstants.UID_DIVIDER);
50         Utils.write(device, button.getEvent());
51         device.print("')\"");
52     }
53
54     public void installCG(SComponent component) {
55         super.installCG(component);
56         component.addParentFrameListener(this);
57     }
58
59     public void parentFrameAdded(SParentFrameEvent e) {
60         SFrame parentFrame = e.getParentFrame();
61         ClasspathResource res = new ClasspathResource(FORMS_JS, "text/javascript");
62         String JavaDoc jScriptUrl = SessionManager.getSession().getExternalizeManager().externalize(res, ExternalizeManager.GLOBAL);
63         parentFrame.addHeader(new Script("text/javascript", new DefaultURLResource(jScriptUrl)));
64     }
65
66     public void parentFrameRemoved(SParentFrameEvent e) {
67     }
68
69 }
70
Popular Tags