01: /*
02: ItsNat Java Web Application Framework
03: Copyright (C) 2007 Innowhere Software Services S.L., Spanish Company
04: Author: Jose Maria Arranz Santamaria
05:
06: This program is free software: you can redistribute it and/or modify
07: it under the terms of the GNU Affero General Public License as published by
08: the Free Software Foundation, either version 3 of the License, or
09: (at your option) any later version. See the GNU Affero General Public
10: License for more details. See the copy of the GNU Affero General Public License
11: included in this program. If not, see <http://www.gnu.org/licenses/>.
12: */
13:
14: package org.itsnat.impl.comp.html;
15:
16: import javax.swing.ButtonModel;
17: import org.itsnat.core.event.DOMEvent;
18: import org.itsnat.impl.comp.ItsNatButtonBasedSharedImpl;
19: import org.w3c.dom.events.Event;
20:
21: /**
22: *
23: * @author jmarranz
24: */
25: public class ItsNatHTMLFormCompButtonSharedImpl {
26:
27: /**
28: * Creates a new instance of ItsNatHTMLFormCompButtonSharedImpl
29: */
30: public ItsNatHTMLFormCompButtonSharedImpl() {
31: }
32:
33: public static boolean handleEvent(ButtonModel dataModel, Event evt,
34: ItsNatHTMLFormCompValueBasedImpl parentComp) {
35: // En los botones toggle la pulsación supone que el modelo cambie la selección, evitamos de
36: // la siguiente manera que el cambio que se produjo ya en el cliente se propague de nuevo al cliente por mutation events
37: // En los botones normales no hará para nada
38: boolean res;
39:
40: parentComp.setServerUpdatingFromClient((DOMEvent) evt);
41:
42: try {
43: res = ItsNatButtonBasedSharedImpl.handleEvent(dataModel,
44: evt);
45: } finally {
46: parentComp.setServerUpdatingFromClient(null);
47: }
48:
49: return res;
50: }
51: }
|