QDesigner Class Reference

#include <qdesigner.h>

Inheritance diagram for QDesigner:

Inheritance graph
[legend]
Collaboration diagram for QDesigner:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 40 of file qdesigner.h.

Signals

void initialized ()

Public Member Functions

 QDesigner (int &argc, char **argv)
virtual ~QDesigner ()
QDesignerWorkbenchworkbench () const
QDesignerServerserver () const
QDesignerToolWindowmainWindow () const
void setMainWindow (QDesignerToolWindow *tw)

Protected Member Functions

bool event (QEvent *ev)

Private Slots

void initialize ()
void callCreateForm ()

Private Attributes

QDesignerServerm_server
QDesignerClientm_client
QDesignerWorkbenchm_workbench
QPointer< QDesignerToolWindowm_mainWindow
bool suppressNewFormShow


Constructor & Destructor Documentation

QDesigner::QDesigner ( int &  argc,
char **  argv 
)

Definition at line 45 of file qdesigner.cpp.

References initialize(), QDesignerComponents::initializeResources(), QCoreApplication::setApplicationName(), QCoreApplication::setOrganizationName(), and QApplication::setWindowIcon().

00046     : QApplication(argc, argv),
00047       m_server(0),
00048       m_client(0),
00049       m_workbench(0), suppressNewFormShow(false)
00050 {
00051     setOrganizationName(QLatin1String("Trolltech"));
00052     setApplicationName(QLatin1String("Designer"));
00053     QDesignerComponents::initializeResources();
00054 
00055 #ifndef Q_WS_MAC
00056     setWindowIcon(QIcon(QLatin1String(":/trolltech/designer/images/designer.png")));
00057 #endif
00058 
00059     initialize();
00060 }

Here is the call graph for this function:

QDesigner::~QDesigner (  )  [virtual]

Definition at line 62 of file qdesigner.cpp.

References m_client, m_server, and m_workbench.

00063 {
00064     if (m_workbench)
00065         delete m_workbench;
00066     if (m_server)
00067         delete m_server;
00068     if (m_client)
00069         delete m_client;
00070 }


Member Function Documentation

QDesignerWorkbench * QDesigner::workbench (  )  const

Definition at line 72 of file qdesigner.cpp.

References m_workbench.

00073 {
00074     return m_workbench;
00075 }

QDesignerServer * QDesigner::server (  )  const

Definition at line 77 of file qdesigner.cpp.

References m_server.

00078 {
00079     return m_server;
00080 }

QDesignerToolWindow * QDesigner::mainWindow (  )  const

Definition at line 174 of file qdesigner.cpp.

References m_mainWindow.

00175 {
00176     return m_mainWindow;
00177 }

void QDesigner::setMainWindow ( QDesignerToolWindow tw  ) 

Definition at line 169 of file qdesigner.cpp.

References m_mainWindow.

00170 {
00171     m_mainWindow = tw;
00172 }

bool QDesigner::event ( QEvent ev  )  [protected, virtual]

Reimplemented from QApplication.

Definition at line 139 of file qdesigner.cpp.

References QEvent::Close, QApplication::event(), QEvent::FileOpen, QDesignerWorkbench::handleClose(), QEvent::isAccepted(), m_mainWindow, m_workbench, QDesignerWorkbench::readInForm(), QEvent::setAccepted(), suppressNewFormShow, and QEvent::type().

00140 {
00141     bool eaten;
00142     switch (ev->type()) {
00143     case QEvent::FileOpen:
00144         // set it true first since, if it's a Qt 3 form, the messagebox from convert will fire the timer.
00145         suppressNewFormShow = true;
00146         if (!m_workbench->readInForm(static_cast<QFileOpenEvent *>(ev)->file()))
00147             suppressNewFormShow = false;
00148         eaten = true;
00149         break;
00150     case QEvent::Close: {
00151         QCloseEvent *closeEvent = static_cast<QCloseEvent *>(ev);
00152         closeEvent->setAccepted(m_workbench->handleClose());
00153         if (closeEvent->isAccepted()) {
00154             // We're going down, make sure that we don't get our settings saved twice.
00155             if (m_mainWindow)
00156                 m_mainWindow->setSaveSettingsOnClose(false);
00157             eaten = QApplication::event(ev);
00158         }
00159         eaten = true;
00160         break;
00161     }
00162     default:
00163         eaten = QApplication::event(ev);
00164         break;
00165     }
00166     return eaten;
00167 }

Here is the call graph for this function:

void QDesigner::initialized (  )  [signal]

Referenced by initialize().

