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