/************************************************************** * * 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 #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