lib
kotabpalette.cc00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <qdockwindow.h>
00020
00021 #include <ktabwidget.h>
00022 #include <kdebug.h>
00023
00024 #include <KoView.h>
00025
00026 #include <kopalette.h>
00027 #include <kotabpalette.h>
00028 #include "kopalettemanager.h"
00029
00030 KoTabPalette::KoTabPalette(QWidget * parent, const char * name)
00031 : KoPalette(parent, name)
00032 {
00033 m_page = new KTabWidget(this);
00034 m_page->setTabShape(QTabWidget::Triangular);
00035 m_page->setFocusPolicy(QWidget::TabFocus);
00036
00037 m_page->setMargin(1);
00038
00039 setMainWidget(m_page);
00040 m_style = PALETTE_DOCKER;
00041 }
00042
00043 KoTabPalette::~KoTabPalette()
00044 {
00045 }
00046
00047 void KoTabPalette::plug(QWidget * w, const QString & , int position)
00048 {
00049 if (!w) return;
00050
00051 w -> unsetFont();
00052
00053 m_page -> insertTab(w, w -> caption(), position);
00054 show();
00055 }
00056
00057 void KoTabPalette::resetFont()
00058 {
00059 KoPalette::resetFont();
00060 m_page->unsetFont();
00061 }
00062
00063 void KoTabPalette::unplug(const QWidget * w)
00064 {
00065 m_page->removePage(const_cast<QWidget *>(w));
00066 if (m_page->count() == 0)
00067 hide();
00068 }
00069
00070 void KoTabPalette::showPage(QWidget *w)
00071 {
00072 m_page->showPage(w);
00073 if (m_hiddenPages.find(w) == m_hiddenPages.end()) return;
00074
00075 int i = *m_hiddenPages.find(w);
00076 m_page->insertTab(w, w->caption(), i);
00077 m_hiddenPages.erase(w);
00078 show();
00079 }
00080
00081 void KoTabPalette::makeVisible(bool v)
00082 {
00083
00084 if (v && m_page->count() > 0)
00085 show();
00086 else
00087 hide();
00088 }
00089
00090 int KoTabPalette::indexOf(QWidget *w)
00091 {
00092 if (m_hiddenPages.find(w) != m_hiddenPages.end()) {
00093 int i = m_page->indexOf(w);
00094 return -i;
00095 }
00096 else {
00097 return m_page->indexOf(w);
00098 }
00099 }
00100
00101 bool KoTabPalette::isHidden(QWidget * w)
00102 {
00103 return (m_hiddenPages.find(w) != m_hiddenPages.end());
00104 }
00105
00106 void KoTabPalette::hidePage( QWidget *w)
00107 {
00108 if (m_hiddenPages.find(w) != m_hiddenPages.end()) return;
00109
00110 int i = m_page->indexOf(w);
00111 m_page->removePage(w);
00112 m_hiddenPages[w] = i;
00113 if (m_page->count() == 0) {
00114 hide();
00115 }
00116 }
00117
00118 void KoTabPalette::togglePageHidden(QWidget *w)
00119 {
00120 if (m_hiddenPages.find(w) != m_hiddenPages.end()) {
00121 int i = *m_hiddenPages.find(w);
00122 m_page->insertTab(w, w->caption(), i);
00123 m_hiddenPages.erase(w);
00124 show();
00125 }
00126 else {
00127 int i = m_page->indexOf(w);
00128 m_page->removePage(w);
00129 m_hiddenPages[w] = i;
00130 if (m_page->count() == 0) {
00131 hide();
00132 }
00133 }
00134 }
00135
00136 #include "kotabpalette.moc"
|