ooo-build r12091 - trunk/patches/test/vba



Author: noelpwer
Date: Thu Apr  3 15:39:11 2008
New Revision: 12091
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12091&view=rev

Log:
latest version, some new api object, various tweaks and also some
control importer changes


Modified:
   trunk/patches/test/vba/UserFormObjectModuleEventsSuperBigPatch.diff

Modified: trunk/patches/test/vba/UserFormObjectModuleEventsSuperBigPatch.diff
==============================================================================
--- trunk/patches/test/vba/UserFormObjectModuleEventsSuperBigPatch.diff	(original)
+++ trunk/patches/test/vba/UserFormObjectModuleEventsSuperBigPatch.diff	Thu Apr  3 15:39:11 2008
@@ -415,6 +415,14 @@
  	return bRet;
 --- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/svx/inc/svx/msocximex.hxx	2008-04-02 12:14:58.000000000 +0100
 +++ svx/inc/svx/msocximex.hxx	2008-04-01 15:22:20.000000000 +0100
+@@ -298,6 +298,7 @@ public:
+ 	sal_Int32 mnForeColor;
+         sal_uInt16 mnTabPos;
+ 	UniString sName;
++	UniString msToolTip;
+ 	OCX_FontData aFontData;
+         SfxObjectShell *pDocSh;
+ protected:
 @@ -908,7 +908,7 @@ public:
  	sal_uInt8   nKeepScrollBarsVisible;
  	sal_uInt8   nCycle;
@@ -424,6 +432,56 @@
  	sal_uInt16	nPicture;
  	sal_uInt8   nPictureAlignment;
  	sal_uInt8   nPictureSizeMode;
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/svx/source/msfilter/msocximex.cxx	2008-04-02 15:01:33.000000000 +0100
++++ svx/source/msfilter/msocximex.cxx	2008-04-02 14:49:08.000000000 +0100
+@@ -138,7 +138,7 @@
+ #include <comphelper/processfactory.hxx> // shouldn't be needed
+ #include <com/sun/star/ucb/XSimpleFileAccess.hpp>
+ 
+-
++#include <fstream>
+ #include <algorithm>
+ #include <memory>
+ 
+@@ -746,13 +746,16 @@ class ContainerRecReader
+                 ReadAlign( pS, pS->Tell() - nStartPos, 4 );
+                 *pS >> rec.nLeft >> rec.nTop;
+             }
+-
++   
+             // control infotip
+             sal_uInt32 nTipBufSize = lclGetBufferSize( nTipLen );
+             if( nTipBufSize > 0 )
+             {
++                std::auto_ptr< sal_Char > pTipName;
++                pTipName.reset( new sal_Char[ nTipBufSize ] );
+                 ReadAlign( pS, pS->Tell() - nStartPos, 4 );
+-                pS->SeekRel( nTipBufSize );
++                pS->Read( pTipName.get(), nTipBufSize );
++            	rec.controlTip = lclCreateOUString( pTipName.get(), nTipLen );
+             }
+             // control id
+             sal_uInt32 nCntrlIdSize = lclGetBufferSize( nCntrlIdLen );
+@@ -1262,6 +1265,11 @@ sal_Bool OCX_Control::Import(uno::Refere
+     xPropSet->setPropertyValue(WW8_ASCII2STR("Width"), aTmp);
+     aTmp <<= sal_Int32((nHeight * 2) / 100);
+     xPropSet->setPropertyValue(WW8_ASCII2STR("Height"), aTmp);
++    if ( msToolTip.Len() > 0 )
++    {
++	uno::Any aTmp(&msToolTip,getCppuType((OUString *)0));
++        xPropSet->setPropertyValue(WW8_ASCII2STR("HelpText"), aTmp);
++    }
+ 
+     if ( mnStep )
+     {
+@@ -3664,6 +3666,7 @@ void OCX_ContainerControl::ProcessContro
+         }
+ 
+         pControl->sName = rec.cName;
++        pControl->msToolTip = rec.controlTip;
+         // Position of controls is relative to the container
+         pControl->mnTop = rec.nTop + mnTop;
+         pControl->mnLeft = rec.nLeft + mnLeft;
 diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/inc/document.hxx sc/inc/document.hxx
 --- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/inc/document.hxx	2008-03-29 23:08:24.000000000 +0000
 +++ sc/inc/document.hxx	2008-03-28 10:30:33.000000000 +0000
@@ -1091,9 +1149,9 @@
  # --- Files --------------------------------------------------------
  SLO1FILES =  \
          $(SLO)$/docuno.obj \
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/makefile.mk	2008-04-02 11:08:55.000000000 +0100
-+++ sc/source/ui/vba/makefile.mk	2008-04-01 16:48:08.000000000 +0100
-@@ -121,6 +121,10 @@ SLOFILES= \
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/makefile.mk	2008-04-03 11:33:30.000000000 +0100
++++ sc/source/ui/vba/makefile.mk	2008-04-02 21:34:14.000000000 +0100
+@@ -121,6 +121,11 @@ SLOFILES= \
                  $(SLO)$/vbacommandbarcontrols.obj \
                  $(SLO)$/vbacommandbar.obj \
                  $(SLO)$/vbacommandbars.obj \
@@ -1101,6 +1159,7 @@
 +                $(SLO)$/vbacheckbox.obj \
 +                $(SLO)$/vbatogglebutton.obj \
 +                $(SLO)$/vbaframe.obj \
++                $(SLO)$/vbascrollbar.obj \
  		$(SLO)$/service.obj \
   
  
@@ -1189,9 +1248,9 @@
 +    virtual css::uno::Sequence<rtl::OUString> getServiceNames();
  };
  #endif //SC_VBA_BUTTON_HXX
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbacombobox.cxx	2008-03-31 15:23:06.000000000 +0100
-+++ sc/source/ui/vba/vbacombobox.cxx	2008-04-01 22:19:50.000000000 +0100
-@@ -39,34 +39,83 @@ using namespace com::sun::star;
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbacombobox.cxx	2008-04-03 11:33:30.000000000 +0100
++++ sc/source/ui/vba/vbacombobox.cxx	2008-04-02 17:21:31.000000000 +0100
+@@ -39,34 +39,93 @@ using namespace com::sun::star;
  using namespace org::openoffice;
  
  
@@ -1233,10 +1292,21 @@
 +void SAL_CALL 
 +ScVbaComboBox::setListIndex( const uno::Any& _value ) throw (uno::RuntimeException)
 +{
-+	OSL_TRACE("** setListIndex() **");
-+	uno::Sequence< sal_Int32 > sSelection(1);
-+	_value >>= sSelection[ 0 ];
++// #TODO Test me please
++    uno::Sequence< rtl::OUString > sItems;
++    m_xProps->getPropertyValue( ITEMS ) >>= sItems;
++    uno::Sequence< sal_Int16 > sSelection(1);
++    _value >>= sSelection[ 0 ];
++    if ( mbDialogType )
++    {
++        if ( sItems.getLength() == 0 || sSelection[0] < 0 || sSelection[ 0 ] >= sItems.getLength() )
++            throw uno::RuntimeException( rtl::OUString::createFromAscii("Illegal index"), uno::Reference< uno::XInterface >() );
++        setValue( uno::makeAny( sItems[ sSelection[ 0 ] ] ) ); 
++    }
++    else
++    {
 +	m_xProps->setPropertyValue( SELECTEDITEMS, uno::makeAny( sSelection ) );
++    } 
 +}
  
 -// Attributes
