# kabc Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# sortmode.h

    00001 /*
    00002     This file is part of libkabc.
    00003     Copyright (c) 2004 Tobias Koenig <tokoe@kde.org>
    00004
    00005     This library is free software; you can redistribute it and/or
    00006     modify it under the terms of the GNU Library General Public
    00007     License as published by the Free Software Foundation; either
    00008     version 2 of the License, or (at your option) any later version.
    00009
    00010     This library is distributed in the hope that it will be useful,
    00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013     Library General Public License for more details.
    00014
    00015     You should have received a copy of the GNU Library General Public License
    00016     along with this library; see the file COPYING.LIB.  If not, write to
    00017     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00018     Boston, MA 02111-1307, USA.
    00019 */
    00020
    00021 #ifndef KABC_SORTMODE_H
    00022 #define KABC_SORTMODE_H
    00023
    00024 #include <kdelibs_export.h>
    00025
    00026 #include <kabc/addressee.h>
    00027
    00028 namespace KABC {
    00029
    00036 class KABC_EXPORT SortMode
    00037 {
    00038   public:
    00043     virtual bool lesser( const KABC::Addressee &first, const KABC::Addressee &second ) const = 0;
    00044 };
    00045
    00046 class KABC_EXPORT NameSortMode : public SortMode
    00047 {
    00048   public:
    00049     enum NameType
    00050     {
    00051       FormattedName,
    00052       FamilyName,
    00053       GivenName
    00054     };
    00055
    00061     NameSortMode();
    00062
    00070     NameSortMode( NameType type, bool ascending = true );
    00071
    00075     virtual bool lesser( const KABC::Addressee&, const KABC::Addressee& ) const;
    00076
    00077   private:
    00078     NameType mNameType;
    00079     bool mAscendingOrder;
    00080
    00081     class NameSortModePrivate;
    00082     NameSortModePrivate *d;
    00083 };
    00084
    00085 class KABC_EXPORT FieldSortMode : public SortMode
    00086 {
    00087   public:
    00095     FieldSortMode( KABC::Field *field, bool ascending = true );
    00096
    00100     virtual bool lesser( const KABC::Addressee&, const KABC::Addressee& ) const;
    00101
    00102   private:
    00103     KABC::Field *mField;
    00104     bool mAscendingOrder;
    00105
    00106     class FieldSortModePrivate;
    00107     FieldSortModePrivate *d;
    00108 };
    00109
    00110 }
    00111
    00112 #endif

This file is part of the documentation for kabc Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:31:31 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003