[Libreoffice-commits] .: binfilter/bf_svx binfilter/inc
Joseph Powers
jpowers at kemper.freedesktop.org
Thu Jan 20 07:47:04 PST 2011
binfilter/bf_svx/source/inc/gridcell.hxx | 929 -------------------------------
binfilter/inc/bf_svx/fmgridcl.hxx | 219 -------
binfilter/inc/bf_svx/gridctrl.hxx | 583 -------------------
3 files changed, 1731 deletions(-)
New commits:
commit 765d7a7d6f9d0551dca5640ad2374983dd1d4daa
Author: Joseph Powers <jpowers27 at cox.net>
Date: Thu Jan 20 07:46:33 2011 -0800
Remove (axe) DECLARE_LIST()s DbDataColumns & DbGridColumns
The entire .hxx file wasn't used; also every .hxx file that included it
also wasn't used. So I just did a mass delete.
diff --git a/binfilter/bf_svx/source/inc/gridcell.hxx b/binfilter/bf_svx/source/inc/gridcell.hxx
deleted file mode 100644
index 9563b2b..0000000
--- a/binfilter/bf_svx/source/inc/gridcell.hxx
+++ /dev/null
@@ -1,929 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * 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 _SVX_GRIDCELL_HXX
-#define _SVX_GRIDCELL_HXX
-
-#include "gridctrl.hxx"
-
-#include "fmtools.hxx"
-
-
-#include <com/sun/star/form/XBoundControl.hpp>
-#include <com/sun/star/awt/XTextComponent.hpp>
-#include <com/sun/star/awt/XListBox.hpp>
-#include <com/sun/star/awt/TextAlign.hpp>
-#include <com/sun/star/awt/XControl.hpp>
-#include <com/sun/star/awt/XCheckBox.hpp>
-#include "sqlparserclient.hxx"
-class Edit;
-namespace binfilter {
-
-class DbCellControl;
-class FmXGridCell;
-
-//==================================================================
-// FmMutexHelper
-//==================================================================
-class FmMutexHelper
-{
-protected:
- ::osl::Mutex m_aMutex;
-};
-
-//==================================================================
-// DbGridColumn, Spaltenbeschreibung
-//==================================================================
-class DbGridColumn
-{
- friend class DbGridControl;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xModel;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xField; // Verbindung zum Datenbankfeld
- CellControllerRef m_xController; // Struktur zum Verwalten der Controls fuer eine Spalte
- // diese wird von der DbBrowseBox auf die jeweiligen Zellen
- // einer Spalte positioniert
- FmXGridCell* m_pCell;
-
-protected:
- DbGridControl& m_rParent;
-
-private:
- sal_Int32 m_nLastVisibleWidth; // nur gueltig, wenn m_bHidden == sal_True
- sal_Int32 m_nFormatKey;
- sal_Int16 m_nFieldType;
- sal_Int16 m_nTypeId;
- sal_uInt16 m_nId;
- sal_Int16 m_nFieldPos;
- sal_Int16 m_nAlign; // wird mit TXT_ALIGN_LEFT .... angegeben
- sal_Bool m_bRequired : 1;
- sal_Bool m_bReadOnly : 1;
- sal_Bool m_bAutoValue : 1;
- sal_Bool m_bInSave : 1;
- sal_Bool m_bNumeric : 1;
- sal_Bool m_bObject : 1; // Verweist die Column auf ein Object Datentyp?
- sal_Bool m_bHidden : 1;
- sal_Bool m_bLocked : 1;
- sal_Bool m_bDateTime : 1;
-
- static CellControllerRef s_xEmptyController;
- // used by locked columns
-public:
- DbGridColumn(sal_uInt16 _nId, DbGridControl& rParent)
- :m_nId(_nId)
- ,m_rParent(rParent)
- ,m_nFieldType(0)
- ,m_nFormatKey(0)
- ,m_pCell(NULL)
- ,m_bNumeric(sal_False)
- ,m_bDateTime(sal_False)
- ,m_nAlign(::com::sun::star::awt::TextAlign::LEFT)
- ,m_nFieldPos(-1)
- ,m_bRequired(sal_False)
- ,m_bReadOnly(sal_False)
- ,m_bAutoValue(sal_False)
- ,m_bInSave(sal_False)
- ,m_bHidden(sal_False)
- ,m_nLastVisibleWidth(-1)
- ,m_nTypeId(0)
- ,m_bLocked(sal_False)
- {
- }
-
- ~DbGridColumn();
-
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& getModel() const { return m_xModel; }
- void setModel(::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _xModel) { m_xModel = _xModel; }
-
-
- sal_uInt16 GetId() const {return m_nId;}
- sal_Bool IsRequired() const {return m_bRequired;}
- sal_Bool IsReadOnly() const {return m_bReadOnly;}
- sal_Bool IsAutoValue() const {return m_bAutoValue;}
- sal_Bool IsUpdating() const {return m_bInSave;}
- sal_Int16 GetAlignment() const {return m_nAlign;}
- sal_Int16 GetType() const {return m_nFieldType;}
- sal_Int16 GetFieldPos() const {return m_nFieldPos; }
- sal_Bool IsNumeric() const {return m_bNumeric;}
- sal_Bool IsDateTime() const {return m_bDateTime;}
- sal_Bool IsObject() const {return m_bObject;}
- sal_Bool IsHidden() const {return m_bHidden;}
- sal_Int32 GetKey() const {return m_nFormatKey;}
- const CellControllerRef& GetController() const {return m_bLocked ? s_xEmptyController : m_xController;}
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& GetField() const {return m_xField;}
- DbGridControl& GetParent() const {return m_rParent;}
- FmXGridCell* GetCell() const {return m_pCell;}
-
- ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn > GetCurrentFieldValue() const;
-
- // Zeichnen eines Feldes an einer Position, ist ein ::com::sun::star::sdbcx::View gesetzt
- // uebernimmt dieser das Zeichnen, z.B. fuer CheckBoxen
- void Paint(OutputDevice& rDev,
- const Rectangle& rRect,
- const DbGridRow* pRow,
- const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
-
-
- // Inititialierung im alive mode
- // Ist kein ColumnController gesetzt, wird eine DefaultInitialisierung
- // vorgenommen
- void CreateControl(sal_Int32 _nFieldPos, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xField, sal_Int32 nTypeId);
- void UpdateControl()
- {
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xField(m_xField);
- CreateControl(m_nFieldPos, xField, m_nTypeId);
- }
-
- // Editieren einer Zelle
- void UpdateFromField(const DbGridRow* pRow, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
- sal_Bool Commit();
-
- // freigeben aller Daten, die fuer den AliveMode noetig sind
- void Clear();
-
- XubString GetCellText(const DbGridRow* pRow, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) const;
- XubString GetCellText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& xField, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) const;
-
- void SetReadOnly(sal_Bool bRead){m_bReadOnly = bRead;}
- void SetObject(sal_Int16 nPos) {m_bObject = m_bReadOnly = sal_True; m_nFieldPos = nPos;}
- void ImplInitSettings(Window* pParent, sal_Bool bFont, sal_Bool bForeground, sal_Bool bBackground);
-
- // Properties, die auf den ::com::sun::star::frame::Controller durchschlagen koennen
- sal_Int16 SetAlignment(sal_Int16 _nAlign);
- // if _nAlign is -1, the alignment is calculated from the type of the field we are bound to
- // the value really set is returned
- sal_Int16 SetAlignmentFromModel(sal_Int16 nStandardAlign);
- // set the alignment according to the "Align"-property of m_xModel, use the given standard
- // alignment if the property if void, return the really set alignment
-
- // column locking
- sal_Bool isLocked() const { return m_bLocked; }
- void setLock(sal_Bool _bLock);
-};
-
-//==================================================================
-// DbCellControl, liefert die Daten fuer einen CellController
-// wird in der Regel nur für komplexe Controls wie z.B ComboBoxen
-// benoetigt
-//==================================================================
-class DbCellControl
-:public ::binfilter::svxform::OStaticDataAccessTools//STRIP001 ,public ::svxform::OStaticDataAccessTools
- ,public FmMutexHelper // _before_ the listener, so the listener is to be destroyed first!
- ,public ::comphelper::OPropertyChangeListener
-{
-private:
- ::comphelper::OPropertyChangeMultiplexer* m_pModelChangeBroadcaster;
-
-private:
- sal_Bool m_bTransparent : 1;
- sal_Bool m_bAlignedController : 1;
- sal_Bool m_bAccessingValueProperty : 1;
-
-protected:
- DbGridColumn& m_rColumn;
- Window* m_pPainter;
- Window* m_pWindow;
-
-protected:
- // control transparency
- inline sal_Bool isTransparent( ) const { return m_bTransparent; }
- inline void setTransparent( sal_Bool _bSet ) { m_bTransparent = _bSet; }
-
- // control alignment
- inline void setAlignedController( sal_Bool _bAlign = sal_True ) { m_bAlignedController = _bAlign; }
-
-
- /** determined whether or not the value property is locked
- @see lockValueProperty
- */
- inline sal_Bool isValuePropertyLocked() const;
-
- /** locks the listening at the value property.
- <p>This means that every subsequent change now done on the value property of the model ("Text", or "Value",
- or whatever) is then ignored.<br/>
- This base class uses this setting in <method>Commit</method>.</p>
- @precond
- Value locking can't be nested
- @see unlockValueProperty
- */
- inline void lockValueProperty();
- /** unlocks the listening at the value property
- @see lockValueProperty
- */
- inline void unlockValueProperty();
-
-protected:
- // adds the given property to the list of properties which we listen for
- void doPropertyListening( const ::rtl::OUString& _rPropertyName );
-
- // called whenever a property which affects field settings in general is called
- // you should overwrite this method for every property you add yourself as listener to
- // with doPropertyListening
- virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-
- // called by _propertyChanged if a property which denotes the column value has changed
- void implValuePropertyChanged( );
-
-
-public:
- DbCellControl(DbGridColumn& _rColumn, sal_Bool _bText = sal_True);
- virtual ~DbCellControl();
-
-
- Window* GetControl() const { return m_pWindow; }
-
- // control alignment
- inline sal_Bool isAlignedController() const { return m_bAlignedController; }
- void AlignControl(sal_Int16 nAlignment);
-
- void SetTextLineColor();
- void SetTextLineColor(const Color& _rColor);
-
- // Initialisieren bevor ein Control angezeigt wird
- virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor);
- virtual CellControllerRef CreateController() const = 0;
-
- // Schreiben des Wertes in das Model
- sal_Bool Commit();
-
- // Formatting the field data to output text
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL) { return XubString(); }
-
- virtual void Update(){}
- // Refresh the control by the field data
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) {}
-
- // Painten eines Zellinhalts im vorgegeben Rechteck
- virtual void Paint(OutputDevice& rDev, const Rectangle& rRect);
- virtual void Paint(OutputDevice& rDev, const Rectangle& rRect, const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter)
- { Paint(rDev, rRect); }
-
- void ImplInitSettings(Window* pParent, sal_Bool bFont, sal_Bool bForeground, sal_Bool bBackground);
-
-protected:
- double GetValue(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) const;
-
- void invalidatedController();
-
- /** commits the content of the control (e.g. the text of an edit field) into the column model
- (e.g. the "Text" property of the model).
- <p>To be overwritten in derived classes.</p>
- @see updateFromModel
- */
- virtual sal_Bool commitControl( ) = 0;
-
- /** updates the current content of the control (e.g. the text of an edit field) from the column model
- (e.g. the "Text" property of the model).
- <p>To be overwritten in derived classes.</p>
- @precond
- NULL != _rxModel
- @precond
- NULL != m_pWindow
-
- @see commitControl
- */
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel ) = 0;
-
-protected:
-// OPropertyChangeListener
- virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
-
-private:
- void implDoPropertyListening( const ::rtl::OUString& _rPropertyName, sal_Bool _bWarnIfNotExistent = sal_True );
-
- /// updates the "readonly" setting on m_pWindow, according to the respective property value in the given model
- void implAdjustReadOnly( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-
- /// updates the "enabled" setting on m_pWindow, according to the respective property value in the given model
- void implAdjustEnabled( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-};
-
-//==================================================================
-//------------------------------------------------------------------
-inline sal_Bool DbCellControl::isValuePropertyLocked() const
-{
- return m_bAccessingValueProperty;
-}
-
-//------------------------------------------------------------------
-inline void DbCellControl::lockValueProperty()
-{
- OSL_ENSURE( !isValuePropertyLocked(), "DbCellControl::lockValueProperty: not to be nested!" );
- m_bAccessingValueProperty = sal_True;
-}
-
-//------------------------------------------------------------------
-inline void DbCellControl::unlockValueProperty()
-{
- OSL_ENSURE( isValuePropertyLocked(), "DbCellControl::lockValueProperty: not locked so far!" );
- m_bAccessingValueProperty = sal_False;
-}
-
-//==================================================================
-/** a field which is bound to a column which supports the MaxTextLen property
-*/
-class DbLimitedLengthField : public DbCellControl
-{
-protected:
- DbLimitedLengthField( DbGridColumn& _rColumn );
-
-protected:
- // DbCellControl
- virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-};
-
-//==================================================================
-class DbTextField : public DbLimitedLengthField
-{
- sal_Int16 m_nKeyType;
-
-public:
- DbTextField(DbGridColumn& _rColumn);
- virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
- virtual CellControllerRef CreateController() const;
-
-protected:
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-};
-
-//==================================================================
-class DbFormattedField : public DbLimitedLengthField
-{
-protected:
- ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier > m_xSupplier;
- sal_Int16 m_nKeyType;
-
-
-public:
- DbFormattedField(DbGridColumn& _rColumn);
- virtual ~DbFormattedField();
-
-
- virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
- virtual CellControllerRef CreateController() const;
-
-protected:
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-
- // OPropertyChangeListener
- virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
-};
-
-//==================================================================
-class DbCheckBox : public DbCellControl
-{
-public:
- DbCheckBox(DbGridColumn& _rColumn);
- virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
- virtual CellControllerRef CreateController() const;
- virtual void Paint(OutputDevice& rDev, const Rectangle& rRect,
- const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant,
- const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
-
-protected:
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-};
-
-//==================================================================
-class DbComboBox : public DbCellControl
-{
- sal_Int16 m_nKeyType;
-
-public:
- DbComboBox(DbGridColumn& _rColumn);
-
- virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
- virtual CellControllerRef CreateController() const;
-
- void SetList(const ::com::sun::star::uno::Any& rItems);
-
-protected:
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-
- virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-
- // OPropertyChangeListener
- virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
-};
-
-//==================================================================
-class DbListBox :public DbCellControl
-{
- sal_Bool m_bBound : 1;
- ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aValueList;
-
-public:
- DbListBox(DbGridColumn& _rColumn);
-
- virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
- virtual CellControllerRef CreateController() const;
-
- void SetList(const ::com::sun::star::uno::Any& rItems);
-
-protected:
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-
- virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-
- // OPropertyChangeListener
- virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
-};
-
-//==================================================================
-class DbPatternField : public DbCellControl
-{
-public:
- DbPatternField(DbGridColumn& _rColumn);
- virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
- virtual CellControllerRef CreateController() const;
-
-protected:
- /// DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-
- virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-};
-
-//==================================================================
-class DbSpinField : public DbCellControl
-{
-private:
- sal_Int16 m_nStandardAlign;
-
-protected:
- DbSpinField( DbGridColumn& _rColumn, sal_Int16 _nStandardAlign = ::com::sun::star::awt::TextAlign::RIGHT );
-
-public:
- virtual void Init( Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& _rxCursor );
- virtual CellControllerRef CreateController() const;
-
-protected:
- virtual SpinField* createField(
- Window* _pParent,
- WinBits _nFieldStyle,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
- ) = 0;
-};
-
-//==================================================================
-class DbDateField : public DbSpinField
-{
-public:
- DbDateField(DbGridColumn& _rColumn);
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
-
-protected:
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-
- // DbSpinField
- virtual SpinField* createField(
- Window* _pParent,
- WinBits _nFieldStyle,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
- );
-
- /// initializes everything which relates to the properties describing the numeric behaviour
- virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-};
-
-//==================================================================
-class DbTimeField : public DbSpinField
-{
-public:
- DbTimeField(DbGridColumn& _rColumn);
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
-
-protected:
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-
- // DbSpinField
- virtual SpinField* createField(
- Window* _pParent,
- WinBits _nFieldStyle,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
- );
-
- /// initializes everything which relates to the properties describing the numeric behaviour
- virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-};
-
-//==================================================================
-class DbCurrencyField : public DbSpinField
-{
- sal_Int16 m_nScale;
-
-public:
- DbCurrencyField(DbGridColumn& _rColumn);
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
-
-protected:
- double GetCurrency(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) const;
-
-protected:
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-
- // DbSpinField
- virtual SpinField* createField(
- Window* _pParent,
- WinBits _nFieldStyle,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
- );
-
- /// initializes everything which relates to the properties describing the numeric behaviour
- virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-};
-
-//==================================================================
-class DbNumericField : public DbSpinField
-{
-public:
- DbNumericField(DbGridColumn& _rColumn);
- virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
- virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
-
-protected:
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-
- // DbSpinField
- virtual SpinField* createField(
- Window* _pParent,
- WinBits _nFieldStyle,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
- );
-
- /// initializes everything which relates to the properties describing the numeric behaviour
- void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
-};
-
-//==================================================================
-class DbFilterField
- :public DbCellControl
- ,public ::binfilter::svxform::OSQLParserClient//STRIP008 ,public ::svxform::OSQLParserClient
-{
- ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aValueList;
- XubString m_aText;
- Link m_aCommitLink;
- sal_Int16 m_nControlClass;
- sal_Bool m_bFilterList : 1;
- sal_Bool m_bFilterListFilled : 1;
- sal_Bool m_bBound : 1;
-
-public:
- DbFilterField(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB,DbGridColumn& _rColumn);
- virtual ~DbFilterField();
-
- virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor);
- virtual CellControllerRef CreateController() const;
- virtual void Paint(OutputDevice& rDev, const Rectangle& rRect);
- virtual void Update();
-
- const XubString& GetText() const {return m_aText;}
- void SetText(const XubString& rText);
-
- void SetCommitHdl( const Link& rLink ) { m_aCommitLink = rLink; }
- const Link& GetCommitHdl() const { return m_aCommitLink; }
-
-protected:
-
- // DbCellControl
- virtual sal_Bool commitControl( );
- virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
-
-protected:
- void SetList(const ::com::sun::star::uno::Any& rItems, sal_Bool bComboBox);
- void CreateControl(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xModel);
- DECL_LINK( OnClick, void* );
-};
-
-//==================================================================
-// Base class providing the access to a grid cell
-//==================================================================
-class FmXGridCell : public ::cppu::OComponentHelper,
- public ::com::sun::star::awt::XControl,
- public ::com::sun::star::form::XBoundControl
-{
-protected:
- ::osl::Mutex m_aMutex;
- DbGridColumn* m_pColumn;
- DbCellControl* m_pCellControl;
-
- virtual ~FmXGridCell();
-public:
- TYPEINFO();
- FmXGridCell(DbGridColumn* pColumn, DbCellControl* pControl);
-
-
- DECLARE_UNO3_AGG_DEFAULTS(FmXGridCell, OComponentHelper);
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
-
- void SetTextLineColor();
- void SetTextLineColor(const Color& _rColor);
-
-// XTypeProvider
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
-
-// OComponentHelper
- virtual void SAL_CALL disposing();
-
-// ::com::sun::star::lang::XComponent
- virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException){OComponentHelper::dispose();}
- virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener)throw(::com::sun::star::uno::RuntimeException) { OComponentHelper::addEventListener(aListener);}
- virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener)throw(::com::sun::star::uno::RuntimeException) { OComponentHelper::removeEventListener(aListener);}
-
-// ::com::sun::star::awt::XControl
- virtual void SAL_CALL setContext(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Context) throw(::com::sun::star::uno::RuntimeException){}
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getContext() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL createPeer(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XToolkit >& Toolkit, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& Parent) throw(::com::sun::star::uno::RuntimeException){}
-
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > SAL_CALL getPeer() throw (::com::sun::star::uno::RuntimeException) {return ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > ();}
- virtual sal_Bool SAL_CALL setModel(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& Model) throw (::com::sun::star::uno::RuntimeException) {return sal_False;}
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > SAL_CALL getModel() throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XView > SAL_CALL getView() throw (::com::sun::star::uno::RuntimeException) {return ::com::sun::star::uno::Reference< ::com::sun::star::awt::XView > ();}
- virtual void SAL_CALL setDesignMode(sal_Bool bOn) throw (::com::sun::star::uno::RuntimeException) {}
- virtual sal_Bool SAL_CALL isDesignMode() throw (::com::sun::star::uno::RuntimeException) {return sal_False;}
- virtual sal_Bool SAL_CALL isTransparent() throw (::com::sun::star::uno::RuntimeException) {return sal_False;}
-
-// ::com::sun::star::form::XBoundControl
- virtual sal_Bool SAL_CALL getLock() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setLock(sal_Bool _bLock) throw(::com::sun::star::uno::RuntimeException);
-
- sal_Bool Commit() {return m_pCellControl->Commit();}
- void ImplInitSettings(Window* pParent, sal_Bool bFont, sal_Bool bForeground, sal_Bool bBackground)
- { m_pCellControl->ImplInitSettings(pParent, bFont, bForeground, bBackground); }
-
- sal_Bool isAlignedController() const { return m_pCellControl->isAlignedController(); }
- void AlignControl(sal_Int16 nAlignment)
- { m_pCellControl->AlignControl(nAlignment);}
-};
-
-//==================================================================
-class FmXDataCell : public FmXGridCell
-{
-public:
- TYPEINFO();
- FmXDataCell(DbGridColumn* pColumn, DbCellControl* pControl):FmXGridCell(pColumn, pControl){}
-
- virtual void Paint(OutputDevice& rDev,
- const Rectangle& rRect,
- const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& xField,
- const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
-
- void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& xField,
- const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter)
- { m_pCellControl->UpdateFromField(xField, xFormatter); }
-
-protected:
- void UpdateFromColumn();
-};
-
-//==================================================================
-class FmXTextCell : public FmXDataCell
-{
-public:
- TYPEINFO();
- FmXTextCell(DbGridColumn* pColumn, DbCellControl* pControl):FmXDataCell(pColumn, pControl){}
-
- virtual void Paint(OutputDevice& rDev,
- const Rectangle& rRect,
- const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& xField,
- const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
-
- XubString GetText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant,
- const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter,
- Color** ppColor = NULL)
- {return m_pCellControl->GetFormatText(_xVariant, xFormatter, ppColor);}
-};
-
-//==================================================================
-class FmXEditCell : public FmXTextCell,
- public ::com::sun::star::awt::XTextComponent
-{
-protected:
- ::cppu::OInterfaceContainerHelper m_aTextListeners;
- Edit* m_pEdit;
-
- virtual ~FmXEditCell();
-public:
- FmXEditCell(DbGridColumn* pColumn, DbCellControl* pControl);
-
-
- DECLARE_UNO3_AGG_DEFAULTS(FmXEditCell, FmXTextCell);
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
-
-// XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
-
-// OComponentHelper
- virtual void SAL_CALL disposing();
-
-// ::com::sun::star::awt::XTextComponent
- virtual void SAL_CALL addTextListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeTextListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setText(const ::rtl::OUString& aText) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL insertText(const ::com::sun::star::awt::Selection& Sel, const ::rtl::OUString& Text) throw(::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getText() throw(::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getSelectedText() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setSelection(const ::com::sun::star::awt::Selection& aSelection) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::awt::Selection SAL_CALL getSelection() throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL isEditable() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setEditable(sal_Bool bEditable) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Int16 SAL_CALL getMaxTextLen() throw(::com::sun::star::uno::RuntimeException);
-
-protected:
- DECL_LINK( OnTextChanged, void* );
-};
-
-//==================================================================
-class FmXCheckBoxCell : public FmXDataCell,
- public ::com::sun::star::awt::XCheckBox
-{
- ::cppu::OInterfaceContainerHelper m_aItemListeners;
- CheckBox* m_pBox;
-protected:
- virtual ~FmXCheckBoxCell();
-public:
- FmXCheckBoxCell(DbGridColumn* pColumn, DbCellControl* pControl);
-
-
-// UNO
- DECLARE_UNO3_AGG_DEFAULTS(FmXCheckBoxCell, FmXDataCell);
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
-
-// OComponentHelper
- virtual void SAL_CALL disposing();
-
-// ::com::sun::star::awt::XCheckBox
- virtual void SAL_CALL addItemListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeItemListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Int16 SAL_CALL getState() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setState(sal_Int16 n) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setLabel(const ::rtl::OUString& Label) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL enableTriState(sal_Bool b) throw(::com::sun::star::uno::RuntimeException);
-
-protected:
- DECL_LINK( OnClick, void* );
-};
-
-//==================================================================
-class FmXListBoxCell : public FmXTextCell,
- public ::com::sun::star::awt::XListBox
-{
- ::cppu::OInterfaceContainerHelper m_aItemListeners,
- m_aActionListeners;
- ListBox* m_pBox;
-protected:
- virtual ~FmXListBoxCell();
-public:
- FmXListBoxCell(DbGridColumn* pColumn, DbCellControl* pControl);
-
-
- DECLARE_UNO3_AGG_DEFAULTS(FmXListBoxCell, FmXTextCell);
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
-
-// OComponentHelper
- virtual void SAL_CALL disposing();
-
-// ::com::sun::star::awt::XListBox
- virtual void SAL_CALL addItemListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeItemListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL addActionListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeActionListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL addItem(const ::rtl::OUString& aItem, sal_Int16 nPos) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL addItems(const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aItems, sal_Int16 nPos) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeItems(sal_Int16 nPos, sal_Int16 nCount) throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Int16 SAL_CALL getItemCount() throw(::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getItem(sal_Int16 nPos) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getItems() throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Int16 SAL_CALL getSelectedItemPos() throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< sal_Int16 > SAL_CALL getSelectedItemsPos() throw(::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getSelectedItem() throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSelectedItems() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL SAL_CALL selectItemPos(sal_Int16 nPos, sal_Bool bSelect) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL SAL_CALL selectItemsPos(const ::com::sun::star::uno::Sequence< sal_Int16 >& aPositions, sal_Bool bSelect) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL SAL_CALL selectItem(const ::rtl::OUString& aItem, sal_Bool bSelect) throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL isMutipleMode() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL SAL_CALL setMultipleMode(sal_Bool bMulti) throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Int16 SAL_CALL getDropDownLineCount() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL SAL_CALL setDropDownLineCount(sal_Int16 nLines) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL SAL_CALL makeVisible(sal_Int16 nEntry) throw(::com::sun::star::uno::RuntimeException);
-
-protected:
- DECL_LINK( OnSelect, void* );
- DECL_LINK( OnDoubleClick, void* );
-};
-
-//==================================================================
-class FmXFilterCell :public FmXGridCell
- ,public ::com::sun::star::awt::XTextComponent
- ,public ::com::sun::star::lang::XUnoTunnel
-{
- ::cppu::OInterfaceContainerHelper m_aTextListeners;
-protected:
- virtual ~FmXFilterCell();
-public:
- TYPEINFO();
- FmXFilterCell(DbGridColumn* pColumn = NULL, DbCellControl* pControl = NULL);
-
-
- DECLARE_UNO3_AGG_DEFAULTS(FmXFilterCell, FmXGridCell);
- virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
-
-// XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
-
-// helpers for XUnoTunnel
- static const ::com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
- static FmXFilterCell* getImplementation(
- const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& _rxObject);
-
-// Painting the filter text
- void Paint(OutputDevice& rDev, const Rectangle& rRect);
- void Update(){m_pCellControl->Update();}
-
-// OComponentHelper
- virtual void SAL_CALL disposing();
-
-// ::com::sun::star::awt::XTextComponent
- virtual void SAL_CALL addTextListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeTextListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setText(const ::rtl::OUString& aText) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL insertText(const ::com::sun::star::awt::Selection& Sel, const ::rtl::OUString& Text) throw(::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getText() throw(::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getSelectedText() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setSelection(const ::com::sun::star::awt::Selection& aSelection) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::awt::Selection SAL_CALL getSelection() throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL isEditable() throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setEditable(sal_Bool bEditable) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Int16 SAL_CALL getMaxTextLen() throw(::com::sun::star::uno::RuntimeException);
-
-protected:
- DECL_LINK( OnCommit, void* );
-};
-
-}//end of namespace binfilter
-#endif // _SVX_GRIDCELL_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/inc/bf_svx/fmgridcl.hxx b/binfilter/inc/bf_svx/fmgridcl.hxx
deleted file mode 100644
index 0d20a41..0000000
--- a/binfilter/inc/bf_svx/fmgridcl.hxx
+++ /dev/null
@@ -1,219 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * 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 _SVX_FMGRIDCL_HXX
-#define _SVX_FMGRIDCL_HXX
-
-#include <com/sun/star/container/XIndexContainer.hpp>
-
-#include <com/sun/star/container/XIndexContainer.hpp>
-#include <com/sun/star/container/XNameContainer.hpp>
-
-// alles nur fuer stl
-#include <bf_svx/gridctrl.hxx>
-#include <svtools/transfer.hxx>
-namespace binfilter {
-
-//==================================================================
-// FmGridHeader
-//==================================================================
-struct FmGridHeaderData;
-class FmGridHeader
- :public EditBrowserHeader
- ,public DropTargetHelper
-{
-protected:
- FmGridHeaderData* m_pImpl;
-
- // trigger context menu execution
- void triggerColumnContextMenu( const ::Point& _rPreferredPos );
-
-public:
- FmGridHeader( BrowseBox* pParent, WinBits nWinBits = WB_STDHEADERBAR | WB_DRAG );
- ~FmGridHeader();
-
-public:
- struct AccessControl { friend class FmGridControl; private: AccessControl() { } };
-
- inline void triggerColumnContextMenu( const ::Point& _rPreferredPos, const AccessControl& )
- {
- triggerColumnContextMenu( _rPreferredPos );
- }
-
-protected:
- virtual void Command( const CommandEvent& rCEvt );
- virtual void RequestHelp( const HelpEvent& rHEvt );
- virtual void Select();
-
- /** the value returned by GetItemPos is meaningless for the grid model if there are hidden columns,
- so use GetModelColumnPos instead
- */
- sal_uInt16 GetModelColumnPos(sal_uInt16 nId) const;
-
- /** This is called before executing a context menu for a column. rMenu contains the initial entries
- handled by this base class' method (which always has to be called).
- Derived classes may alter the menu in any way and handle any additional entries in
- PostExecuteColumnContextMenu.
- All disabled entries will be removed before executing the menu, so be careful with separators
- near entries you probably wish to disable ...
- */
- virtual void PreExecuteColumnContextMenu(sal_uInt16 nColId, PopupMenu& rMenu);
- /** After executing the context menu for a column this method is called.
- */
- virtual void PostExecuteColumnContextMenu(sal_uInt16 nColId, const PopupMenu& rMenu, sal_uInt16 nExecutionResult);
-
- // DropTargetHelper
- virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt );
- virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt );
-
- /** selects the column at the selection supplier.
- @param nColumnId
- The column id.
- */
- void notifyColumnSelect(sal_uInt16 nColumnId);
-private:
- DECL_LINK( OnAsyncExecuteDrop, void* );
-};
-
-//==================================================================
-// FmGridControl
-//==================================================================
-class FmGridControl : public DbGridControl
-
-{
- friend class FmGridHeader;
- friend class FmXGridPeer;
-
- FmXGridPeer* m_pPeer;
- sal_Int32 m_nCurrentSelectedColumn; // this is the column model (not the view) posisition ...
- sal_uInt16 m_nMarkedColumnId;
- sal_Bool m_bSelecting;
- sal_Bool m_bInColumnMove : 1;
-
-public:
- FmGridControl(
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >,
- Window* pParent,
- FmXGridPeer* _pPeer,
- WinBits nBits);
-
- // Window
- virtual void KeyInput( const KeyEvent& rKEvt );
-
- // ::com::sun::star::beans::XPropertyChangeListener
- void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt);
-
- // ::com::sun::star::form::XPositioningListener
- void positioned(const ::com::sun::star::lang::EventObject& rEvent);
-
- // XBound
- sal_Bool commit();
-
- // ::com::sun::star::form::XInsertListener
- void inserted(const ::com::sun::star::lang::EventObject& rEvent);
-
- // ::com::sun::star::form::XRestoreListener
- void restored(const ::com::sun::star::lang::EventObject& rEvent);
-
- void markColumn(sal_uInt16 nId);
- sal_Bool isColumnMarked(sal_uInt16 nId) const;
-
- sal_Int32 GetSelectedColumn() const;
-
- /** return the name of the specified object.
- @param eObjType
- The type to ask for
- @param _nPosition
- The position of a tablecell (index position), header bar colum/row cell
- @return
- The name of the specified object.
- */
- virtual ::rtl::OUString GetAccessibleName( AccessibleBrowseBoxObjType eObjType,sal_Int32 _nPosition = -1) const;
-
- /** return the description of the specified object.
- @param eObjType
- The type to ask for
- @param _nPosition
- The position of a tablecell (index position), header bar colum/row cell
- @return
- The description of the specified object.
- */
- virtual ::rtl::OUString GetAccessibleDescription( AccessibleBrowseBoxObjType eObjType,sal_Int32 _nPosition = -1) const;
-
-protected:
- virtual void Command(const CommandEvent& rEvt);
-
- virtual BrowserHeader* imp_CreateHeaderBar(BrowseBox* pParent);
- virtual void ColumnResized(sal_uInt16 nId);
- virtual void ColumnMoved(sal_uInt16 nId);
- virtual void DeleteSelectedRows();
- virtual void SetDesignMode(sal_Bool bMode);
- virtual void CellModified();
- virtual void HideColumn(sal_uInt16 nId);
- virtual void ShowColumn(sal_uInt16 nId);
-
- sal_Bool IsInColumnMove() const {return m_bInColumnMove;}
-
- virtual void BeginCursorAction();
- virtual void EndCursorAction();
- virtual void Select();
-
- // Initialisieren der Spalten
- // a.) nur ueber Spaltenbeschreibung
- virtual void InitColumnsByModels(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& xColumns);
- // b.) im alivemode ueber Datenbankfelder
- virtual void InitColumnsByFields(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& xFields);
-
- // some kind of impl version (for one single column) of our version of InitColumnsByFields
- void InitColumnByField(
- DbGridColumn* _pColumn,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColumnModel,
- const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& _rxFieldsByNames,
- const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& _rxFieldsByIndex
- );
-
- FmXGridPeer* GetPeer() const {return m_pPeer;}
-
- ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any>
- getSelectionBookmarks();
- sal_Bool selectBookmarks(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any>& _rBookmarks);
-
- /** returns if a column is selected
- @param nColumnId
- The column id.
- @param _pColumn
- The column to compare with.
- @return
- <TRUE/> if the column is selected, otherwise <FALSE/>
- */
- sal_Bool isColumnSelected(sal_uInt16 nColumnId,DbGridColumn* _pColumn);
-};
-
-}//end of namespace binfilter
-#endif // _SVX_FMGRIDCL_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/inc/bf_svx/gridctrl.hxx b/binfilter/inc/bf_svx/gridctrl.hxx
deleted file mode 100644
index dd4dfe5..0000000
--- a/binfilter/inc/bf_svx/gridctrl.hxx
+++ /dev/null
@@ -1,583 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * 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 _SVX_GRIDCTRL_HXX
-#define _SVX_GRIDCTRL_HXX
-
-
-#include <com/sun/star/sdbc/XRowSet.hpp>
-#include <com/sun/star/util/XNumberFormatter.hpp>
-#include <com/sun/star/util/Date.hpp>
-#include <com/sun/star/container/XIndexAccess.hpp>
-#include <vcl/fixed.hxx>
-
-#include <vcl/field.hxx>
-
-
-
-
-#include <svtools/editbrowsebox.hxx>
-
-
-#include <comphelper/propmultiplex.hxx>
-
-namespace binfilter {
-
-extern XubString INVALIDTEXT;
-extern XubString OBJECTTEXT;
-
-class DbGridControl;
-class CursorWrapper;
-
-sal_Bool CompareBookmark(const ::com::sun::star::uno::Any& aLeft, const ::com::sun::star::uno::Any& aRight);
-
-namespace svxform
-{
- class DataColumn;
-}
-DECLARE_LIST(DbDataColumns, ::binfilter::svxform::DataColumn*)//STRIP008 DECLARE_LIST(DbDataColumns, ::svxform::DataColumn*);
-
-enum GridRowStatus
-{
- GRS_CLEAN,
- GRS_MODIFIED,
- GRS_DELETED,
- GRS_INVALID
-};
-
-//==================================================================
-// DbGridRow, Zeilenbeschreibung
-//==================================================================
-
-class DbGridRow : public SvRefBase
-{
- ::com::sun::star::uno::Any m_aBookmark; // ::com::sun::star::text::Bookmark der Zeile, kann gesetzt sein
- DbDataColumns m_aVariants;
- GridRowStatus m_eStatus;
- sal_Bool m_bIsNew;
- // Zeile ist nicht mehr gueltig,
- // wird bei der naechsten positionierung entfernt
-public:
- DbGridRow():m_eStatus(GRS_CLEAN), m_bIsNew(sal_True) { }
- DbGridRow(CursorWrapper* pCur, sal_Bool bPaintCursor);
- void SetState(CursorWrapper* pCur, sal_Bool bPaintCursor);
-
- ~DbGridRow();
-
- // da GetField auf Geschwindigkeit getuned ist vorher immer noch hasField verwenden
- sal_Bool HasField(sal_uInt32 nPos) const {return nPos < m_aVariants.Count();}
- const ::binfilter::svxform::DataColumn& GetField(sal_uInt32 nPos) const { return *m_aVariants.GetObject(nPos); }//STRIP008 const ::svxform::DataColumn& GetField(sal_uInt32 nPos) const { return *m_aVariants.GetObject(nPos); }
-
- void SetStatus(GridRowStatus _eStat) { m_eStatus = _eStat; }
- GridRowStatus GetStatus() const { return m_eStatus; }
- void SetNew(sal_Bool _bNew) { m_bIsNew = _bNew; }
- sal_Bool IsNew() const { return m_bIsNew; }
-
- const ::com::sun::star::uno::Any& GetBookmark() const { return m_aBookmark; }
-
- sal_Bool IsValid() const { return m_eStatus == GRS_CLEAN || m_eStatus == GRS_MODIFIED; }
- sal_Bool IsModified() const { return m_eStatus == GRS_MODIFIED; }
-};
-
-SV_DECL_REF(DbGridRow)//STRIP008 ;
-
-//==================================================================
-// DbGridControl
-//==================================================================
-class DbGridColumn;
-DECLARE_LIST(DbGridColumns, DbGridColumn*)//STRIP008 DECLARE_LIST(DbGridColumns, DbGridColumn*);
-
-//==================================================================
-class FmGridSelectionListener
-{
-public:
- virtual void selectionChanged() = 0;
-};
-
-//==================================================================
-class FmXGridSourcePropListener;
-class DisposeListenerGridBridge;
-typedef EditBrowseBox DbGridControl_Base;
-class DbGridControl : public DbGridControl_Base
-{
- friend class FmXGridSourcePropListener;
- friend class GridFieldValueListener;
- friend class DisposeListenerGridBridge;
-
-public:
- //==================================================================
- // NavigationBar
- //==================================================================
- class NavigationBar: public Control
- {
- class AbsolutePos : public NumericField
- {
- public:
- AbsolutePos(Window* pParent, WinBits nStyle = 0);
-
- virtual void KeyInput(const KeyEvent& rEvt);
- virtual void LoseFocus();
- };
-
- friend class NavigationBar::AbsolutePos;
-
- // zusaetzliche Controls
- FixedText m_aRecordText;
- AbsolutePos m_aAbsolute; // AbsolutePositionierung
- FixedText m_aRecordOf;
- FixedText m_aRecordCount;
-
- ImageButton m_aFirstBtn; // ImageButton fuer 'gehe zum ersten Datensatz'
- ImageButton m_aPrevBtn; // ImageButton fuer 'gehe zum vorhergehenden Datensatz'
- ImageButton m_aNextBtn; // ImageButton fuer 'gehe zum naechsten Datensatz'
- ImageButton m_aLastBtn; // ImageButton fuer 'gehe zum letzten Datensatz'
- ImageButton m_aNewBtn; // ImageButton fuer 'gehe zum neuen Datensatz'
- sal_uInt16 m_nDefaultWidth;
- sal_uInt32 m_nCurrentPos;
-
- sal_Bool m_bPositioning; // protect PositionDataSource against recursion
-
- public:
- // StatusIds fuer Controls der Bar
- // wichtig fuers Invalidieren
- enum State
- {
- RECORD_TEXT = 1,
- RECORD_ABSOLUTE,
- RECORD_OF,
- RECORD_COUNT,
- RECORD_FIRST,
- RECORD_NEXT,
- RECORD_PREV,
- RECORD_LAST,
- RECORD_NEW
- };
-
- NavigationBar(Window* pParent, WinBits nStyle = 0);
-
- // Status Methoden fuer Controls
- void InvalidateAll(sal_uInt32 nCurrentPos = -1, sal_Bool bAll = sal_False);
- void InvalidateState(sal_uInt16 nWhich) {SetState(nWhich);}
- void SetState(sal_uInt16 nWhich);
- sal_Bool GetState(sal_uInt16 nWhich) const;
- sal_uInt16 GetDefaultWidth() const {return m_nDefaultWidth;}
-
- protected:
- virtual void Resize();
- virtual void Paint(const Rectangle& rRect);
- virtual void StateChanged( StateChangedType nType );
-
- private:
- DECL_LINK(OnClick, Button*);
- sal_uInt16 ArrangeControls();
-
- void PositionDataSource(sal_Int32 nRecord);
- };
-
- friend class DbGridControl::NavigationBar;
-
-public:
- // diese Optionen werden verodert und geben an, welche der einzelnen feature
- // freigegeben werden koennen, default ist readonly also 0
- enum Option
- {
- OPT_READONLY = 0x00,
- OPT_INSERT = 0x01,
- OPT_UPDATE = 0x02,
- OPT_DELETE = 0x04
- };
-
-private:
- Font m_aDefaultFont;
- Link m_aMasterStateProvider;
- Link m_aMasterSlotExecutor;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter > m_xFormatter;
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceFactory;
-
- DbGridColumns m_aColumns; // Spaltenbeschreibung
- NavigationBar m_aBar;
- DbGridRowRef m_xDataRow; // Zeile die modifiziert werden kann
- // kommt vom DatenCursor
- DbGridRowRef m_xSeekRow, // Zeile die von Iterator gesetzt wird
- // kommt vom DatenCursor
-
- m_xEmptyRow; // Datensatz zum einfuegen
-
- sal_uInt32 m_nAsynAdjustEvent;
-
- // if we modify the row for the new record, we automatically insert a "new new row".
- // But if somebody else inserts a new record into the data source, we have to do the same.
- // For that reason we have to listen to some properties of our data source.
- ::comphelper::OPropertyChangeMultiplexer* m_pDataSourcePropMultiplexer;
- FmXGridSourcePropListener* m_pDataSourcePropListener;
-
- void* m_pFieldListeners;
- // property listeners for field values
-
- DisposeListenerGridBridge* m_pCursorDisposeListener;
- // need to know about the diposing of the seek cursor
- // construct analogous to the data source proplistener/multiplexer above :
- // DisposeListenerGridBridge is a bridge from FmXDisposeListener which I don't want to be derived from
-
- FmGridSelectionListener* m_pSelectionListener;
-
-protected:
- CursorWrapper* m_pDataCursor; // Cursor fuer Updates
- CursorWrapper* m_pSeekCursor; // Cursor zum Seeken
-
-private:
- // dieses sind Laufvariablen
- DbGridRowRef m_xCurrentRow; // Row an der aktuellen Zeile
- DbGridRowRef m_xPaintRow; // Row die gerade drgestellt werden soll
- sal_Int32 m_nSeekPos; // Position des SeekCursors
- sal_Int32 m_nTotalCount; // wird gesetzt, wenn der DatenCursor mit dem Zählen der
- // Datensätze fertig ist
- // initial Wert ist -1
- osl::Mutex m_aDestructionSafety;
- osl::Mutex m_aAdjustSafety;
-
- ::com::sun::star::util::Date
- m_aNullDate; // NullDate of the Numberformatter;
-
- BrowserMode m_nMode;
- sal_Int32 m_nCurrentPos; // Aktuelle Position;
- sal_uInt32 m_nDeleteEvent; // EventId fuer asychrone Loeschen von Zeilen
- sal_uInt16 m_nOptions; // Was kann das Control (Insert, Update, Delete)
- // default readonly
- sal_uInt16 m_nOptionMask; // the mask of options to be enabled in setDataSource
- // (with respect to the data source capabilities)
- // defaults to (insert | update | delete)
-
- sal_Bool m_bFrozen : 1; // Anzeige ist eingefroren
- sal_Bool m_bDesignMode : 1; // default = sal_False
- sal_Bool m_bRecordCountFinal : 1;
- sal_Bool m_bMultiSelection : 1;
- sal_Bool m_bNavigationBar : 1;
-
- sal_Bool m_bSynchDisplay : 1;
- sal_Bool m_bForceROController : 1;
- sal_Bool m_bHandle : 1;
- sal_Bool m_bFilterMode : 1;
- sal_Bool m_bWantDestruction : 1;
- sal_Bool m_bInAdjustDataSource : 1;
- sal_Bool m_bPendingAdjustRows : 1; // if an async adjust is pending, is it for AdjustRows or AdjustDataSource ?
-
-protected:
- sal_Bool m_bUpdating : 1; // werden gerade updates durchgefuehrt
-
-protected:
- virtual sal_Bool SeekRow(long nRow);
- virtual void VisibleRowsChanged( long nNewTopRow, sal_uInt16 nNumRows);
- virtual void PaintStatusCell(OutputDevice& rDev, const Rectangle& rRect) const;
- virtual void PaintCell(OutputDevice& rDev, const Rectangle& rRect, sal_uInt16 nColId) const;
- virtual RowStatus GetRowStatus(long nRow) const;
- virtual sal_Bool CursorMoving(long nNewRow, sal_uInt16 nNewCol);
- virtual void CursorMoved();
- virtual void ArrangeControls(sal_uInt16& nX, sal_uInt16 nY);
- virtual sal_uInt32 GetTotalCellWidth(long nRow, sal_uInt16 nColId);
- virtual void Command(const CommandEvent& rEvt);
- virtual long PreNotify(NotifyEvent& rEvt);
- virtual void KeyInput(const KeyEvent& rEvt);
- virtual void StateChanged( StateChangedType nType );
- virtual void DataChanged( const DataChangedEvent& rDCEvt );
- virtual void Select();
-
- virtual CellController* GetController(long nRow, sal_uInt16 nCol);
-
- virtual void CellModified();
- virtual sal_Bool SaveModified();
- virtual sal_Bool IsModified() const;
-
- virtual sal_uInt16 AppendColumn(const String& rName, sal_uInt16 nWidth = 0, sal_uInt16 nPos = HEADERBAR_APPEND, sal_uInt16 nId = (sal_uInt16)-1);
- virtual void RemoveColumn(sal_uInt16 nId);
- virtual DbGridColumn* CreateColumn(sal_uInt16 nId, const DbGridRowRef& _xRow) const;
- virtual void ColumnMoved(sal_uInt16 nId);
- virtual sal_Bool SaveRow();
- virtual sal_Bool IsTabAllowed(sal_Bool bForward) const;
-
- /// hide a column
- virtual void HideColumn(sal_uInt16 nId);
- /// show a column
- virtual void ShowColumn(sal_uInt16 nId);
-
- /** This is called before executing a context menu for a row. rMenu contains the initial entries
- handled by this base class' method (which always has to be called).
- Derived classes may alter the menu in any way and handle any additional entries in
- PostExecuteColumnContextMenu.
- All disabled entries will be removed before executing the menu, so be careful with separators
- near entries you probably wish to disable ...
- */
- virtual void PreExecuteRowContextMenu(sal_uInt16 nRow, PopupMenu& rMenu);
- /** After executing the context menu for a row this method is called.
- */
- virtual void PostExecuteRowContextMenu(sal_uInt16 nRow, const PopupMenu& rMenu, sal_uInt16 nExecutionResult);
-
- virtual void DataSourcePropertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
-
- virtual void FieldValueChanged(sal_uInt16 _nId, const ::com::sun::star::beans::PropertyChangeEvent& _evt);
- virtual void FieldListenerDisposing(sal_uInt16 _nId);
-
- virtual void disposing(sal_uInt16 _nId, const ::com::sun::star::lang::EventObject& _rEvt);
-
- // DragSourceHelper overridables
- virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel );
-
- void executeRowContextMenu( long _nRow, const Point& _rPreferredPos );
-
-public:
- DbGridControl(
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >,
- Window* pParent,
- WinBits nBits = WB_BORDER);
- DbGridControl(
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >,
- Window* pParent,
- const ResId& rId);
-
- virtual ~DbGridControl();
-
- virtual void Init();
- virtual void InitColumnsByFields(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& xFields) = 0;
- virtual void RemoveRows();
-
- /** GetCellText returns the text at the given position
- @param _nRow
- the number of the row
- @param _nColId
- the ID of the column
- @return
- the text out of the cell
- */
- virtual String GetCellText(long _nRow, USHORT _nColId) const;
-
- void RemoveRows(sal_Bool bNewCursor);
-
- void InvalidateStatus();
-
- const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& getNumberFormatter() const {return m_xFormatter;}
-
- // die Datenquelle
- // die Optionen koennen die Updatefaehigkeiten noch einschraenken, nicht erweitern
- virtual void setDataSource(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& rCursor,
- sal_uInt16 nOpts = OPT_INSERT | OPT_UPDATE | OPT_DELETE);
- virtual void Dispatch(sal_uInt16 nId);
-
- CursorWrapper* getDataSource() const {return m_pDataCursor;}
- const DbGridColumns& GetColumns() const {return m_aColumns;}
-
- void EnableHandle(sal_Bool bEnable);
- sal_Bool HasHandle() const {return m_bHandle;}
- void InsertHandleColumn();
-
- /// welche Position hat die Spalte mit der Id in der ::com::sun::star::sdbcx::View, die Handle-Column zahelt nicht mit
- sal_uInt16 GetViewColumnPos( sal_uInt16 nId ) const { sal_uInt16 nPos = GetColumnPos(nId); return (nPos==(sal_uInt16)-1) ? -1 : nPos-1; }
- /** welche Position hat die Spalte mit der Id in m_aColumns, also dem von GetColumns gelieferten ::com::sun::star::sdbcx::Container ?
- (unterscheidet sich u.U. von der von GetViewColumnPos gelieferten, wenn es versteckt Spalten gibt)
- */
- sal_uInt16 GetModelColumnPos( sal_uInt16 nId ) const;
-
- /// Anzahl der Spalten im Model
- sal_uInt16 GetViewColCount() const { return ColCount() - 1; }
- sal_uInt16 GetModelColCount() const { return (sal_uInt16)m_aColumns.Count(); }
- /// umgekehrt zu GetViewColumnPos : Id zu Position, die erste Nicht-Handle-Column hat die Position 0
- sal_uInt16 GetColumnIdFromViewPos( sal_uInt16 nPos ) const { return GetColumnId(nPos + 1); }
- sal_uInt16 GetColumnIdFromModelPos( sal_uInt16 nPos ) const;
-
- virtual void SetDesignMode(sal_Bool bMode);
- sal_Bool IsDesignMode() const {return m_bDesignMode;}
- sal_Bool IsOpen() const {return m_pSeekCursor != NULL;}
-
- virtual void SetFilterMode(sal_Bool bMode);
- sal_Bool IsFilterMode() const {return m_bFilterMode;}
- sal_Bool IsFilterRow(long nRow) const {return m_bFilterMode && nRow == 0;}
-
- void EnableNavigationBar(sal_Bool bEnable);
- sal_Bool HasNavigationBar() const {return m_bNavigationBar;}
-
- sal_uInt16 GetOptions() const {return m_nOptions;}
- NavigationBar& GetNavigationBar() {return m_aBar;}
- sal_uInt16 SetOptions(sal_uInt16 nOpt);
- // The new options are interpreted with respect to the current data source. If it is unable
- // to update, to insert or to restore, the according options are ignored. If the grid isn't
- // connected to a data source, all options except OPT_READONLY are ignored.
-
- void SetMultiSelection(sal_Bool bMulti);
- sal_Bool GetMultiSelection() const {return m_bMultiSelection;}
-
- const ::com::sun::star::util::Date& getNullDate() const {return m_aNullDate;}
-
- // Positionierung
- void MoveToPosition(sal_uInt32 nPos);
- void MoveToFirst();
- void MoveToNext();
- void MoveToPrev();
- void MoveToLast();
- void AppendNew();
-
- // Abgleich der Cursor falls von außen der DatenCursor verschoben wurde
- // Flag bedeutet ob ein Abgleich es Rowcounts vorgenommen werden soll
- void AdjustDataSource(sal_Bool bFull = sal_False);
- void Undo();
-
- virtual void BeginCursorAction();
- virtual void EndCursorAction();
-
- // wird die aktuelle Zeile neu gesetzt
- sal_Bool IsUpdating() const {return m_bUpdating;}
-
- virtual void RowRemoved( long nRow, long nNumRows = 1, sal_Bool bDoPaint = sal_True );
- virtual void RowInserted( long nRow, long nNumRows = 1, sal_Bool bDoPaint = sal_True );
- virtual void RowModified( long nRow, sal_uInt16 nColId = USHRT_MAX );
-
- void resetCurrentRow();
-
- sal_Bool getDisplaySynchron() const { return m_bSynchDisplay; }
- void setDisplaySynchron(sal_Bool bSync);
- void forceSyncDisplay();
- // wenn das auf sal_False gesetzt wird, laeuft die Anzeige nicht mehr mit der aktuellen Cursor-Position synchron
- // (soll heissen, in AdjustDataSource wird nicht in die zur CursorPosition gehoerenden Zeile gesprungen)
- // wer das benutzt, sollte bitte wissen, was er tut, da zum Beispiel die Eingabe von Daten in einer Zeile auf der Anzeige,
- // die gar nicht mit der Position des Cursors synchron ist, ziemlich kritisch sein koennte
-
- sal_Bool isForcedROController() const { return m_bForceROController; }
- void forceROController(sal_Bool bForce);
- // Setzt man das auf sal_True, hat das GridControl immer einen ::com::sun::star::frame::Controller, der allerdings read-only ist. Ausserdem
- // wird die Edit-Zeile des Controllers so eingestellt, dass sie ihre Selektion bei Fokus-Verlust weiterhin anzeigt.
-
- const DbGridRowRef& GetCurrentRow() const {return m_xCurrentRow;}
-
- void SetStateProvider(const Link& rProvider) { m_aMasterStateProvider = rProvider; }
- // if this link is set the given provider will be asked for the state of my items.
- // the return values are interpreted as follows :
- // <0 -> not specified (use default mechanism to determine the state)
- // ==0 -> the item is disabled
- // >0 -> the item is enabled
- void SetSlotExecutor(const Link& rExecutor) { m_aMasterSlotExecutor = rExecutor; }
- // analogous : if this link is set, all nav-bar slots will be routed through it when executed
- // if the handler returns nonzero, no further handling of the slot occurs
-
- void EnablePermanentCursor(sal_Bool bEnable);
- sal_Bool IsPermanentCursorEnabled() const;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
- getServiceManager() const { return m_xServiceFactory; }
-
- /// returns <TRUE/> if the text of the given cell can be copied into the clipboard
- sal_Bool canCopyCellText(sal_Int32 _nRow, sal_Int16 _nColId);
- /// copies the text of the given cell into the clipboard
- void copyCellText(sal_Int32 _nRow, sal_Int16 _nColId);
-
- // selectin listener handling
- FmGridSelectionListener* getSelectionListener() const { return m_pSelectionListener; }
- void setSelectionListener(FmGridSelectionListener* _pListener) { m_pSelectionListener = _pListener; }
-
- // helper class to grant access to selected methods from within the DbCellControl class
- struct GrantCellControlAccess
- {
- friend class DbCellControl;
- protected:
- GrantCellControlAccess() { }
- };
-
- /// called when a controller needs to be re-initialized
- void refreshController(sal_uInt16 _nColId, GrantCellControlAccess _aAccess);
-
- /**
- @return
- The count of additional controls of the control area.
- */
- virtual sal_Int32 GetAccessibleControlCount() const;
-
- /** Creates the accessible object of an additional control.
- @param _nIndex
- The 0-based index of the control.
- @return
- The XAccessible interface of the specified control.
- */
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible >
- CreateAccessibleControl( sal_Int32 _nIndex );
-
- // IAccessibleTableProvider
- /** Creates the accessible object of a data table cell.
- @param nRow The row index of the cell.
- @param nColumnId The column ID of the cell.
- @return The XAccessible interface of the specified cell. */
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::accessibility::XAccessible >
- CreateAccessibleCell( sal_Int32 nRow, sal_uInt16 nColumnId );
-
-protected:
- void RecalcRows(long nNewTopRow, sal_uInt16 nLinesOnScreen, sal_Bool bUpdateCursor);
- sal_Bool SeekCursor(long nRow, sal_Bool bAbsolute = sal_False);
- void RemoveColumns(); // aufraeumen eigener strukturen
- void AdjustRows();
- sal_Int32 AlignSeekCursor();
- sal_Bool SetCurrent(long nNewRow, sal_Bool bCancelInsert);
-
- String GetCurrentRowCellText(DbGridColumn* pCol,const DbGridRowRef& _rRow) const;
- virtual void DeleteSelectedRows();
- sal_Bool IsValid(const DbGridRowRef& _xRow) const {return _xRow && _xRow->IsValid();}
-
- // Zeile an der gerade eingefuegt wird
- sal_Bool IsCurrentAppending() const;
-
- // Leerzeile zum Einfuegen
- sal_Bool IsEmptyRow(long nRow) const;
-
- void SetSeekPos(sal_Int32 nPos) {m_nSeekPos = nPos;}
- sal_Int32 GetCurrentPos() const {return m_nCurrentPos;}
- sal_Int32 GetSeekPos() const {return m_nSeekPos;}
- sal_Int32 GetTotalCount() const {return m_nTotalCount;}
-
- const DbGridRowRef& GetEmptyRow() const {return m_xEmptyRow;}
- const DbGridRowRef& GetSeekRow() const {return m_xSeekRow;}
- CursorWrapper* GetSeekCursor() const {return m_pSeekCursor;}
-
- void ConnectToFields();
- void DisconnectFromFields();
-
- void implAdjustInSolarThread(sal_Bool _bRows);
- // calls AdjustRows or AdjustDataSource, synchron if the caller is running in the solar thread, else asynchron
-
-protected:
- virtual void InitController(CellControllerRef& rController, long nRow, sal_uInt16 nCol);
- void Construct();
- void ImplInitSettings( sal_Bool bFont, sal_Bool bForeground, sal_Bool bBackground );
- DECL_LINK(OnDelete, void*);
-
- DECL_LINK(OnAsyncAdjust, void*);
- // if the param is != NULL, AdjustRows will be called, else AdjustDataSource
-};
-
-SV_IMPL_REF(DbGridRow);
-
-}//end of namespace binfilter
-#endif // _SVX_GRIDCTRL_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
More information about the Libreoffice-commits
mailing list