blob: 8a24e81ae164f38bb7e76df27b80726639f82e4a [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifdef SOLAR_JAVA
#ifndef _SFXSFXJS_HXX
#include <sfx2/sfxjs.hxx>
#endif
class VCControl;
class VCForm;
class VCManager;
class VCRadioManager;
// Basis-Klasse aller VCControl-Wrapper-Klassen
// Haelt Verweis auf das Control und handelt einige gemeinsame Properties
class ImpSjJScriptControlBase
{
protected:
VCControl* pControl;
public:
// Beibehalten bis zum Vollupdate
/*
String getName() const;
void setName( const String & aStrg );
String getValue() const;
String getType() const;
*/
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
String ImpGetName() const;
void ImpSetName( const String & aStrg );
String ImpGetValue() const;
void ImpSetValue( const String & aStrg );
String ImpGetType() const;
// Konstruktor
ImpSjJScriptControlBase::ImpSjJScriptControlBase( VCControl* _pControl );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Button-Control
class ImpSjJScriptButtonObject : public SjJScriptButtonObject, ImpSjJScriptControlBase
{
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual void setValue( const String & aStrg );
virtual String getType() const;
// Methoden des Objektes
virtual void click();
// Events (C++ --> Java)
//----------------------
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual String getOnClick() const;
virtual void setOnClick( const String & aSourceStrg );
void onClick();
// Konstruktor
ImpSjJScriptButtonObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// PasswordControl (Edit-Control zur Password-Eingabe)
class ImpSjJScriptPasswordObject : public SjJScriptPasswordObject, ImpSjJScriptControlBase
{
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual String getType() const;
virtual String getDefaultValue() const;
virtual void setDefaultValue( const String & aStrg );
virtual void setValue( const String & aStrg );
// Methoden des Objektes
virtual void focus();
virtual void blur();
virtual void select();
// Events (C++ --> Java)
//----------------------
// keine !
// Konstruktor
ImpSjJScriptPasswordObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptCheckboxObject : public SjJScriptCheckboxObject, ImpSjJScriptControlBase
{
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual String getType() const;
virtual sal_Bool getChecked() const;
virtual void setChecked( sal_Bool bCheck );
virtual sal_Bool getDefaultChecked() const;
virtual void setDefaultChecked( sal_Bool bCheck );
// getValue() wird in der Basisklasse definiert
virtual void setValue( const String & aStrg );
// Methoden des Objektes
virtual void click();
// Events (C++ --> Java)
//----------------------
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual String getOnClick() const;
virtual void setOnClick( const String & aSourceStrg );
void onClick();
// Konstruktor
ImpSjJScriptCheckboxObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Wrapper-Klasse fuer RadioArray
class ImpSjJScriptRadioArray: public SjJSbxArrayObject
{
VCRadioManager* pMgr;
public:
sal_Int32 ImpSjJScriptRadioArray::getLength() const;
SjJSbxObject* ImpSjJScriptRadioArray::getElement( sal_Int32 nIndex ) const;
SjJSbxObject* ImpSjJScriptRadioArray::getElement_String( const String & aName ) const;
// Konstruktor
ImpSjJScriptRadioArray::ImpSjJScriptRadioArray( VCRadioManager* _pMgr, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptRadioObject : public SjJScriptRadioObject, ImpSjJScriptControlBase
{
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual String getType() const;
// Properties von SjJScriptCheckboxObject
virtual sal_Bool getChecked() const;
virtual void setChecked( sal_Bool bCheck );
virtual sal_Bool getDefaultChecked() const;
virtual void setDefaultChecked( sal_Bool bCheck );
// getValue() wird in der Basisklasse definiert
virtual void setValue( const String & aStrg );
// yyy Raus zum inkompatiblen
//virtual sal_Int32 getLength();
// Methoden des Objektes
virtual void click();
// Events (C++ --> Java)
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual String getOnClick() const;
virtual void setOnClick( const String & aSourceStrg );
void onClick();
// Konstruktor
ImpSjJScriptRadioObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptSelectObject : public SjJScriptSelectObject, ImpSjJScriptControlBase
{
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual String getType() const;
virtual sal_Int32 getLength();
virtual sal_Int32 getSelectedIndex() const;
virtual void setSelectedIndex( sal_Int32 nNo );
// liefert eine Array von Option-Objekten
//yyy Raus zum inkompatiblen
//virtual SjJSbxArrayObject * getOptions();
// Methoden des Objektes
virtual void focus();
virtual void blur();
// Events (C++ --> Java)
//----------------------
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnBlur_Fct() const;
virtual void setOnBlur_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual SjJScriptFunctionObject* getOnChange_Fct() const;
virtual void setOnChange_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual SjJScriptFunctionObject* getOnFocus_Fct() const;
virtual void setOnFocus_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual String getOnBlur() const;
virtual void setOnBlur( const String & aSourceStrg );
void onBlur();
virtual String getOnChange() const;
virtual void setOnChange( const String & aSourceStrg );
void onChange();
virtual String getOnFocus() const;
virtual void setOnFocus( const String & aSourceStrg );
void onFocus();
// SjJSbxArrayObject-Methoden
virtual sal_Int32 getLength() const;
// Zugriff "uber den Index
virtual SjJSbxObject * getElement( sal_Int32 nIndex ) const;
// Zugriff "uber den Namen
// native Java-Methoden k"onnen (noch) nicht "uberladen werden
//virtual SjJSbxObject * getElement_String( const String & aName ) const;
// Konstruktor
ImpSjJScriptSelectObject( VCControl* _pControl, SjJSbxObject * p );
// zum Setzen von Eintr"agen am Objket (zum Aufruf von Java aus) 15.1.1997
virtual void setOption( sal_Int32 nIndex, const String & aOptionText,
const String & aOptionValue,
sal_Bool bDefaultSelected, sal_Bool bSelected );
// Schnittstelle fuer die Properties der Option-Objekte
virtual sal_Bool getOptionDefaultSelected( sal_Int32 nIndex ) const;
virtual void setOptionDefaultSelected( sal_Bool bSelected, sal_Int32 nIndex );
virtual sal_Bool getOptionSelected( sal_Int32 nIndex ) const;
virtual void setOptionSelected( sal_Bool bSelected, sal_Int32 nIndex );
virtual String getOptionText( sal_Int32 nIndex ) const;
virtual void setOptionText( const String & sText, sal_Int32 nIndex );
virtual void setOptionValue( const String & sText, sal_Int32 nIndex );
virtual String getOptionValue( sal_Int32 nIndex ) const;
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Wieso von Controlbase abgeleitet?
class ImpSjJScriptOptionObject : public SjJScriptOptionObject, ImpSjJScriptControlBase
{
sal_uInt16 nListBoxIndex;
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
virtual sal_Bool getdefaultSelected() const;
virtual void setdefaultSelected( sal_Bool bSelected );
virtual sal_Int32 getIndex() const;
virtual sal_Bool getSelected() const;
virtual void setSelected( sal_Bool bSelected );
//yyy Zum Vollupdate raus:
/*
virtual sal_Int32 getSelectedIndex() const;
virtual void setSelectedIndex( sal_Int32 nNo );
*/
virtual String getText() const;
virtual void setText( const String & sText );
// getValue() wird in der Basisklasse definiert
virtual String getValue() const;
virtual void setValue( const String & aStrg );
// DUMMY-Methoden
virtual String getName() const { return "";}
virtual void setName( const String &s) { }
virtual String getType() const { return "";}
// Methoden des Objektes
// keine !
// Events (C++ --> Java)
//----------------------
// keine !
// Konstruktor
ImpSjJScriptOptionObject( VCControl* _pControl, SjJSbxObject * p, sal_uInt16 _nListBoxIndex );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Eigene Klasse fuer forms-Array anlegen
class SjJSbxFormsArray: public SfxJSArray
{
VCManager* pManager;
public:
// SjJSbxArrayObject-Methoden
virtual sal_Int32 getLength() const;
// Zugriff "uber den Index
virtual SjJSbxObject * getElement( sal_Int32 nIndex ) const;
// Zugriff "uber den Namen
// native Java-Methoden k"onnen (noch) nicht "uberladen werden
virtual SjJSbxObject * getElement_String( const String & aName ) const;
// Konstruktor
SjJSbxFormsArray( VCManager * _pManager, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptTextObject : public SjJScriptTextObject, ImpSjJScriptControlBase
{
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual String getType() const;
virtual String getDefaultValue() const;
virtual void setDefaultValue( const String & aStrg );
// getValue() wird in der Basisklasse definiert
virtual void setValue( const String & aStrg );
// Methoden des Objektes
virtual void focus();
virtual void blur();
virtual void select();
// Events (C++ --> Java)
//----------------------
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnBlur_Fct() const;
virtual void setOnBlur_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual SjJScriptFunctionObject* getOnChange_Fct() const;
virtual void setOnChange_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual SjJScriptFunctionObject* getOnFocus_Fct() const;
virtual void setOnFocus_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual SjJScriptFunctionObject* getOnSelect_Fct() const;
virtual void setOnSelect_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual String getOnBlur() const;
virtual void setOnBlur( const String & aSourceStrg );
void onBlur();
virtual String getOnChange() const;
virtual void setOnChange( const String & aSourceStrg );
void onChange();
virtual String getOnFocus() const;
virtual void setOnFocus( const String & aSourceStrg );
void onFocus();
virtual String getOnSelect() const;
virtual void setOnSelect( const String & aSourceStrg );
void onSelect();
// Konstruktor
ImpSjJScriptTextObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptTextareaObject : public SjJScriptTextareaObject, ImpSjJScriptControlBase
{
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual String getType() const;
virtual String getDefaultValue() const;
virtual void setDefaultValue( const String & aStrg );
// getValue() wird in der Basisklasse definiert
virtual void setValue( const String & aStrg );
// Methoden des Objektes
virtual void focus();
virtual void blur();
virtual void select();
// Events (C++ --> Java)
//----------------------
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnBlur_Fct() const;
virtual void setOnBlur_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual SjJScriptFunctionObject* getOnChange_Fct() const;
virtual void setOnChange_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual SjJScriptFunctionObject* getOnFocus_Fct() const;
virtual void setOnFocus_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual SjJScriptFunctionObject* getOnSelect_Fct() const;
virtual void setOnSelect_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual String getOnBlur() const;
virtual void setOnBlur( const String & aSourceStrg );
void onBlur();
virtual String getOnChange() const;
virtual void setOnChange( const String & aSourceStrg );
void onChange();
virtual String getOnFocus() const;
virtual void setOnFocus( const String & aSourceStrg );
void onFocus();
virtual String getOnSelect() const;
virtual void setOnSelect( const String & aSourceStrg );
void onSelect();
// Konstruktor
ImpSjJScriptTextareaObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptSubmitObject : public SjJScriptSubmitObject, ImpSjJScriptControlBase
{
// Identisch mit ButtonObject
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual void setValue( const String & aStrg );
virtual String getType() const;
// Methoden des Objektes
virtual void click();
// Events (C++ --> Java)
//----------------------
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual String getOnClick() const;
virtual void setOnClick( const String & aSourceStrg );
void onClick();
// Konstruktor
ImpSjJScriptSubmitObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptResetObject : public SjJScriptResetObject, ImpSjJScriptControlBase
{
// Identisch mit ButtonObject
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual void setValue( const String & aStrg );
virtual String getType() const;
// Methoden des Objektes
virtual void click();
// Events (C++ --> Java)
//----------------------
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual String getOnClick() const;
virtual void setOnClick( const String & aSourceStrg );
void onClick();
// Konstruktor
ImpSjJScriptResetObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptHiddenObject : public SjJScriptHiddenObject, ImpSjJScriptControlBase
{
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual String getType() const;
// getValue() wird in der Basisklasse definiert
virtual void setValue( const String & aStrg );
// Methoden des Objektes
// keine !
// Events (C++ --> Java)
//----------------------
// keine !
// Konstruktor
ImpSjJScriptHiddenObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptFileUploadObject : public SjJScriptFileUploadObject, ImpSjJScriptControlBase
{
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
// Basisklassen-Properties, werden an ImpSjJScriptControlBase durchgereicht
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual String getType() const;
// Methoden des Objektes
// keine !
// Events (C++ --> Java)
//----------------------
// keine !
// Konstruktor
ImpSjJScriptFileUploadObject( VCControl* _pControl, SjJSbxObject * p );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class ImpSjJScriptFormObject : public SjJScriptFormObject
{
VCForm* pVCForm;
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
virtual String getName() const;
virtual void setName( const String & aStrg );
virtual String getValue() const;
virtual String getType() const;
virtual String getAction() const;
virtual void setAction( const String & sValue );
virtual String getEncoding() const;
virtual void setEncoding( const String & sValue );
virtual String getMethod() const;
virtual void setMethod( const String & sValue );
virtual String getTarget() const;
virtual void setTarget( const String & sValue );
// SjJSbxArrayObject-Methoden
sal_Int32 getLength() const;
SjJSbxObject* getElement( sal_Int32 nIndex ) const;
SjJSbxObject* getElement_String( const String & aName ) const;
// liefert ein Array-Objekt mit Elementen vom Typ JScriptAbstractControlsObject
// yyy Raus zum inkompatiblen
//virtual SjJSbxArrayObject * getElements();
// Zugriff ueber den Namen eines Controls (falls ein Name zugeordnet ist)
// yyy Raus zum inkompatiblen
//virtual SjJSbxObject * getElement( const String & aName );
// Methoden des Objektes
virtual void submit();
virtual void reset();
// Events (C++ --> Java)
//----------------------
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnSubmit_Fct() const;
virtual void setOnSubmit_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual SjJScriptFunctionObject* getOnReset_Fct() const;
virtual void setOnReset_Fct( SjJScriptFunctionObject* pFunctionObject );
virtual String getOnSubmit() const;
virtual void setOnSubmit( const String & aSourceStrg );
void onSubmit();
virtual String getOnReset() const;
virtual void setOnReset( const String & aSourceStrg );
void onReset();
// Konstruktor
ImpSjJScriptFormObject( VCForm* _pVCForm, SjJSbxObject * p );
};
#endif