Files
libreoffice/svx/inc/sjctrl.hxx
Jens-Heiner Rechtien fd069bee7e initial import
2000-09-18 16:07:07 +00:00

683 lines
25 KiB
C++

/*************************************************************************
*
* $RCSfile: sjctrl.hxx,v $
*
* $Revision: 1.1.1.1 $
*
* last change: $Author: hr $ $Date: 2000-09-18 17:00:59 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (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.openoffice.org/license.html.
*
* Software provided under this License is provided on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#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)
//----------------------
#if SUPD > 356 || defined(AB_EVENT_TEST)
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
#endif
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 BOOL getChecked() const;
virtual void setChecked( BOOL bCheck );
virtual BOOL getDefaultChecked() const;
virtual void setDefaultChecked( BOOL bCheck );
// getValue() wird in der Basisklasse definiert
virtual void setValue( const String & aStrg );
// Methoden des Objektes
virtual void click();
// Events (C++ --> Java)
//----------------------
#if SUPD > 356 || defined(AB_EVENT_TEST)
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
#endif
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:
INT32 ImpSjJScriptRadioArray::getLength() const;
SjJSbxObject* ImpSjJScriptRadioArray::getElement( 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 BOOL getChecked() const;
virtual void setChecked( BOOL bCheck );
virtual BOOL getDefaultChecked() const;
virtual void setDefaultChecked( BOOL bCheck );
// getValue() wird in der Basisklasse definiert
virtual void setValue( const String & aStrg );
// yyy Raus zum inkompatiblen
//virtual INT32 getLength();
// Methoden des Objektes
virtual void click();
// Events (C++ --> Java)
#if SUPD > 356 || defined(AB_EVENT_TEST)
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
#endif
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 INT32 getLength();
virtual INT32 getSelectedIndex() const;
virtual void setSelectedIndex( 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)
//----------------------
#if SUPD > 356 || defined(AB_EVENT_TEST)
// 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 );
#endif
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 INT32 getLength() const;
// Zugriff "uber den Index
virtual SjJSbxObject * getElement( 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( INT32 nIndex, const String & aOptionText,
const String & aOptionValue,
BOOL bDefaultSelected, BOOL bSelected );
// Schnittstelle fuer die Properties der Option-Objekte
virtual BOOL getOptionDefaultSelected( INT32 nIndex ) const;
virtual void setOptionDefaultSelected( BOOL bSelected, INT32 nIndex );
virtual BOOL getOptionSelected( INT32 nIndex ) const;
virtual void setOptionSelected( BOOL bSelected, INT32 nIndex );
virtual String getOptionText( INT32 nIndex ) const;
virtual void setOptionText( const String & sText, INT32 nIndex );
virtual void setOptionValue( const String & sText, INT32 nIndex );
virtual String getOptionValue( INT32 nIndex ) const;
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Wieso von Controlbase abgeleitet?
class ImpSjJScriptOptionObject : public SjJScriptOptionObject, ImpSjJScriptControlBase
{
USHORT nListBoxIndex;
public:
// Methoden von Java --> C++ (f"ur Properties)
//--------------------------------------------
virtual BOOL getdefaultSelected() const;
virtual void setdefaultSelected( BOOL bSelected );
virtual INT32 getIndex() const;
virtual BOOL getSelected() const;
virtual void setSelected( BOOL bSelected );
//yyy Zum Vollupdate raus:
/*
virtual INT32 getSelectedIndex() const;
virtual void setSelectedIndex( 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, USHORT _nListBoxIndex );
};
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Eigene Klasse fuer forms-Array anlegen
class SjJSbxFormsArray: public SfxJSArray
{
VCManager* pManager;
public:
// SjJSbxArrayObject-Methoden
virtual INT32 getLength() const;
// Zugriff "uber den Index
virtual SjJSbxObject * getElement( 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)
//----------------------
#if SUPD > 356 || defined(AB_EVENT_TEST)
// 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 );
#endif
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)
//----------------------
#if SUPD > 356 || defined(AB_EVENT_TEST)
// 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 );
#endif
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)
//----------------------
#if SUPD > 356 || defined(AB_EVENT_TEST)
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
#endif
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)
//----------------------
#if SUPD > 356 || defined(AB_EVENT_TEST)
// Neue Event-Schnittstelle mit Function-Objekten
virtual SjJScriptFunctionObject* getOnClick_Fct() const;
virtual void setOnClick_Fct( SjJScriptFunctionObject* pFunctionObject );
#endif
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
INT32 getLength() const;
SjJSbxObject* getElement( 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)
//----------------------
#if SUPD > 356 || defined(AB_EVENT_TEST)
// 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 );
#endif
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