You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.7 KiB
C++
76 lines
1.7 KiB
C++
#ifndef __mditoplevel_h__
|
|
#define __mditoplevel_h__
|
|
|
|
#include <qptrlist.h>
|
|
#include <qtabwidget.h>
|
|
|
|
#include <kmainwindow.h>
|
|
|
|
class KSTabWidget : public QTabWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
KSTabWidget ( QWidget * parent = 0, const char * name = 0, WFlags f = 0 )
|
|
: QTabWidget(parent, name, f)
|
|
{
|
|
}
|
|
|
|
protected:
|
|
virtual void mousePressEvent(QMouseEvent *e);
|
|
|
|
signals:
|
|
void showContexMenu(QWidget *, const QPoint &);
|
|
|
|
};
|
|
|
|
class QLabel;
|
|
class KPopupMenu;
|
|
|
|
class MDITopLevel : public KMainWindow
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
MDITopLevel(QWidget *parent = 0, const char *name = 0);
|
|
virtual ~MDITopLevel();
|
|
|
|
void addWidget( QWidget *widget, bool show );
|
|
|
|
void removeWidget( QWidget *widget );
|
|
|
|
QTabWidget *tabWidget() const { return m_tab; }
|
|
void next();
|
|
void previous();
|
|
|
|
QPtrList<QWidget> &widgets() { return m_tabWidgets; }
|
|
|
|
void hideWidget( QWidget *widget );
|
|
void showWidget( QWidget *widget );
|
|
|
|
virtual bool eventFilter( QObject *obj, QEvent *ev );
|
|
bool closing() const { return m_closing; }
|
|
|
|
protected:
|
|
void removeFromAddressedList( const QWidget* w );
|
|
virtual void closeEvent( QCloseEvent *ev );
|
|
|
|
private slots:
|
|
void slotWidgetDestroyed();
|
|
void slotCurrentChanged( QWidget *page );
|
|
void slotMarkPageDirty( bool );
|
|
void slotChangeChannelName( const QString &, const QString &newName );
|
|
void slotShowContexMenu(QWidget *, const QPoint &);
|
|
void slotCloseLastWid();
|
|
|
|
private:
|
|
KSTabWidget *m_tab;
|
|
KPopupMenu *m_pop;
|
|
QWidget *m_last_pop_wid;
|
|
QPtrList<QWidget> m_tabWidgets;
|
|
QPtrList<QWidget> m_addressed;
|
|
QPixmap m_dirtyIcon;
|
|
QPixmap m_addressedIcon;
|
|
bool m_closing;
|
|
};
|
|
|
|
#endif
|