Tag: cws_dev300_rptchart02 User: oj Date: 2008-05-15 12:29:42+0000 Modified: dba/reportdesign/source/ui/dlg/Condition.cxx dba/reportdesign/source/ui/inc/DesignView.hxx dba/reportdesign/source/ui/inc/ReportController.hxx dba/reportdesign/source/ui/inc/ReportSection.hxx dba/reportdesign/source/ui/inc/ReportWindow.hxx dba/reportdesign/source/ui/inc/ScrollHelper.hxx dba/reportdesign/source/ui/inc/ViewsWindow.hxx dba/reportdesign/source/ui/report/DesignView.cxx dba/reportdesign/source/ui/report/ReportController.cxx dba/reportdesign/source/ui/report/ReportSection.cxx dba/reportdesign/source/ui/report/ReportWindow.cxx dba/reportdesign/source/ui/report/ScrollHelper.cxx dba/reportdesign/source/ui/report/ViewsWindow.cxx
Log: #i87135# allow to enable e.g. bold for controls as other checks File Changes: Directory: /dba/reportdesign/source/ui/dlg/ =========================================== File [changed]: Condition.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/dlg/Condition.cxx?r1=1.5&r2=1.5.2.1 Delta lines: +6 -7 ------------------- --- Condition.cxx 2008-04-10 18:51:45+0000 1.5 +++ Condition.cxx 2008-05-15 12:29:37+0000 1.5.2.1 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: Condition.cxx,v $ - * $Revision: 1.5 $ + * $Revision: 1.5.2.1 $ * * This file is part of OpenOffice.org. * @@ -211,6 +211,10 @@ ,m_nLastKnownWindowWidth( -1 ) ,m_bInDestruction( false ) { + m_aMoveUp.SetModeImage( ModuleRes( IMG_MOVE_UP_HC ), BMP_COLOR_HIGHCONTRAST ); + m_aMoveDown.SetModeImage( ModuleRes( IMG_MOVE_DOWN_HC ), BMP_COLOR_HIGHCONTRAST ); + + FreeResource(); m_aActions.SetStyle(m_aActions.GetStyle()|WB_LINESPACING); m_aCondLHS.GrabFocus(); @@ -260,11 +264,6 @@ m_pBtnUpdaterFontColor = new ::svx::ToolboxButtonColorUpdater( SID_ATTR_CHAR_COLOR2, SID_ATTR_CHAR_COLOR2, &m_aActions, TBX_UPDATER_MODE_CHAR_COLOR_NEW ); - - m_aMoveUp.SetModeImage( ModuleRes( IMG_MOVE_UP_HC ), BMP_COLOR_HIGHCONTRAST ); - m_aMoveDown.SetModeImage( ModuleRes( IMG_MOVE_DOWN_HC ), BMP_COLOR_HIGHCONTRAST ); - - FreeResource(); Show(); impl_layoutAll(); Directory: /dba/reportdesign/source/ui/inc/ =========================================== File [changed]: DesignView.hxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/inc/DesignView.hxx?r1=1.4.22.2&r2=1.4.22.3 Delta lines: +7 -2 ------------------- --- DesignView.hxx 2008-04-16 06:29:26+0000 1.4.22.2 +++ DesignView.hxx 2008-05-15 12:29:38+0000 1.4.22.3 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: DesignView.hxx,v $ - * $Revision: 1.4.22.2 $ + * $Revision: 1.4.22.3 $ * * This file is part of OpenOffice.org. * @@ -274,6 +274,11 @@ sal_Bool isHandleEvent(sal_uInt16 _nId) const; sal_uInt32 getMarkedObjectCount() const; + + /** fills the vector with all selected control models + /param _rSelection The vector will be filled and will not be cleared before. + */ + void fillControlModelSelection(::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >& _rSelection) const; }; //================================================================== } //rptui File [changed]: ReportController.hxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/inc/ReportController.hxx?r1=1.7&r2=1.7.2.1 Delta lines: +25 -8 -------------------- --- ReportController.hxx 2008-04-10 19:03:27+0000 1.7 +++ ReportController.hxx 2008-05-15 12:29:38+0000 1.7.2.1 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ReportController.hxx,v $ - * $Revision: 1.7 $ + * $Revision: 1.7.2.1 $ * * This file is part of OpenOffice.org. * @@ -34,21 +34,23 @@ #include <dbaccess/singledoccontroller.hxx> #endif #include <cppuhelper/implbase2.hxx> -#include <com/sun/star/beans/PropertyValue.hpp> +#include <com/sun/star/uno/XComponentContext.hpp> #include <com/sun/star/uno/Sequence.hxx> #include <com/sun/star/sdbc/XConnection.hpp> -#include <com/sun/star/report/XSection.hpp> +#include <com/sun/star/sdbc/XRowSet.hpp> +#include <com/sun/star/beans/PropertyValue.hpp> #include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/beans/XPropertyChangeListener.hpp> #include <com/sun/star/util/XNumberFormatter.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> #include <com/sun/star/io/XObjectOutputStream.hpp> #include <com/sun/star/io/XObjectInputStream.hpp> #include <com/sun/star/frame/XComponentLoader.hpp> +#include <com/sun/star/frame/XFrame.hpp> #include <com/sun/star/report/XReportDefinition.hpp> #include <com/sun/star/report/XReportControlModel.hpp> -#include <com/sun/star/beans/XPropertyChangeListener.hpp> #include <com/sun/star/report/XReportEngine.hpp> -#include <com/sun/star/sdbc/XRowSet.hpp> +#include <com/sun/star/report/XSection.hpp> + #include <comphelper/uno3.hxx> #include <svtools/transfer.hxx> #include <svtools/lstner.hxx> @@ -58,7 +60,7 @@ #include "RptDef.hxx" #include <functional> #include <boost/shared_ptr.hpp> -#include <com/sun/star/frame/XFrame.hpp> + class TransferableHelper; @@ -257,6 +259,21 @@ */ void createDefaultControl(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& _aArgs); + /** fills the state for the feture request. + @param _sProperty the property which should be filled in the value + @param _rState the state to fill + */ + void impl_fillState_nothrow(const ::rtl::OUString& _sProperty,dbaui::FeatureState& _rState) const; + void impl_fillCustomShapeState_nothrow(const char* _pCustomShapeType,dbaui::FeatureState& _rState) const; + + /** set the property at all selected controls. + @return <TRUE/> when the selection is not empty + */ + bool impl_setPropertyAtControls_throw(const sal_Int32 _nUndoResId + ,const ::rtl::OUString& _sProperty + ,const ::com::sun::star::uno::Any& _aValue + ,const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _aArgs); + DECL_LINK( OnInvalidateClipboard, void* ); DECL_LINK( OnClipboardChanged, void* ); DECL_LINK( OnExecuteReport, void* ); File [changed]: ReportSection.hxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/inc/ReportSection.hxx?r1=1.4.92.3&r2=1.4.92.4 Delta lines: +3 -3 ------------------- --- ReportSection.hxx 2008-04-16 06:29:33+0000 1.4.92.3 +++ ReportSection.hxx 2008-05-15 12:29:38+0000 1.4.92.4 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ReportSection.hxx,v $ - * $Revision: 1.4.92.3 $ + * $Revision: 1.4.92.4 $ * * This file is part of OpenOffice.org. * @@ -147,7 +147,7 @@ /** fills the vector with all selected control models /param _rSelection The vector will be filled and will not be cleared before. */ - void fillControlModelSelection(::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent > >& _rSelection) const; + void fillControlModelSelection(::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >& _rSelection) const; /** creates a default object (custom shape) * File [changed]: ReportWindow.hxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/inc/ReportWindow.hxx?r1=1.3.92.2&r2=1.3.92.3 Delta lines: +7 -2 ------------------- --- ReportWindow.hxx 2008-04-16 06:29:37+0000 1.3.92.2 +++ ReportWindow.hxx 2008-05-15 12:29:38+0000 1.3.92.3 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ReportWindow.hxx,v $ - * $Revision: 1.3.92.2 $ + * $Revision: 1.3.92.3 $ * * This file is part of OpenOffice.org. * @@ -232,6 +232,11 @@ void alignMarkedObjects(sal_Int32 _nControlModification, bool _bAlignAtSection, bool bBoundRects = false); sal_uInt32 getMarkedObjectCount() const; + + /** fills the vector with all selected control models + /param _rSelection The vector will be filled and will not be cleared before. + */ + void fillControlModelSelection(::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >& _rSelection) const; }; //================================================================== } //rptui File [changed]: ScrollHelper.hxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/inc/ScrollHelper.hxx?r1=1.4.22.2&r2=1.4.22.3 Delta lines: +6 -2 ------------------- --- ScrollHelper.hxx 2008-04-16 06:29:40+0000 1.4.22.2 +++ ScrollHelper.hxx 2008-05-15 12:29:38+0000 1.4.22.3 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ScrollHelper.hxx,v $ - * $Revision: 1.4.22.2 $ + * $Revision: 1.4.22.3 $ * * This file is part of OpenOffice.org. * @@ -216,6 +216,10 @@ sal_uInt32 getMarkedObjectCount() const; + /** fills the vector with all selected control models + /param _rSelection The vector will be filled and will not be cleared before. + */ + void fillControlModelSelection(::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >& _rSelection) const; }; } #endif // RPTUI_SCROLLHELPER_HXX File [changed]: ViewsWindow.hxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/inc/ViewsWindow.hxx?r1=1.5.22.2&r2=1.5.22.3 Delta lines: +6 -2 ------------------- --- ViewsWindow.hxx 2008-04-16 06:29:47+0000 1.5.22.2 +++ ViewsWindow.hxx 2008-05-15 12:29:38+0000 1.5.22.3 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ViewsWindow.hxx,v $ - * $Revision: 1.5.22.2 $ + * $Revision: 1.5.22.3 $ * * This file is part of OpenOffice.org. * @@ -323,6 +323,10 @@ // void MovAction2(const Point& rPnt,const OSectionView* _pSection); sal_uInt32 getMarkedObjectCount() const; + /** fills the vector with all selected control models + /param _rSelection The vector will be filled and will not be cleared before. + */ + void fillControlModelSelection(::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >& _rSelection) const; }; //============================================================================== } // rptui Directory: /dba/reportdesign/source/ui/report/ ============================================== File [changed]: DesignView.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/report/DesignView.cxx?r1=1.4.22.2&r2=1.4.22.3 Delta lines: +18 -5 -------------------- --- DesignView.cxx 2008-04-16 06:30:20+0000 1.4.22.2 +++ DesignView.cxx 2008-05-15 12:29:39+0000 1.4.22.3 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: DesignView.cxx,v $ - * $Revision: 1.4.22.2 $ + * $Revision: 1.4.22.3 $ * * This file is part of OpenOffice.org. * @@ -761,15 +761,28 @@ ::boost::shared_ptr<OReportSection> pSection = getMarkedSection(); if ( pSection ) { - ::std::vector< uno::Reference< report::XReportComponent > > aSelection; + ::std::vector< uno::Reference< uno::XInterface > > aSelection; pSection->fillControlModelSelection(aSelection); if ( !aSelection.empty() ) - aRet <<= uno::Sequence< uno::Reference< report::XReportComponent > >(&(*aSelection.begin()),aSelection.size()); - + { + ::std::vector< uno::Reference< uno::XInterface > >::iterator aIter = aSelection.begin(); + uno::Sequence< uno::Reference< report::XReportComponent > > aSeq(aSelection.size()); + for(sal_Int32 i = 0; i < aSeq.getLength(); ++i,++aIter) + { + aSeq[i].set(*aIter,uno::UNO_QUERY); + } + aRet <<= aSeq; + } } return aRet; } // ----------------------------------------------------------------------------- +void ODesignView::fillControlModelSelection(::std::vector< uno::Reference< uno::XInterface > >& _rSelection) const +{ + if ( m_pScrollWindow ) + m_pScrollWindow->fillControlModelSelection(_rSelection); +} +// ----------------------------------------------------------------------------- void ODesignView::setGridSnap(BOOL bOn) { if ( m_pScrollWindow ) File [changed]: ReportController.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/report/ReportController.cxx?r1=1.12.4.5&r2=1.12.4.6 Delta lines: +262 -243 ----------------------- --- ReportController.cxx 2008-05-07 06:56:32+0000 1.12.4.5 +++ ReportController.cxx 2008-05-15 12:29:39+0000 1.12.4.6 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ReportController.cxx,v $ - * $Revision: 1.12.4.5 $ + * $Revision: 1.12.4.6 $ * * This file is part of OpenOffice.org. * @@ -187,10 +187,44 @@ return x.equals(y.Name);// ? true : false; } }; + + void lcl_setFontWPU_nothrow(const uno::Reference< report::XReportControlFormat>& _xReportControlFormat,const sal_Int32 _nId) + { + if ( _xReportControlFormat.is() ) + { + try + { + awt::FontDescriptor aFontDescriptor = _xReportControlFormat->getFontDescriptor(); + switch(_nId) + { + case SID_ATTR_CHAR_WEIGHT: + aFontDescriptor.Weight = (awt::FontWeight::NORMAL + awt::FontWeight::BOLD) - aFontDescriptor.Weight; + break; + case SID_ATTR_CHAR_POSTURE: + aFontDescriptor.Slant = static_cast<awt::FontSlant>(static_cast<sal_Int16>(awt::FontSlant_ITALIC) - static_cast<sal_Int16>(aFontDescriptor.Slant)); + break; + case SID_ATTR_CHAR_UNDERLINE: + aFontDescriptor.Underline = awt::FontUnderline::SINGLE - aFontDescriptor.Underline; + break; + default: + OSL_ENSURE(0,"Illegal value in default!"); + break; + } + + _xReportControlFormat->setFontDescriptor(aFontDescriptor); + } + catch(beans::UnknownPropertyException&) + { + } + } // if ( xReportControlFormat.is() ) + } } // ----------------------------------------------------------------------------- -uno::Reference< report::XReportControlFormat> lcl_getReportControlFormat(const Sequence< PropertyValue >& aArgs,ODesignView* _pView,uno::Reference< awt::XWindow>& _xWindow) +void lcl_getReportControlFormat(const Sequence< PropertyValue >& aArgs, + ODesignView* _pView, + uno::Reference< awt::XWindow>& _xWindow, + ::std::vector< uno::Reference< uno::XInterface > >& _rControlsFormats) { uno::Reference< report::XReportControlFormat> xReportControlFormat; if ( aArgs.getLength() ) @@ -200,10 +234,15 @@ _xWindow = aMap.getUnpackedValueOrDefault(CURRENT_WINDOW,uno::Reference< awt::XWindow>()); } // if ( aArgs.getLength() ) if ( !xReportControlFormat.is() ) - xReportControlFormat.set( _pView->getCurrentControlModel(),uno::UNO_QUERY); + { + _pView->fillControlModelSelection(_rControlsFormats); + //xReportControlFormat.set( _pView->getCurrentControlModel(),uno::UNO_QUERY); + } // if ( !xReportControlFormat.is() ) + else + _rControlsFormats.push_back(xReportControlFormat); + if ( !_xWindow.is() ) _xWindow = VCLUnoHelper::GetInterface(_pView); - return xReportControlFormat; } // ----------------------------------------------------------------------------- ::rtl::OUString SAL_CALL OReportController::getImplementationName() throw( RuntimeException ) @@ -561,12 +600,7 @@ case SID_DRAWTBX_CS_BASIC20: case SID_DRAWTBX_CS_BASIC21: case SID_DRAWTBX_CS_BASIC22: - { - aReturn.bEnabled = isEditable(); - rtl::OUString sShapeType = m_pMyOwnView->GetInsertObjString(); - aReturn.bChecked = m_pMyOwnView->GetInsertObj() == OBJ_CUSTOMSHAPE && - sShapeType.compareToAscii("diamond") == 0; - } + impl_fillCustomShapeState_nothrow("diamond",aReturn); break; case SID_DRAWTBX_CS_SYMBOL: case SID_DRAWTBX_CS_SYMBOL1: @@ -587,12 +621,7 @@ case SID_DRAWTBX_CS_SYMBOL16: case SID_DRAWTBX_CS_SYMBOL17: case SID_DRAWTBX_CS_SYMBOL18: - { - aReturn.bEnabled = isEditable(); - rtl::OUString sShapeType = m_pMyOwnView->GetInsertObjString(); - aReturn.bChecked = m_pMyOwnView->GetInsertObj() == OBJ_CUSTOMSHAPE && - sShapeType.compareToAscii("smiley") == 0; - } + impl_fillCustomShapeState_nothrow("smiley",aReturn); break; case SID_DRAWTBX_CS_ARROW: case SID_DRAWTBX_CS_ARROW1: @@ -621,12 +650,7 @@ case SID_DRAWTBX_CS_ARROW24: case SID_DRAWTBX_CS_ARROW25: case SID_DRAWTBX_CS_ARROW26: - { - aReturn.bEnabled = isEditable(); - rtl::OUString sShapeType = m_pMyOwnView->GetInsertObjString(); - aReturn.bChecked = m_pMyOwnView->GetInsertObj() == OBJ_CUSTOMSHAPE && - sShapeType.compareToAscii("left-right-arrow") == 0; - } + impl_fillCustomShapeState_nothrow("left-right-arrow",aReturn); break; case SID_DRAWTBX_CS_STAR: case SID_DRAWTBX_CS_STAR1: @@ -641,12 +665,7 @@ case SID_DRAWTBX_CS_STAR10: case SID_DRAWTBX_CS_STAR11: case SID_DRAWTBX_CS_STAR12: - { - aReturn.bEnabled = isEditable(); - rtl::OUString sShapeType = m_pMyOwnView->GetInsertObjString(); - aReturn.bChecked = m_pMyOwnView->GetInsertObj() == OBJ_CUSTOMSHAPE && - sShapeType.compareToAscii("star5") == 0; - } + impl_fillCustomShapeState_nothrow("star5",aReturn); break; case SID_DRAWTBX_CS_FLOWCHART: case SID_DRAWTBX_CS_FLOWCHART1: @@ -677,12 +696,7 @@ case SID_DRAWTBX_CS_FLOWCHART26: case SID_DRAWTBX_CS_FLOWCHART27: case SID_DRAWTBX_CS_FLOWCHART28: - { - aReturn.bEnabled = isEditable(); - rtl::OUString sShapeType = m_pMyOwnView->GetInsertObjString(); - aReturn.bChecked = m_pMyOwnView->GetInsertObj() == OBJ_CUSTOMSHAPE && - sShapeType.compareToAscii("flowchart-internal-storage") == 0; - } + impl_fillCustomShapeState_nothrow("flowchart-internal-storage",aReturn); break; case SID_DRAWTBX_CS_CALLOUT: case SID_DRAWTBX_CS_CALLOUT1: @@ -692,12 +706,7 @@ case SID_DRAWTBX_CS_CALLOUT5: case SID_DRAWTBX_CS_CALLOUT6: case SID_DRAWTBX_CS_CALLOUT7: - { - aReturn.bEnabled = isEditable(); - rtl::OUString sShapeType = m_pMyOwnView->GetInsertObjString(); - aReturn.bChecked = m_pMyOwnView->GetInsertObj() == OBJ_CUSTOMSHAPE && - sShapeType.compareToAscii("round-rectangular-callout") == 0; - } + impl_fillCustomShapeState_nothrow("round-rectangular-callout",aReturn); break; case SID_RPT_SHOWREPORTEXPLORER: aReturn.bEnabled = m_xReportDefinition.is(); @@ -727,23 +736,11 @@ aReturn.bEnabled = isConnected() && isEditable(); break; case SID_EDITDOC: - aReturn.bChecked = isEditable(); - break; case SID_PAGEDIALOG: - aReturn.bEnabled = isEditable(); + aReturn.bChecked = isEditable(); break; case SID_BACKGROUND_COLOR: - aReturn.bEnabled = isEditable(); - { - uno::Reference< report::XReportComponent > xReportComponent(m_pMyOwnView->getCurrentControlModel()); - uno::Reference< report::XReportControlFormat> xReportControlFormat(xReportComponent,uno::UNO_QUERY); - if ( xReportControlFormat.is() ) - { - aReturn.bEnabled = xReportComponent->getPropertySetInfo()->hasPropertyByName(PROPERTY_CONTROLBACKGROUND); - if ( aReturn.bEnabled ) - aReturn.aValue <<= xReportControlFormat->getControlBackground(); - } - } + impl_fillState_nothrow(PROPERTY_CONTROLBACKGROUND,aReturn); break; case SID_ATTR_CHAR_COLOR_BACKGROUND: aReturn.bEnabled = isEditable(); @@ -753,7 +750,7 @@ try { aReturn.aValue <<= xSection->getBackColor(); - uno::Reference< report::XReportControlModel> xControlModel(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); + const uno::Reference< report::XReportControlModel> xControlModel(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); aReturn.bEnabled = !xControlModel.is(); } catch(beans::UnknownPropertyException&) @@ -770,78 +767,54 @@ case SID_ATTR_CHAR_WEIGHT: case SID_ATTR_CHAR_POSTURE: case SID_ATTR_CHAR_UNDERLINE: - aReturn.bEnabled = m_xReportDefinition.is() && isEditable() && m_pMyOwnView->getCurrentControlModel().is(); - aReturn.bChecked = isFormatCommandEnabled(_nId,uno::Reference< report::XReportControlFormat>(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY)); - break; - case SID_ATTR_CHAR_COLOR: - case SID_ATTR_CHAR_COLOR2: - { - uno::Reference< report::XReportControlFormat> xReportControlFormat(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); - aReturn.bEnabled = isEditable() && xReportControlFormat.is() && !uno::Reference< report::XFixedLine>(xReportControlFormat,uno::UNO_QUERY).is(); + impl_fillState_nothrow(PROPERTY_FONTDESCRIPTOR,aReturn); if ( aReturn.bEnabled ) { - try - { - aReturn.aValue <<= xReportControlFormat->getCharColor(); - } - catch(beans::UnknownPropertyException&) + awt::FontDescriptor aFontDescriptor; + aReturn.aValue >>= aFontDescriptor; + aReturn.aValue.clear(); + + switch(_nId) { - aReturn.bEnabled = sal_False; - } - } + case SID_ATTR_CHAR_WEIGHT: + aReturn.bChecked = awt::FontWeight::BOLD == aFontDescriptor.Weight; + break; + case SID_ATTR_CHAR_POSTURE: + aReturn.bChecked = awt::FontSlant_ITALIC == aFontDescriptor.Slant; + break; + case SID_ATTR_CHAR_UNDERLINE: + aReturn.bChecked = awt::FontUnderline::SINGLE == aFontDescriptor.Underline; + break; + default: + ; + } // switch(_nCommand) } break; + case SID_ATTR_CHAR_COLOR: + case SID_ATTR_CHAR_COLOR2: + impl_fillState_nothrow(PROPERTY_CHARCOLOR,aReturn); + break; case SID_ATTR_CHAR_FONT: - aReturn.bEnabled = m_xReportDefinition.is() && isEditable(); - if ( aReturn.bEnabled ) - { - uno::Reference< report::XReportControlModel> xControlModel(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); - aReturn.bEnabled = xControlModel.is() && !uno::Reference< report::XFixedLine>(xControlModel,uno::UNO_QUERY).is(); - if ( aReturn.bEnabled ) - { - try - { - aReturn.aValue <<= xControlModel->getFontDescriptor(); - } - catch(beans::UnknownPropertyException&) - { - aReturn.bEnabled = sal_False; - } - } - } + impl_fillState_nothrow(PROPERTY_FONTDESCRIPTOR,aReturn); break; case SID_ATTR_CHAR_FONTHEIGHT: - aReturn.bEnabled = m_xReportDefinition.is() && isEditable(); - if ( aReturn.bEnabled ) - { - uno::Reference< report::XReportControlModel> xControlModel(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); - aReturn.bEnabled = xControlModel.is() && !uno::Reference< report::XFixedLine>(xControlModel,uno::UNO_QUERY).is(); - if ( aReturn.bEnabled ) - { - try + impl_fillState_nothrow(PROPERTY_CHARHEIGHT,aReturn); + if ( aReturn.aValue.hasValue() ) { frame::status::FontHeight aFontHeight; - aFontHeight.Height = xControlModel->getCharHeight(); - aReturn.aValue <<= aFontHeight; - } - catch(beans::UnknownPropertyException&) - { - aReturn.bEnabled = sal_False; - } - } + aReturn.aValue >>= aFontHeight.Height; + aReturn.aValue <<= aFontHeight; // another type is needed here, so } break; case SID_ATTR_PARA_ADJUST_LEFT: case SID_ATTR_PARA_ADJUST_CENTER: case SID_ATTR_PARA_ADJUST_RIGHT: - aReturn.bEnabled = m_xReportDefinition.is() && isEditable(); + impl_fillState_nothrow(PROPERTY_PARAADJUST,aReturn); if ( aReturn.bEnabled ) { - uno::Reference< report::XReportControlModel> xControlModel(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); - aReturn.bEnabled = xControlModel.is(); - if ( aReturn.bEnabled ) + ::sal_Int16 nParaAdjust; + if ( aReturn.aValue >>= nParaAdjust ) { - ::sal_Int16 nParaAdjust = xControlModel->getParaAdjust(); switch(nParaAdjust) { case awt::TextAlign::LEFT: @@ -854,7 +827,8 @@ aReturn.bChecked = _nId == SID_ATTR_PARA_ADJUST_RIGHT; break; } - } + } // if ( aReturn.aValue >>= nParaAdjust ) + aReturn.aValue.clear(); } break; @@ -863,11 +837,23 @@ break; case SID_CHAR_DLG: case SID_SETCONTROLDEFAULTS: - aReturn.bEnabled = m_xReportDefinition.is() && isEditable() && m_pMyOwnView->getCurrentControlModel().is(); + aReturn.bEnabled = m_xReportDefinition.is() && isEditable();// && m_pMyOwnView->getCurrentControlModel().is(); + if ( aReturn.bEnabled ) + { + ::std::vector< uno::Reference< uno::XInterface > > aSelection; + m_pMyOwnView->fillControlModelSelection(aSelection); + ::std::vector< uno::Reference< uno::XInterface > >::iterator aIter = aSelection.begin(); + for(; aIter != aSelection.end() + && !uno::Reference< report::XFixedLine >(*aIter,uno::UNO_QUERY).is() + && !uno::Reference< report::XImageControl >(*aIter,uno::UNO_QUERY).is() + && uno::Reference< report::XReportControlFormat >(*aIter,uno::UNO_QUERY).is() ;++aIter) + ; + aReturn.bEnabled = !aSelection.empty() && aIter == aSelection.end(); + } break; case SID_CONDITIONALFORMATTING: { - uno::Reference< report::XFormattedField> xFormattedField(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); + const uno::Reference< report::XFormattedField> xFormattedField(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); aReturn.bEnabled = xFormattedField.is(); } break; @@ -989,7 +975,7 @@ { const OXUndoEnvironment::OUndoEnvLock aLock( m_aReportModel->GetUndoEnv() ); OReportController_BASE::Execute( _nId, aArgs ); - InvalidateFeature( SID_UNDO ); + InvalidateAll(); updateFloater(); } break; @@ -1103,7 +1089,7 @@ { uno::Reference< report::XFunctions> xFunctions(xFunction->getParent(),uno::UNO_QUERY_THROW); sal_Int32 nIndex = getPositionInIndexAccess(xFunctions.get(),xFunction); - String sUndoAction = String((ModuleRes(RID_STR_UNDO_REMOVE_FUNCTION))); + const String sUndoAction = String((ModuleRes(RID_STR_UNDO_REMOVE_FUNCTION))); UndoManagerListAction aListAction(m_aUndoManager,sUndoAction); xFunctions->removeByIndex(nIndex); select(uno::makeAny(xFunctions->getParent())); @@ -1370,29 +1356,15 @@ break; case SID_BACKGROUND_COLOR: { - uno::Reference< awt::XWindow> xWindow; - uno::Reference< report::XReportControlFormat> xReportControlFormat = lcl_getReportControlFormat(aArgs,m_pMyOwnView,xWindow); - uno::Reference< report::XSection > xSection = m_pMyOwnView->getCurrentSection(); - try - { - if ( xReportControlFormat.is() ) + const util::Color aColor( lcl_extractBackgroundColor( aArgs ) ); + if ( !impl_setPropertyAtControls_throw(RID_STR_UNDO_CHANGEFONT,PROPERTY_CONTROLBACKGROUND,uno::makeAny(aColor),aArgs) ) { - util::Color aColor( lcl_extractBackgroundColor( aArgs ) ); - xReportControlFormat->setControlBackground( aColor ); - } - else if ( xSection.is() ) + uno::Reference< report::XSection > xSection = m_pMyOwnView->getCurrentSection(); + if ( xSection.is() ) { - util::Color aColor( lcl_extractBackgroundColor( aArgs ) ); xSection->setBackColor( aColor ); } - else - OSL_ENSURE( false, "OReportController::Execute: no object to apply this background color to!" ); - } - catch( const Exception& ) - { - DBG_UNHANDLED_EXCEPTION(); } - bForceBroadcast = sal_True; } break; @@ -1400,98 +1372,70 @@ case SID_ATTR_CHAR_POSTURE: case SID_ATTR_CHAR_UNDERLINE: { + ::std::auto_ptr<UndoManagerListAction> pListAction; uno::Reference< awt::XWindow> xWindow; - uno::Reference< report::XReportControlFormat> xReportControlFormat = lcl_getReportControlFormat(aArgs,m_pMyOwnView,xWindow); - if ( xReportControlFormat.is() ) + ::std::vector< uno::Reference< uno::XInterface > > aControlsFormats; + lcl_getReportControlFormat(aArgs,m_pMyOwnView,xWindow,aControlsFormats); + bool bMulti = aControlsFormats.size() > 1; + ::std::vector< uno::Reference< uno::XInterface > >::iterator aIter = aControlsFormats.begin(); + for(; aIter != aControlsFormats.end();++aIter) { - try - { - awt::FontDescriptor aFontDescriptor = xReportControlFormat->getFontDescriptor(); - switch(_nId) - { - case SID_ATTR_CHAR_WEIGHT: - aFontDescriptor.Weight = (awt::FontWeight::NORMAL + awt::FontWeight::BOLD) - aFontDescriptor.Weight; - break; - case SID_ATTR_CHAR_POSTURE: - aFontDescriptor.Slant = static_cast<awt::FontSlant>(static_cast<sal_Int16>(awt::FontSlant_ITALIC) - static_cast<sal_Int16>(aFontDescriptor.Slant)); - break; - case SID_ATTR_CHAR_UNDERLINE: - aFontDescriptor.Underline = awt::FontUnderline::SINGLE - aFontDescriptor.Underline; - break; - default: - OSL_ENSURE(0,"Illegal value in default!"); - break; - } - - xReportControlFormat->setFontDescriptor(aFontDescriptor); - } - catch(beans::UnknownPropertyException&) + if ( !pListAction.get() && bMulti) { - } + const String sUndoAction(ModuleRes(RID_STR_UNDO_CHANGEFONT)); + pListAction.reset(new UndoManagerListAction(m_aUndoManager,sUndoAction)); + } // if ( !pListAction.get() ) + uno::Reference< report::XReportControlFormat> xReportControlFormat(*aIter,uno::UNO_QUERY); + lcl_setFontWPU_nothrow(xReportControlFormat,_nId); } } break; case SID_ATTR_CHAR_COLOR: case SID_ATTR_CHAR_COLOR2: { - uno::Reference< awt::XWindow> xWindow; - uno::Reference< report::XReportControlFormat> xReportControlFormat = lcl_getReportControlFormat(aArgs,m_pMyOwnView,xWindow); - if ( xReportControlFormat.is() ) - { - SequenceAsHashMap aMap(aArgs); - util::Color aColor = aMap.getUnpackedValueOrDefault(PROPERTY_FONTCOLOR,util::Color()); - try - { - xReportControlFormat->setCharColor(aColor); + const SequenceAsHashMap aMap(aArgs); + const util::Color aColor = aMap.getUnpackedValueOrDefault(PROPERTY_FONTCOLOR,util::Color()); + impl_setPropertyAtControls_throw(RID_STR_UNDO_CHANGEFONT,PROPERTY_CHARCOLOR,uno::makeAny(aColor),aArgs); bForceBroadcast = sal_True; } - catch(beans::UnknownPropertyException&) - { - } - } - } break; case SID_ATTR_CHAR_FONT: if ( aArgs.getLength() == 1 ) { - uno::Reference< report::XReportControlModel> xControlModel(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); awt::FontDescriptor aFont; - if ( xControlModel.is() && ( aArgs[0].Value >>= aFont ) ) - xControlModel->setCharFontName(aFont.Name); - //xControlModel->setFontDescriptor(aFont); + if ( aArgs[0].Value >>= aFont ) + { + impl_setPropertyAtControls_throw(RID_STR_UNDO_CHANGEFONT,PROPERTY_CHARFONTNAME,uno::makeAny(aFont.Name),aArgs); + } // if ( aArgs[0].Value >>= aFont ) } break; case SID_ATTR_CHAR_FONTHEIGHT: if ( aArgs.getLength() == 1 ) { - uno::Reference< report::XReportControlModel> xControlModel(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); float fSelVal = 0.0; - if ( xControlModel.is() && ( aArgs[0].Value >>= fSelVal) ) - { - xControlModel->setCharHeight(fSelVal); - } + if ( aArgs[0].Value >>= fSelVal ) + impl_setPropertyAtControls_throw(RID_STR_UNDO_CHANGEFONT,PROPERTY_CHARHEIGHT,aArgs[0].Value,aArgs); } break; case SID_ATTR_PARA_ADJUST_LEFT: case SID_ATTR_PARA_ADJUST_CENTER: case SID_ATTR_PARA_ADJUST_RIGHT: { - uno::Reference< report::XReportControlModel> xControlModel(m_pMyOwnView->getCurrentControlModel(),uno::UNO_QUERY); - if ( xControlModel.is() ) - { + sal_Int16 nValue = awt::TextAlign::LEFT; switch(_nId) { case SID_ATTR_PARA_ADJUST_LEFT: - xControlModel->setParaAdjust(awt::TextAlign::LEFT); + nValue = awt::TextAlign::LEFT; break; case SID_ATTR_PARA_ADJUST_CENTER: - xControlModel->setParaAdjust(awt::TextAlign::CENTER); + nValue = awt::TextAlign::CENTER; break; case SID_ATTR_PARA_ADJUST_RIGHT: - xControlModel->setParaAdjust(awt::TextAlign::RIGHT); + nValue = awt::TextAlign::RIGHT; break; - } - } + } // switch(_nId) + impl_setPropertyAtControls_throw(RID_STR_UNDO_ALIGNMENT,PROPERTY_PARAADJUST,uno::makeAny(nValue),aArgs); + InvalidateFeature(SID_ATTR_PARA_ADJUST_LEFT); InvalidateFeature(SID_ATTR_PARA_ADJUST_CENTER); InvalidateFeature(SID_ATTR_PARA_ADJUST_RIGHT); @@ -1499,18 +1443,29 @@ break; case SID_CHAR_DLG: { + ::std::auto_ptr<UndoManagerListAction> pListAction; + uno::Sequence< beans::NamedValue > aSettings; uno::Reference< awt::XWindow> xWindow; - uno::Reference< report::XReportControlFormat> xReportControlFormat = lcl_getReportControlFormat(aArgs,m_pMyOwnView,xWindow); - if ( xReportControlFormat.is() ) + ::std::vector< uno::Reference< uno::XInterface > > aControlsFormats; + lcl_getReportControlFormat(aArgs,m_pMyOwnView,xWindow,aControlsFormats); + ::std::vector< uno::Reference< uno::XInterface > >::iterator aIter = aControlsFormats.begin(); + for(; aIter != aControlsFormats.end();++aIter) { + uno::Reference< report::XReportControlFormat > xFormat(*aIter,uno::UNO_QUERY); + if ( xFormat.is() ) + { + if ( !pListAction.get() ) { const String sUndoAction(ModuleRes(RID_STR_UNDO_CHANGEFONT)); - UndoManagerListAction aListAction(m_aUndoManager,sUndoAction); - rptui::openCharDialog(xReportControlFormat,xWindow); + pListAction.reset(new UndoManagerListAction(m_aUndoManager,sUndoAction)); + rptui::openCharDialog(xFormat,xWindow,aSettings); + } // if ( !pListAction.get() ) + applyCharacterSettings( xFormat, aSettings ); } + } // for(; aIter != aControlsFormats.end();++aIter) + if ( !aControlsFormats.empty() ) InvalidateAll(); } - } break; //case SID_FM_DESIGN_MODE: // break; @@ -1585,7 +1540,7 @@ // ::boost::shared_ptr<OReportSection> pReportSection = m_pMyOwnView->getMarkedSection(); //if ( pReportSection.get() ) //{ - // ::std::vector< uno::Reference< report::XReportComponent > > aSelection; + // ::std::vector< uno::Reference< uno::XInterface > > aSelection; // uno::Reference<report::XSection> xSection = pReportSection->getSection(); // const String sUndoAction(ModuleRes(RID_STR_UNDO_GROUP)); // getUndoMgr()->EnterListAction( sUndoAction, String() ); @@ -2428,37 +2383,6 @@ return 1L; } // ----------------------------------------------------------------------------- -sal_Bool OReportController::isFormatCommandEnabled(sal_uInt16 _nCommand,const uno::Reference< report::XReportControlFormat>& _xReportControlFormat) const -{ - sal_Bool bRet = sal_False; - if ( _xReportControlFormat.is() && !uno::Reference< report::XFixedLine>(_xReportControlFormat,uno::UNO_QUERY).is() ) // this command is really often called so we nedd a short cut here - { - try - { - const awt::FontDescriptor aFontDescriptor = _xReportControlFormat->getFontDescriptor(); - - switch(_nCommand) - { - case SID_ATTR_CHAR_WEIGHT: - bRet = awt::FontWeight::BOLD == aFontDescriptor.Weight; - break; - case SID_ATTR_CHAR_POSTURE: - bRet = awt::FontSlant_ITALIC == aFontDescriptor.Slant; - break; - case SID_ATTR_CHAR_UNDERLINE: - bRet = awt::FontUnderline::SINGLE == aFontDescriptor.Underline; - break; - default: - ; - } // switch(_nCommand) - } - catch(uno::Exception&) - { - } - } - return bRet; -} -// ----------------------------------------------------------------------------- void OReportController::Notify(SfxBroadcaster & /*rBc*/, SfxHint const & rHint) { if (rHint.ISA(DlgEdHint) @@ -3735,5 +3659,100 @@ return xTitle->getTitle (); } // ----------------------------------------------------------------------------- +void OReportController::impl_fillState_nothrow(const ::rtl::OUString& _sProperty,dbaui::FeatureState& _rState) const +{ + _rState.bEnabled = isEditable(); + if ( _rState.bEnabled ) + { + ::std::vector< uno::Reference< uno::XInterface > > aSelection; + m_pMyOwnView->fillControlModelSelection(aSelection); + _rState.bEnabled = !aSelection.empty(); + if ( _rState.bEnabled ) + { + uno::Any aTemp; + ::std::vector< uno::Reference< uno::XInterface > >::iterator aIter = aSelection.begin(); + for(; aIter != aSelection.end() && _rState.bEnabled ;++aIter) + { + uno::Reference< beans::XPropertySet> xProp(*aIter,uno::UNO_QUERY); + try + { + uno::Any aTemp2 = xProp->getPropertyValue(_sProperty); + if ( aIter == aSelection.begin() ) + { + aTemp = aTemp2; + } + else if ( !comphelper::compare(aTemp,aTemp2) ) + break; + } + catch(beans::UnknownPropertyException&) + { + _rState.bEnabled = sal_False; + } + } // for(; aIter != aSelection.end();++aIter) + if ( aIter == aSelection.end() ) + _rState.aValue = aTemp; + } + } // if ( _rState.bEnabled ) +} +// ----------------------------------------------------------------------------- +sal_Bool OReportController::isFormatCommandEnabled(sal_uInt16 _nCommand,const uno::Reference< report::XReportControlFormat>& _xReportControlFormat) const +{ + sal_Bool bRet = sal_False; + if ( _xReportControlFormat.is() && !uno::Reference< report::XFixedLine>(_xReportControlFormat,uno::UNO_QUERY).is() ) // this command is really often called so we nedd a short cut here + { + try + { + const awt::FontDescriptor aFontDescriptor = _xReportControlFormat->getFontDescriptor(); + + switch(_nCommand) + { + case SID_ATTR_CHAR_WEIGHT: + bRet = awt::FontWeight::BOLD == aFontDescriptor.Weight; + break; + case SID_ATTR_CHAR_POSTURE: + bRet = awt::FontSlant_ITALIC == aFontDescriptor.Slant; + break; + case SID_ATTR_CHAR_UNDERLINE: + bRet = awt::FontUnderline::SINGLE == aFontDescriptor.Underline; + break; + default: + ; + } // switch(_nCommand) + } + catch(uno::Exception&) + { + } + } + return bRet; +} +// ----------------------------------------------------------------------------- +bool OReportController::impl_setPropertyAtControls_throw(const sal_Int32 _nUndoResId,const ::rtl::OUString& _sProperty,const uno::Any& _aValue,const Sequence< PropertyValue >& _aArgs) +{ + ::std::auto_ptr<UndoManagerListAction> pListAction; + ::std::vector< uno::Reference< uno::XInterface > > aSelection; + uno::Reference< awt::XWindow> xWindow; + lcl_getReportControlFormat(_aArgs,m_pMyOwnView,xWindow,aSelection); + const bool bMultiSet = aSelection.size() > 1; + ::std::vector< uno::Reference< uno::XInterface > >::iterator aIter = aSelection.begin(); + for(; aIter != aSelection.end();++aIter) + { + if ( !pListAction.get() && _nUndoResId && bMultiSet ) + { + const String sUndoAction = String(ModuleRes(_nUndoResId)); + pListAction.reset(new UndoManagerListAction(m_aUndoManager,sUndoAction)); + } // if ( !pListAction.get() ) + const uno::Reference< beans::XPropertySet > xControlModel(*aIter,uno::UNO_QUERY); + if ( xControlModel.is() ) + xControlModel->setPropertyValue(_sProperty,_aValue); + } // for(; aIter != aSelection.end();++aIter) + return !aSelection.empty(); +} +// ----------------------------------------------------------------------------- +void OReportController::impl_fillCustomShapeState_nothrow(const char* _pCustomShapeType,dbaui::FeatureState& _rState) const +{ + _rState.bEnabled = isEditable(); + const rtl::OUString sShapeType = m_pMyOwnView->GetInsertObjString(); + _rState.bChecked = m_pMyOwnView->GetInsertObj() == OBJ_CUSTOMSHAPE && sShapeType.compareToAscii(_pCustomShapeType) == 0; +} // ----------------------------------------------------------------------------- File [changed]: ReportSection.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/report/ReportSection.cxx?r1=1.8.4.6&r2=1.8.4.7 Delta lines: +2 -2 ------------------- --- ReportSection.cxx 2008-04-30 13:03:35+0000 1.8.4.6 +++ ReportSection.cxx 2008-05-15 12:29:39+0000 1.8.4.7 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ReportSection.cxx,v $ - * $Revision: 1.8.4.6 $ + * $Revision: 1.8.4.7 $ * * This file is part of OpenOffice.org. * @@ -668,7 +668,7 @@ return xModel; } // ----------------------------------------------------------------------------- -void OReportSection::fillControlModelSelection(::std::vector< uno::Reference< report::XReportComponent > >& _rSelection) const +void OReportSection::fillControlModelSelection(::std::vector< uno::Reference< uno::XInterface > >& _rSelection) const { if ( m_pView ) { File [changed]: ReportWindow.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/report/ReportWindow.cxx?r1=1.5.22.2&r2=1.5.22.3 Delta lines: +8 -2 ------------------- --- ReportWindow.cxx 2008-04-16 06:30:40+0000 1.5.22.2 +++ ReportWindow.cxx 2008-05-15 12:29:39+0000 1.5.22.3 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ReportWindow.cxx,v $ - * $Revision: 1.5.22.2 $ + * $Revision: 1.5.22.3 $ * * This file is part of OpenOffice.org. * @@ -493,6 +493,12 @@ { return m_pViews ? m_pViews->getMarkedObjectCount() : 0; } +// ----------------------------------------------------------------------------- +void OReportWindow::fillControlModelSelection(::std::vector< uno::Reference< uno::XInterface > >& _rSelection) const +{ + if ( m_pViews ) + m_pViews->fillControlModelSelection(_rSelection); +} //================================================================== } //rptui File [changed]: ScrollHelper.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/report/ScrollHelper.cxx?r1=1.5.22.2&r2=1.5.22.3 Delta lines: +8 -2 ------------------- --- ScrollHelper.cxx 2008-04-16 06:30:44+0000 1.5.22.2 +++ ScrollHelper.cxx 2008-05-15 12:29:39+0000 1.5.22.3 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ScrollHelper.cxx,v $ - * $Revision: 1.5.22.2 $ + * $Revision: 1.5.22.3 $ * * This file is part of OpenOffice.org. * @@ -461,6 +461,12 @@ return m_pChild ? m_pChild->getMarkedObjectCount() : 0; } // ----------------------------------------------------------------------------- +void OScrollWindowHelper::fillControlModelSelection(::std::vector< uno::Reference< uno::XInterface > >& _rSelection) const +{ + if ( m_pChild ) + m_pChild->fillControlModelSelection(_rSelection); +} + //============================================================================== } // rptui //============================================================================== File [changed]: ViewsWindow.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/ui/report/ViewsWindow.cxx?r1=1.7.22.4&r2=1.7.22.5 Delta lines: +11 -1 -------------------- --- ViewsWindow.cxx 2008-04-30 13:03:35+0000 1.7.22.4 +++ ViewsWindow.cxx 2008-05-15 12:29:39+0000 1.7.22.5 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ViewsWindow.cxx,v $ - * $Revision: 1.7.22.4 $ + * $Revision: 1.7.22.5 $ * * This file is part of OpenOffice.org. * @@ -1852,6 +1852,16 @@ ::std::for_each(m_aSections.begin(),m_aSections.end(), ::std::compose1(::boost::mem_fn(&OReportSection::stopScrollTimer),TReportPairHelper())); } +// ----------------------------------------------------------------------------- +void OViewsWindow::fillControlModelSelection(::std::vector< uno::Reference< uno::XInterface > >& _rSelection) const +{ + TSectionsMap::const_iterator aIter = m_aSections.begin(); + TSectionsMap::const_iterator aEnd = m_aSections.end(); + for(;aIter != aEnd; ++aIter) + { + aIter->first.first->fillControlModelSelection(_rSelection); + } +} //============================================================================== } // rptui //============================================================================== --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
