xref: /trunk/main/svx/inc/sjctrl.hxx (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifdef SOLAR_JAVA
29 
30 #ifndef _SFXSFXJS_HXX
31 #include <sfx2/sfxjs.hxx>
32 #endif
33 
34 class VCControl;
35 class VCForm;
36 class VCManager;
37 class VCRadioManager;
38 
39 
40 // Basis-Klasse aller VCControl-Wrapper-Klassen
41 // Haelt Verweis auf das Control und handelt einige gemeinsame Properties
42 class ImpSjJScriptControlBase
43 {
44   protected:
45     VCControl* pControl;
46 
47   public:
48     // Beibehalten bis zum Vollupdate
49       /*
50     String      getName() const;
51     void        setName( const String & aStrg );
52     String      getValue() const;
53     String      getType() const;
54     */
55 
56     // Methoden von Java --> C++ (f"ur Properties)
57     //--------------------------------------------
58     String      ImpGetName() const;
59     void        ImpSetName( const String & aStrg );
60     String      ImpGetValue() const;
61     void        ImpSetValue( const String & aStrg );
62     String      ImpGetType() const;
63 
64     // Konstruktor
65     ImpSjJScriptControlBase::ImpSjJScriptControlBase( VCControl* _pControl );
66 };
67 
68 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
69 
70 // Button-Control
71 class ImpSjJScriptButtonObject : public SjJScriptButtonObject, ImpSjJScriptControlBase
72 {
73   public:
74     // Methoden von Java --> C++ (f"ur Properties)
75     //--------------------------------------------
76     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
77     virtual String      getName() const;
78     virtual void        setName( const String & aStrg );
79     virtual String      getValue() const;
80     virtual void        setValue( const String & aStrg );
81     virtual String      getType() const;
82 
83     // Methoden des Objektes
84     virtual void        click();
85 
86     // Events (C++ --> Java)
87     //----------------------
88     // Neue Event-Schnittstelle mit Function-Objekten
89     virtual SjJScriptFunctionObject* getOnClick_Fct() const;
90     virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
91     virtual String      getOnClick() const;
92     virtual void        setOnClick( const String & aSourceStrg );
93             void        onClick();
94 
95     // Konstruktor
96     ImpSjJScriptButtonObject( VCControl* _pControl, SjJSbxObject * p );
97 };
98 
99 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
100 
101 // PasswordControl (Edit-Control zur Password-Eingabe)
102 class ImpSjJScriptPasswordObject : public SjJScriptPasswordObject, ImpSjJScriptControlBase
103 {
104   public:
105     // Methoden von Java --> C++ (f"ur Properties)
106     //--------------------------------------------
107     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
108     virtual String      getName() const;
109     virtual void        setName( const String & aStrg );
110     virtual String      getValue() const;
111     virtual String      getType() const;
112 
113     virtual String      getDefaultValue() const;
114     virtual void        setDefaultValue( const String & aStrg );
115     virtual void        setValue( const String & aStrg );
116 
117     // Methoden des Objektes
118     virtual void        focus();
119     virtual void        blur();
120     virtual void        select();
121 
122     // Events (C++ --> Java)
123     //----------------------
124     // keine !
125 
126     // Konstruktor
127     ImpSjJScriptPasswordObject( VCControl* _pControl, SjJSbxObject * p );
128 };
129 
130 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
131 
132 class ImpSjJScriptCheckboxObject : public SjJScriptCheckboxObject, ImpSjJScriptControlBase
133 {
134   public:
135     // Methoden von Java --> C++ (f"ur Properties)
136     //--------------------------------------------
137     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
138     virtual String      getName() const;
139     virtual void        setName( const String & aStrg );
140     virtual String      getValue() const;
141     virtual String      getType() const;
142 
143     virtual sal_Bool        getChecked() const;
144     virtual void        setChecked( sal_Bool bCheck );
145     virtual sal_Bool        getDefaultChecked() const;
146     virtual void        setDefaultChecked( sal_Bool bCheck );
147     // getValue() wird in der Basisklasse definiert
148     virtual void        setValue( const String & aStrg );
149 
150     // Methoden des Objektes
151     virtual void        click();
152 
153     // Events (C++ --> Java)
154     //----------------------
155     // Neue Event-Schnittstelle mit Function-Objekten
156     virtual SjJScriptFunctionObject* getOnClick_Fct() const;
157     virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
158     virtual String      getOnClick() const;
159     virtual void        setOnClick( const String & aSourceStrg );
160             void        onClick();
161 
162     // Konstruktor
163     ImpSjJScriptCheckboxObject( VCControl* _pControl, SjJSbxObject * p );
164 };
165 
166 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
167 
168 // Wrapper-Klasse fuer RadioArray
169 class ImpSjJScriptRadioArray: public SjJSbxArrayObject
170 {
171     VCRadioManager* pMgr;
172 public:
173     sal_Int32 ImpSjJScriptRadioArray::getLength() const;
174     SjJSbxObject* ImpSjJScriptRadioArray::getElement( sal_Int32 nIndex ) const;
175     SjJSbxObject* ImpSjJScriptRadioArray::getElement_String( const String & aName ) const;
176 
177     // Konstruktor
178     ImpSjJScriptRadioArray::ImpSjJScriptRadioArray( VCRadioManager* _pMgr, SjJSbxObject * p );
179 };
180 
181 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
182 
183 class ImpSjJScriptRadioObject : public SjJScriptRadioObject, ImpSjJScriptControlBase
184 {
185   public:
186     // Methoden von Java --> C++ (f"ur Properties)
187     //--------------------------------------------
188     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
189     virtual String      getName() const;
190     virtual void        setName( const String & aStrg );
191     virtual String      getValue() const;
192     virtual String      getType() const;
193 
194     // Properties von SjJScriptCheckboxObject
195     virtual sal_Bool        getChecked() const;
196     virtual void        setChecked( sal_Bool bCheck );
197     virtual sal_Bool        getDefaultChecked() const;
198     virtual void        setDefaultChecked( sal_Bool bCheck );
199     // getValue() wird in der Basisklasse definiert
200     virtual void        setValue( const String & aStrg );
201 
202     // yyy Raus zum inkompatiblen
203     //virtual sal_Int32     getLength();
204 
205     // Methoden des Objektes
206     virtual void        click();
207 
208     // Events (C++ --> Java)
209     // Neue Event-Schnittstelle mit Function-Objekten
210     virtual SjJScriptFunctionObject* getOnClick_Fct() const;
211     virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
212     virtual String      getOnClick() const;
213     virtual void        setOnClick( const String & aSourceStrg );
214             void        onClick();
215 
216     // Konstruktor
217     ImpSjJScriptRadioObject( VCControl* _pControl, SjJSbxObject * p );
218 };
219 
220 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
221 
222 class ImpSjJScriptSelectObject : public SjJScriptSelectObject, ImpSjJScriptControlBase
223 {
224   public:
225     // Methoden von Java --> C++ (f"ur Properties)
226     //--------------------------------------------
227     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
228     virtual String      getName() const;
229     virtual void        setName( const String & aStrg );
230     virtual String      getValue() const;
231     virtual String      getType() const;
232 
233     virtual sal_Int32       getLength();
234     virtual sal_Int32       getSelectedIndex() const;
235     virtual void        setSelectedIndex( sal_Int32 nNo );
236 
237     // liefert eine Array von Option-Objekten
238     //yyy Raus zum inkompatiblen
239     //virtual SjJSbxArrayObject * getOptions();
240 
241     // Methoden des Objektes
242     virtual void        focus();
243     virtual void        blur();
244 
245     // Events (C++ --> Java)
246     //----------------------
247     // Neue Event-Schnittstelle mit Function-Objekten
248     virtual SjJScriptFunctionObject* getOnBlur_Fct() const;
249     virtual void setOnBlur_Fct( SjJScriptFunctionObject* pFunctionObject );
250     virtual SjJScriptFunctionObject* getOnChange_Fct() const;
251     virtual void setOnChange_Fct( SjJScriptFunctionObject* pFunctionObject );
252     virtual SjJScriptFunctionObject* getOnFocus_Fct() const;
253     virtual void setOnFocus_Fct( SjJScriptFunctionObject* pFunctionObject );
254     virtual String      getOnBlur() const;
255     virtual void        setOnBlur( const String & aSourceStrg );
256             void        onBlur();
257     virtual String      getOnChange() const;
258     virtual void        setOnChange( const String & aSourceStrg );
259             void        onChange();
260     virtual String      getOnFocus() const;
261     virtual void        setOnFocus( const String & aSourceStrg );
262             void        onFocus();
263 
264     // SjJSbxArrayObject-Methoden
265     virtual sal_Int32           getLength() const;
266     // Zugriff "uber den Index
267     virtual SjJSbxObject *  getElement( sal_Int32 nIndex ) const;
268     // Zugriff "uber den Namen
269     // native Java-Methoden k"onnen (noch) nicht "uberladen werden
270     //virtual SjJSbxObject *    getElement_String( const String & aName ) const;
271 
272     // Konstruktor
273     ImpSjJScriptSelectObject( VCControl* _pControl, SjJSbxObject * p );
274 
275     // zum Setzen von Eintr"agen am Objket (zum Aufruf von Java aus) 15.1.1997
276     virtual void        setOption( sal_Int32 nIndex, const String & aOptionText,
277                                    const String & aOptionValue,
278                                    sal_Bool bDefaultSelected, sal_Bool bSelected );
279 
280     // Schnittstelle fuer die Properties der Option-Objekte
281     virtual sal_Bool        getOptionDefaultSelected( sal_Int32 nIndex ) const;
282     virtual void        setOptionDefaultSelected( sal_Bool bSelected, sal_Int32 nIndex );
283     virtual sal_Bool        getOptionSelected( sal_Int32 nIndex ) const;
284     virtual void        setOptionSelected( sal_Bool bSelected, sal_Int32 nIndex );
285     virtual String      getOptionText( sal_Int32 nIndex ) const;
286     virtual void        setOptionText( const String & sText, sal_Int32 nIndex );
287     virtual void        setOptionValue( const String & sText, sal_Int32 nIndex );
288     virtual String      getOptionValue( sal_Int32 nIndex ) const;
289 };
290 
291 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
292 
293 // Wieso von Controlbase abgeleitet?
294 
295 class ImpSjJScriptOptionObject : public SjJScriptOptionObject, ImpSjJScriptControlBase
296 {
297     sal_uInt16              nListBoxIndex;
298   public:
299     // Methoden von Java --> C++ (f"ur Properties)
300     //--------------------------------------------
301     virtual sal_Bool        getdefaultSelected() const;
302     virtual void        setdefaultSelected( sal_Bool bSelected );
303     virtual sal_Int32       getIndex() const;
304     virtual sal_Bool        getSelected() const;
305     virtual void        setSelected( sal_Bool bSelected );
306 
307 
308     //yyy Zum Vollupdate raus:
309     /*
310     virtual sal_Int32       getSelectedIndex() const;
311     virtual void        setSelectedIndex( sal_Int32 nNo );
312     */
313 
314 
315     virtual String      getText() const;
316     virtual void        setText( const String & sText );
317     // getValue() wird in der Basisklasse definiert
318     virtual String      getValue() const;
319     virtual void        setValue( const String & aStrg );
320 
321 
322     // DUMMY-Methoden
323     virtual String getName() const { return "";}
324     virtual void setName( const String &s) { }
325     virtual String getType() const { return "";}
326     // Methoden des Objektes
327     // keine !
328 
329     // Events (C++ --> Java)
330     //----------------------
331     // keine !
332 
333     // Konstruktor
334     ImpSjJScriptOptionObject( VCControl* _pControl, SjJSbxObject * p, sal_uInt16 _nListBoxIndex );
335 };
336 
337 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
338 
339 // Eigene Klasse fuer forms-Array anlegen
340 class SjJSbxFormsArray: public SfxJSArray
341 {
342     VCManager* pManager;
343 
344   public:
345     // SjJSbxArrayObject-Methoden
346     virtual sal_Int32           getLength() const;
347     // Zugriff "uber den Index
348     virtual SjJSbxObject *  getElement( sal_Int32 nIndex ) const;
349     // Zugriff "uber den Namen
350     // native Java-Methoden k"onnen (noch) nicht "uberladen werden
351     virtual SjJSbxObject *  getElement_String( const String & aName ) const;
352 
353     // Konstruktor
354     SjJSbxFormsArray( VCManager * _pManager, SjJSbxObject * p );
355 };
356 
357 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
358 
359 class ImpSjJScriptTextObject : public SjJScriptTextObject, ImpSjJScriptControlBase
360 {
361   public:
362     // Methoden von Java --> C++ (f"ur Properties)
363     //--------------------------------------------
364     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
365     virtual String      getName() const;
366     virtual void        setName( const String & aStrg );
367     virtual String      getValue() const;
368     virtual String      getType() const;
369 
370     virtual String      getDefaultValue() const;
371     virtual void        setDefaultValue( const String & aStrg );
372     // getValue() wird in der Basisklasse definiert
373     virtual void        setValue( const String & aStrg );
374 
375     // Methoden des Objektes
376     virtual void        focus();
377     virtual void        blur();
378     virtual void        select();
379 
380     // Events (C++ --> Java)
381     //----------------------
382     // Neue Event-Schnittstelle mit Function-Objekten
383     virtual SjJScriptFunctionObject* getOnBlur_Fct() const;
384     virtual void setOnBlur_Fct( SjJScriptFunctionObject* pFunctionObject );
385     virtual SjJScriptFunctionObject* getOnChange_Fct() const;
386     virtual void setOnChange_Fct( SjJScriptFunctionObject* pFunctionObject );
387     virtual SjJScriptFunctionObject* getOnFocus_Fct() const;
388     virtual void setOnFocus_Fct( SjJScriptFunctionObject* pFunctionObject );
389     virtual SjJScriptFunctionObject* getOnSelect_Fct() const;
390     virtual void setOnSelect_Fct( SjJScriptFunctionObject* pFunctionObject );
391     virtual String      getOnBlur() const;
392     virtual void        setOnBlur( const String & aSourceStrg );
393             void        onBlur();
394     virtual String      getOnChange() const;
395     virtual void        setOnChange( const String & aSourceStrg );
396             void        onChange();
397     virtual String      getOnFocus() const;
398     virtual void        setOnFocus( const String & aSourceStrg );
399             void        onFocus();
400     virtual String      getOnSelect() const;
401     virtual void        setOnSelect( const String & aSourceStrg );
402             void        onSelect();
403 
404     // Konstruktor
405     ImpSjJScriptTextObject( VCControl* _pControl, SjJSbxObject * p );
406 };
407 
408 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
409 
410 class ImpSjJScriptTextareaObject : public SjJScriptTextareaObject, ImpSjJScriptControlBase
411 {
412   public:
413     // Methoden von Java --> C++ (f"ur Properties)
414     //--------------------------------------------
415     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
416     virtual String      getName() const;
417     virtual void        setName( const String & aStrg );
418     virtual String      getValue() const;
419     virtual String      getType() const;
420 
421     virtual String      getDefaultValue() const;
422     virtual void        setDefaultValue( const String & aStrg );
423     // getValue() wird in der Basisklasse definiert
424     virtual void        setValue( const String & aStrg );
425 
426     // Methoden des Objektes
427     virtual void        focus();
428     virtual void        blur();
429     virtual void        select();
430 
431     // Events (C++ --> Java)
432     //----------------------
433     // Neue Event-Schnittstelle mit Function-Objekten
434     virtual SjJScriptFunctionObject* getOnBlur_Fct() const;
435     virtual void setOnBlur_Fct( SjJScriptFunctionObject* pFunctionObject );
436     virtual SjJScriptFunctionObject* getOnChange_Fct() const;
437     virtual void setOnChange_Fct( SjJScriptFunctionObject* pFunctionObject );
438     virtual SjJScriptFunctionObject* getOnFocus_Fct() const;
439     virtual void setOnFocus_Fct( SjJScriptFunctionObject* pFunctionObject );
440     virtual SjJScriptFunctionObject* getOnSelect_Fct() const;
441     virtual void setOnSelect_Fct( SjJScriptFunctionObject* pFunctionObject );
442     virtual String      getOnBlur() const;
443     virtual void        setOnBlur( const String & aSourceStrg );
444             void        onBlur();
445     virtual String      getOnChange() const;
446     virtual void        setOnChange( const String & aSourceStrg );
447             void        onChange();
448     virtual String      getOnFocus() const;
449     virtual void        setOnFocus( const String & aSourceStrg );
450             void        onFocus();
451     virtual String      getOnSelect() const;
452     virtual void        setOnSelect( const String & aSourceStrg );
453             void        onSelect();
454 
455     // Konstruktor
456     ImpSjJScriptTextareaObject( VCControl* _pControl, SjJSbxObject * p );
457 };
458 
459 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
460 
461 class ImpSjJScriptSubmitObject : public SjJScriptSubmitObject, ImpSjJScriptControlBase
462 {
463     // Identisch mit ButtonObject
464   public:
465     // Methoden von Java --> C++ (f"ur Properties)
466     //--------------------------------------------
467     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
468     virtual String      getName() const;
469     virtual void        setName( const String & aStrg );
470     virtual String      getValue() const;
471     virtual void        setValue( const String & aStrg );
472     virtual String      getType() const;
473 
474     // Methoden des Objektes
475     virtual void        click();
476 
477     // Events (C++ --> Java)
478     //----------------------
479     // Neue Event-Schnittstelle mit Function-Objekten
480     virtual SjJScriptFunctionObject* getOnClick_Fct() const;
481     virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
482     virtual String      getOnClick() const;
483     virtual void        setOnClick( const String & aSourceStrg );
484             void        onClick();
485 
486     // Konstruktor
487     ImpSjJScriptSubmitObject( VCControl* _pControl, SjJSbxObject * p );
488 };
489 
490 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
491 
492 class ImpSjJScriptResetObject : public SjJScriptResetObject, ImpSjJScriptControlBase
493 {
494     // Identisch mit ButtonObject
495   public:
496     // Methoden von Java --> C++ (f"ur Properties)
497     //--------------------------------------------
498     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
499     virtual String      getName() const;
500     virtual void        setName( const String & aStrg );
501     virtual String      getValue() const;
502     virtual void        setValue( const String & aStrg );
503     virtual String      getType() const;
504 
505     // Methoden des Objektes
506     virtual void        click();
507 
508     // Events (C++ --> Java)
509     //----------------------
510     // Neue Event-Schnittstelle mit Function-Objekten
511     virtual SjJScriptFunctionObject* getOnClick_Fct() const;
512     virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
513     virtual String      getOnClick() const;
514     virtual void        setOnClick( const String & aSourceStrg );
515             void        onClick();
516 
517     // Konstruktor
518     ImpSjJScriptResetObject( VCControl* _pControl, SjJSbxObject * p );
519 };
520 
521 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
522 
523 class ImpSjJScriptHiddenObject : public SjJScriptHiddenObject, ImpSjJScriptControlBase
524 {
525   public:
526     // Methoden von Java --> C++ (f"ur Properties)
527     //--------------------------------------------
528     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
529     virtual String      getName() const;
530     virtual void        setName( const String & aStrg );
531     virtual String      getValue() const;
532     virtual String      getType() const;
533 
534     // getValue() wird in der Basisklasse definiert
535     virtual void        setValue( const String & aStrg );
536 
537     // Methoden des Objektes
538     // keine !
539 
540     // Events (C++ --> Java)
541     //----------------------
542     // keine !
543 
544     // Konstruktor
545     ImpSjJScriptHiddenObject( VCControl* _pControl, SjJSbxObject * p );
546 };
547 
548 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
549 
550 class ImpSjJScriptFileUploadObject : public SjJScriptFileUploadObject, ImpSjJScriptControlBase
551 {
552   public:
553     // Methoden von Java --> C++ (f"ur Properties)
554     //--------------------------------------------
555     // Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
556     virtual String      getName() const;
557     virtual void        setName( const String & aStrg );
558     virtual String      getValue() const;
559     virtual String      getType() const;
560 
561     // Methoden des Objektes
562     // keine !
563 
564     // Events (C++ --> Java)
565     //----------------------
566     // keine !
567 
568     // Konstruktor
569     ImpSjJScriptFileUploadObject( VCControl* _pControl, SjJSbxObject * p );
570 };
571 
572 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
573 
574 class ImpSjJScriptFormObject : public SjJScriptFormObject
575 {
576     VCForm* pVCForm;
577 
578   public:
579     // Methoden von Java --> C++ (f"ur Properties)
580     //--------------------------------------------
581     virtual String      getName() const;
582     virtual void        setName( const String & aStrg );
583     virtual String      getValue() const;
584     virtual String      getType() const;
585 
586     virtual String      getAction() const;
587     virtual void        setAction( const String & sValue );
588     virtual String      getEncoding() const;
589     virtual void        setEncoding( const String & sValue );
590     virtual String      getMethod() const;
591     virtual void        setMethod( const String & sValue );
592     virtual String      getTarget() const;
593     virtual void        setTarget( const String & sValue );
594 
595     // SjJSbxArrayObject-Methoden
596     sal_Int32               getLength() const;
597     SjJSbxObject*       getElement( sal_Int32 nIndex ) const;
598     SjJSbxObject*       getElement_String( const String & aName ) const;
599 
600     // liefert ein Array-Objekt mit Elementen vom Typ JScriptAbstractControlsObject
601     // yyy Raus zum inkompatiblen
602     //virtual SjJSbxArrayObject * getElements();
603 
604     // Zugriff ueber den Namen eines Controls (falls ein Name zugeordnet ist)
605     // yyy Raus zum inkompatiblen
606     //virtual SjJSbxObject * getElement( const String & aName );
607 
608     // Methoden des Objektes
609     virtual void        submit();
610     virtual void        reset();
611 
612     // Events (C++ --> Java)
613     //----------------------
614     // Neue Event-Schnittstelle mit Function-Objekten
615     virtual SjJScriptFunctionObject* getOnSubmit_Fct() const;
616     virtual void setOnSubmit_Fct( SjJScriptFunctionObject* pFunctionObject );
617     virtual SjJScriptFunctionObject* getOnReset_Fct() const;
618     virtual void setOnReset_Fct( SjJScriptFunctionObject* pFunctionObject );
619     virtual String      getOnSubmit() const;
620     virtual void        setOnSubmit( const String & aSourceStrg );
621             void        onSubmit();
622     virtual String      getOnReset() const;
623     virtual void        setOnReset( const String & aSourceStrg );
624             void        onReset();
625 
626     // Konstruktor
627     ImpSjJScriptFormObject( VCForm* _pVCForm, SjJSbxObject * p );
628 };
629 
630 #endif
631