@@ -1245,7 +1315,6 @@
 +ScVbaComboBox::getListIndex() throw (uno::RuntimeException)
  {
 -	return m_xProps->getPropertyValue( sSourceName );
-+	OSL_TRACE("** getListIndex() **");
 +	uno::Sequence< rtl::OUString > sItems;
 +	m_xProps->getPropertyValue( ITEMS ) >>= sItems;
 +	// should really return the item that has focus regardless of
@@ -1285,7 +1354,7 @@
  ::rtl::OUString SAL_CALL 
  ScVbaComboBox::getText() throw (uno::RuntimeException)
  {
-@@ -145,3 +194,22 @@ ScVbaComboBox::Clear(  ) throw (uno::Run
+@@ -145,3 +204,22 @@ ScVbaComboBox::Clear(  ) throw (uno::Run
  	setValue( uno::makeAny( rtl::OUString() ) );
  	m_xProps->setPropertyValue( ITEMS, uno::makeAny( uno::Sequence< rtl::OUString >() ) );
  }
@@ -1347,15 +1416,16 @@
  };
  
  #endif //
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbacontrol.cxx	2008-03-31 15:23:06.000000000 +0100
-+++ sc/source/ui/vba/vbacontrol.cxx	2008-04-01 21:18:45.000000000 +0100
-@@ -49,17 +49,22 @@
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbacontrol.cxx	2008-04-03 11:33:30.000000000 +0100
++++ sc/source/ui/vba/vbacontrol.cxx	2008-04-02 22:32:04.000000000 +0100
+@@ -49,17 +49,23 @@
  #include "vbatextbox.hxx"
  #include "vbaradiobutton.hxx"
  #include "vbalistbox.hxx"
 +#include "vbatogglebutton.hxx"
 +#include "vbacheckbox.hxx"
 +#include "vbaframe.hxx"
++#include "vbascrollbar.hxx"
  
  
  using namespace com::sun::star;
@@ -1376,7 +1446,7 @@
      uno::Reference< awt::XControlModel > xControlModel( xControlShape->getControl(), uno::UNO_QUERY_THROW );
      //init m_xWindowPeer 
      uno::Reference< container::XChild > xChild( xControlModel, uno::UNO_QUERY_THROW );
-@@ -67,17 +72,18 @@ ScVbaControl::getWindowPeer( const uno::
+@@ -67,17 +73,18 @@ ScVbaControl::getWindowPeer( const uno::
      xChild.set( xChild->getParent(), uno::UNO_QUERY_THROW );
      uno::Reference< frame::XModel > xModel( xChild->getParent(), uno::UNO_QUERY_THROW );
      uno::Reference< view::XControlAccess > xControlAccess( xModel->getCurrentController(), uno::UNO_QUERY_THROW );
@@ -1398,7 +1468,7 @@
  }
  
  //ScVbaControlListener
-@@ -111,67 +117,49 @@ ScVbaControlListener::disposing( const l
+@@ -111,67 +118,49 @@ ScVbaControlListener::disposing( const l
  
  //ScVbaControl
  
@@ -1449,8 +1519,9 @@
 -    xComponent->removeEventListener( m_xEventListener );
 -    m_xControlShape = NULL;
 -    m_xProps = NULL;
--}
--
++    mpGeometryHelper.reset( pHelper );
+ }
+ 
 -
 -ScVbaControl::ScVbaControl( const uno::Reference< uno::XComponentContext >& xContext, 
 -        const uno::Reference< beans::XPropertySet >& xProps, 
@@ -1472,9 +1543,8 @@
 -    uno::Reference< awt::XControlModel > xControlModel( xControlShape->getControl(), uno::UNO_QUERY_THROW );
 -    uno::Reference< beans::XPropertySet > xProps( xControlModel, uno::UNO_QUERY_THROW );
 -    m_xProps = xProps;
-+    mpGeometryHelper.reset( pHelper );
- }
- 
+-}
+-
 -void ScVbaControl::SetControl( const uno::Reference< uno::XComponentContext > xContext, 
 -        const uno::Reference< beans::XPropertySet > xProps, 
 -        const uno::Reference< drawing::XControlShape > xControlShape )
@@ -1492,7 +1562,7 @@
  }
  
  //In design model has different behavior
-@@ -194,132 +182,160 @@ void SAL_CALL ScVbaControl::setEnabled( 
+@@ -194,132 +183,168 @@ void SAL_CALL ScVbaControl::setEnabled( 
  
  sal_Bool SAL_CALL ScVbaControl::getVisible() throw (uno::RuntimeException)
  {
@@ -1574,6 +1644,12 @@
 -    oldPosition.Y = pt2mm( _top ) * 100;;
 -    xShape->setPosition( oldPosition );
 +    mpGeometryHelper->setTop( _top );
++}
++
++void SAL_CALL ScVbaControl::SetFocus() throw (uno::RuntimeException) 
++{
++    uno::Reference< awt::XWindow > xWin( m_xControl, uno::UNO_QUERY_THROW );
++    xWin->setFocus();
  }
  
  //ScVbaControlFactory
@@ -1688,6 +1764,8 @@
 +        throw uno::RuntimeException();
 +    else if ( xServiceInfo->supportsService( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.awt.UnoControlGroupBoxModel") ) ) )
 +	pControl = new ScVbaFrame( m_xContext, xControl );
++    else if ( xServiceInfo->supportsService( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.awt.UnoControlScrollBarModel") ) ) )
++	pControl = new ScVbaScrollBar( m_xContext, xControl );
 +    else
 +        throw uno::RuntimeException( rtl::OUString::createFromAscii("Unsupported control " ), uno::Reference< uno::XInterface >() );
 +    return pControl;
@@ -1713,9 +1791,8 @@
  }
 +
 +
-diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbacontrol.hxx sc/source/ui/vba/vbacontrol.hxx
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbacontrol.hxx	2007-12-07 10:50:07.000000000 +0000
-+++ sc/source/ui/vba/vbacontrol.hxx	2008-03-28 15:17:46.000000000 +0000
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbacontrol.hxx	2008-04-03 11:33:30.000000000 +0100
++++ sc/source/ui/vba/vbacontrol.hxx	2008-04-02 18:49:02.000000000 +0100
 @@ -40,40 +40,34 @@
  #include <com/sun/star/uno/XComponentContext.hpp>
  #include <com/sun/star/script/XDefaultProperty.hpp>
@@ -1769,7 +1846,12 @@
      // XControl
      virtual sal_Bool SAL_CALL getEnabled() throw (css::uno::RuntimeException);
      virtual void SAL_CALL setEnabled( sal_Bool _enabled ) throw (css::uno::RuntimeException);
-@@ -90,6 +84,9 @@ public:
+@@ -87,9 +81,14 @@ public:
+     virtual void SAL_CALL setLeft( double _left ) throw (css::uno::RuntimeException);
+     virtual double SAL_CALL getTop() throw (css::uno::RuntimeException);
+     virtual void SAL_CALL setTop( double _top ) throw (css::uno::RuntimeException);
++    virtual void SAL_CALL SetFocus(  ) throw (css::uno::RuntimeException);
++
  
      //remove resouce because org.openoffice.excel.XControl is a wrapper of com.sun.star.drawing.XControlShape
      virtual void removeResouce() throw( css::uno::RuntimeException );
@@ -1779,7 +1861,7 @@
  };
  
  
-@@ -97,16 +94,13 @@ class ScVbaControlFactory
+@@ -97,16 +96,13 @@ class ScVbaControlFactory
  {
  public:
      ScVbaControlFactory( const css::uno::Reference< css::uno::XComponentContext >& xContext, 
@@ -1896,9 +1978,8 @@
  class ShapeHelper
  {
  protected:
-diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalabel.cxx sc/source/ui/vba/vbalabel.cxx
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalabel.cxx	2007-12-07 10:54:35.000000000 +0000
-+++ sc/source/ui/vba/vbalabel.cxx	2008-03-28 14:25:58.000000000 +0000
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalabel.cxx	2008-04-03 11:33:30.000000000 +0100
++++ sc/source/ui/vba/vbalabel.cxx	2008-04-02 16:52:20.000000000 +0100
 @@ -40,7 +40,7 @@ using namespace org::openoffice;
  
  
@@ -1908,10 +1989,24 @@
  {
  }
  
-@@ -58,3 +58,22 @@ ScVbaLabel::setCaption( const rtl::OUStr
+@@ -58,3 +58,36 @@ ScVbaLabel::setCaption( const rtl::OUStr
  {
      m_xProps->setPropertyValue( LABEL, uno::makeAny( _caption ) );
  }
++uno::Any SAL_CALL 
++ScVbaLabel::getValue() throw (css::uno::RuntimeException)
++{
++    return uno::makeAny( getCaption() );
++}
++
++void SAL_CALL 
++ScVbaLabel::setValue( const uno::Any& _value ) throw (::com::sun::star::uno::RuntimeException)
++{
++    rtl::OUString sCaption;
++    _value >>= sCaption;
++    setCaption( sCaption ); 
++}
++
 +
 +rtl::OUString& 
 +ScVbaLabel::getServiceImplName()
@@ -1931,27 +2026,38 @@
 +	}
 +	return aServiceNames;
 +}
-diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalabel.hxx sc/source/ui/vba/vbalabel.hxx
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalabel.hxx	2007-12-07 10:54:46.000000000 +0000
-+++ sc/source/ui/vba/vbalabel.hxx	2008-03-28 14:23:06.000000000 +0000
-@@ -46,9 +46,12 @@ class ScVbaLabel : public LabelImpl_BASE
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalabel.hxx	2008-04-03 11:33:30.000000000 +0100
++++ sc/source/ui/vba/vbalabel.hxx	2008-04-02 16:55:04.000000000 +0100
+@@ -39,16 +39,24 @@
+ 
+ #include "vbacontrol.hxx"
+ #include "vbahelper.hxx"
++#include <cppuhelper/implbase2.hxx>
+ 
+-typedef cppu::ImplInheritanceHelper1< ScVbaControl, oo::msforms::XLabel > LabelImpl_BASE;
++typedef cppu::ImplInheritanceHelper2< ScVbaControl, oo::msforms::XLabel, css::script::XDefaultProperty  > LabelImpl_BASE;
+ 
+ class ScVbaLabel : public LabelImpl_BASE
  {
  public:
      ScVbaLabel( const css::uno::Reference< css::uno::XComponentContext >& xContext,
 -                    const css::uno::Reference< css::drawing::XControlShape >& xControlShape );
 +                    const css::uno::Reference< css::uno::XInterface >& xControl );
     // Attributes
++    virtual css::uno::Any SAL_CALL getValue() throw (css::uno::RuntimeException);
++    virtual void SAL_CALL setValue( const css::uno::Any& _value ) throw (css::uno::RuntimeException);
      virtual rtl::OUString SAL_CALL getCaption() throw (css::uno::RuntimeException);
      virtual void SAL_CALL setCaption( const rtl::OUString& _caption ) throw (css::uno::RuntimeException);
 +    //XHelperInterface
 +    virtual rtl::OUString& getServiceImplName();
 +    virtual css::uno::Sequence<rtl::OUString> getServiceNames();
++    // XDefaultProperty
++    rtl::OUString SAL_CALL getDefaultPropertyName(  ) throw (css::uno::RuntimeException) { return ::rtl::OUString::createFromAscii("Value"); }
  };
  #endif //SC_VBA_LABEL_HXX
-diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalistbox.cxx sc/source/ui/vba/vbalistbox.cxx
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalistbox.cxx	2007-12-10 09:31:13.000000000 +0000
-+++ sc/source/ui/vba/vbalistbox.cxx	2008-03-29 00:36:16.000000000 +0000
-@@ -42,31 +42,31 @@
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalistbox.cxx	2008-04-03 11:33:30.000000000 +0100
++++ sc/source/ui/vba/vbalistbox.cxx	2008-04-02 17:21:07.000000000 +0100
+@@ -42,31 +42,49 @@
  using namespace com::sun::star;
  using namespace org::openoffice;
  
@@ -1969,16 +2075,31 @@
  }
  
 -ScVbaListBox::ScVbaListBox( const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< beans::XPropertySet >& xPropSet, const css::uno::Reference< css::drawing::XControlShape > xControlShape ) : ListBoxImpl_BASE( xContext, xPropSet, xControlShape )
--{
++// Attributes
++void SAL_CALL 
++ScVbaListBox::setListIndex( const uno::Any& _value ) throw (uno::RuntimeException)
+ {
 -	m_xProps->getPropertyValue( CONTROLSOURCEPROP ) >>= sSourceName;
--}
--
--
- // Attributes
++    sal_Int32 nIndex = 0;
++    _value >>= nIndex;
++    Selected( nIndex );
+ }
+ 
++uno::Any SAL_CALL 
++ScVbaListBox::getListIndex() throw (uno::RuntimeException)
++{
++    uno::Sequence< sal_Int16 > sSelection;
++    m_xProps->getPropertyValue( SELECTEDITEMS ) >>= sSelection;
++    if ( sSelection.getLength() == 0 )
++        return uno::Any( sal_Int32( -1 ) );
++    return uno::Any( sSelection[ 0 ] );
++}
+ 
+-// Attributes
  uno::Any SAL_CALL 
  ScVbaListBox::getValue() throw (uno::RuntimeException)
  {
-+    uno::Sequence< sal_Int32 > sSelection;
++    uno::Sequence< sal_Int16 > sSelection;
 +    uno::Sequence< rtl::OUString > sItems;
 +    m_xProps->getPropertyValue( SELECTEDITEMS ) >>= sSelection;
 +    m_xProps->getPropertyValue( ITEMS ) >>= sItems;
@@ -1994,7 +2115,7 @@
  }
  
  void SAL_CALL 
-@@ -96,18 +96,17 @@ ScVbaListBox::setValue( const uno::Any& 
+@@ -96,18 +114,17 @@ ScVbaListBox::setValue( const uno::Any& 
          throw uno::RuntimeException( rtl::OUString::createFromAscii(
                      "Attribute use invalid." ), uno::Reference< uno::XInterface >() );
  
@@ -2018,7 +2139,7 @@
  	return result;
  }
  
-@@ -130,29 +129,7 @@ ScVbaListBox::setMultiSelect( sal_Bool _
+@@ -130,29 +147,7 @@ ScVbaListBox::setMultiSelect( sal_Bool _
  {
      m_xProps->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "MultiSelection" ) ), uno::makeAny( _multiselect ) );
  }
@@ -2048,7 +2169,7 @@
  css::uno::Any SAL_CALL 
  ScVbaListBox::Selected( sal_Int32 index ) throw (css::uno::RuntimeException)
  {
-@@ -230,6 +207,10 @@ ScVbaListBox::Clear(  ) throw (uno::Runt
+@@ -230,6 +225,10 @@ ScVbaListBox::Clear(  ) throw (uno::Runt
  	//setValue( uno::makeAny( sal_Int16() ) );
  	m_xProps->setPropertyValue( ITEMS, uno::makeAny( uno::Sequence< rtl::OUString >() ) );
  }
@@ -2059,7 +2180,7 @@
  //PropListener
  void 
  ScVbaListBox::setValueEvent( const uno::Any& value )
-@@ -239,7 +220,7 @@ ScVbaListBox::setValueEvent( const uno::
+@@ -239,7 +238,7 @@ ScVbaListBox::setValueEvent( const uno::
          throw uno::RuntimeException( rtl::OUString::createFromAscii(
                      "Invalid type\n. need boolean." ), uno::Reference< uno::XInterface >() );
      uno::Sequence< sal_Int16 > nList;
@@ -2068,7 +2189,7 @@
      sal_Int16 nLength = static_cast<sal_Int16>( nList.getLength() );
      sal_Int16 nIndex = m_nIndex;
      for( sal_Int16 i = 0; i < nLength; i++ )
-@@ -255,7 +236,8 @@ ScVbaListBox::setValueEvent( const uno::
+@@ -255,7 +254,8 @@ ScVbaListBox::setValueEvent( const uno::
                      nList[i] = nList[i + 1];
                  }
                  nList.realloc( nLength - 1 );
@@ -2078,7 +2199,7 @@
                  return;
              }
          }
-@@ -276,6 +258,10 @@ ScVbaListBox::setValueEvent( const uno::
+@@ -276,6 +276,10 @@ ScVbaListBox::setValueEvent( const uno::
      }
  }
  
@@ -2089,7 +2210,7 @@
  css::uno::Any 
  ScVbaListBox::getValueEvent()
  {
-@@ -292,3 +278,22 @@ ScVbaListBox::getValueEvent()
+@@ -292,3 +296,22 @@ ScVbaListBox::getValueEvent()
  
      return uno::makeAny( sal_False );
  }
@@ -2112,10 +2233,9 @@
 +	}
 +	return aServiceNames;
 +}
-diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalistbox.hxx sc/source/ui/vba/vbalistbox.hxx
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalistbox.hxx	2007-12-07 10:55:31.000000000 +0000
-+++ sc/source/ui/vba/vbalistbox.hxx	2008-03-28 14:23:23.000000000 +0000
-@@ -55,11 +55,7 @@ class ScVbaListBox : public ListBoxImpl_
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbalistbox.hxx	2008-04-03 11:33:30.000000000 +0100
++++ sc/source/ui/vba/vbalistbox.hxx	2008-04-02 16:19:38.000000000 +0100
+@@ -55,13 +55,11 @@ class ScVbaListBox : public ListBoxImpl_
  	
  public:
  	ScVbaListBox( const css::uno::Reference< css::uno::XComponentContext >& xContext, 
@@ -2127,8 +2247,12 @@
 +                    const css::uno::Reference< css::uno::XInterface >& xControl );
  
  	// Attributes
++	virtual css::uno::Any SAL_CALL getListIndex() throw (css::uno::RuntimeException);
++	virtual void SAL_CALL setListIndex( const css::uno::Any& _value ) throw (css::uno::RuntimeException);
  	virtual css::uno::Any SAL_CALL getValue() throw (css::uno::RuntimeException);
-@@ -77,7 +73,11 @@ public:
+ 	virtual void SAL_CALL setValue( const css::uno::Any& _value ) throw (css::uno::RuntimeException);
+ 	virtual rtl::OUString SAL_CALL getText() throw (css::uno::RuntimeException);
+@@ -77,7 +75,11 @@ public:
  
  	// XDefaultProperty
      rtl::OUString SAL_CALL getDefaultPropertyName(  ) throw (css::uno::RuntimeException) { return ::rtl::OUString::createFromAscii("Value"); }
@@ -2141,9 +2265,45 @@
      //PropListener
      virtual void setValueEvent( const css::uno::Any& value );
      virtual css::uno::Any getValueEvent();
-diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbaradiobutton.cxx sc/source/ui/vba/vbaradiobutton.cxx
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbaradiobutton.cxx	2007-12-07 11:00:34.000000000 +0000
-+++ sc/source/ui/vba/vbaradiobutton.cxx	2008-03-28 14:27:44.000000000 +0000
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbaradiobutton.hxx	2008-04-03 11:33:30.000000000 +0100
++++ sc/source/ui/vba/vbaradiobutton.hxx	2008-04-02 19:47:50.000000000 +0100
+@@ -34,24 +34,28 @@
+  ************************************************************************/
+ #ifndef SC_VBA_RADIOBUTTON_HXX
+ #define SC_VBA_RADIOBUTTON_HXX
+-#include <cppuhelper/implbase1.hxx>
+ #include <org/openoffice/msforms/XRadioButton.hpp>
+-
+ #include "vbacontrol.hxx"
+ #include "vbahelper.hxx"
++#include <cppuhelper/implbase2.hxx>
+ 
+-typedef cppu::ImplInheritanceHelper1< ScVbaControl, oo::msforms::XRadioButton > RadioButtonImpl_BASE;
++typedef cppu::ImplInheritanceHelper2< ScVbaControl, oo::msforms::XRadioButton, css::script::XDefaultProperty > RadioButtonImpl_BASE;
+ 
+ class ScVbaRadioButton : public RadioButtonImpl_BASE
+ {
+ public:
+     ScVbaRadioButton( const css::uno::Reference< css::uno::XComponentContext >& xContext,
+-                    const css::uno::Reference< css::drawing::XControlShape >& xControlShape );
++                    const css::uno::Reference< css::uno::XInterface >& xControl );
+    // Attributes
+     virtual rtl::OUString SAL_CALL getCaption() throw (css::uno::RuntimeException);
+     virtual void SAL_CALL setCaption( const rtl::OUString& _caption ) throw (css::uno::RuntimeException);
+-    virtual sal_Bool SAL_CALL getValue() throw (css::uno::RuntimeException);
+-    virtual void SAL_CALL setValue( sal_Bool _value ) throw (css::uno::RuntimeException);
++    virtual css::uno::Any SAL_CALL getValue() throw (css::uno::RuntimeException);
++    virtual void SAL_CALL setValue(const com::sun::star::uno::Any&) throw (css::uno::RuntimeException);
++    //XHelperInterface
++    virtual rtl::OUString& getServiceImplName();
++    virtual css::uno::Sequence<rtl::OUString> getServiceNames();
++    // XDefaultProperty
++    rtl::OUString SAL_CALL getDefaultPropertyName(  ) throw (css::uno::RuntimeException) { return ::rtl::OUString::createFromAscii("Value"); }
+ 
+ };
+ #endif //SC_VBA_RADIOBUTTON_HXX
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbaradiobutton.cxx	2008-04-03 12:30:43.000000000 +0100
++++ sc/source/ui/vba/vbaradiobutton.cxx	2008-04-02 22:48:26.000000000 +0100
 @@ -41,7 +41,7 @@ using namespace org::openoffice;
  
  const static rtl::OUString LABEL( RTL_CONSTASCII_USTRINGPARAM("Label") );
@@ -2153,8 +2313,46 @@
  {
  }
  
-@@ -79,3 +79,22 @@ ScVbaRadioButton::setValue( sal_Bool _va
-         nValue = 1;
+@@ -60,22 +60,53 @@ ScVbaRadioButton::setCaption( const rtl:
+     m_xProps->setPropertyValue( LABEL, uno::makeAny( _caption ) );
+ }
+ 
+-sal_Bool SAL_CALL 
++uno::Any SAL_CALL 
+ ScVbaRadioButton::getValue() throw (css::uno::RuntimeException)
+ {
+-    sal_Bool bValue = sal_False;
+     sal_Int16 nValue = -1;
+     m_xProps->getPropertyValue( STATE ) >>= nValue;
+     if( nValue != 0 )
+-        bValue = sal_True;
+-    return bValue;
++        nValue = -1;
++//    return uno::makeAny( nValue ); 
++// I must be missing something MSO says value should be -1 if selected, 0 if not
++// selected
++    return uno::makeAny( ( nValue == -1 ) ? sal_True : sal_False ); 
++
+ }
+ 
+ void SAL_CALL 
+-ScVbaRadioButton::setValue( sal_Bool _value ) throw (css::uno::RuntimeException)
++ScVbaRadioButton::setValue( const uno::Any& _value ) throw (uno::RuntimeException)
+ {
+     sal_Int16 nValue = 0;
+-    if( _value )
+-        nValue = 1;
++    sal_Bool bValue = sal_False;
++    if( _value >>= nValue )
++    {
++        if( nValue == -1)
++            nValue = 1;
++    }
++    else if ( _value >>= bValue )
++    {
++        if ( bValue )
++            nValue = 1;
++    }
      m_xProps->setPropertyValue( STATE, uno::makeAny( nValue ) );
  }
 +
@@ -2176,26 +2374,6 @@
 +	}
 +	return aServiceNames;
 +}
-diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbaradiobutton.hxx sc/source/ui/vba/vbaradiobutton.hxx
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbaradiobutton.hxx	2007-12-07 11:00:45.000000000 +0000
-+++ sc/source/ui/vba/vbaradiobutton.hxx	2008-03-28 14:23:33.000000000 +0000
-@@ -46,12 +46,14 @@ class ScVbaRadioButton : public RadioBut
- {
- public:
-     ScVbaRadioButton( const css::uno::Reference< css::uno::XComponentContext >& xContext,
--                    const css::uno::Reference< css::drawing::XControlShape >& xControlShape );
-+                    const css::uno::Reference< css::uno::XInterface >& xControl );
-    // Attributes
-     virtual rtl::OUString SAL_CALL getCaption() throw (css::uno::RuntimeException);
-     virtual void SAL_CALL setCaption( const rtl::OUString& _caption ) throw (css::uno::RuntimeException);
-     virtual sal_Bool SAL_CALL getValue() throw (css::uno::RuntimeException);
-     virtual void SAL_CALL setValue( sal_Bool _value ) throw (css::uno::RuntimeException);
--
-+    //XHelperInterface
-+    virtual rtl::OUString& getServiceImplName();
-+    virtual css::uno::Sequence<rtl::OUString> getServiceNames();
- };
- #endif //SC_VBA_RADIOBUTTON_HXX
 diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbashape.hxx sc/source/ui/vba/vbashape.hxx
 --- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbashape.hxx	2008-03-29 23:07:54.000000000 +0000
 +++ sc/source/ui/vba/vbashape.hxx	2008-03-28 10:30:34.000000000 +0000
@@ -2301,6 +2479,218 @@
 +    virtual css::uno::Sequence<rtl::OUString> getServiceNames();
  };
  #endif //SC_VBA_TEXTBOX_HXX
+--- /dev/null	2007-05-04 11:54:36.000000000 +0100
++++ sc/source/ui/vba/vbascrollbar.cxx	2008-04-02 22:26:03.000000000 +0100
+@@ -0,0 +1,139 @@
++/*************************************************************************
++ *
++ *  OpenOffice.org - a multi-platform office productivity suite
++ *
++ *  $RCSfile: vbalabel.cxx,v $
++ *
++ *  $Revision: 1.2 $
++ *
++ *  last change: $Author: vg $ $Date: 2007/12/07 10:54:35 $
++ *
++ *  The Contents of this file are made available subject to
++ *  the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ *    GNU Lesser General Public License Version 2.1
++ *    =============================================
++ *    Copyright 2005 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
++ *
++ ************************************************************************/
++#include "vbascrollbar.hxx"
++#include <vector>
++
++using namespace com::sun::star;
++using namespace org::openoffice;
++
++
++const static rtl::OUString LARGECHANGE( RTL_CONSTASCII_USTRINGPARAM("BlockIncrement") );
++const static rtl::OUString SMALLCHANGE( RTL_CONSTASCII_USTRINGPARAM("LineIncrement") );
++const static rtl::OUString ORIENTATION( RTL_CONSTASCII_USTRINGPARAM("Orientation") );
++const static rtl::OUString SCROLLVALUE( RTL_CONSTASCII_USTRINGPARAM("ScrollValue") );
++const static rtl::OUString SCROLLMAX( RTL_CONSTASCII_USTRINGPARAM("ScrollValueMax") );
++const static rtl::OUString SCROLLMIN( RTL_CONSTASCII_USTRINGPARAM("ScrollValueMin") );
++
++ScVbaScrollBar::ScVbaScrollBar( const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< uno::XInterface >& xControl ) : ScrollBarImpl_BASE( xContext, xControl )
++{
++}
++
++// Attributes
++uno::Any SAL_CALL 
++ScVbaScrollBar::getValue() throw (css::uno::RuntimeException)
++{
++    return  m_xProps->getPropertyValue( SCROLLVALUE );
++}
++
++void SAL_CALL 
++ScVbaScrollBar::setValue( const uno::Any& _value ) throw (::com::sun::star::uno::RuntimeException)
++{
++    m_xProps->setPropertyValue( SCROLLVALUE, _value );
++}
++
++::sal_Int32 SAL_CALL 
++ScVbaScrollBar::getMax() throw (uno::RuntimeException)
++{
++    sal_Int32 nMax = 0;
++    m_xProps->getPropertyValue( SCROLLMAX ) >>= nMax;
++    return nMax;
++}
++
++void SAL_CALL 
++ScVbaScrollBar::setMax( sal_Int32 nVal ) throw (uno::RuntimeException)
++{
++    m_xProps->setPropertyValue( SCROLLMAX, uno::makeAny( nVal ) ); 
++}
++
++::sal_Int32 SAL_CALL 
++ScVbaScrollBar::getMin() throw (uno::RuntimeException)
++{
++    sal_Int32 nVal = 0;
++    m_xProps->getPropertyValue( SCROLLMIN ) >>= nVal;
++    return nVal;
++}
++
++void SAL_CALL 
++ScVbaScrollBar::setMin( sal_Int32 nVal ) throw (uno::RuntimeException)
++{
++    m_xProps->setPropertyValue( SCROLLMIN, uno::makeAny( nVal ) ); 
++}
++
++void SAL_CALL 
++ScVbaScrollBar::setLargeChange( ::sal_Int32 _largechange ) throw (uno::RuntimeException)
++{
++    m_xProps->setPropertyValue( LARGECHANGE, uno::makeAny( _largechange ) );
++}
++
++::sal_Int32 SAL_CALL 
++ScVbaScrollBar::getLargeChange() throw (uno::RuntimeException)
++{
++    sal_Int32 nVal = 0;
++    m_xProps->getPropertyValue( LARGECHANGE ) >>= nVal;
++    return nVal;
++}
++
++::sal_Int32 SAL_CALL 
++ScVbaScrollBar::getSmallChange() throw (uno::RuntimeException)
++{
++    sal_Int32 nSmallChange = 0;
++    m_xProps->getPropertyValue( SMALLCHANGE ) >>= nSmallChange;
++    return nSmallChange;
++}
++
++void SAL_CALL 
++ScVbaScrollBar::setSmallChange( ::sal_Int32 _smallchange ) throw (uno::RuntimeException)
++{
++    m_xProps->setPropertyValue( SMALLCHANGE, uno::makeAny( _smallchange ) );
++}
++
++rtl::OUString& 
++ScVbaScrollBar::getServiceImplName()
++{
++	static rtl::OUString sImplName( RTL_CONSTASCII_USTRINGPARAM("ScVbaScrollBar") );
++	return sImplName;
++}
++
++uno::Sequence< rtl::OUString > 
++ScVbaScrollBar::getServiceNames()
++{
++	static uno::Sequence< rtl::OUString > aServiceNames;
++	if ( aServiceNames.getLength() == 0 )
++	{
++		aServiceNames.realloc( 1 );
++		aServiceNames[ 0 ] = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("org.openoffice.msforms.Frame" ) );
++	}
++	return aServiceNames;
++}
+--- /dev/null	2007-05-04 11:54:36.000000000 +0100
++++ sc/source/ui/vba/vbascrollbar.hxx	2008-04-02 22:33:09.000000000 +0100
+@@ -0,0 +1,67 @@
++/*************************************************************************
++ *
++ *  OpenOffice.org - a multi-platform office productivity suite
++ *
++ *  $RCSfile: vbalabel.hxx,v $
++ *
++ *  $Revision: 1.2 $
++ *
++ *  last change: $Author: vg $ $Date: 2007/12/07 10:54:46 $
++ *
++ *  The Contents of this file are made available subject to
++ *  the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ *    GNU Lesser General Public License Version 2.1
++ *    =============================================
++ *    Copyright 2005 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
++ *
++ ************************************************************************/
++#ifndef SC_VBA_SCROLLBAR_HXX
++#define SC_VBA_SCROLLBAR_HXX
++#include <cppuhelper/implbase1.hxx>
++#include <org/openoffice/msforms/XScrollBar.hpp>
++
++#include "vbacontrol.hxx"
++#include "vbahelper.hxx"
++
++typedef cppu::ImplInheritanceHelper1< ScVbaControl, oo::msforms::XScrollBar > ScrollBarImpl_BASE;
++
++class ScVbaScrollBar : public ScrollBarImpl_BASE
++{
++public:
++    ScVbaScrollBar( const css::uno::Reference< css::uno::XComponentContext >& xContext,
++                    const css::uno::Reference< css::uno::XInterface >& xControl );
++   // Attributes
++    virtual css::uno::Any SAL_CALL getValue() throw (css::uno::RuntimeException);
++    virtual void SAL_CALL setValue( const css::uno::Any& _value ) throw (css::uno::RuntimeException);
++    virtual ::sal_Int32 SAL_CALL getMax() throw (css::uno::RuntimeException);
++    virtual void SAL_CALL setMax( ::sal_Int32 _max ) throw (css::uno::RuntimeException);
++    virtual ::sal_Int32 SAL_CALL getMin() throw (css::uno::RuntimeException);
++    virtual void SAL_CALL setMin( ::sal_Int32 _min ) throw (css::uno::RuntimeException);
++    virtual ::sal_Int32 SAL_CALL getLargeChange() throw (css::uno::RuntimeException);
++    virtual void SAL_CALL setLargeChange( ::sal_Int32 _largechange ) throw (css::uno::RuntimeException);
++    virtual ::sal_Int32 SAL_CALL getSmallChange() throw (css::uno::RuntimeException);
++    virtual void SAL_CALL setSmallChange( ::sal_Int32 _smallchange ) throw (css::uno::RuntimeException);
++
++
++    //XHelperInterface
++    virtual rtl::OUString& getServiceImplName();
++    virtual css::uno::Sequence<rtl::OUString> getServiceNames();
++};
++#endif //SC_VBA_LABEL_HXX
 diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbaworksheet.cxx sc/source/ui/vba/vbaworksheet.cxx
 --- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/sc/source/ui/vba/vbaworksheet.cxx	2008-03-29 23:07:54.000000000 +0000
 +++ sc/source/ui/vba/vbaworksheet.cxx	2008-03-28 10:30:34.000000000 +0000
@@ -3477,8 +3867,8 @@
  			// Sonst testen, ob das Element vorhanden ist
  			// GBLSEARCH-Flag rausnehmen (wg. Rekursion)
  			USHORT nGblFlag = p->GetFlags() & SBX_GBLSEARCH;
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/basic/source/classes/sbxmod.cxx	2008-03-31 15:23:06.000000000 +0100
-+++ basic/source/classes/sbxmod.cxx	2008-04-01 23:38:20.000000000 +0100
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/basic/source/classes/sbxmod.cxx	2008-04-03 11:33:30.000000000 +0100
++++ basic/source/classes/sbxmod.cxx	2008-04-02 17:57:44.000000000 +0100
 @@ -62,6 +62,9 @@
  #include "sbunoobj.hxx"
  #include <basic/hilight.hxx>
@@ -3517,7 +3907,7 @@
  
  SV_DECL_VARARR(SbiBreakpoints,USHORT,4,4)
  SV_IMPL_VARARR(SbiBreakpoints,USHORT)
-@@ -1903,6 +1919,263 @@ void SyntaxHighlighter::getHighlightPort
+@@ -1903,6 +1919,270 @@ void SyntaxHighlighter::getHighlightPort
  	m_pSimpleTokenizer->getHighlightPortions( nLine, rLine, portions );
  }
  
@@ -3611,6 +4001,7 @@
 +        if ( mxComponent.is() );
 +        {
 +            uno::Reference< awt::XWindow > xList( mxComponent, uno::UNO_QUERY_THROW );;
++            OSL_TRACE("*********** Registering the listener");
 +            xList->addFocusListener( this );
 +        }
 +    }
