kontact

sidepanebase.h

00001 /*
00002   This file is part of the KDE Kontact.
00003 
00004   Copyright (C) 2003 Cornelius Schumacher <schumacher@kde.org>
00005 
00006   This program is free software; you can redistribute it and/or
00007   modify it under the terms of the GNU General Public
00008   License as published by the Free Software Foundation; either
00009   version 2 of the License, or (at your option) any later version.
00010 
00011   This program is distributed in the hope that it will be useful,
00012   but WITHOUT ANY WARRANTY; without even the implied warranty of
00013   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014   General Public License for more details.
00015 
00016   You should have received a copy of the GNU General Public License
00017   along with this program; see the file COPYING.  If not, write to
00018   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019   Boston, MA 02110-1301, USA.
00020 */
00021 #ifndef KONTACT_SIDEPANEBASE_H
00022 #define KONTACT_SIDEPANEBASE_H
00023 
00024 #include <qvbox.h>
00025 
00026 namespace KParts { class Part; }
00027 
00028 namespace Kontact
00029 {
00030 
00031 class Core;
00032 class Plugin;
00033 
00034 class SidePaneBase : public QVBox
00035 {
00036     Q_OBJECT
00037   public:
00038     SidePaneBase( Core *core, QWidget *parent, const char *name = 0 );
00039     virtual ~SidePaneBase();
00040 
00041     void setActionCollection( KActionCollection *actionCollection );
00042     KActionCollection *actionCollection() const;
00043 
00044     virtual const QPtrList<KAction> & actions() = 0;
00045 
00046   signals:
00047     void pluginSelected( Kontact::Plugin* );
00048 
00049   public slots:
00054     virtual void updatePlugins() = 0;
00055 
00060     virtual void selectPlugin( Kontact::Plugin* ) = 0;
00061 
00066     virtual void selectPlugin( const QString &name ) = 0;
00067 
00068     virtual void indicateForegrunding( Kontact::Plugin* ) = 0;
00069   protected:
00070     Core* core() const;
00071 
00072   private:
00073     Core* mCore;
00074     KActionCollection *mActionCollection;
00075 };
00076 
00077 }
00078 
00079 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys