jumpbuttonbar.h
00001 /* 00002 This file is part of KAddressBook. 00003 Copyright (c) 2002 Mike Pilone <mpilone@slac.com> 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 2 of the License, or 00008 (at your option) any later version. 00009 00010 This program 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 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 00019 As a special exception, permission is given to link this program 00020 with any edition of TQt, and distribute the resulting executable, 00021 without including the source code for TQt in the source distribution. 00022 */ 00023 00024 #ifndef JUMPBUTTONBAR_H 00025 #define JUMPBUTTONBAR_H 00026 00027 #include <tqsizepolicy.h> 00028 #include <tqwidget.h> 00029 #include <tqptrlist.h> 00030 #include <tqstringlist.h> 00031 00032 class TQButtonGroup; 00033 class TQResizeEvent; 00034 class TQPushButton; 00035 00036 namespace KAB { 00037 class Core; 00038 } 00039 00040 namespace TDEABC { 00041 class Field; 00042 } 00043 00047 class JumpButtonBar : public TQWidget 00048 { 00049 Q_OBJECT 00050 00051 00052 public: 00053 JumpButtonBar( KAB::Core *core, TQWidget *parent, const char *name = 0 ); 00054 ~JumpButtonBar(); 00055 00056 public slots: 00057 void updateButtons(); 00058 00059 signals: 00063 void jumpToLetter( const TQString &character ); 00064 00065 protected slots: 00066 void letterClicked(); 00067 00068 protected: 00069 virtual void resizeEvent( TQResizeEvent* ); 00070 00071 private: 00072 void sortListLocaleAware( TQStringList &list ); 00073 00074 KAB::Core *mCore; 00075 00076 TQButtonGroup *mGroupBox; 00077 TQPtrList<TQPushButton> mButtons; 00078 }; 00079 00080 #endif