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
);
48 //========================================================================
49 struct FindPropertyByHandle
: public ::std::unary_function
< ::com::sun::star::beans::Property
, bool >
55 FindPropertyByHandle( sal_Int32 _nId
) : m_nId ( _nId
) { }
56 bool operator()( const ::com::sun::star::beans::Property
& _rProp
) const
58 return m_nId
== _rProp
.Handle
;
62 //========================================================================
63 struct FindPropertyByName
: public ::std::unary_function
< ::com::sun::star::beans::Property
, bool >
66 ::rtl::OUString m_sName
;
69 FindPropertyByName( const ::rtl::OUString
& _rName
) : m_sName( _rName
) { }
70 bool operator()( const ::com::sun::star::beans::Property
& _rProp
) const
72 return m_sName
== _rProp
.Name
;
76 //========================================================================
77 struct PropertyLessByName
78 :public ::std::binary_function
< ::com::sun::star::beans::Property
,
79 ::com::sun::star::beans::Property
,
83 bool operator() (::com::sun::star::beans::Property _rLhs
, ::com::sun::star::beans::Property _rRhs
) const
85 return _rLhs
.Name
< _rRhs
.Name
? true : false;
89 //========================================================================
91 :public ::std::binary_function
< ::com::sun::star::uno::Type
,
92 ::com::sun::star::uno::Type
,
96 bool operator() (::com::sun::star::uno::Type _rLhs
, ::com::sun::star::uno::Type _rRhs
) const
98 return _rLhs
.getTypeName() < _rRhs
.getTypeName() ? true : false;
102 //========================================================================
103 typedef ::std::set
< ::com::sun::star::beans::Property
, PropertyLessByName
> PropertyBag
;
105 //............................................................................
107 //............................................................................
109 #endif // _EXTENSIONS_FORMSCTRLR_FORMBROWSERTOOLS_HXX_