/*************************************************************************** toolbartabwidget.h --------------------- copyright : (C) 2003 by Andras Mantia ***************************************************************************/ /*************************************************************************** * * * 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; version 2 of the License. * * * ***************************************************************************/ #ifndef TOOLBARTABWIDGET_H #define TOOLBARTABWIDGET_H #include #include class TQTabWidget; class KPopupMenu; class TQWidgetStack; class TQTabBar; class KToolBar; class ToolbarTabWidget: public TQTabWidget { Q_OBJECT TQ_OBJECT public: TQWidgetStack *m_widgetStack; static ToolbarTabWidget* const ref(TQWidget *parent = 0L, const char *name = 0L) { static ToolbarTabWidget *m_ref; if (!m_ref) m_ref = new ToolbarTabWidget (parent, name); return m_ref; } virtual ~ToolbarTabWidget(){}; virtual void insertTab(TQWidget *child, const TQString &label, const TQString &id); virtual TQWidget* page(int index); virtual TQWidget* page(const TQString& id); int tabHeight() const; TQString id(TQWidget *w) const; TQString id(int index) const; KToolBar::IconText iconText() const {return m_iconText;} void setIconText(KToolBar::IconText mode) {m_iconText = mode; emit iconTextModeChanged();} public slots: virtual void removePage(TQWidget * w ); virtual void resizeEvent(TQResizeEvent *); private slots: void slotRemoveToolbar(); void slotRenameToolbar(); void slotEditToolbar(); signals: void removeToolbar(const TQString&); void renameToolbar(const TQString&); void editToolbar(const TQString&); void newAction(); void addToolbar(); void iconTextModeChanged(); public: TQString tabUnderMouse; TQString tabUnderMouseLabel; protected: virtual void mousePressEvent ( TQMouseEvent * e ); KPopupMenu *m_popupMenu; TQTabBar *m_tabBar; TQMap toolbarList; private: ToolbarTabWidget(TQWidget * parent = 0, const char * name = 0, WFlags f = 0); KToolBar::IconText m_iconText; }; class QuantaToolBar: public KToolBar { Q_OBJECT TQ_OBJECT public: QuantaToolBar (TQWidget *parent, const char *name=0, bool honor_style=FALSE, bool readConfig=TRUE); virtual ~QuantaToolBar() {}; private slots: void slotEditAction(); void slotRemoveAction(); void slotIconTextChanged(int id); void slotIconTextMenuAboutToShow(); signals: void removeAction(const TQString&, const TQString&); void editAction(const TQString&); protected: virtual void mousePressEvent ( TQMouseEvent * e ); KPopupMenu *m_popupMenu; KPopupMenu *m_iconTextMenu; ToolbarTabWidget *m_toolbarTab; TQString currentActionName; }; #endif