All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Slots | Signals | Public Member Functions | Protected Member Functions | Protected Attributes
QGpGuiTools::MultiDocumentWindow Class Reference

Brief description of class still missing. More...

#include <MultiDocumentWindow.h>

List of all members.

Public Slots

void addTab ()
void addWindow (MultiDocumentSubWindow *w)
void insertTab (int at)

Signals

void activeWindowChanged (MultiDocumentSubWindow *w)
void askForClose (bool &ok)
void clearCloseMarks ()

Public Member Functions

 MultiDocumentWindow (QWidget *parent=0, Qt::WindowFlags f=0)
virtual void newDocument ()
virtual void openDocument ()
virtual void printDocument ()
virtual void saveDocument ()
virtual void saveDocumentAs ()
void setCloseMarks (bool c=true)
 ~MultiDocumentWindow ()

Protected Member Functions

void addEditActions ()
void addFileActions ()
void addHelpActions ()
void addViewActions ()
void addWindowsActions ()
virtual void addWindowsActions (QMenu *m)
virtual void closeEvent (QCloseEvent *e)
void createWindowsActions ()

Protected Attributes

QToolBar * _editBar
QMenu * _editMenu
QToolBar * _fileBar
QMenu * _fileMenu
QMenu * _helpMenu
QMenu * _toolBarsMenu
QToolBar * _viewBar
QMenu * _viewMenu
QAction * _windowsCascadeAction
QAction * _windowsCloseAction
QAction * _windowsCloseAllSubWindowsAction
QAction * _windowsCloseAllTabsAction
QAction * _windowsCloseTabAction
QMenu * _windowsMenu
QAction * _windowsNewTabAction
QAction * _windowsTileAction
QAction * _windowsToolBarsAction

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

QGpGuiTools::MultiDocumentWindow::MultiDocumentWindow ( QWidget *  parent = 0,
Qt::WindowFlags  f = 0 
)

Description of constructor still missing

References createWindowsActions(), insertTab(), and TRACE.

    : QMainWindow(parent, f)
{
  TRACE;
  setAttribute(Qt::WA_DeleteOnClose, true);

  _tabs=new MultiDocumentTabWidget;
  connect(_tabs, SIGNAL(newTabRequested(int)), this, SLOT(insertTab(int)));
  connect(_tabs, SIGNAL(closeTabRequested(int)), this, SLOT(closeTab(int)));
  setCentralWidget(_tabs);
  createWindowsActions();
}

Description of destructor still missing

References TRACE.

{
  TRACE;
}

Member Function Documentation

References _editBar, _editMenu, QGpGuiTools::MultiDocumentEnvironment::addEditActions(), QGpGuiTools::MultiDocumentEnvironment::instance(), QGpCoreTools::tr(), and TRACE.

{
  TRACE;

  QMenu * m;
  QToolBar * tb;

  m=menuBar()->addMenu(tr("&Edit"));
  m->setTearOffEnabled (true);
  tb=addToolBar(tr("Edit"));
  tb->setObjectName("EditBar");
  tb->setIconSize(QSize(24, 24));

  _editMenu=m;
  _editBar=tb;

  MultiDocumentEnvironment::instance()->addEditActions(m, tb);
}

References _fileBar, _fileMenu, QGpGuiTools::MultiDocumentEnvironment::addFileActions(), QGpGuiTools::MultiDocumentEnvironment::instance(), QGpCoreTools::tr(), and TRACE.

{
  TRACE;

  QMenu * m;
  QToolBar * tb;

  m=menuBar()->addMenu(tr("&File"));
  m->setTearOffEnabled (true);
  tb=addToolBar(tr("File"));
  tb->setObjectName("FileBar");
  tb->setIconSize(QSize(24, 24));

  _fileMenu=m;
  _fileBar=tb;

  MultiDocumentEnvironment::instance()->addFileActions(m, tb);
}

References _windowsMenu, QGpGuiTools::MultiDocumentTabWidget::addTab(), TRACE, and QGpGuiTools::MultiDocumentTab::windowMenuAction().

Referenced by createWindowsActions().

{
  TRACE;
  MultiDocumentTab * t=new MultiDocumentTab;
  connect(t, SIGNAL(subWindowActivated(QMdiSubWindow *)),
          this, SLOT(setCurrentSubWindow(QMdiSubWindow *)));
  _tabs->addTab(t);
  _windowsMenu->addAction(t->windowMenuAction());
}

References _viewBar, _viewMenu, QGpGuiTools::MultiDocumentEnvironment::addViewActions(), QGpGuiTools::MultiDocumentEnvironment::instance(), QGpCoreTools::tr(), and TRACE.

{
  TRACE;

  QMenu * m;
  QToolBar * tb;

  m=menuBar()->addMenu(tr("&View"));
  m->setTearOffEnabled (true);
  tb=addToolBar(tr("View"));
  tb->setObjectName("ViewBar");
  tb->setIconSize(QSize(24, 24));

  _viewMenu=m;
  _viewBar=tb;

  MultiDocumentEnvironment::instance()->addViewActions(m, tb);
}

Add window w to window system.

References askForClose(), clearCloseMarks(), QGpGuiTools::MultiDocumentSubWindow::show(), TRACE, QGpGuiTools::MultiDocumentSubWindow::windowMenuAction(), and QGpGuiTools::MultiDocumentTab::windowMenuAction().

