diff options
author | Release Engineers <releng@openoffice.org> | 2009-08-26 13:11:27 +0000 |
---|---|---|
committer | Release Engineers <releng@openoffice.org> | 2009-08-26 13:11:27 +0000 |
commit | 27a1e85b656bad222f113f650b03397aa3bc59d3 (patch) | |
tree | fac68d7fa88bffbbb938326923bd280d4992e2b1 /toolkit/source/controls/grid/defaultgriddatamodel.hxx | |
parent | a002f6d0433ef40e9a5fc16f6cf41818adced3ad (diff) |
CWS-TOOLING: integrate CWS gridcontrol_01
2009-08-13 07:53:28 +0200 tkr r274919 : #103210# remove mixed-line-endings
2009-08-13 07:36:19 +0200 tkr r274918 : #103210# remove mixed-line-endings
2009-08-06 14:02:11 +0200 tkr r274725 : #103210# build issues fixed
2009-08-06 12:11:52 +0200 tkr r274711 : #103210# build issues fixed
2009-08-06 12:03:32 +0200 tkr r274710 : #103210# add grid directory to d.lst
2009-08-05 17:00:11 +0200 misheto r274689 : CWS-TOOLING: rebase CWS gridcontrol_01 to trunk@274622 (milestone: DEV300:m54)
2009-08-05 14:31:42 +0200 tkr r274668 : #103210# remove add/removeMouseListener from XGridControl and use XWindow
2009-08-05 14:30:06 +0200 tkr r274667 : #103210# remove add/removeMouseListener from XGridControl and use XWindow
2009-08-05 14:29:09 +0200 tkr r274666 : #103210# remove add/removeMouseListener from XGridControl and use XWindow
2009-08-05 12:02:15 +0200 misheto r274649 : fox for HScroll problem
2009-08-05 11:37:22 +0200 misheto r274644 : CWS-TOOLING: rebase CWS gridcontrol_01 to trunk@274203 (milestone: DEV300:m53)
2009-08-03 10:12:50 +0200 tkr r274568 : #103210# Method getItemIndexPos() added
2009-07-31 18:25:42 +0200 misheto r274547 : fixed bug no cursor with NONE-selection, arrow keys cause selection disappear
2009-07-31 16:36:34 +0200 tkr r274541 : #103210# MouseListener added
2009-07-31 16:35:48 +0200 tkr r274540 : #103210# MouseListener added
2009-07-31 14:37:45 +0200 misheto r274533 : event handlers
2009-07-31 09:43:52 +0200 tkr r274513 : #103210# MouseListener added
2009-07-31 09:42:46 +0200 tkr r274512 : #103210# MouseListenerMultiplexer exported
2009-07-30 18:19:55 +0200 misheto r274501 : 2009-07-30 18:15:00 +0200 misheto r274500 : mouselistener changes
2009-07-30 15:23:03 +0200 tkr r274491 : #i103210# remove XItemListener and add XMouseListener
2009-07-30 15:22:01 +0200 tkr r274490 : #i103210# remove XItemListener and add XMouseListener
2009-07-28 16:47:37 +0200 misheto r274415 : fixed text left intented, removeAllScroll mode, selection mode, single selection
2009-07-28 16:45:32 +0200 misheto r274413 : 2009-07-28 14:56:33 +0200 tkr r274407 : #i103210# build issue fixed
2009-07-28 12:49:23 +0200 tkr r274397 : #i103210# use HScroll and VScroll for Scrolbarmode
2009-07-28 12:24:14 +0200 tkr r274396 : #i103210# use HScroll and VScroll for Scrolbarmode
2009-07-28 11:33:46 +0200 tkr r274393 : ##i103210# api changes
2009-07-28 11:32:48 +0200 tkr r274392 : ##i103210# add ItemListener
2009-07-28 11:31:49 +0200 tkr r274391 : ##i103210# add ItemListener
2009-07-28 08:30:30 +0200 tkr r274388 : #i103210# paint background color
2009-07-24 17:22:10 +0200 misheto r274314 : focus problem solved, single selection with keys UP DOWN
2009-07-22 11:43:24 +0200 misheto r274226 : removed vclxcontrol dependencies
2009-07-22 10:23:34 +0200 misheto r274220 : 2009-07-21 15:04:26 +0200 misheto r274200 : tablecontrol added items
2009-07-21 15:00:44 +0200 misheto r274198 : tablecontrol
2009-07-17 09:58:59 +0200 misheto r274082 : changes mihaela
2009-07-15 11:04:27 +0200 tkr r273999 : #i103210# api documentation added
2009-07-15 11:03:18 +0200 tkr r273998 : #i103210# adapt idl changes
2009-07-14 08:47:32 +0200 tkr r273959 : #i103210# Method removeRow added
2009-07-14 08:46:52 +0200 tkr r273958 : #i103210# Method removeRow added
2009-07-13 08:20:11 +0200 tkr r273914 : #i103210# XGridSelectionModel removed
2009-07-10 13:50:01 +0200 tkr r273888 : #i103210# selection support and listener added
2009-07-10 13:42:17 +0200 tkr r273887 : #i103210# selection support added
2009-07-06 10:21:51 +0200 tkr r273724 : #i103210# implement listener
2009-07-06 10:13:25 +0200 tkr r273723 : #i103210# remove wrong interfaces
2009-07-06 10:11:47 +0200 tkr r273722 : #i103210# interface changes
2009-07-02 15:28:50 +0200 tkr r273659 : #i103210# create new services
2009-07-02 15:26:21 +0200 tkr r273658 : #i103210# create new services
2009-07-02 12:00:39 +0200 tkr r273633 : #i103210# defaultgriddatamodel works now
2009-07-02 11:59:24 +0200 tkr r273631 : #i103210# now XGridDataModel inherits XComponent
2009-07-01 14:07:31 +0200 tkr r273579 : #i103210# initial implementation of the grid control data model
2009-07-01 13:14:21 +0200 tkr r273571 : #i103210# adding new service and some methods
2009-06-30 12:15:13 +0200 tkr r273500 : #i103210# change attribute names
2009-06-30 10:55:07 +0200 tkr r273496 : #i103210# create services and interfaces for the grid control
2009-06-30 10:47:26 +0200 tkr r273495 : #i103210# create services and interfaces for the grid control
Diffstat (limited to 'toolkit/source/controls/grid/defaultgriddatamodel.hxx')
-rw-r--r-- | toolkit/source/controls/grid/defaultgriddatamodel.hxx | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/toolkit/source/controls/grid/defaultgriddatamodel.hxx b/toolkit/source/controls/grid/defaultgriddatamodel.hxx new file mode 100644 index 000000000000..18000c9f5a71 --- /dev/null +++ b/toolkit/source/controls/grid/defaultgriddatamodel.hxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * 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: griddatamodel.hxx,v $ + * $Revision: 1.4 $ + * + * 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. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_toolkit.hxx" +#include <com/sun/star/awt/grid/XGridDataModel.hpp> +#include <com/sun/star/awt/grid/GridDataEvent.hpp> +#include <com/sun/star/awt/grid/XGridDataListener.hpp> +#include <com/sun/star/lang/XEventListener.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> +#include <com/sun/star/lang/XUnoTunnel.hpp> +#include <cppuhelper/implbase2.hxx> +#include <cppuhelper/implbase3.hxx> +#include <rtl/ref.hxx> +#include <vector> +#include <toolkit/helper/mutexandbroadcasthelper.hxx> + +using ::rtl::OUString; +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::awt; +using namespace ::com::sun::star::awt::grid; +using namespace ::com::sun::star::lang; + +namespace toolkit +{ + +enum broadcast_type { row_added, row_removed, data_changed}; + +class DefaultGridDataModel : public ::cppu::WeakImplHelper2< XGridDataModel, XServiceInfo >, + public MutexAndBroadcastHelper +{ +public: + DefaultGridDataModel(); + virtual ~DefaultGridDataModel(); + + // XGridDataModel + virtual ::sal_Int32 SAL_CALL getRowHeight() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setRowHeight(::sal_Int32 the_value) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Int32 SAL_CALL getRowCount() throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getRowHeaders() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setRowHeaders(const ::com::sun::star::uno::Sequence< ::rtl::OUString > & value) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::rtl::OUString > > SAL_CALL getData() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addRow(const ::rtl::OUString & headername, const ::com::sun::star::uno::Sequence< ::rtl::OUString > & data) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeRow(::sal_Int32 index) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addDataListener( const Reference< XGridDataListener >& xListener ) throw (RuntimeException); + virtual void SAL_CALL removeDataListener( const Reference< XGridDataListener >& xListener ) throw (RuntimeException); + virtual void SAL_CALL removeAll() throw (RuntimeException); + + // XComponent + virtual void SAL_CALL dispose( ) throw (RuntimeException); + virtual void SAL_CALL addEventListener( const Reference< XEventListener >& xListener ) throw (RuntimeException); + virtual void SAL_CALL removeEventListener( const Reference< XEventListener >& aListener ) throw (RuntimeException); + + // XServiceInfo + virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (RuntimeException); + virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (RuntimeException); + +private: + + void broadcast( broadcast_type eType, const GridDataEvent& aEvent ); + void broadcast_changed( ::rtl::OUString name, Any oldValue, Any newValue ); + void broadcast_add( sal_Int32 index, const ::rtl::OUString & headerName, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& rowData ); + void broadcast_remove( sal_Int32 index, const ::rtl::OUString & headerName, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& rowData ); + + sal_Int32 rowHeight; + std::vector< std::vector < ::rtl::OUString > > data; + std::vector< ::rtl::OUString > rowHeaders; +}; + +} |