summaryrefslogtreecommitdiff
path: root/toolkit/source/vclcompat/wfield.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/source/vclcompat/wfield.cxx')
-rw-r--r--toolkit/source/vclcompat/wfield.cxx627
1 files changed, 0 insertions, 627 deletions
diff --git a/toolkit/source/vclcompat/wfield.cxx b/toolkit/source/vclcompat/wfield.cxx
deleted file mode 100644
index 0d2284126e87..000000000000
--- a/toolkit/source/vclcompat/wfield.cxx
+++ /dev/null
@@ -1,627 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: wfield.cxx,v $
- *
- * $Revision: 1.3 $
- *
- * 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.
- *
- ************************************************************************/
-
-#include "wrapper.hxx"
-
-#include <comphelper/processfactory.hxx>
-#include <com/sun/star/awt/XMetricField.hpp>
-#include <com/sun/star/awt/XCurrencyField.hpp>
-#include <com/sun/star/awt/XTextComponent.hpp>
-#include <com/sun/star/awt/XListBox.hpp>
-#include <com/sun/star/awt/XComboBox.hpp>
-#include <cppuhelper/implbase1.hxx>
-#include <com/sun/star/awt/XActionListener.hpp>
-#include <com/sun/star/awt/XItemListener.hpp>
-
-using namespace ::com::sun::star;
-
-namespace layout
-{
-
-class EditImpl : public ControlImpl,
- public ::cppu::WeakImplHelper1< awt::XTextListener >
-{
- Link maModifyHdl;
-public:
- uno::Reference< awt::XTextComponent > mxEdit;
- EditImpl( Context *pCtx, const PeerHandle &xPeer, Window *pWindow )
- : ControlImpl( pCtx, xPeer, pWindow )
- , mxEdit( xPeer, uno::UNO_QUERY )
- {
- }
-
- virtual void SAL_CALL disposing( const css::lang::EventObject& /* Source */ )
- throw (css::uno::RuntimeException)
- {
- SetModifyHdl( Link() );
- mxEdit.clear();
- }
-
- void SetModifyHdl( const Link& rLink )
- {
- if ( !mxEdit.is() )
- return;
- maModifyHdl = rLink;
- if ( !rLink )
- mxEdit->removeTextListener( this );
- else
- mxEdit->addTextListener( this );
- }
-
- void SAL_CALL textChanged( const css::awt::TextEvent& /* rEvent */ )
- throw (css::uno::RuntimeException)
- {
- maModifyHdl.Call( mpWindow );
- }
-};
-
-void Edit::SetText( const XubString& rStr ) const
-{
- if ( !getImpl().mxEdit.is() )
- return;
- getImpl().mxEdit->setText( rStr );
-}
-
-XubString Edit::GetText() const
-{
- if ( !getImpl().mxEdit.is() )
- return XubString();
- return XubString( getImpl().mxEdit->getText());
-}
-
-void Edit::SetModifyHdl( const Link& rLink )
-{
- getImpl().SetModifyHdl( rLink );
-}
-
-DECL_CONSTRUCTOR_IMPLS( Edit, Control, "edit" );
-DECL_GET_IMPL_IMPL( Edit );
-
-// Window/Control/Edit/MultiLineEdit
-class MultiLineEditImpl : public EditImpl
-{
-public:
- MultiLineEditImpl( Context *pCtx, const PeerHandle &xPeer, Window *pWindow )
- : EditImpl( pCtx, xPeer, pWindow )
- {
- }
-};
-
-DECL_CONSTRUCTOR_IMPLS( MultiLineEdit, Edit, "multilineedit" );
-DECL_GET_IMPL_IMPL( MultiLineEdit );
-
-// Window/Control/Edit/SpinField
-class SpinFieldImpl : public EditImpl
-{
-public:
- SpinFieldImpl( Context *pCtx, const PeerHandle &xPeer, Window *pWindow )
- : EditImpl( pCtx, xPeer, pWindow )
- {
- }
-};
-
-DECL_CONSTRUCTOR_IMPLS( SpinField, Edit, "spinfield" );
-
-// Window/Control/Edit/SpinField/NumericField
-class NumericFieldImpl : public SpinFieldImpl
-{
-public:
- NumericFieldImpl( Context *pCtx, const PeerHandle &xPeer, Window *pWindow )
- : SpinFieldImpl( pCtx, xPeer, pWindow )
- {
- }
-};
-
-// Window/Control/Edit/SpinField/MetricField
-class MetricFieldImpl : public SpinFieldImpl
-{
-public:
- MetricFieldImpl( Context *pCtx, const PeerHandle &xPeer, Window *pWindow )
- : SpinFieldImpl( pCtx, xPeer, pWindow )
- {
- }
-};
-
-DECL_GET_IMPL_IMPL( SpinField );
-DECL_GET_IMPL_IMPL( NumericField );
-DECL_GET_IMPL_IMPL( MetricField );
-
-// FormatterBase
-class FormatterBaseImpl
-{
-protected:
- PeerHandle mxPeer;
-public:
- explicit FormatterBaseImpl( const PeerHandle &xPeer )
- : mxPeer( xPeer )
- {
- };
-};
-
-class NumericFormatterImpl : public FormatterBaseImpl
-{
-public:
- uno::Reference< awt::XCurrencyField > mxField;
- explicit NumericFormatterImpl( const PeerHandle &xPeer )
- : FormatterBaseImpl( xPeer )
- , mxField( xPeer, uno::UNO_QUERY )
- {
- }
-
- // FIXME: burn that CPU ! cut/paste from vclxwindows.cxx
- double valueToDouble( sal_Int64 nValue )
- {
- sal_Int16 nDigits = mxField->getDecimalDigits();
- double n = (double)nValue;
- for ( sal_uInt16 d = 0; d < nDigits; d++ )
- n /= 10;
- return n;
- } // FIXME: burn that CPU ! cut/paste from vclxwindows.cxx
- sal_Int64 doubleToValue( double nValue )
- {
- sal_Int16 nDigits = mxField->getDecimalDigits();
- double n = nValue;
- for ( sal_uInt16 d = 0; d < nDigits; d++ )
- n *= 10;
- return (sal_Int64) n;
- }
-};
-
-class MetricFormatterImpl : public FormatterBaseImpl
-{
-public:
- uno::Reference< awt::XMetricField > mxField;
- explicit MetricFormatterImpl( const PeerHandle &xPeer )
- : FormatterBaseImpl( xPeer )
- , mxField( xPeer, uno::UNO_QUERY )
- {
- }
-};
-
-// NumericFormatter
-
-NumericFormatter::NumericFormatter( FormatterBaseImpl *pImpl )
- : FormatterBase( pImpl )
-{
-}
-
-NumericFormatterImpl& NumericFormatter::getFormatImpl() const
-{
- return *( static_cast<NumericFormatterImpl *>( mpFormatImpl ) );
-}
-
-#define SET_IMPL(vclmethod, idlmethod) \
- void NumericFormatter::vclmethod( sal_Int64 nValue ) \
- { \
- if ( !getFormatImpl().mxField.is() ) \
- return; \
- getFormatImpl().mxField->idlmethod( getFormatImpl().valueToDouble( nValue ) ); \
- }
-
-SET_IMPL( SetMin, setMin )
-SET_IMPL( SetMax, setMax )
-SET_IMPL( SetLast, setLast )
-SET_IMPL( SetFirst, setFirst )
-SET_IMPL( SetValue, setValue )
-SET_IMPL( SetSpinSize, setSpinSize )
-
-sal_Int64 NumericFormatter::GetValue() const
-{
- if ( !getFormatImpl().mxField.is() )
- return 0;
- return getFormatImpl().doubleToValue( getFormatImpl().mxField->getValue() );
-}
-
-#undef SET_IMPL
-
-DECL_CONSTRUCTOR_IMPLS_2( NumericField, SpinField, NumericFormatter, "numericfield" );
-
-// MetricFormatter
-
-MetricFormatter::MetricFormatter( FormatterBaseImpl *pImpl )
- : FormatterBase( pImpl )
-{
-}
-MetricFormatterImpl& MetricFormatter::getFormatImpl() const
-{ return *( static_cast<MetricFormatterImpl *>( mpFormatImpl ) ); }
-
-#define MetricUnitVclToUno(a) ((sal_uInt16)(a))
-
-#define SET_IMPL(vclmethod, idlmethod) \
- void MetricFormatter::vclmethod( sal_Int64 nValue, FieldUnit nUnit ) \
- { \
- if ( !getFormatImpl().mxField.is() ) \
- return; \
- getFormatImpl().mxField->idlmethod( nValue, MetricUnitVclToUno( nUnit ) ); \
- }
-
-SET_IMPL( SetMin, setMin )
-SET_IMPL( SetMax, setMax )
-SET_IMPL( SetLast, setLast )
-SET_IMPL( SetFirst, setFirst )
-SET_IMPL( SetValue, setValue )
-
-#undef SET_IMPL
-
-void MetricFormatter::SetSpinSize( sal_Int64 nValue )
-{
- if ( !getFormatImpl().mxField.is() )
- return;
- getFormatImpl().mxField->setSpinSize( nValue );
-}
-
-sal_Int64 MetricFormatter::GetValue( FieldUnit nUnit ) const
-{
- if ( !getFormatImpl().mxField.is() )
- return 0;
- return getFormatImpl().mxField->getValue( MetricUnitVclToUno( nUnit ) );
-}
-
-DECL_CONSTRUCTOR_IMPLS_2( MetricField, SpinField, MetricFormatter, "metricfield" );
-
-// Window/Control/Edit/ComboBox
-class ComboBoxImpl : public EditImpl,
- public ::cppu::WeakImplHelper1< awt::XActionListener >,
- public ::cppu::WeakImplHelper1< awt::XItemListener >
-{
- Link maClickHdl, maSelectHdl;
-public:
- uno::Reference< awt::XComboBox > mxComboBox;
- ComboBoxImpl( Context *pCtx, const PeerHandle &xPeer, Window *pWindow )
- : EditImpl( pCtx, xPeer, pWindow ),
- mxComboBox( xPeer, uno::UNO_QUERY )
- {
- }
-
- USHORT InsertEntry(const XubString& rStr, USHORT nPos)
- {
- if ( nPos == COMBOBOX_APPEND )
- nPos = GetEntryCount();
- mxComboBox->addItem( rtl::OUString( rStr ), nPos );
- return nPos;
- }
-
- void RemoveEntry( USHORT nPos )
- {
- mxComboBox->removeItems( nPos, 1 );
- }
-
- USHORT GetEntryPos( const XubString& rStr ) const
- {
- uno::Sequence< rtl::OUString> aItems( mxComboBox->getItems() );
- rtl::OUString rKey( rStr );
- for ( unsigned int i = 0; aItems.getLength(); i++ )
- {
- if ( aItems[ i ] == rKey )
- return sal::static_int_cast< USHORT >( i );
- }
- return COMBOBOX_ENTRY_NOTFOUND;
- }
-
- XubString GetEntry( USHORT nPos ) const
- {
- return XubString( mxComboBox->getItem( nPos ) );
- }
-
- USHORT GetEntryCount() const
- {
- return mxComboBox->getItemCount();
- }
-
- void SetClickHdl( const Link& rLink )
- {
- maClickHdl = rLink;
- if ( !rLink )
- mxComboBox->removeActionListener( this );
- else
- mxComboBox->addActionListener( this );
- }
-
- void SetSelectHdl( const Link& rLink )
- {
- maSelectHdl = rLink;
- if ( !rLink )
- mxComboBox->removeItemListener( this );
- else
- mxComboBox->addItemListener( this );
- }
-
- virtual void SAL_CALL disposing( const css::lang::EventObject& /* Source */ )
- throw (css::uno::RuntimeException)
- {
- mxComboBox.clear();
- }
-
- virtual void SAL_CALL actionPerformed( const css::awt::ActionEvent& /* rEvent */ )
- throw (css::uno::RuntimeException)
- {
- ComboBox* pComboBox = static_cast<ComboBox*>( mpWindow );
- if ( !pComboBox )
- return;
- maClickHdl.Call( pComboBox );
- }
-
- virtual void SAL_CALL itemStateChanged( const css::awt::ItemEvent& /* rEvent */ )
- throw (css::uno::RuntimeException)
- {
- ComboBox* pComboBox = static_cast<ComboBox*>( mpWindow );
- if ( !pComboBox )
- return;
- maSelectHdl.Call( pComboBox );
- }
-};
-
-USHORT ComboBox::InsertEntry( const XubString &rStr, USHORT nPos )
-{
- return getImpl().InsertEntry( rStr, nPos );
-}
-
-void ComboBox::RemoveEntry( const XubString& rStr )
-{
- getImpl().RemoveEntry( GetEntryPos( rStr ) );
-}
-
-void ComboBox::RemoveEntry( USHORT nPos )
-{
- getImpl().RemoveEntry( nPos );
-}
-
-void ComboBox::Clear()
-{
- uno::Sequence< rtl::OUString> aNoItems;
- getImpl().setProperty( "StringItemList", uno::Any( aNoItems ) );
-}
-
-USHORT ComboBox::GetEntryPos( const XubString& rStr ) const
-{
- return getImpl().GetEntryPos( rStr );
-}
-
-XubString ComboBox::GetEntry( USHORT nPos ) const
-{
- rtl::OUString rItem = getImpl().mxComboBox->getItem( nPos );
- return XubString( rItem );
-}
-
-USHORT ComboBox::GetEntryCount() const
-{
- return getImpl().GetEntryCount();
-}
-
-void ComboBox::SetClickHdl( const Link& rLink )
-{
- getImpl().SetClickHdl( rLink );
-}
-
-void ComboBox::SetSelectHdl( const Link& rLink )
-{
- getImpl().SetSelectHdl( rLink );
-}
-
-DECL_CONSTRUCTOR_IMPLS( ComboBox, Edit, "combobox" );
-DECL_GET_IMPL_IMPL( ComboBox );
-
-// Window/Control/ListBox
-class ListBoxImpl : public ControlImpl,
- public ::cppu::WeakImplHelper1< awt::XActionListener >,
- public ::cppu::WeakImplHelper1< awt::XItemListener >
-{
- Link maClickHdl, maSelectHdl;
-public:
- uno::Reference< awt::XListBox > mxListBox;
- ListBoxImpl( Context *pCtx, const PeerHandle &xPeer, Window *pWindow )
- : ControlImpl( pCtx, xPeer, pWindow ),
- mxListBox( xPeer, uno::UNO_QUERY )
- {
- }
-
- USHORT InsertEntry(const XubString& rStr, USHORT nPos)
- {
- if ( nPos == LISTBOX_APPEND )
- nPos = mxListBox->getItemCount();
- mxListBox->addItem( rtl::OUString( rStr ), nPos );
- return nPos;
- }
-
- void RemoveEntry( USHORT nPos )
- {
- mxListBox->removeItems( nPos, 1 );
- }
-
- USHORT RemoveEntry(const XubString& rStr, USHORT nPos)
- {
- if ( nPos == LISTBOX_APPEND )
- nPos = mxListBox->getItemCount();
- mxListBox->addItem( rtl::OUString( rStr ), nPos );
- return nPos;
- }
-
- USHORT GetEntryPos( const XubString& rStr ) const
- {
- uno::Sequence< rtl::OUString> aItems( mxListBox->getItems() );
- rtl::OUString rKey( rStr );
- for ( unsigned int i = 0; aItems.getLength(); i++ )
- {
- if ( aItems[ i ] == rKey )
- return sal::static_int_cast< USHORT >( i );
- }
- return LISTBOX_ENTRY_NOTFOUND;
- }
-
- XubString GetEntry( USHORT nPos ) const
- {
- return mxListBox->getItem( nPos );
- }
-
- USHORT GetEntryCount() const
- {
- return mxListBox->getItemCount();
- }
-
- void SelectEntryPos( USHORT nPos, BOOL bSelect )
- {
- mxListBox->selectItemPos( nPos, bSelect );
- }
-
- USHORT GetSelectEntryCount() const
- {
- return sal::static_int_cast< USHORT >( mxListBox->getSelectedItems().getLength() );
- }
-
- USHORT GetSelectEntryPos( USHORT nSelIndex ) const
- {
- USHORT nSelected = 0;
- if ( mxListBox->isMutipleMode() )
- {
- uno::Sequence< short > aItems( mxListBox->getSelectedItemsPos() );
- if ( nSelIndex < aItems.getLength() )
- nSelected = aItems[ nSelIndex ];
- }
- else
- nSelected = mxListBox->getSelectedItemPos();
- return nSelected;
- }
-
- void SetClickHdl( const Link& rLink )
- {
- maClickHdl = rLink;
- if ( !rLink )
- mxListBox->removeActionListener( this );
- else
- mxListBox->addActionListener( this );
- }
-
- void SetSelectHdl( const Link& rLink )
- {
- maSelectHdl = rLink;
- if ( !rLink )
- mxListBox->removeItemListener( this );
- else
- mxListBox->addItemListener( this );
- }
-
- virtual void SAL_CALL disposing( const css::lang::EventObject& /* Source */ )
- throw (css::uno::RuntimeException)
- {
- mxListBox.clear();
- }
-
- void SAL_CALL actionPerformed( const css::awt::ActionEvent& /* rEvent */ )
- throw (css::uno::RuntimeException)
- {
- maClickHdl.Call( mpWindow );
- }
-
- void SAL_CALL itemStateChanged( const css::awt::ItemEvent& /* rEvent */ )
- throw (css::uno::RuntimeException)
- {
- ListBox* pListBox = static_cast<ListBox*>( mpWindow );
- if ( !pListBox )
- return;
- maSelectHdl.Call( pListBox );
- }
-};
-
-USHORT ListBox::InsertEntry(const XubString& rStr, USHORT nPos)
-{
- return getImpl().InsertEntry(rStr, nPos);
-}
-
-void ListBox::RemoveEntry( USHORT nPos )
-{
- return getImpl().RemoveEntry( nPos );
-}
-
-void ListBox::RemoveEntry( const XubString& rStr )
-{
- return getImpl().RemoveEntry( GetEntryPos( rStr ) );
-}
-
-void ListBox::Clear()
-{
- uno::Sequence< rtl::OUString> aNoItems;
- getImpl().setProperty( "StringItemList", uno::Any( aNoItems ) );
-}
-
-USHORT ListBox::GetEntryPos( const XubString& rStr ) const
-{
- return getImpl().GetEntryPos( rStr );
-}
-
-XubString ListBox::GetEntry( USHORT nPos ) const
-{
- return getImpl().GetEntry( nPos );
-}
-
-USHORT ListBox::GetEntryCount() const
-{
- return getImpl().GetEntryCount();
-}
-
-void ListBox::SelectEntryPos( USHORT nPos, BOOL bSelect )
-{
- getImpl().SelectEntryPos( nPos, bSelect );
-}
-
-void ListBox::SelectEntry( const XubString& rStr, BOOL bSelect )
-{
- SelectEntryPos( GetEntryPos( rStr ), bSelect );
-}
-
-USHORT ListBox::GetSelectEntryCount() const
-{
- return getImpl().GetSelectEntryCount();
-}
-
-USHORT ListBox::GetSelectEntryPos( USHORT nSelIndex ) const
-{
- return getImpl().GetSelectEntryPos( nSelIndex );
-}
-
-XubString ListBox::GetSelectEntry( USHORT nSelIndex ) const
-{
- return GetEntry( GetSelectEntryPos( nSelIndex ) );
-}
-
-void ListBox::SetSelectHdl( const Link& rLink )
-{
- getImpl().SetSelectHdl( rLink );
-}
-
-void ListBox::SetClickHdl( const Link& rLink )
-{
- getImpl().SetClickHdl( rLink );
-}
-
-DECL_CONSTRUCTOR_IMPLS( ListBox, Control, "listbox" );
-DECL_GET_IMPL_IMPL( ListBox );
-
-} // namespace layout