{
  TRACE;
  MultiDocumentTab * t=tab(_tabs->currentIndex());
  t->addSubWindow(w);
  connect(w, SIGNAL(clearCloseMarks()), this, SIGNAL(clearCloseMarks()));
  connect(w, SIGNAL(askForClose(bool&)), this, SIGNAL(askForClose(bool&)));
  w->show();
  t->windowMenuAction()->menu()->addAction(w->windowMenuAction());
}
void QGpGuiTools::MultiDocumentWindow::addWindowsActions ( QMenu *  m) [protected, virtual]
void QGpGuiTools::MultiDocumentWindow::askForClose ( bool &  ok) [signal]

Referenced by addWindow(), and closeEvent().

Referenced by addWindow(), and closeEvent().

void QGpGuiTools::MultiDocumentWindow::closeEvent ( QCloseEvent *  e) [protected, virtual]

References askForClose(), clearCloseMarks(), setCloseMarks(), and TRACE.

{
  TRACE;
  emit clearCloseMarks();
  setCloseMarks();
  bool ok;
  emit askForClose(ok);
  if(ok) {
    e->accept();
  } else {
    e->ignore();
  }
}

References _toolBarsMenu, _windowsCascadeAction, _windowsCloseAction, _windowsCloseAllSubWindowsAction, _windowsCloseAllTabsAction, _windowsCloseTabAction, _windowsNewTabAction, _windowsTileAction, _windowsToolBarsAction, addTab(), QGpCoreTools::tr(), and TRACE.

Referenced by MultiDocumentWindow().

{
  TRACE;
  QAction * a;

  a=new QAction(tr("New &tab"), this);
  a->setToolTip(tr("Add a new tab"));
  connect(a, SIGNAL(triggered()), this, SLOT(addTab()));
  _windowsNewTabAction=a;

  a=new QAction(tr("Close win&dow"), this);
  a->setToolTip(tr("Close current sub window"));
  a->setEnabled(false);
  connect(a, SIGNAL(triggered()), this, SLOT(closeSubWindow()));
  _windowsCloseAction=a;

  a=new QAction(tr("Close all w&indows"), this);
  a->setToolTip(tr("Close all sub windows of the current tab"));
  a->setEnabled(false);
  connect(a, SIGNAL(triggered()), this, SLOT(closeAllSubWindows()));
  _windowsCloseAllSubWindowsAction=a;

  a=new QAction(tr("Close t&ab"), this);
  a->setToolTip(tr("Close current tab"));
  connect(a, SIGNAL(triggered()), this, SLOT(closeTab()));
  _windowsCloseTabAction=a;

  a=new QAction(tr("Close all ta&bs"), this);
  a->setToolTip(tr("Close all tabs"));
  connect(a, SIGNAL(triggered()), this, SLOT(closeAllTabs()));
  _windowsCloseAllTabsAction=a;

  a=new QAction(tr("&Cascade"), this);
  a->setToolTip(tr("Organize sub windows in cascade"));
  a->setEnabled(false);
  connect(a, SIGNAL(triggered()), this, SLOT(cascadeSubWindows()));
  _windowsCascadeAction=a;

  a=new QAction(tr("Ti&le"), this);
  a->setToolTip(tr("Organize sub windows in tiles"));
  a->setEnabled(false);
  connect(a, SIGNAL(triggered()), this, SLOT(tileSubWindows()));
  _windowsTileAction=a;

  _toolBarsMenu=new QMenu;
  connect(_toolBarsMenu, SIGNAL(aboutToShow()), this, SLOT(showToolBarMenu()));

  a=new QAction(tr("T&ool bars"), this);
  a->setMenu(_toolBarsMenu);
  _windowsToolBarsAction=a;
}

References _windowsMenu, QGpGuiTools::MultiDocumentTabWidget::insertTab(), TRACE, and QGpGuiTools::MultiDocumentTab::windowMenuAction().

Referenced by MultiDocumentWindow().

{
  TRACE;
  MultiDocumentTab * t=new MultiDocumentTab;
  connect(t, SIGNAL(subWindowActivated(QMdiSubWindow *)),
          this, SLOT(setCurrentSubWindow(QMdiSubWindow *)));
  _tabs->insertTab(at, t);
  _windowsMenu->addAction(t->windowMenuAction());
}
virtual void QGpGuiTools::MultiDocumentWindow::newDocument ( ) [inline, virtual]
virtual void QGpGuiTools::MultiDocumentWindow::openDocument ( ) [inline, virtual]
virtual void QGpGuiTools::MultiDocumentWindow::printDocument ( ) [inline, virtual]
virtual void QGpGuiTools::MultiDocumentWindow::saveDocument ( ) [inline, virtual]
virtual void QGpGuiTools::MultiDocumentWindow::saveDocumentAs ( ) [inline, virtual]

References QGpGuiTools::MultiDocumentTab::setCloseMarks(), QGpGuiTools::MultiDocumentTabWidget::tab(), and TRACE.

Referenced by closeEvent().

{
  TRACE;
  for(int i=0; i<_tabs->count(); i++) {
    MultiDocumentTab * t=_tabs->tab(i);
    t->setCloseMarks(c);
  }
}

Member Data Documentation

Referenced by addEditActions().

Referenced by addEditActions().

Referenced by addFileActions().

Referenced by addFileActions().

Referenced by addHelpActions().

Referenced by createWindowsActions().

Referenced by addViewActions().

Referenced by addViewActions().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines