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: svditer.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 ************************************************************************/
35 #include <sal/types.h>
39 #include <tools/list.hxx>
46 // SdrObjListIter methods:
47 // IM_FLAT : Flach ueber die Liste
48 // IM_DEEPWITHGROUPS : Mit rekursivem Abstieg, Next() liefert auch Gruppenobjekte
49 // IM_DEEPNOGROUPS : Mit rekursivem Abstieg, Next() liefert keine Gruppenobjekte
50 enum SdrIterMode
{ IM_FLAT
, IM_DEEPWITHGROUPS
, IM_DEEPNOGROUPS
};
58 void ImpProcessObjectList(const SdrObjList
& rObjList
, SdrIterMode eMode
);
61 SdrObjListIter(const SdrObjList
& rObjList
, SdrIterMode eMode
= IM_DEEPNOGROUPS
, BOOL bReverse
= FALSE
);
62 SdrObjListIter(const SdrObject
& rGroup
, SdrIterMode eMode
= IM_DEEPNOGROUPS
, BOOL bReverse
= FALSE
);
64 void Reset() { mnIndex
= (mbReverse
? maObjList
.Count() : 0L); }
65 BOOL
IsMore() const { return (mbReverse
? mnIndex
!= 0 : ( mnIndex
< maObjList
.Count())); }
66 SdrObject
* Next() { return (SdrObject
*)maObjList
.GetObject(mbReverse
? --mnIndex
: mnIndex
++); }
69 }//end of namespace binfilter