1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: formbrowsertools.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _EXTENSIONS_FORMSCTRLR_FORMBROWSERTOOLS_HXX_
32 #define _EXTENSIONS_FORMSCTRLR_FORMBROWSERTOOLS_HXX_
34 #include <com/sun/star/uno/Any.hxx>
35 #include <com/sun/star/beans/Property.hpp>
36 #include <rtl/ustring.hxx>
41 //............................................................................
44 //............................................................................
46 ::rtl::OUString
GetUIHeadlineName(sal_Int16 _nClassId
, const ::com::sun::star::uno::Any
& _rUnoObject
);
47 sal_Int16
classifyComponent( const ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XInterface
>& _rxComponent
);
49 //========================================================================
50 struct FindPropertyByHandle
: public ::std::unary_function
< ::com::sun::star::beans::Property
, bool >
56 FindPropertyByHandle( sal_Int32 _nId
) : m_nId ( _nId
) { }
57 bool operator()( const ::com::sun::star::beans::Property
& _rProp
) const
59 return m_nId
== _rProp
.Handle
;
63 //========================================================================
64 struct FindPropertyByName
: public ::std::unary_function
< ::com::sun::star::beans::Property
, bool >
67 ::rtl::OUString m_sName
;
70 FindPropertyByName( const ::rtl::OUString
& _rName
) : m_sName( _rName
) { }
71 bool operator()( const ::com::sun::star::beans::Property
& _rProp
) const
73 return m_sName
== _rProp
.Name
;
77 //========================================================================
78 struct PropertyLessByName
79 :public ::std::binary_function
< ::com::sun::star::beans::Property
,
80 ::com::sun::star::beans::Property
,
84 bool operator() (::com::sun::star::beans::Property _rLhs
, ::com::sun::star::beans::Property _rRhs
) const
86 return _rLhs
.Name
< _rRhs
.Name
? true : false;
90 //========================================================================
92 :public ::std::binary_function
< ::com::sun::star::uno::Type
,
93 ::com::sun::star::uno::Type
,
97 bool operator() (::com::sun::star::uno::Type _rLhs
, ::com::sun::star::uno::Type _rRhs
) const
99 return _rLhs
.getTypeName() < _rRhs
.getTypeName() ? true : false;
103 //========================================================================
104 typedef ::std::set
< ::com::sun::star::beans::Property
, PropertyLessByName
> PropertyBag
;
106 //............................................................................
108 //............................................................................
110 #endif // _EXTENSIONS_FORMSCTRLR_FORMBROWSERTOOLS_HXX_