@@ -3626,7 +4017,8 @@
 +            if ( mxComponent.is() && !mbDisposed )
 +            {
 +                uno::Reference< awt::XWindow > xList( mxComponent, uno::UNO_QUERY_THROW );;
-+                xList->addFocusListener( this );
++                OSL_TRACE("*********** Removing the listener");
++                xList->removeFocusListener( this );
 +                mxComponent = NULL;
 +            }
 +        }
@@ -3715,6 +4107,11 @@
 +	triggerMethod( aTermMethodName );
 +}
 +
++void SbUserFormModule::load()
++{
++    OSL_TRACE("** load() ");
++    GetObject(); // forces a load
++}
 +void SbUserFormModule::Unload()
 +{
 +    OSL_TRACE("** Unload() ");
@@ -3841,6 +4238,20 @@
  static void FilterWhiteSpace( String& rStr )
  {
  	rStr.EraseAllChars( ' ' );
+@@ -4386,7 +4386,12 @@ RTLFUNC(Load)
+ 
+ 	// Diesen Call einfach an das Object weiterreichen
+ 	SbxBase* pObj = (SbxObject*)rPar.Get(1)->GetObject();
+-	if( pObj && pObj->IsA( TYPE( SbxObject ) ) )
++	if( pObj && pObj->IsA( TYPE( SbUserFormModule ) ) )
++        {
++		SbUserFormModule* pFormModule = ( SbUserFormModule* )pObj;
++		pFormModule->load();
++	}
++	else if( pObj && pObj->IsA( TYPE( SbxObject ) ) )
+ 	{
+ 		SbxVariable* pVar = ((SbxObject*)pObj)->
+ 			Find( String( RTL_CONSTASCII_USTRINGPARAM("Load") ), SbxCLASS_METHOD );
 @@ -4407,7 +4409,12 @@ RTLFUNC(Unload)
  
  	// Diesen Call einfach an das Object weitereichen
@@ -3920,8 +4331,8 @@
  
  	NameContainerNameMap::iterator aIt = mHashMap.find( aName );
 --- /dev/null	2007-05-04 11:54:36.000000000 +0100
-+++ basic/inc/basic/sbobjmod.hxx	2008-04-01 23:01:32.000000000 +0100
-@@ -0,0 +1,96 @@
++++ basic/inc/basic/sbobjmod.hxx	2008-04-02 17:40:27.000000000 +0100
+@@ -0,0 +1,97 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -4002,6 +4413,7 @@
 +    virtual SbxVariable* Find( const XubString& rName, SbxClassType t );
 +    void ResetApiObj( bool bUnloaded = true );
 +    void Unload();
++    void load();
 +    void triggerMethod( const String& );
 +    void triggerActivateEvent();
 +    void triggerDeActivateEvent();
@@ -4095,23 +4507,23 @@
  				    }
  			    }
  		    }
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/msforms/makefile.mk	2008-03-31 15:23:06.000000000 +0100
-+++ oovbaapi/org/openoffice/msforms/makefile.mk	2008-03-28 18:04:39.000000000 +0000
-@@ -60,7 +60,9 @@ IDLFILES=\
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/msforms/makefile.mk	2008-04-03 11:33:30.000000000 +0100
++++ oovbaapi/org/openoffice/msforms/makefile.mk	2008-04-02 21:34:52.000000000 +0100
+@@ -60,7 +60,10 @@ IDLFILES=\
  	XPictureFormat.idl \
  	XShapeRange.idl \
  	XTextBoxShape.idl \
 -	XListBox.idl 
 +	XUserForm.idl \
 +	XListBox.idl \
