KDevelop API Documentation

lib/widgets/kdevtabwidget.cpp

Go to the documentation of this file.
00001 /*************************************************************************** 00002 * Copyright (C) 2001-2003 * 00003 * The KDevelop Team * 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 ***************************************************************************/ 00011 00012 #include <qpopupmenu.h> 00013 00014 #include <kglobal.h> 00015 #include <klocale.h> 00016 #include <kicontheme.h> 00017 #include <kiconloader.h> 00018 00019 #include "kdevtabwidget.h" 00020 00021 KDevTabWidget::KDevTabWidget(QWidget *parent, const char *name) : QTabWidget(parent,name) 00022 { 00023 m_pTabBar = new KTabBar(this, "tabbar"); 00024 setTabBar(m_pTabBar); 00025 connect(m_pTabBar, SIGNAL(closeWindow(const QWidget*)), this, SIGNAL(closeWindow(const QWidget*))); 00026 connect(m_pTabBar, SIGNAL(closeOthers(QWidget*)), this, SIGNAL(closeOthers(QWidget*))); 00027 } 00028 00029 KTabBar::KTabBar(QWidget *parent, const char *name) : QTabBar(parent,name) 00030 { 00031 m_pPopupMenu = new QPopupMenu(this); 00032 00033 QPixmap closePixmap = KGlobal::instance()->iconLoader()->loadIcon( "tab_remove", KIcon::Small, 0, KIcon::DefaultState, 0, true ); 00034 if (closePixmap.isNull()) 00035 closePixmap = SmallIcon("fileclose"); 00036 00037 m_pPopupMenu->insertItem(closePixmap, i18n("&Close"), this, SLOT(closeWindowSlot())); 00038 m_pPopupMenu->insertItem(i18n("Close &Others"), this, SLOT(closeOthersSlot())); 00039 } 00040 00041 void KTabBar::closeWindowSlot() 00042 { 00043 emit closeWindow(m_pPage); 00044 } 00045 00046 void KTabBar::closeOthersSlot() 00047 { 00048 emit closeOthers(m_pPage); 00049 } 00050 00051 void KTabBar::mousePressEvent(QMouseEvent *e) 00052 { 00053 if(e->button() == Qt::RightButton) { 00054 00055 QTab *tab = selectTab(e->pos() ); 00056 if( tab == 0L ) return; 00057 00058 m_pPage = ((KDevTabWidget*)parent())->page(indexOf(tab->identifier() ) ); 00059 if(m_pPage == 0L) return; 00060 00061 m_pPopupMenu->exec(mapToGlobal(e->pos())); 00062 } 00063 QTabBar::mousePressEvent(e); 00064 } 00065 00066 #include "kdevtabwidget.moc"
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Oct 19 08:01:49 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003