void QDesigner::initialize (  )  [private, slot]

Definition at line 82 of file qdesigner.cpp.

References QList< T >::append(), callCreateForm(), QFile::decodeName(), emit, QString::fromLocal8Bit(), i, QMessageBox::information(), initialized(), QCoreApplication::installTranslator(), QMetaObject::invokeMethod(), QLibraryInfo::licensedProducts(), QTranslator::load(), QLibraryInfo::location(), m_client, m_server, m_workbench, name, printf, Qt::QueuedConnection, QDesignerWorkbench::readInForm(), QDesignerServer::serverPort(), QTimer::singleShot(), SLOT, suppressNewFormShow, QLocale::system(), QString::toUShort(), and QLibraryInfo::TranslationsPath.

Referenced by QDesigner().

00083 {
00084     // initialize the sub components
00085     QStringList files;
00086 
00087     QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
00088 
00089     for (int i = 1; i < argc(); ++i)
00090     {
00091         if (QString::fromLocal8Bit(argv()[i]) == QLatin1String("-server")) {
00092             m_server = new QDesignerServer();
00093             printf("%d\n", m_server->serverPort());
00094             fflush(stdout);
00095         } else if (QString::fromLocal8Bit(argv()[i]) == QLatin1String("-client")) {
00096             bool ok = true;
00097             if (i + 1 < argc()) {
00098                 quint16 port = QString::fromLocal8Bit(argv()[++i]).toUShort(&ok);
00099                 if (ok)
00100                     m_client = new QDesignerClient(port, this);
00101             }
00102         } else if (QString::fromLocal8Bit(argv()[i]) == QLatin1String("-resourcedir")) {
00103             if (i + 1 < argc()) {
00104                 resourceDir = QFile::decodeName(argv()[++i]);
00105             } else {
00106                 // issue a warning
00107             }
00108         } else {
00109             files.append(QString::fromLocal8Bit(argv()[i]));
00110         }
00111     }
00112 
00113     QTranslator *translator = new QTranslator;
00114     QTranslator *qtTranslator = new QTranslator;
00115     translator->load(QLatin1String("designer_") + QLocale::system().name().toLower(), resourceDir);
00116     qtTranslator->load(QLatin1String("qt_") + QLocale::system().name().toLower(), resourceDir);
00117     installTranslator(translator);
00118     installTranslator(qtTranslator);
00119 
00120     if (QLibraryInfo::licensedProducts() == QLatin1String("Console")) {
00121         QMessageBox::information(0, tr("Qt Designer"),
00122                 tr("This application cannot be used for the Console edition of Qt"));
00123         QMetaObject::invokeMethod(this, "quit", Qt::QueuedConnection);
00124         return;
00125     }
00126 
00127     m_workbench = new QDesignerWorkbench();
00128 
00129     emit initialized();
00130 
00131     foreach (QString file, files) {
00132         if (m_workbench->readInForm(file) && !suppressNewFormShow)
00133             suppressNewFormShow = true;
00134     }
00135     if (QDesignerSettings().showNewFormOnStartup())
00136         QTimer::singleShot(100, this, SLOT(callCreateForm())); // won't show anything if suppressed
00137 }

void QDesigner::callCreateForm (  )  [private, slot]

Definition at line 179 of file qdesigner.cpp.

References QDesignerWorkbench::actionManager(), QDesignerActions::createForm(), m_workbench, and suppressNewFormShow.

Referenced by initialize().

00180 {
00181     if (!suppressNewFormShow)
00182         m_workbench->actionManager()->createForm();
00183 }


Member Data Documentation

QDesignerServer* QDesigner::m_server [private]

Definition at line 63 of file qdesigner.h.

Referenced by initialize(), server(), and ~QDesigner().

QDesignerClient* QDesigner::m_client [private]

Definition at line 64 of file qdesigner.h.

Referenced by initialize(), and ~QDesigner().

QDesignerWorkbench* QDesigner::m_workbench [private]

Definition at line 65 of file qdesigner.h.

Referenced by callCreateForm(), event(), initialize(), workbench(), and ~QDesigner().

QPointer<QDesignerToolWindow> QDesigner::m_mainWindow [private]

Definition at line 66 of file qdesigner.h.

Referenced by event(), mainWindow(), and setMainWindow().

bool QDesigner::suppressNewFormShow [private]

Definition at line 67 of file qdesigner.h.

Referenced by callCreateForm(), event(), and initialize().


The documentation for this class was generated from the following files:
Generated on Thu Mar 15 17:14:40 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1