1*b0724fc6SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*b0724fc6SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*b0724fc6SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*b0724fc6SAndrew Rist * distributed with this work for additional information 6*b0724fc6SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*b0724fc6SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*b0724fc6SAndrew Rist * "License"); you may not use this file except in compliance 9*b0724fc6SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*b0724fc6SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*b0724fc6SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*b0724fc6SAndrew Rist * software distributed under the License is distributed on an 15*b0724fc6SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b0724fc6SAndrew Rist * KIND, either express or implied. See the License for the 17*b0724fc6SAndrew Rist * specific language governing permissions and limitations 18*b0724fc6SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*b0724fc6SAndrew Rist *************************************************************/ 21*b0724fc6SAndrew Rist 22*b0724fc6SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #include "precompiled_toolkit.hxx" 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include "grideventforwarder.hxx" 27cdf0e10cSrcweir #include "gridcontrol.hxx" 28cdf0e10cSrcweir 29cdf0e10cSrcweir /** === begin UNO includes === **/ 30cdf0e10cSrcweir /** === end UNO includes === **/ 31cdf0e10cSrcweir 32cdf0e10cSrcweir //...................................................................................................................... 33cdf0e10cSrcweir namespace toolkit 34cdf0e10cSrcweir { 35cdf0e10cSrcweir //...................................................................................................................... 36cdf0e10cSrcweir 37cdf0e10cSrcweir /** === begin UNO using === **/ 38cdf0e10cSrcweir using ::com::sun::star::uno::Reference; 39cdf0e10cSrcweir using ::com::sun::star::uno::XInterface; 40cdf0e10cSrcweir using ::com::sun::star::uno::UNO_QUERY; 41cdf0e10cSrcweir using ::com::sun::star::uno::UNO_QUERY_THROW; 42cdf0e10cSrcweir using ::com::sun::star::uno::UNO_SET_THROW; 43cdf0e10cSrcweir using ::com::sun::star::uno::Exception; 44cdf0e10cSrcweir using ::com::sun::star::uno::RuntimeException; 45cdf0e10cSrcweir using ::com::sun::star::uno::Any; 46cdf0e10cSrcweir using ::com::sun::star::uno::makeAny; 47cdf0e10cSrcweir using ::com::sun::star::uno::Sequence; 48cdf0e10cSrcweir using ::com::sun::star::uno::Type; 49cdf0e10cSrcweir using ::com::sun::star::awt::grid::GridDataEvent; 50cdf0e10cSrcweir using ::com::sun::star::container::ContainerEvent; 51cdf0e10cSrcweir using ::com::sun::star::lang::EventObject; 52cdf0e10cSrcweir /** === end UNO using === **/ 53cdf0e10cSrcweir 54cdf0e10cSrcweir //================================================================================================================== 55cdf0e10cSrcweir //= GridEventForwarder 56cdf0e10cSrcweir //================================================================================================================== 57cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ GridEventForwarder(UnoGridControl & i_parent)58cdf0e10cSrcweir GridEventForwarder::GridEventForwarder( UnoGridControl& i_parent ) 59cdf0e10cSrcweir :m_parent( i_parent ) 60cdf0e10cSrcweir { 61cdf0e10cSrcweir } 62cdf0e10cSrcweir 63cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ ~GridEventForwarder()64cdf0e10cSrcweir GridEventForwarder::~GridEventForwarder() 65cdf0e10cSrcweir { 66cdf0e10cSrcweir } 67cdf0e10cSrcweir 68cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ acquire()69cdf0e10cSrcweir void SAL_CALL GridEventForwarder::acquire() throw() 70cdf0e10cSrcweir { 71cdf0e10cSrcweir m_parent.acquire(); 72cdf0e10cSrcweir } 73cdf0e10cSrcweir 74cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ release()75cdf0e10cSrcweir void SAL_CALL GridEventForwarder::release() throw() 76cdf0e10cSrcweir { 77cdf0e10cSrcweir m_parent.release(); 78cdf0e10cSrcweir } 79cdf0e10cSrcweir 80cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ rowsInserted(const GridDataEvent & i_event)81cdf0e10cSrcweir void SAL_CALL GridEventForwarder::rowsInserted( const GridDataEvent& i_event ) throw (RuntimeException) 82cdf0e10cSrcweir { 83cdf0e10cSrcweir Reference< XGridDataListener > xPeer( m_parent.getPeer(), UNO_QUERY ); 84cdf0e10cSrcweir if ( xPeer.is() ) 85cdf0e10cSrcweir xPeer->rowsInserted( i_event ); 86cdf0e10cSrcweir } 87cdf0e10cSrcweir 88cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ rowsRemoved(const GridDataEvent & i_event)89cdf0e10cSrcweir void SAL_CALL GridEventForwarder::rowsRemoved( const GridDataEvent& i_event ) throw (RuntimeException) 90cdf0e10cSrcweir { 91cdf0e10cSrcweir Reference< XGridDataListener > xPeer( m_parent.getPeer(), UNO_QUERY ); 92cdf0e10cSrcweir if ( xPeer.is() ) 93cdf0e10cSrcweir xPeer->rowsRemoved( i_event ); 94cdf0e10cSrcweir } 95cdf0e10cSrcweir 96cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ dataChanged(const GridDataEvent & i_event)97cdf0e10cSrcweir void SAL_CALL GridEventForwarder::dataChanged( const GridDataEvent& i_event ) throw (RuntimeException) 98cdf0e10cSrcweir { 99cdf0e10cSrcweir Reference< XGridDataListener > xPeer( m_parent.getPeer(), UNO_QUERY ); 100cdf0e10cSrcweir if ( xPeer.is() ) 101cdf0e10cSrcweir xPeer->dataChanged( i_event ); 102cdf0e10cSrcweir } 103cdf0e10cSrcweir 104cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ rowHeadingChanged(const GridDataEvent & i_event)105cdf0e10cSrcweir void SAL_CALL GridEventForwarder::rowHeadingChanged( const GridDataEvent& i_event ) throw (RuntimeException) 106cdf0e10cSrcweir { 107cdf0e10cSrcweir Reference< XGridDataListener > xPeer( m_parent.getPeer(), UNO_QUERY ); 108cdf0e10cSrcweir if ( xPeer.is() ) 109cdf0e10cSrcweir xPeer->rowHeadingChanged( i_event ); 110cdf0e10cSrcweir } 111cdf0e10cSrcweir 112cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ elementInserted(const ContainerEvent & i_event)113cdf0e10cSrcweir void SAL_CALL GridEventForwarder::elementInserted( const ContainerEvent& i_event ) throw (RuntimeException) 114cdf0e10cSrcweir { 115cdf0e10cSrcweir Reference< XContainerListener > xPeer( m_parent.getPeer(), UNO_QUERY ); 116cdf0e10cSrcweir if ( xPeer.is() ) 117cdf0e10cSrcweir xPeer->elementInserted( i_event ); 118cdf0e10cSrcweir } 119cdf0e10cSrcweir 120cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ elementRemoved(const ContainerEvent & i_event)121cdf0e10cSrcweir void SAL_CALL GridEventForwarder::elementRemoved( const ContainerEvent& i_event ) throw (RuntimeException) 122cdf0e10cSrcweir { 123cdf0e10cSrcweir Reference< XContainerListener > xPeer( m_parent.getPeer(), UNO_QUERY ); 124cdf0e10cSrcweir if ( xPeer.is() ) 125cdf0e10cSrcweir xPeer->elementRemoved( i_event ); 126cdf0e10cSrcweir } 127cdf0e10cSrcweir 128cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ elementReplaced(const ContainerEvent & i_event)129cdf0e10cSrcweir void SAL_CALL GridEventForwarder::elementReplaced( const ContainerEvent& i_event ) throw (RuntimeException) 130cdf0e10cSrcweir { 131cdf0e10cSrcweir Reference< XContainerListener > xPeer( m_parent.getPeer(), UNO_QUERY ); 132cdf0e10cSrcweir if ( xPeer.is() ) 133cdf0e10cSrcweir xPeer->elementReplaced( i_event ); 134cdf0e10cSrcweir } 135cdf0e10cSrcweir 136cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ disposing(const EventObject & i_event)137cdf0e10cSrcweir void SAL_CALL GridEventForwarder::disposing( const EventObject& i_event ) throw (RuntimeException) 138cdf0e10cSrcweir { 139cdf0e10cSrcweir Reference< XEventListener > xPeer( m_parent.getPeer(), UNO_QUERY ); 140cdf0e10cSrcweir if ( xPeer.is() ) 141cdf0e10cSrcweir xPeer->disposing( i_event ); 142cdf0e10cSrcweir } 143cdf0e10cSrcweir 144cdf0e10cSrcweir //...................................................................................................................... 145cdf0e10cSrcweir } // namespace toolkit 146cdf0e10cSrcweir //...................................................................................................................... 147