diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-04-16 13:55:24 +0200 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-04-16 13:55:24 +0200 |
commit | a5c79e695f9dfd332d88e56ddbcea285201e6dcc (patch) | |
tree | c48935add10efe98ed234ec5d99df82d8228502a /svx/inc | |
parent | a001605a190749900d3e09aa864ce56925ff848e (diff) | |
parent | 2fa1d80dfd4ee347d4df32ca49fa8e9ad46ada10 (diff) |
dba33f: merge with m76-branch
Diffstat (limited to 'svx/inc')
-rw-r--r-- | svx/inc/svx/fmshell.hxx | 22 | ||||
-rw-r--r-- | svx/inc/svx/fmtools.hxx | 1 | ||||
-rw-r--r-- | svx/inc/svx/gridctrl.hxx | 16 | ||||
-rw-r--r-- | svx/inc/svx/sdrobjectfilter.hxx | 58 | ||||
-rw-r--r-- | svx/inc/svx/svxids.hrc | 2 |
5 files changed, 95 insertions, 4 deletions
diff --git a/svx/inc/svx/fmshell.hxx b/svx/inc/svx/fmshell.hxx index 0688beec65b3..f37eeab8c5e6 100644 --- a/svx/inc/svx/fmshell.hxx +++ b/svx/inc/svx/fmshell.hxx @@ -60,6 +60,11 @@ namespace com { namespace sun { namespace star { namespace form { } } } } } +namespace svx +{ + class ISdrObjectFilter; +} + //======================================================================== class SVX_DLLPUBLIC FmDesignModeChangedHint : public SfxHint { @@ -146,11 +151,28 @@ public: const OutputDevice& _rDevice, ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& _out_rxControl ) const; + ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > GetFormController( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >& _rxForm, const SdrView& _rView, const OutputDevice& _rDevice ) const; + + /** puts the focus into the document window, if current a form control has the focus. Otherwise, moves the focus + to the control belonging to the given SdrUnoObj. + */ + void ToggleControlFocus( + const SdrUnoObj& i_rNextCandidate, + const SdrView& i_rView, + OutputDevice& i_rDevice + ) const; + + ::std::auto_ptr< ::svx::ISdrObjectFilter > + CreateFocusableControlFilter( + const SdrView& i_rView, + const OutputDevice& i_rDevice + ) const; + sal_Bool IsDesignMode() const { return m_bDesignMode; } void SetDesignMode( sal_Bool _bDesignMode ); diff --git a/svx/inc/svx/fmtools.hxx b/svx/inc/svx/fmtools.hxx index 36fa180fa348..b39f46e85d14 100644 --- a/svx/inc/svx/fmtools.hxx +++ b/svx/inc/svx/fmtools.hxx @@ -76,6 +76,7 @@ #include <comphelper/uno3.hxx> #include <comphelper/stl_types.hxx> #include <cppuhelper/implbase1.hxx> +#include <svl/svstdarr.hxx> #include <set> diff --git a/svx/inc/svx/gridctrl.hxx b/svx/inc/svx/gridctrl.hxx index 6334137bc221..445d986b2c5e 100644 --- a/svx/inc/svx/gridctrl.hxx +++ b/svx/inc/svx/gridctrl.hxx @@ -29,6 +29,8 @@ #include <tools/list.hxx> #include <com/sun/star/sdbc/XRowSet.hpp> +#include <com/sun/star/sdbc/XRowSetListener.hpp> +#include <com/sun/star/sdb/XRowsChangeListener.hpp> #include <com/sun/star/beans/PropertyChangeEvent.hpp> #include <com/sun/star/util/XNumberFormatter.hpp> #include <com/sun/star/util/Date.hpp> @@ -247,6 +249,8 @@ private: // For that reason we have to listen to some properties of our data source. ::comphelper::OPropertyChangeMultiplexer* m_pDataSourcePropMultiplexer; FmXGridSourcePropListener* m_pDataSourcePropListener; + ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowsChangeListener> + m_xRowSetListener; // get notification when rows were changed void* m_pFieldListeners; // property listeners for field values @@ -523,15 +527,20 @@ public: void setGridListener( FmGridListener* _pListener ) { m_pGridListener = _pListener; } // helper class to grant access to selected methods from within the DbCellControl class - struct GrantCellControlAccess + struct GrantControlAccess { friend class DbCellControl; + friend class RowSetEventListener; protected: - GrantCellControlAccess() { } + GrantControlAccess() { } }; /// called when a controller needs to be re-initialized - void refreshController(sal_uInt16 _nColId, GrantCellControlAccess _aAccess); + void refreshController(sal_uInt16 _nColId, GrantControlAccess _aAccess); + + CursorWrapper* GetSeekCursor(GrantControlAccess /*_aAccess*/) const { return m_pSeekCursor; } + const DbGridRowRef& GetSeekRow(GrantControlAccess /*_aAccess*/) const { return m_xSeekRow; } + void SetSeekPos(sal_Int32 nPos,GrantControlAccess /*_aAccess*/) {m_nSeekPos = nPos;} /** @return @@ -586,6 +595,7 @@ protected: const DbGridRowRef& GetPaintRow() const { return m_xPaintRow; } CursorWrapper* GetSeekCursor() const { return m_pSeekCursor; } + void ConnectToFields(); void DisconnectFromFields(); diff --git a/svx/inc/svx/sdrobjectfilter.hxx b/svx/inc/svx/sdrobjectfilter.hxx new file mode 100644 index 000000000000..55eda09c99af --- /dev/null +++ b/svx/inc/svx/sdrobjectfilter.hxx @@ -0,0 +1,58 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* This file is part of OpenOffice.org. +* +* OpenOffice.org is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License version 3 +* only, as published by the Free Software Foundation. +* +* OpenOffice.org 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 version 3 for more details +* (a copy is included in the LICENSE file that accompanied this code). +* +* You should have received a copy of the GNU Lesser General Public License +* version 3 along with OpenOffice.org. If not, see +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef SDROBJECTFILTER_HXX +#define SDROBJECTFILTER_HXX + +#include "svx/svxdllapi.h" + +/** === begin UNO includes === **/ +/** === end UNO includes === **/ + +class SdrObject; + +//........................................................................ +namespace svx +{ +//........................................................................ + + //==================================================================== + //= SdrObjectFilter + //==================================================================== + /** specifies a boolean predicate on the set of all SdrObjects - vulgo a filter. + */ + class SVX_DLLPUBLIC SAL_NO_VTABLE ISdrObjectFilter + { + public: + virtual bool includeObject( const SdrObject& i_rObject ) const = 0; + + virtual ~ISdrObjectFilter() = 0; + }; + +//........................................................................ +} // namespace svx +//........................................................................ + +#endif // SDROBJECTFILTER_HXX diff --git a/svx/inc/svx/svxids.hrc b/svx/inc/svx/svxids.hrc index b53b5f6dac26..2bcf5f5681c3 100644 --- a/svx/inc/svx/svxids.hrc +++ b/svx/inc/svx/svxids.hrc @@ -1026,7 +1026,7 @@ #define SID_DSBROWSER_EXPLORER ( SID_SVX_START + 764 ) #define SID_FM_CREATE_FIELDCONTROL ( SID_SVX_START + 765 ) #define SID_FM_DATACCESS_DESCRIPTOR ( SID_SVX_START + 766 ) -#define SID_FM_GRABCONTROLFOCUS ( SID_SVX_START + 767 ) +#define SID_FM_TOGGLECONTROLFOCUS ( SID_SVX_START + 767 ) #define SID_FM_SCROLLBAR ( SID_SVX_START + 768 ) #define SID_FM_SPINBUTTON ( SID_SVX_START + 769 ) #define SID_FM_CONVERTTO_SCROLLBAR ( SID_SVX_START + 770 ) |