diff options
author | Noel Power <noel.power@novell.com> | 2011-12-05 09:56:17 +0000 |
---|---|---|
committer | Noel Power <noel.power@novell.com> | 2011-12-05 09:57:12 +0000 |
commit | 9cff030fa15f89fa1009fbb3827ab11c43c20b04 (patch) | |
tree | 7a2cc323b2df30d253b8911d25aeaadd78c9d6cb /basctl | |
parent | c2f62c8cb30975e3cd46c4800e738f3f010ecb3e (diff) |
add some form control support for basic dialogs
Diffstat (limited to 'basctl')
-rw-r--r-- | basctl/Package_xml.mk | 1 | ||||
-rw-r--r-- | basctl/sdi/baside.sdi | 42 | ||||
-rw-r--r-- | basctl/source/basicide/baside3.cxx | 52 | ||||
-rw-r--r-- | basctl/source/basicide/basides1.cxx | 10 | ||||
-rw-r--r-- | basctl/source/basicide/idetemp.hxx | 2 | ||||
-rw-r--r-- | basctl/source/dlged/dlged.cxx | 2 | ||||
-rw-r--r-- | basctl/source/dlged/dlgedfac.cxx | 67 | ||||
-rw-r--r-- | basctl/source/dlged/dlgedobj.cxx | 31 | ||||
-rw-r--r-- | basctl/source/inc/dlgeddef.hxx | 8 | ||||
-rw-r--r-- | basctl/source/inc/dlgedfac.hxx | 4 | ||||
-rw-r--r-- | basctl/source/inc/dlgedobj.hxx | 2 | ||||
-rw-r--r-- | basctl/uiconfig/basicide/toolbar/formcontrolsbar.xml | 16 |
12 files changed, 224 insertions, 13 deletions
diff --git a/basctl/Package_xml.mk b/basctl/Package_xml.mk index c420e5391767..f5dbf10bfdbe 100644 --- a/basctl/Package_xml.mk +++ b/basctl/Package_xml.mk @@ -35,6 +35,7 @@ $(eval $(call gb_Package_add_file,basctl_xml,xml/uiconfig/modules/BasicIDE/toolb $(eval $(call gb_Package_add_file,basctl_xml,xml/uiconfig/modules/BasicIDE/toolbar/findbar.xml,uiconfig/basicide/toolbar/findbar.xml)) $(eval $(call gb_Package_add_file,basctl_xml,xml/uiconfig/modules/BasicIDE/toolbar/fullscreenbar.xml,uiconfig/basicide/toolbar/fullscreenbar.xml)) $(eval $(call gb_Package_add_file,basctl_xml,xml/uiconfig/modules/BasicIDE/toolbar/insertcontrolsbar.xml,uiconfig/basicide/toolbar/insertcontrolsbar.xml)) +$(eval $(call gb_Package_add_file,basctl_xml,xml/uiconfig/modules/BasicIDE/toolbar/formcontrolsbar.xml,uiconfig/basicide/toolbar/formcontrolsbar.xml)) $(eval $(call gb_Package_add_file,basctl_xml,xml/uiconfig/modules/BasicIDE/toolbar/macrobar.xml,uiconfig/basicide/toolbar/macrobar.xml)) $(eval $(call gb_Package_add_file,basctl_xml,xml/uiconfig/modules/BasicIDE/toolbar/standardbar.xml,uiconfig/basicide/toolbar/standardbar.xml)) $(eval $(call gb_Package_add_file,basctl_xml,xml/uiconfig/modules/BasicIDE/toolbar/translationbar.xml,uiconfig/basicide/toolbar/translationbar.xml)) diff --git a/basctl/sdi/baside.sdi b/basctl/sdi/baside.sdi index 11a97fe62c99..de6160125a3d 100644 --- a/basctl/sdi/baside.sdi +++ b/basctl/sdi/baside.sdi @@ -470,6 +470,48 @@ shell BasicIDEShell [ StateMethod = GetState; ] + + SID_INSERT_RADIO + [ + ExecMethod = ExecuteDialog; + StateMethod = GetState; + ] + + SID_INSERT_CHECK + [ + ExecMethod = ExecuteDialog; + StateMethod = GetState; + ] + + SID_INSERT_LIST + [ + ExecMethod = ExecuteDialog; + StateMethod = GetState; + ] + + SID_INSERT_COMBO + [ + ExecMethod = ExecuteDialog; + StateMethod = GetState; + ] + + SID_INSERT_VSCROLL + [ + ExecMethod = ExecuteDialog; + StateMethod = GetState; + ] + + SID_INSERT_HSCROLL + [ + ExecMethod = ExecuteDialog; + StateMethod = GetState; + ] + + SID_INSERT_SPIN + [ + ExecMethod = ExecuteDialog; + StateMethod = GetState; + ] } interface BasicIDEDocument diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx index b5c287d431f8..2f7ccfb744ba 100644 --- a/basctl/source/basicide/baside3.cxx +++ b/basctl/source/basicide/baside3.cxx @@ -272,6 +272,18 @@ void DialogWindow::DoScroll( ScrollBar* pCurScrollBar ) void DialogWindow::GetState( SfxItemSet& rSet ) { SfxWhichIter aIter(rSet); + bool bIsCalc = false; + if ( GetDocument().isDocument() ) + { + Reference< frame::XModel > xModel= GetDocument().getDocument(); + if ( xModel.is() ) + { + Reference< lang::XServiceInfo > xServiceInfo ( xModel, UNO_QUERY ); + if ( xServiceInfo.is() && xServiceInfo->supportsService( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sheet.SpreadsheetDocument") ) ) ) + bIsCalc = true; + } + } + for ( sal_uInt16 nWh = aIter.FirstWhich(); 0 != nWh; nWh = aIter.NextWhich() ) { switch ( nWh ) @@ -390,6 +402,18 @@ void DialogWindow::GetState( SfxItemSet& rSet ) rSet.DisableItem( nWh ); } break; + case SID_INSERT_RADIO: + case SID_INSERT_CHECK: + case SID_INSERT_LIST: + case SID_INSERT_COMBO: + case SID_INSERT_VSCROLL: + case SID_INSERT_HSCROLL: + case SID_INSERT_SPIN: + { + if ( !bIsCalc || IsReadOnly() ) + rSet.DisableItem( nWh ); + } + break; } } } @@ -430,6 +454,34 @@ void DialogWindow::ExecuteCommand( SfxRequest& rReq ) pBindings->Invalidate( SID_DOC_MODIFIED ); } break; + case SID_INSERT_RADIO: + GetEditor()->SetMode( DLGED_INSERT ); + GetEditor()->SetInsertObj( OBJ_DLG_FORMRADIO ); + break; + case SID_INSERT_CHECK: + GetEditor()->SetMode( DLGED_INSERT ); + GetEditor()->SetInsertObj( OBJ_DLG_FORMCHECK ); + break; + case SID_INSERT_LIST: + GetEditor()->SetMode( DLGED_INSERT ); + GetEditor()->SetInsertObj( OBJ_DLG_FORMLIST ); + break; + case SID_INSERT_COMBO: + GetEditor()->SetMode( DLGED_INSERT ); + GetEditor()->SetInsertObj( OBJ_DLG_FORMCOMBO ); + break; + case SID_INSERT_SPIN: + GetEditor()->SetMode( DLGED_INSERT ); + GetEditor()->SetInsertObj( OBJ_DLG_FORMSPIN ); + break; + case SID_INSERT_VSCROLL: + GetEditor()->SetMode( DLGED_INSERT ); + GetEditor()->SetInsertObj( OBJ_DLG_FORMVSCROLL ); + break; + case SID_INSERT_HSCROLL: + GetEditor()->SetMode( DLGED_INSERT ); + GetEditor()->SetInsertObj( OBJ_DLG_FORMHSCROLL ); + break; case SID_CHOOSE_CONTROLS: { const SfxItemSet* pArgs = rReq.GetArgs(); diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx index 62cb0c6ec0dd..ab9fd013c9f8 100644 --- a/basctl/source/basicide/basides1.cxx +++ b/basctl/source/basicide/basides1.cxx @@ -917,6 +917,13 @@ void BasicIDEShell::GetState(SfxItemSet &rSet) break; case SID_CHOOSE_CONTROLS: case SID_DIALOG_TESTMODE: + case SID_INSERT_RADIO: + case SID_INSERT_CHECK: + case SID_INSERT_LIST: + case SID_INSERT_COMBO: + case SID_INSERT_VSCROLL: + case SID_INSERT_HSCROLL: + case SID_INSERT_SPIN: { if( !pCurWin || !pCurWin->IsA( TYPE( DialogWindow ) ) ) rSet.DisableItem( nWh ); @@ -1201,6 +1208,7 @@ void BasicIDEShell::ManageToolbars() static ::rtl::OUString aMacroBarResName( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/macrobar" )); static ::rtl::OUString aDialogBarResName( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/dialogbar" )); static ::rtl::OUString aInsertControlsBarResName( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/insertcontrolsbar" )); + static ::rtl::OUString aFormControlsBarResName( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/formcontrolsbar" )); (void)aInsertControlsBarResName; if( !pCurWin ) @@ -1222,11 +1230,13 @@ void BasicIDEShell::ManageToolbars() xLayoutManager->requestElement( aDialogBarResName ); xLayoutManager->requestElement( aInsertControlsBarResName ); + xLayoutManager->requestElement( aFormControlsBarResName ); } else { xLayoutManager->destroyElement( aDialogBarResName ); xLayoutManager->destroyElement( aInsertControlsBarResName ); + xLayoutManager->destroyElement( aFormControlsBarResName ); xLayoutManager->requestElement( aMacroBarResName ); } diff --git a/basctl/source/basicide/idetemp.hxx b/basctl/source/basicide/idetemp.hxx index 7700d94f0748..cb2d8693acc9 100644 --- a/basctl/source/basicide/idetemp.hxx +++ b/basctl/source/basicide/idetemp.hxx @@ -57,7 +57,7 @@ enum SvxChooseControlEnum SVX_SNAP_FORMATTEDFIELD, SVX_SNAP_PATTERNFIELD, SVX_SNAP_FILECONTROL, - SVX_SNAP_TREECONTROL + SVX_SNAP_TREECONTROL, }; #define SvxChooseControlItem SfxAllEnumItem diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx index 6d3c5bf69d6b..2769145074cb 100644 --- a/basctl/source/dlged/dlged.cxx +++ b/basctl/source/dlged/dlged.cxx @@ -218,7 +218,7 @@ DlgEditor::DlgEditor( const ::com::sun::star::uno::Reference< ::com::sun::star:: pDlgEdPage = new DlgEdPage( *pDlgEdModel ); pDlgEdModel->InsertPage( pDlgEdPage ); - pObjFac = new DlgEdFactory(); + pObjFac = new DlgEdFactory(xModel); pFunc = new DlgEdFuncSelect( this ); diff --git a/basctl/source/dlged/dlgedfac.cxx b/basctl/source/dlged/dlgedfac.cxx index 92c0da48ff13..ecbb9bda00ab 100644 --- a/basctl/source/dlged/dlgedfac.cxx +++ b/basctl/source/dlged/dlgedfac.cxx @@ -39,7 +39,7 @@ using namespace ::com::sun::star; -DlgEdFactory::DlgEdFactory() +DlgEdFactory::DlgEdFactory( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xModel ) : mxModel( xModel ) { SdrObjFactory::InsertMakeObjectHdl( LINK(this, DlgEdFactory, MakeObject) ); } @@ -70,25 +70,52 @@ IMPL_LINK( DlgEdFactory, MakeObject, SdrObjFactory *, pObjFactory ) if( (pObjFactory->nInventor == DlgInventor) && (pObjFactory->nIdentifier >= OBJ_DLG_PUSHBUTTON) && - (pObjFactory->nIdentifier <= OBJ_DLG_SPINBUTTON) ) + (pObjFactory->nIdentifier <= OBJ_DLG_FORMHSCROLL) ) { switch( pObjFactory->nIdentifier ) { case OBJ_DLG_PUSHBUTTON: pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlButtonModel" )) , xDialogSFact ); break; + case OBJ_DLG_FORMRADIO: case OBJ_DLG_RADIOBUTTON: - pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlRadioButtonModel" )) , xDialogSFact ); + if ( pObjFactory->nIdentifier == OBJ_DLG_RADIOBUTTON ) + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlRadioButtonModel" )) , xDialogSFact ); + else + { + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.RadioButton" )) , xDialogSFact ); + static_cast< DlgEdObj* >( pObjFactory->pNewObj )->MakeDataAware( mxModel ); + } break; + case OBJ_DLG_FORMCHECK: case OBJ_DLG_CHECKBOX: - pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlCheckBoxModel" )) , xDialogSFact ); + if ( pObjFactory->nIdentifier == OBJ_DLG_CHECKBOX ) + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlCheckBoxModel" )) , xDialogSFact ); + else + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.CheckBox" )) , xDialogSFact ); + static_cast< DlgEdObj* >( pObjFactory->pNewObj )->MakeDataAware( mxModel ); break; + case OBJ_DLG_FORMLIST: case OBJ_DLG_LISTBOX: - pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlListBoxModel" )) , xDialogSFact ); + if ( pObjFactory->nIdentifier == OBJ_DLG_LISTBOX ) + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlListBoxModel" )) , xDialogSFact ); + else + { + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.ListBox" )) , xDialogSFact ); + static_cast< DlgEdObj* >( pObjFactory->pNewObj )->MakeDataAware( mxModel ); + } break; + case OBJ_DLG_FORMCOMBO: case OBJ_DLG_COMBOBOX: { - DlgEdObj* pNew = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlComboBoxModel" )) , xDialogSFact ); + DlgEdObj* pNew = NULL; + if ( pObjFactory->nIdentifier == OBJ_DLG_COMBOBOX ) + pNew = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlComboBoxModel" )) , xDialogSFact ); + else + { + pNew = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.ComboBox" )) , xDialogSFact ); + static_cast< DlgEdObj* >( pNew )->MakeDataAware( mxModel ); + } pObjFactory->pNewObj = pNew; try { @@ -118,12 +145,27 @@ IMPL_LINK( DlgEdFactory, MakeObject, SdrObjFactory *, pObjFactory ) case OBJ_DLG_PROGRESSBAR: pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlProgressBarModel" )) , xDialogSFact ); break; + case OBJ_DLG_FORMHSCROLL: case OBJ_DLG_HSCROLLBAR: - pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlScrollBarModel" )) , xDialogSFact ); + if ( pObjFactory->nIdentifier == OBJ_DLG_HSCROLLBAR ) + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlScrollBarModel" )) , xDialogSFact ); + else + { + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.ScrollBar" )) , xDialogSFact ); + static_cast< DlgEdObj* >( pObjFactory->pNewObj )->MakeDataAware( mxModel ); + } break; + case OBJ_DLG_FORMVSCROLL: case OBJ_DLG_VSCROLLBAR: { - DlgEdObj* pNew = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlScrollBarModel" )) , xDialogSFact ); + DlgEdObj* pNew = NULL; + if ( pObjFactory->nIdentifier == OBJ_DLG_VSCROLLBAR ) + pNew = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlScrollBarModel" )) , xDialogSFact ); + else + { + pNew = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.form.component.ScrollBar" )) , xDialogSFact ); + static_cast< DlgEdObj* >( pNew )->MakeDataAware( mxModel ); + } pObjFactory->pNewObj = pNew; // set vertical orientation try @@ -183,8 +225,15 @@ IMPL_LINK( DlgEdFactory, MakeObject, SdrObjFactory *, pObjFactory ) case OBJ_DLG_FILECONTROL: pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.UnoControlFileControlModel" )) , xDialogSFact ); break; + case OBJ_DLG_FORMSPIN: case OBJ_DLG_SPINBUTTON: - pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlSpinButtonModel") , xDialogSFact ); + if ( pObjFactory->nIdentifier == OBJ_DLG_SPINBUTTON ) + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlSpinButtonModel") , xDialogSFact ); + else + { + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString::createFromAscii("com.sun.star.form.component.SpinButton") , xDialogSFact ); + static_cast< DlgEdObj* >( pObjFactory->pNewObj )->MakeDataAware( mxModel ); + } break; case OBJ_DLG_TREECONTROL: DlgEdObj* pNew = new DlgEdObj( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.tree.TreeControlModel" )) , xDialogSFact ); diff --git a/basctl/source/dlged/dlgedobj.cxx b/basctl/source/dlged/dlgedobj.cxx index 2e2d8dfaba1c..aa79ef1f5de8 100644 --- a/basctl/source/dlged/dlgedobj.cxx +++ b/basctl/source/dlged/dlgedobj.cxx @@ -38,6 +38,9 @@ #include "dlgresid.hrc" +#include <com/sun/star/form/binding/XBindableValue.hpp> +#include <com/sun/star/form/binding/XValueBinding.hpp> +#include <com/sun/star/form/binding/XListEntrySink.hpp> #include <com/sun/star/awt/XUnoControlContainer.hpp> #include <com/sun/star/awt/XVclContainerPeer.hpp> #include <com/sun/star/container/XContainer.hpp> @@ -1856,7 +1859,33 @@ awt::DeviceInfo DlgEdForm::getDeviceInfo() const return aDeviceInfo; } - +bool DlgEdObj::MakeDataAware( const Reference< frame::XModel >& xModel ) +{ + bool bRes = false; + // Need to flesh this out, currently we will only support data-aware controls for calc + // and only handle a subset of functionality e.g. linked-cell and cell range data source. Of course later + // we need to disambiguate for writer ( and others ? ) and also support the generic form (db) bindings + // we need some more work in xmlscript to be able to handle that + Reference< lang::XMultiServiceFactory > xFac( xModel, UNO_QUERY ); + Reference< form::binding::XBindableValue > xBindable( GetUnoControlModel(), UNO_QUERY ); + Reference< form::binding::XListEntrySink > xListEntrySink( GetUnoControlModel(), UNO_QUERY ); + if ( xFac.is() ) + { + if ( xBindable.is() ) + { + Reference< form::binding::XValueBinding > xBinding( xFac->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.table.CellValueBinding" ) ) ), UNO_QUERY ); + xBindable->setValueBinding( xBinding ); + } + if ( xListEntrySink.is() ) + { + Reference< form::binding::XListEntrySource > xSource( xFac->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.table.CellRangeListSource" ) ) ), UNO_QUERY ); + xListEntrySink->setListEntrySource( xSource ); + } + if ( xListEntrySink.is() || xBindable.is() ) + bRes = true; + } + return bRes; +} //---------------------------------------------------------------------------- diff --git a/basctl/source/inc/dlgeddef.hxx b/basctl/source/inc/dlgeddef.hxx index a7be1fa232c5..f3104a198667 100644 --- a/basctl/source/inc/dlgeddef.hxx +++ b/basctl/source/inc/dlgeddef.hxx @@ -63,6 +63,14 @@ const sal_uInt32 DlgInventor = sal_uInt32('D')*0x00000001+ #define OBJ_DLG_TREECONTROL ((sal_uInt16)24) #define OBJ_DLG_SPINBUTTON ((sal_uInt16)25) +#define OBJ_DLG_FORMRADIO ((sal_uInt16)26) +#define OBJ_DLG_FORMCHECK ((sal_uInt16)27) +#define OBJ_DLG_FORMLIST ((sal_uInt16)28) +#define OBJ_DLG_FORMCOMBO ((sal_uInt16)29) +#define OBJ_DLG_FORMSPIN ((sal_uInt16)30) +#define OBJ_DLG_FORMVSCROLL ((sal_uInt16)31) +#define OBJ_DLG_FORMHSCROLL ((sal_uInt16)32) + // control properties #define DLGED_PROP_BACKGROUNDCOLOR ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "BackgroundColor" ) ) #define DLGED_PROP_DROPDOWN ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Dropdown" ) ) diff --git a/basctl/source/inc/dlgedfac.hxx b/basctl/source/inc/dlgedfac.hxx index 9908b3f5798d..dffbefe024a7 100644 --- a/basctl/source/inc/dlgedfac.hxx +++ b/basctl/source/inc/dlgedfac.hxx @@ -31,6 +31,7 @@ #define _BASCTL_DLGEDFAC_HXX #include <svx/svdobj.hxx> +#include <com/sun/star/frame/XModel.hpp> //============================================================================ // DlgEdFactory @@ -38,8 +39,9 @@ class DlgEdFactory { + const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > mxModel; public: - DlgEdFactory(); + DlgEdFactory( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xModel ); ~DlgEdFactory(); DECL_LINK( MakeObject, SdrObjFactory * ); diff --git a/basctl/source/inc/dlgedobj.hxx b/basctl/source/inc/dlgedobj.hxx index d68c9407bb15..ebe1186dd43b 100644 --- a/basctl/source/inc/dlgedobj.hxx +++ b/basctl/source/inc/dlgedobj.hxx @@ -29,6 +29,7 @@ #ifndef _BASCTL_DLGEDOBJ_HXX #define _BASCTL_DLGEDOBJ_HXX +#include <com/sun/star/frame/XModel.hpp> #include <com/sun/star/beans/XPropertyChangeListener.hpp> #include <com/sun/star/container/XContainerListener.hpp> #include <comphelper/processfactory.hxx> @@ -131,6 +132,7 @@ public: virtual void SAL_CALL _elementRemoved( const ::com::sun::star::container::ContainerEvent& Event ) throw(::com::sun::star::uno::RuntimeException); virtual void SetLayer(SdrLayerID nLayer); + bool MakeDataAware( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xModel ); }; diff --git a/basctl/uiconfig/basicide/toolbar/formcontrolsbar.xml b/basctl/uiconfig/basicide/toolbar/formcontrolsbar.xml new file mode 100644 index 000000000000..a4afa1d1a748 --- /dev/null +++ b/basctl/uiconfig/basicide/toolbar/formcontrolsbar.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd"> +<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar"> + <toolbar:toolbarbreak/> + <toolbar:toolbaritem xlink:href=".uno:InsertFormRadio" toolbar:helpid="helpid:10146" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:InsertFormCheck" toolbar:helpid="helpid:10146" toolbar:style="radio" /> + <toolbar:toolbarbreak/> + <toolbar:toolbaritem xlink:href=".uno:InsertFormList" toolbar:helpid="helpid:10146" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:InsertFormCombo" toolbar:helpid="helpid:10146" toolbar:style="radio" /> + <toolbar:toolbarbreak/> + <toolbar:toolbaritem xlink:href=".uno:InsertFormVScroll" toolbar:helpid="helpid:10146" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:InsertFormHScroll" toolbar:helpid="helpid:10146" toolbar:style="radio" /> + <toolbar:toolbarbreak/> + <toolbar:toolbaritem xlink:href=".uno:InsertFormSpin" toolbar:helpid="helpid:10146" toolbar:style="radio" /> + <toolbar:toolbarbreak/> +</toolbar:toolbar> |