summaryrefslogtreecommitdiffstats
path: root/src/kile/kilesidebar.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kile/kilesidebar.h')
-rw-r--r--src/kile/kilesidebar.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/kile/kilesidebar.h b/src/kile/kilesidebar.h
new file mode 100644
index 0000000..8a713d1
--- /dev/null
+++ b/src/kile/kilesidebar.h
@@ -0,0 +1,99 @@
+/**************************************************************************************
+ begin : Fri 18-06-2004
+ edit : Wed 1 Jun 2006
+ copyright : (C) 2004 by Jeroen Wijnhout ([email protected])
+ (C) 2006 by Thomas Braun ([email protected])
+ (C) 2006 by Michel Ludwig ([email protected])
+ **************************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef KILESIDEBAR_H
+#define KILESIDEBAR_H
+
+#include <qframe.h>
+#include <qmap.h>
+
+class QWidgetStack;
+class KileMultiTabBar;
+class SymbolView;
+
+/**
+@author Jeroen Wijnhout
+*/
+class KileSideBar : public QFrame
+{
+ Q_OBJECT
+
+public:
+ KileSideBar(int size, QWidget *parent = 0, const char *name = 0, Qt::Orientation orientation = Qt::Vertical);
+ ~KileSideBar();
+
+ int addTab(QWidget *tab, const QPixmap &pic, const QString &text = QString::null);
+
+ int currentTab() { return m_nCurrent; }
+
+ bool isVisible() { return !m_bMinimized; }
+
+ void setSize(int sz) { m_nSize = sz; }
+ int size() { return m_nSize; }
+
+ QWidget* currentPage();
+ void removePage(QWidget *w);
+
+ /**
+ * Shows or hides the tab connected to the widget "w". If the tab to be hidden is
+ * currently selected, the next tab will be shown (cyclically).
+ *
+ * @param b set to "true" to show the tab connected to the widget "w", "false" to
+ * hide it
+ **/
+ void setPageVisible(QWidget *w, bool b);
+
+signals:
+ void visibilityChanged(bool );
+
+public slots:
+ void setVisible(bool );
+
+ virtual void shrink();
+ virtual void expand();
+
+ void showTab(int);
+ void showPage(QWidget *);
+ void toggleTab();
+ void switchToTab(int id);
+
+private:
+ int findNextShownTab(int i);
+
+protected:
+ QWidgetStack *m_tabStack;
+ KileMultiTabBar *m_tabBar;
+ int m_nTabs;
+ int m_nCurrent;
+ QMap<int,int> m_indexToPage;
+ QMap<QWidget*,int> m_widgetToIndex;
+ bool m_bMinimized;
+ int m_nMinSize, m_nMaxSize, m_nSize;
+};
+
+class KileBottomBar : public KileSideBar
+{
+ Q_OBJECT
+
+public:
+ KileBottomBar(int size, QWidget *parent = 0, const char *name = 0);
+
+ void shrink();
+ void expand();
+};
+
+#endif