src/gui/widgets/qworkspace.cpp File Reference

#include "qworkspace.h"
#include "qapplication.h"
#include "qbitmap.h"
#include "qcursor.h"
#include "qdatetime.h"
#include "qdesktopwidget.h"
#include "qevent.h"
#include "qhash.h"
#include "qicon.h"
#include "qimage.h"
#include "qlabel.h"
#include "qlayout.h"
#include "qmenubar.h"
#include "qmenu.h"
#include "qpainter.h"
#include "qpointer.h"
#include "qscrollbar.h"
#include "qstyle.h"
#include "qstyleoption.h"
#include "qtoolbutton.h"
#include "qtooltip.h"
#include "qdebug.h"
#include <private/qwidget_p.h>
#include <private/qwidgetresizehandler_p.h>
#include <private/qlayoutengine_p.h>
#include "moc_qworkspace.cpp"
#include "qworkspace.moc"

Include dependency graph for qworkspace.cpp:

Go to the source code of this file.

Classes

class  QWorkspaceTitleBar
class  QWorkspaceTitleBarPrivate
class  QWorkspaceChild
class  QWorkspacePrivate

Functions

QString qt_setWindowTitle_helperHelper (const QString &, QWidget *)
static bool isChildOf (QWidget *child, QWidget *parent)
static QMenuBarfindMenuBar (QWidget *w)


Function Documentation

static QMenuBar* findMenuBar ( QWidget w  )  [static]

Definition at line 1745 of file qworkspace.cpp.

References QList< T >::at(), QList< T >::count(), i, and w.

Referenced by QWorkspacePrivate::showMaximizeControls().

01746 {
01747     // don't search recursively to avoid finding a menubar of a
01748     // mainwindow that happens to be a workspace window (like
01749     // a mainwindow in designer)
01750     QList<QObject *> children = w->children();
01751     for (int i = 0; i < children.count(); ++i) {
01752         QMenuBar *bar = qobject_cast<QMenuBar *>(children.at(i));
01753         if (bar)
01754             return bar;
01755     }
01756     return 0;
01757 }

Here is the call graph for this function:

static bool isChildOf ( QWidget child,
QWidget parent 
) [static]

Definition at line 859 of file qworkspace.cpp.

References QObject::parent(), and w.

Referenced by QWorkspacePrivate::activateWindow(), isChildOf(), and QWorkspaceChild::setActive().

00860 {
00861     if (!parent || !child)
00862         return false;
00863     QWidget * w = child;
00864     while(w && w != parent)
00865         w = w->parentWidget();
00866     return w != 0;
00867 }

Here is the call graph for this function:

QString qt_setWindowTitle_helperHelper ( const QString ,
QWidget  
)

Definition at line 3836 of file qwidget.cpp.

References index, QString::indexOf(), QWidget::isWindowModified(), QString::lastIndexOf(), QString::length(), QString::replace(), QStyle::SH_TitleBar_ModifyNotification, QWidget::style(), and QStyle::styleHint().

03837 {
03838     Q_ASSERT(widget);
03839 
03840 #ifdef QT_EVAL
03841     extern QString qt_eval_adapt_window_title(const QString &title);
03842     QString cap = qt_eval_adapt_window_title(title);
03843 #else
03844     QString cap = title;
03845 #endif
03846 
03847     QString placeHolder(QLatin1String("[*]"));
03848 
03849     int index = cap.indexOf(placeHolder);
03850 
03851     while (index != -1) {
03852         index += placeHolder.length();
03853         int count = 1;
03854         while (cap.indexOf(placeHolder, index) == index) {
03855             ++count;
03856             index += placeHolder.length();
03857         }
03858 
03859         if (count%2) { // odd number of [*] -> replace last one
03860             int lastIndex = cap.lastIndexOf(placeHolder, index - 1);
03861             if (widget->isWindowModified()
03862              && widget->style()->styleHint(QStyle::SH_TitleBar_ModifyNotification, 0, widget))
03863                 cap.replace(lastIndex, 3, QWidget::tr("*"));
03864             else
03865                 cap.replace(lastIndex, 3, QLatin1String(""));
03866         }
03867 
03868         index = cap.indexOf(placeHolder, index);
03869     }
03870 
03871     cap.replace(QLatin1String("[*][*]"), QLatin1String("[*]"));
03872 
03873     return cap;
03874 }

Here is the call graph for this function:


Generated on Thu Mar 15 13:52:38 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1