View Javadoc
1   /*
2    * Copyright (c) 2002-2025 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * https://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package org.htmlunit.javascript.host.html;
16  
17  import org.htmlunit.corejs.javascript.Function;
18  import org.htmlunit.html.HtmlFrameSet;
19  import org.htmlunit.javascript.configuration.JsxClass;
20  import org.htmlunit.javascript.configuration.JsxConstructor;
21  import org.htmlunit.javascript.configuration.JsxGetter;
22  import org.htmlunit.javascript.configuration.JsxSetter;
23  import org.htmlunit.javascript.host.event.Event;
24  
25  /**
26   * The JavaScript object {@code HTMLFrameSetElement}.
27   *
28   * @author Bruce Chapman
29   * @author Ahmed Ashour
30   * @author Ronald Brill
31   */
32  @JsxClass(domClass = HtmlFrameSet.class)
33  public class HTMLFrameSetElement extends HTMLElement {
34  
35      /**
36       * JavaScript constructor.
37       */
38      @Override
39      @JsxConstructor
40      public void jsConstructor() {
41          super.jsConstructor();
42      }
43  
44      /**
45       * {@inheritDoc}
46       */
47      @Override
48      protected boolean isEventHandlerOnWindow() {
49          return true;
50      }
51  
52      /**
53       * Sets the rows property.
54       *
55       * @param rows the rows attribute value
56       */
57      @JsxSetter
58      public void setRows(final String rows) {
59          final HtmlFrameSet htmlFrameSet = (HtmlFrameSet) getDomNodeOrNull();
60          if (htmlFrameSet != null) {
61              htmlFrameSet.setAttribute("rows", rows);
62          }
63      }
64  
65      /**
66       * Gets the rows property.
67       *
68       * @return the rows attribute value
69       */
70  
71      @JsxGetter
72      public String getRows() {
73          final HtmlFrameSet htmlFrameSet = (HtmlFrameSet) getDomNodeOrNull();
74          return htmlFrameSet.getRowsAttribute();
75      }
76  
77      /**
78       * Sets the cols property.
79       *
80       * @param cols the cols attribute value
81       */
82      @JsxSetter
83      public void setCols(final String cols) {
84          final HtmlFrameSet htmlFrameSet = (HtmlFrameSet) getDomNodeOrNull();
85          if (htmlFrameSet != null) {
86              htmlFrameSet.setAttribute("cols", cols);
87          }
88      }
89  
90      /**
91       * Gets the cols property.
92       *
93       * @return the cols attribute value
94       */
95      @JsxGetter
96      public String getCols() {
97          final HtmlFrameSet htmlFrameSet = (HtmlFrameSet) getDomNodeOrNull();
98          return htmlFrameSet.getColsAttribute();
99      }
100 
101     /**
102      * Returns the {@code onbeforeunload} event handler.
103      * @return the {@code onbeforeunload} event handler
104      */
105     @JsxGetter
106     public Function getOnbeforeunload() {
107         return getEventHandler(Event.TYPE_BEFORE_UNLOAD);
108     }
109 
110     /**
111      * Sets the {@code onbeforeunload} event handler.
112      * @param beforeunload the {@code onbeforeunload} event handler
113      */
114     @JsxSetter
115     public void setOnbeforeunload(final Object beforeunload) {
116         setEventHandler(Event.TYPE_BEFORE_UNLOAD, beforeunload);
117     }
118 
119     /**
120      * Returns the {@code ongamepadconnected} event handler.
121      * @return the {@code ongamepadconnected} event handler
122      */
123     @JsxGetter
124     public Function getOngamepadconnected() {
125         return getEventHandler(Event.TYPE_GAMEPAD_CONNECTED);
126     }
127 
128     /**
129      * Sets the {@code ongamepadconnected} event handler.
130      * @param gamepadconnected the {@code ongamepadconnected} event handler
131      */
132     @JsxSetter
133     public void setOngamepadconnected(final Object gamepadconnected) {
134         setEventHandler(Event.TYPE_GAMEPAD_CONNECTED, gamepadconnected);
135     }
136 
137     /**
138      * Returns the {@code ongamepaddisconnected} event handler.
139      * @return the {@code ongamepaddisconnected} event handler
140      */
141     @JsxGetter
142     public Function getOngamepaddisconnected() {
143         return getEventHandler(Event.TYPE_GAMEPAD_DISCONNECTED);
144     }
145 
146     /**
147      * Sets the {@code ongamepaddisconnected} event handler.
148      * @param gamepaddisconnected the {@code ongamepaddisconnected} event handler
149      */
150     @JsxSetter
151     public void setOngamepaddisconnected(final Object gamepaddisconnected) {
152         setEventHandler(Event.TYPE_GAMEPAD_DISCONNECTED, gamepaddisconnected);
153     }
154 
155     /**
156      * Returns the {@code onhashchange} event handler.
157      * @return the {@code onhashchange} event handler
158      */
159     @JsxGetter
160     public Function getOnhashchange() {
161         return getEventHandler(Event.TYPE_HASH_CHANGE);
162     }
163 
164     /**
165      * Sets the {@code onhashchange} event handler.
166      * @param hashchange the {@code onhashchange} event handler
167      */
168     @JsxSetter
169     public void setOnhashchange(final Object hashchange) {
170         setEventHandler(Event.TYPE_HASH_CHANGE, hashchange);
171     }
172 
173     /**
174      * Returns the {@code onlanguagechange} event handler.
175      * @return the {@code onlanguagechange} event handler
176      */
177     @JsxGetter
178     public Function getOnlanguagechange() {
179         return getEventHandler(Event.TYPE_LANGUAGECHANGE);
180     }
181 
182     /**
183      * Sets the {@code onlanguagechange} event handler.
184      * @param languagechange the {@code onlanguagechange} event handler
185      */
186     @JsxSetter
187     public void setOnlanguagechange(final Object languagechange) {
188         setEventHandler(Event.TYPE_LANGUAGECHANGE, languagechange);
189     }
190 
191     /**
192      * Returns the {@code onmessage} event handler.
193      * @return the {@code onmessage} event handler
194      */
195     @JsxGetter
196     public Function getOnmessage() {
197         return getEventHandler(Event.TYPE_MESSAGE);
198     }
199 
200     /**
201      * Sets the {@code onmessage} event handler.
202      * @param message the {@code onmessage} event handler
203      */
204     @JsxSetter
205     public void setOnmessage(final Object message) {
206         setEventHandler(Event.TYPE_MESSAGE, message);
207     }
208 
209     /**
210      * Returns the {@code onmessageerror} event handler for this element.
211      * @return the {@code onmessageerror} event handler for this element
212      */
213     @JsxGetter
214     public Function getOnmessageerror() {
215         return getEventHandler(Event.TYPE_ONMESSAGEERROR);
216     }
217 
218     /**
219      * Sets the {@code onmessageerror} event handler for this element.
220      * @param onmessageerror the {@code onmessageerror} event handler for this element
221      */
222     @JsxSetter
223     public void setOnmessageerror(final Object onmessageerror) {
224         setEventHandler(Event.TYPE_ONMESSAGEERROR, onmessageerror);
225     }
226 
227     /**
228      * Returns the {@code onoffline} event handler.
229      * @return the {@code onoffline} event handler
230      */
231     @JsxGetter
232     public Function getOnoffline() {
233         return getEventHandler(Event.TYPE_OFFLINE);
234     }
235 
236     /**
237      * Sets the {@code onoffline} event handler.
238      * @param offline the {@code onoffline} event handler
239      */
240     @JsxSetter
241     public void setOnoffline(final Object offline) {
242         setEventHandler(Event.TYPE_OFFLINE, offline);
243     }
244 
245     /**
246      * Returns the {@code ononline} event handler.
247      * @return the {@code ononline} event handler
248      */
249     @JsxGetter
250     public Function getOnonline() {
251         return getEventHandler(Event.TYPE_ONLINE);
252     }
253 
254     /**
255      * Sets the {@code ononline} event handler.
256      * @param online the {@code ononline} event handler
257      */
258     @JsxSetter
259     public void setOnonline(final Object online) {
260         setEventHandler(Event.TYPE_ONLINE, online);
261     }
262 
263     /**
264      * Returns the {@code onpagehide} event handler.
265      * @return the {@code onpagehide} event handler
266      */
267     @JsxGetter
268     public Function getOnpagehide() {
269         return getEventHandler(Event.TYPE_PAGEHIDE);
270     }
271 
272     /**
273      * Sets the {@code onpagehide} event handler.
274      * @param pagehide the {@code onpagehide} event handler
275      */
276     @JsxSetter
277     public void setOnpagehide(final Object pagehide) {
278         setEventHandler(Event.TYPE_PAGEHIDE, pagehide);
279     }
280 
281     /**
282      * Returns the {@code onpageshow} event handler.
283      * @return the {@code onpageshow} event handler
284      */
285     @JsxGetter
286     public Function getOnpageshow() {
287         return getEventHandler(Event.TYPE_PAGESHOW);
288     }
289 
290     /**
291      * Sets the {@code onpageshow} event handler.
292      * @param pageshow the {@code onpageshow} event handler
293      */
294     @JsxSetter
295     public void setOnpageshow(final Object pageshow) {
296         setEventHandler(Event.TYPE_PAGESHOW, pageshow);
297     }
298 
299     /**
300      * Returns the {@code onpopstate} event handler.
301      * @return the {@code onpopstate} event handler
302      */
303     @JsxGetter
304     public Function getOnpopstate() {
305         return getEventHandler(Event.TYPE_POPSTATE);
306     }
307 
308     /**
309      * Sets the {@code onpopstate} event handler.
310      * @param popstate the {@code onpopstate} event handler
311      */
312     @JsxSetter
313     public void setOnpopstate(final Object popstate) {
314         setEventHandler(Event.TYPE_POPSTATE, popstate);
315     }
316 
317     /**
318      * Returns the {@code onrejectionhandled} event handler.
319      * @return the {@code onrejectionhandled} event handler
320      */
321     @JsxGetter
322     public Function getOnrejectionhandled() {
323         return getEventHandler(Event.TYPE_REJECTIONHANDLED);
324     }
325 
326     /**
327      * Sets the {@code onrejectionhandled} event handler.
328      * @param rejectionhandled the {@code onrejectionhandled} event handler
329      */
330     @JsxSetter
331     public void setOnrejectionhandled(final Object rejectionhandled) {
332         setEventHandler(Event.TYPE_REJECTIONHANDLED, rejectionhandled);
333     }
334 
335     /**
336      * Returns the {@code onstorage} event handler.
337      * @return the {@code onstorage} event handler
338      */
339     @JsxGetter
340     public Function getOnstorage() {
341         return getEventHandler(Event.TYPE_STORAGE);
342     }
343 
344     /**
345      * Sets the {@code onstorage} event handler.
346      * @param storage the {@code onstorage} event handler
347      */
348     @JsxSetter
349     public void setOnstorage(final Object storage) {
350         setEventHandler(Event.TYPE_STORAGE, storage);
351     }
352 
353     /**
354      * Returns the {@code onunhandledrejection} event handler.
355      * @return the {@code onunhandledrejection} event handler
356      */
357     @JsxGetter
358     public Function getOnunhandledrejection() {
359         return getEventHandler(Event.TYPE_UNHANDLEDREJECTION);
360     }
361 
362     /**
363      * Sets the {@code onunhandledrejection} event handler.
364      * @param unhandledrejection the {@code onunhandledrejection} event handler
365      */
366     @JsxSetter
367     public void setOnunhandledrejection(final Object unhandledrejection) {
368         setEventHandler(Event.TYPE_UNHANDLEDREJECTION, unhandledrejection);
369     }
370 
371     /**
372      * Returns the {@code onunload} event handler.
373      * @return the {@code onunload} event handler
374      */
375     @JsxGetter
376     public Function getOnunload() {
377         return getEventHandler(Event.TYPE_UNLOAD);
378     }
379 
380     /**
381      * Sets the {@code onunload} event handler.
382      * @param unload the {@code onunload} event handler
383      */
384     @JsxSetter
385     public void setOnunload(final Object unload) {
386         setEventHandler(Event.TYPE_UNLOAD, unload);
387     }
388 
389     /**
390      * Returns the {@code onafterprint} event handler.
391      * @return the {@code onafterprint} event handler
392      */
393     @JsxGetter
394     public Function getOnafterprint() {
395         return getEventHandler(Event.TYPE_AFTERPRINT);
396     }
397 
398     /**
399      * Sets the {@code onafterprint} event handler.
400      * @param afterprint the {@code onafterprint} event handler
401      */
402     @JsxSetter
403     public void setOnafterprint(final Object afterprint) {
404         setEventHandler(Event.TYPE_AFTERPRINT, afterprint);
405     }
406 
407     /**
408      * Returns the {@code onbeforeprint} event handler.
409      * @return the {@code onbeforeprint} event handler
410      */
411     @JsxGetter
412     public Function getOnbeforeprint() {
413         return getEventHandler(Event.TYPE_BEFOREPRINT);
414     }
415 
416     /**
417      * Sets the {@code onbeforeprint} event handler.
418      * @param beforeprint the {@code onbeforeprint} event handler
419      */
420     @JsxSetter
421     public void setOnbeforeprint(final Object beforeprint) {
422         setEventHandler(Event.TYPE_BEFOREPRINT, beforeprint);
423     }
424 }