xref: /aoo41x/main/svx/inc/sjctrl.hxx (revision cdf0e10c)
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