-+	XToggleButton.idl
++	XToggleButton.idl \
++	XScrollBar.idl \
  
  # ------------------------------------------------------------------
  
-diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/msforms/XControl.idl oovbaapi/org/openoffice/msforms/XControl.idl
---- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/msforms/XControl.idl	2007-12-07 12:14:42.000000000 +0000
-+++ oovbaapi/org/openoffice/msforms/XControl.idl	2008-03-28 10:30:34.000000000 +0000
-@@ -42,12 +42,16 @@
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/msforms/XControl.idl	2008-04-03 11:33:30.000000000 +0100
++++ oovbaapi/org/openoffice/msforms/XControl.idl	2008-04-02 18:43:57.000000000 +0100
+@@ -42,12 +42,17 @@
  
  //=============================================================================
  
@@ -4127,6 +4539,7 @@
 +interface XControl
  {
 +	interface ::org::openoffice::vba::XHelperInterface;
++	void SetFocus();
  	[attribute] boolean Enabled;
  	[attribute] boolean Visible;
      //Size. there are some defferent between Mso and OOo.
@@ -4140,6 +4553,37 @@
  	[attribute] string Text;
  	void AddItem( [in] any pvargItem, [in] any pvargIndex );
  	void Clear();
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/msforms/XLabel.idl	2007-12-07 12:15:04.000000000 +0000
++++ oovbaapi/org/openoffice/msforms/XLabel.idl	2008-04-02 16:16:34.000000000 +0100
+@@ -46,6 +46,7 @@ module org {  module openoffice {  modul
+ interface XLabel: com::sun::star::uno::XInterface 
+ {
+ 	[attribute] string Caption;
++	[attribute] any Value;
+ };
+ 
+ //=============================================================================
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/msforms/XListBox.idl	2007-12-07 12:15:24.000000000 +0000
++++ oovbaapi/org/openoffice/msforms/XListBox.idl	2008-04-02 16:17:03.000000000 +0100
+@@ -49,6 +49,7 @@ interface XListBox: com::sun::star::uno:
+ 	[attribute] any Value;
+ 	[attribute] string Text;
+ 	[attribute] boolean MultiSelect;
++	[attribute] any ListIndex;
+ 	//[attribute] sequence< boolean > Selected;
+ 	void AddItem( [in] any pvargItem, [in] any pvargIndex );
+ 	void Clear();
+--- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/msforms/XRadioButton.idl	2007-12-07 12:15:44.000000000 +0000
++++ oovbaapi/org/openoffice/msforms/XRadioButton.idl	2008-04-02 19:09:03.000000000 +0100
+@@ -46,7 +46,7 @@ module org {  module openoffice {  modul
+ interface XRadioButton: com::sun::star::uno::XInterface 
+ {
+ 	[attribute] string Caption;
+-	[attribute] boolean Value;
++	[attribute] any Value;
+ };
+ 
+ //=============================================================================
 --- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/msforms/XTextBox.idl	2007-12-07 12:16:25.000000000 +0000
 +++ oovbaapi/org/openoffice/msforms/XTextBox.idl	2008-04-01 20:57:37.000000000 +0100
 @@ -46,7 +46,7 @@ module org {  module openoffice {  modul
@@ -4151,6 +4595,70 @@
      [attribute] long    MaxLength;
      [attribute] boolean Multiline;
  };
+--- /dev/null	2007-05-04 11:54:36.000000000 +0100
++++ oovbaapi/org/openoffice/msforms/XScrollBar.idl	2008-04-02 22:20:04.000000000 +0100
+@@ -0,0 +1,61 @@
++/*************************************************************************
++ *
++ *  OpenOffice.org - a multi-platform office productivity suite
++ *
++ *  $RCSfile: XRadioButton.idl,v $
++ *
++ *  $Revision: 1.2 $
++ *
++ *  last change: $Author: vg $ $Date: 2007/12/07 12:15:44 $
++ *
++ *  The Contents of this file are made available subject to
++ *  the terms of GNU Lesser General Public License Version 2.1.
++ *
++ *
++ *    GNU Lesser General Public License Version 2.1
++ *    =============================================
++ *    Copyright 2005 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
++ *
++ ************************************************************************/
++#ifndef __org_openoffice_msforms_XRadioButton_idl__
++#define __org_openoffice_msforms_XRadioButton_idl__
++
++#ifndef __com_sun_star_uno_XInterface_idl__
++#include <com/sun/star/uno/XInterface.idl>
++#endif
++//=============================================================================
++
++module org {  module openoffice {  module msforms { 
++
++//=============================================================================
++interface XScrollBar: com::sun::star::uno::XInterface 
++{
++	[attribute] long Max;
++	[attribute] long Min;
++	[attribute] any Value;
++	[attribute] long LargeChange;
++	[attribute] long SmallChange;
++};
++
++//=============================================================================
++
++}; }; };
++
++#endif
++
++
 diff -rup /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/vba/XVBAToOOEventDescGen.idl oovbaapi/org/openoffice/vba/XVBAToOOEventDescGen.idl
 --- /data4/OOOBuildM12/ooo-build/build/ooh680-m12/oovbaapi/org/openoffice/vba/XVBAToOOEventDescGen.idl	2007-04-27 08:32:41.000000000 +0100
 +++ oovbaapi/org/openoffice/vba/XVBAToOOEventDescGen.idl	2008-03-28 10:30:34.000000000 +0000
@@ -4953,7 +5461,7 @@
 +}
 +
 --- /dev/null	2007-05-04 11:54:36.000000000 +0100
-+++ sc/source/ui/vba/vbacheckbox.hxx	2008-03-28 14:29:21.000000000 +0000
++++ sc/source/ui/vba/vbacheckbox.hxx	2008-04-02 19:50:04.000000000 +0100
 @@ -0,0 +1,59 @@
 +/*************************************************************************
 + *
@@ -4997,9 +5505,9 @@
 +#include "vbacontrol.hxx"
 +#include "vbahelper.hxx"
 +
-+typedef cppu::ImplInheritanceHelper1< ScVbaControl, oo::msforms::XRadioButton > RadioButtonImpl_BASE;
++typedef cppu::ImplInheritanceHelper1< ScVbaControl, oo::msforms::XRadioButton > CheckBoxImpl_BASE;
 +
-+class ScVbaCheckbox : public RadioButtonImpl_BASE
++class ScVbaCheckbox : public CheckBoxImpl_BASE
 +{
 +public:
 +    ScVbaCheckbox( const css::uno::Reference< css::uno::XComponentContext >& xContext,
@@ -5007,16 +5515,16 @@
 +   // Attributes
 +    virtual rtl::OUString SAL_CALL getCaption() throw (css::uno::RuntimeException);
 +    virtual void SAL_CALL setCaption( const rtl::OUString& _caption ) throw (css::uno::RuntimeException);
-+    virtual sal_Bool SAL_CALL getValue() throw (css::uno::RuntimeException);
-+    virtual void SAL_CALL setValue( sal_Bool _value ) throw (css::uno::RuntimeException);
++    virtual css::uno::Any SAL_CALL getValue() throw (css::uno::RuntimeException);
++    virtual void SAL_CALL setValue( const css::uno::Any& _value ) throw (css::uno::RuntimeException);
 +    //XHelperInterface
 +    virtual rtl::OUString& getServiceImplName();
 +    virtual css::uno::Sequence<rtl::OUString> getServiceNames();
 +};
 +#endif //SC_VBA_CHECKBOX_HXX
 --- /dev/null	2007-05-04 11:54:36.000000000 +0100
-+++ sc/source/ui/vba/vbacheckbox.cxx	2008-03-28 14:30:05.000000000 +0000
-@@ -0,0 +1,99 @@
++++ sc/source/ui/vba/vbacheckbox.cxx	2008-04-02 22:48:41.000000000 +0100
+@@ -0,0 +1,110 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -5060,7 +5568,7 @@
 +
 +const static rtl::OUString LABEL( RTL_CONSTASCII_USTRINGPARAM("Label") );
 +const static rtl::OUString STATE( RTL_CONSTASCII_USTRINGPARAM("State") );
-+ScVbaCheckbox::ScVbaCheckbox( const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< uno::XInterface >& xControl ) : RadioButtonImpl_BASE( xContext, xControl )
++ScVbaCheckbox::ScVbaCheckbox( const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< uno::XInterface >& xControl ) : CheckBoxImpl_BASE( xContext, xControl )
 +{
 +}
 +
@@ -5079,23 +5587,34 @@
 +    m_xProps->setPropertyValue( LABEL, uno::makeAny( _caption ) );
 +}
 +
-+sal_Bool SAL_CALL 
++uno::Any SAL_CALL 
 +ScVbaCheckbox::getValue() throw (css::uno::RuntimeException)
 +{
-+    sal_Bool bValue = sal_False;
 +    sal_Int16 nValue = -1;
 +    m_xProps->getPropertyValue( STATE ) >>= nValue;
 +    if( nValue != 0 )
-+        bValue = sal_True;
-+    return bValue;
++        nValue = -1;
++//    return uno::makeAny( nValue ); 
++// I must be missing something MSO says value should be -1 if selected, 0 if not
++// selected
++    return uno::makeAny( ( nValue == -1 ) ? sal_True : sal_False ); 
 +}
 +
 +void SAL_CALL 
-+ScVbaCheckbox::setValue( sal_Bool _value ) throw (css::uno::RuntimeException)
++ScVbaCheckbox::setValue( const uno::Any& _value ) throw (css::uno::RuntimeException)
 +{
 +    sal_Int16 nValue = 0;
-+    if( _value )
-+        nValue = 1;
++    sal_Bool bValue = false;
++    if( _value >>= nValue )
++    {
++        if( nValue == -1)
++            nValue = 1;
++    }
++    else if ( _value >>= bValue )
++    {
++        if ( bValue )
++            nValue = 1;
++    }
 +    m_xProps->setPropertyValue( STATE, uno::makeAny( nValue ) );
 +}
 +rtl::OUString& 
@@ -5117,8 +5636,8 @@
 +	return aServiceNames;
 +}
 --- /dev/null	2007-05-04 11:54:36.000000000 +0100
-+++ sc/source/ui/vba/vbaframe.hxx	2008-04-01 16:49:12.000000000 +0100
-@@ -0,0 +1,57 @@
++++ sc/source/ui/vba/vbaframe.hxx	2008-04-02 21:26:23.000000000 +0100
+@@ -0,0 +1,59 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -5161,14 +5680,16 @@
 +#include "vbacontrol.hxx"
 +#include "vbahelper.hxx"
 +
-+typedef cppu::ImplInheritanceHelper1< ScVbaControl, oo::msforms::XLabel > LabelImpl_BASE;
++typedef cppu::ImplInheritanceHelper1< ScVbaControl, oo::msforms::XLabel > FrameImpl_BASE;
 +
-+class ScVbaFrame : public LabelImpl_BASE
++class ScVbaFrame : public FrameImpl_BASE
 +{
 +public:
 +    ScVbaFrame( const css::uno::Reference< css::uno::XComponentContext >& xContext,
 +                    const css::uno::Reference< css::uno::XInterface >& xControl );
 +   // Attributes
++    virtual css::uno::Any SAL_CALL getValue() throw (css::uno::RuntimeException);
++    virtual void SAL_CALL setValue( const css::uno::Any& _value ) throw (css::uno::RuntimeException);
 +    virtual rtl::OUString SAL_CALL getCaption() throw (css::uno::RuntimeException);
 +    virtual void SAL_CALL setCaption( const rtl::OUString& _caption ) throw (css::uno::RuntimeException);
 +    //XHelperInterface
@@ -5177,8 +5698,8 @@
 +};
 +#endif //SC_VBA_LABEL_HXX
 --- /dev/null	2007-05-04 11:54:36.000000000 +0100
-+++ sc/source/ui/vba/vbaframe.cxx	2008-04-01 16:48:38.000000000 +0100
-@@ -0,0 +1,79 @@
++++ sc/source/ui/vba/vbaframe.cxx	2008-04-02 21:26:29.000000000 +0100
+@@ -0,0 +1,93 @@
 +/*************************************************************************
 + *
 + *  OpenOffice.org - a multi-platform office productivity suite
@@ -5221,7 +5742,7 @@
 +
 +
 +const static rtl::OUString LABEL( RTL_CONSTASCII_USTRINGPARAM("Label") );
-+ScVbaFrame::ScVbaFrame( const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< uno::XInterface >& xControl ) : LabelImpl_BASE( xContext, xControl )
++ScVbaFrame::ScVbaFrame( const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< uno::XInterface >& xControl ) : FrameImpl_BASE( xContext, xControl )
 +{
 +}
 +
@@ -5240,6 +5761,20 @@
 +    m_xProps->setPropertyValue( LABEL, uno::makeAny( _caption ) );
 +}
 +
++uno::Any SAL_CALL 
++ScVbaFrame::getValue() throw (css::uno::RuntimeException)
++{
++    return uno::makeAny( getCaption() );
++}
++
++void SAL_CALL 
++ScVbaFrame::setValue( const uno::Any& _value ) throw (::com::sun::star::uno::RuntimeException)
++{
++    rtl::OUString sCaption;
++    _value >>= sCaption;
++    setCaption( sCaption ); 
++}
++
 +rtl::OUString& 
 +ScVbaFrame::getServiceImplName()
 +{



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]