diff options
Diffstat (limited to 'muse2/muse/cobject.cpp')
-rw-r--r-- | muse2/muse/cobject.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/muse2/muse/cobject.cpp b/muse2/muse/cobject.cpp index 22f675a3..d486abf0 100644 --- a/muse2/muse/cobject.cpp +++ b/muse2/muse/cobject.cpp @@ -10,6 +10,8 @@ #include "xml.h" #include "gui.h" +#include <QMdiSubWindow> + //--------------------------------------------------------- // readStatus //--------------------------------------------------------- @@ -71,5 +73,63 @@ TopWin::TopWin(QWidget* parent, const char* name, // Allow multiple rows. Tim. //setDockNestingEnabled(true); setIconSize(ICON_SIZE); + + mdisubwin=NULL; } +void TopWin::hide() +{ + printf("HIDE SLOT: mdisubwin is %p\n",mdisubwin); //FINDMICH + if (mdisubwin) + mdisubwin->close(); + + QMainWindow::hide(); +} + +void TopWin::show() +{ + printf("SHOW SLOT: mdisubwin is %p\n",mdisubwin); //FINDMICH + if (mdisubwin) + mdisubwin->show(); + + QMainWindow::show(); +} + +void TopWin::setVisible(bool param) +{ + printf("SETVISIBLE SLOT (%i): mdisubwin is %p\n",(int)param, mdisubwin); //FINDMICH + if (mdisubwin) + { + if (param) + mdisubwin->show(); + else + mdisubwin->close(); + } + QMainWindow::setVisible(param); +} + +QMdiSubWindow* TopWin::createMdiWrapper() +{ + if (mdisubwin==NULL) + { + mdisubwin = new QMdiSubWindow(); + mdisubwin->setWidget(this); + } + + return mdisubwin; +} + +void TopWin::setFree() +{ + if (mdisubwin) + { + setParent(0); + mdisubwin->hide(); + delete mdisubwin; + } +} + +bool TopWin::isMdiWin() +{ + return (mdisubwin!=NULL); +} |