本文整理汇总了C++中FormWindow类的典型用法代码示例。如果您正苦于以下问题:C++ FormWindow类的具体用法?C++ FormWindow怎么用?C++ FormWindow使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FormWindow类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: signalHandler
static void signalHandler( QT_SIGNAL_ARGS )
{
QFile f( QDir::homeDirPath() + "/.designerargs" );
f.open( IO_ReadOnly );
QString args;
f.readLine( args, f.size() );
QStringList lst = QStringList::split( " ", args );
for ( QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) {
QString arg = (*it).stripWhiteSpace();
if ( arg[0] != '-' ) {
QObjectList* l = MainWindow::self->queryList( "FormWindow" );
FormWindow* fw = (FormWindow*) l->first();
#if 0 // ### what's this dead code for?
FormWindow* totop;
#endif
bool haveit = FALSE;
while ( fw ) {
haveit = haveit || fw->fileName() == arg;
#if 0 // ### what's this dead code for?
if ( haveit )
totop = fw;
#endif
fw = (FormWindow*) l->next();
}
if ( !haveit )
MainWindow::self->openFormWindow( arg );
}
}
MainWindow::self->raise();
MainWindow::self->setActiveWindow();
}
示例2: widgetToDom
DomUI *FormWindowDnDItem::domUi() const
{
DomUI *result = QDesignerDnDItem::domUi();
if (result != 0)
return result;
FormWindow *form = qobject_cast<FormWindow*>(source());
if (widget() == 0 || form == 0)
return 0;
QtResourceModel *resourceModel = form->core()->resourceModel();
QtResourceSet *currentResourceSet = resourceModel->currentResourceSet();
/* Short:
* We need to activate the original resourceSet associated with a form
* to properly generate the dom resource includes.
* Long:
* widgetToDom() calls copy() on QDesignerResource. It generates the
* Dom structure. In order to create DomResources properly we need to
* have the associated ResourceSet active (QDesignerResource::saveResources()
* queries the resource model for a qrc path for the given resource file:
* qrcFile = m_core->resourceModel()->qrcPath(ri->text());
* This works only when the resource file comes from the active
* resourceSet */
resourceModel->setCurrentResourceSet(form->resourceSet());
result = widgetToDom(widget(), form);
const_cast<FormWindowDnDItem*>(this)->setDomUi(result);
resourceModel->setCurrentResourceSet(currentResourceSet);
return result;
}
示例3: locationOfObject
QString Project::locationOfObject( QObject *o )
{
if ( !o )
return QString::null;
if ( MainWindow::self ) {
QWidgetList windows = MainWindow::self->qWorkspace()->windowList();
for ( QWidget *w = windows.first(); w; w = windows.next() ) {
FormWindow *fw = ::qt_cast<FormWindow*>(w);
SourceEditor *se = ::qt_cast<SourceEditor*>(w);
if ( fw ) {
if ( fw->isFake() )
return objectForFakeForm( fw )->name() + QString( " [Source]" );
else
return fw->name() + QString( " [Source]" );
} else if ( se ) {
if ( !se->object() )
continue;
if ( se->formWindow() )
return se->formWindow()->name() + QString( " [Source]" );
else
return makeRelative( se->sourceFile()->fileName() );
}
}
}
if ( ::qt_cast<SourceFile*>(o) ) {
for ( QPtrListIterator<SourceFile> sources = sourceFiles();
sources.current(); ++sources ) {
SourceFile* f = sources.current();
if ( f == o )
return makeRelative( f->fileName() );
}
}
extern QMap<QWidget*, QString> *qwf_forms;
if ( !qwf_forms ) {
qWarning( "Project::locationOfObject: qwf_forms is NULL!" );
return QString::null;
}
QString s = makeRelative( *qwf_forms->find( (QWidget*)o ) );
s += " [Source]";
return s;
}
示例4: main
/*---------------------------------------------------------------------------
Program entry point.
---------------------------------------------------------------------------*/
int cdeclare main(int argc, char** argv)
{
int Error = 0;
Q_INIT_RESOURCE(kfx_resource);
QApplication Application(argc, argv);
try {
Application.setApplicationName(NAMESPACE_PROJECT::AppName);
Application.setApplicationVersion(NAMESPACE_PROJECT::AppVersion);
Application.setOrganizationName(NAMESPACE_PROJECT::AppOrg);
Application.setOrganizationDomain(NAMESPACE_PROJECT::AppAuthorWeb);
MainCreateLogFile();
MainSetAssetDir();
if (!QGLFormat::hasOpenGL())
{throw dexception("This system does not support OpenGL.");}
if (!QGLFramebufferObject::hasOpenGLFramebufferObjects())
{throw dexception("This system does not support OpenGL framebuffer objects.");}
FormWindow Window;
Window.show();
Error = Application.exec();
}
catch (std::exception &e)
{
QMessageBox::information(nullptr, NAMESPACE_PROJECT::AppName, e.what());
Error = MAIN_EXIT_ERROR;
}
catch (...)
{
QMessageBox::information(nullptr, NAMESPACE_PROJECT::AppName, "Trapped an unhandled exception.");
Error = MAIN_EXIT_ERROR;
}
NAMESPACE_PROJECT::Debug::Close();
return Error;
}
示例5: addFormWindow
void FormWindowManager::addFormWindow(QDesignerFormWindowInterface *w)
{
FormWindow *formWindow = qobject_cast<FormWindow*>(w);
if (!formWindow || m_formWindows.contains(formWindow))
return;
connect(formWindow, SIGNAL(selectionChanged()), this, SLOT(slotUpdateActions()));
connect(formWindow->commandHistory(), SIGNAL(indexChanged(int)), this, SLOT(slotUpdateActions()));
connect(formWindow, SIGNAL(toolChanged(int)), this, SLOT(slotUpdateActions()));
if (ActionEditor *ae = qobject_cast<ActionEditor *>(m_core->actionEditor()))
connect(w, SIGNAL(mainContainerChanged(QWidget*)), ae, SLOT(mainContainerChanged()));
if (QDesignerObjectInspector *oi = qobject_cast<QDesignerObjectInspector *>(m_core->objectInspector()))
connect(w, SIGNAL(mainContainerChanged(QWidget*)), oi, SLOT(mainContainerChanged()));
m_formWindows.append(formWindow);
emit formWindowAdded(formWindow);
}
示例6: slotUpdateActions
void FormWindowManager::setActiveFormWindow(QDesignerFormWindowInterface *w)
{
FormWindow *formWindow = qobject_cast<FormWindow*>(w);
if (formWindow == m_activeFormWindow)
return;
FormWindow *old = m_activeFormWindow;
m_activeFormWindow = formWindow;
QtResourceSet *resourceSet = 0;
if (formWindow)
resourceSet = formWindow->resourceSet();
m_core->resourceModel()->setCurrentResourceSet(resourceSet);
slotUpdateActions();
if (m_activeFormWindow) {
m_activeFormWindow->repaintSelection();
if (old)
old->repaintSelection();
}
emit activeFormWindowChanged(m_activeFormWindow);
if (m_activeFormWindow) {
m_activeFormWindow->emitSelectionChanged();
m_activeFormWindow->commandHistory()->setActive();
// Trigger setActiveSubWindow on mdi area unless we are in toplevel mode
QMdiSubWindow *mdiSubWindow = 0;
if (QWidget *formwindow = m_activeFormWindow->parentWidget()) {
mdiSubWindow = qobject_cast<QMdiSubWindow *>(formwindow->parentWidget());
}
if (mdiSubWindow) {
for (QWidget *parent = mdiSubWindow->parentWidget(); parent; parent = parent->parentWidget()) {
if (QMdiArea *mdiArea = qobject_cast<QMdiArea*>(parent)) {
mdiArea->setActiveSubWindow(mdiSubWindow);
break;
}
}
}
}
}
示例7: formWindowRemoved
void FormWindowManager::removeFormWindow(QDesignerFormWindowInterface *w)
{
FormWindow *formWindow = qobject_cast<FormWindow*>(w);
int idx = m_formWindows.indexOf(formWindow);
if (!formWindow || idx == -1)
return;
formWindow->disconnect(this);
m_formWindows.removeAt(idx);
emit formWindowRemoved(formWindow);
if (formWindow == m_activeFormWindow)
setActiveFormWindow(0);
if (m_formWindows.size() == 0
&& m_core->widgetBox()) {
// Make sure that widget box is enabled by default
m_core->widgetBox()->setEnabled(true);
}
}
示例8: while
void ObjectInspector::ObjectInspectorPrivate::showContainersCurrentPage(QWidget *widget)
{
if (!widget)
return;
FormWindow *fw = FormWindow::findFormWindow(widget);
if (!fw)
return;
QWidget *w = widget->parentWidget();
bool macroStarted = false;
// Find a multipage container (tab widgets, etc.) in the hierarchy and set the right page.
while (w != 0) {
if (fw->isManaged(w)) { // Rule out unmanaged internal scroll areas, for example, on QToolBoxes.
if (QDesignerContainerExtension *c = qt_extension<QDesignerContainerExtension*>(m_core->extensionManager(), w)) {
const int count = c->count();
if (count > 1 && !c->widget(c->currentIndex())->isAncestorOf(widget)) {
for (int i = 0; i < count; i++)
if (c->widget(i)->isAncestorOf(widget)) {
if (macroStarted == false) {
macroStarted = true;
fw->beginCommand(tr("Change Current Page"));
}
ChangeCurrentPageCommand *cmd = new ChangeCurrentPageCommand(fw);
cmd->init(w, i);
fw->commandHistory()->push(cmd);
break;
}
}
}
}
w = w->parentWidget();
}
if (macroStarted == true)
fw->endCommand();
}
示例9: designerCreated
void Project::designerCreated()
{
for ( FormFile *ff = formfiles.first(); ff; ff = formfiles.next() ) {
FormWindow *fw = ff->formWindow();
if ( !fw || fw->mainWindow() )
continue;
fw->setMainWindow( MainWindow::self );
connect( fw, SIGNAL( undoRedoChanged( bool, bool, const QString &,
const QString & ) ),
MainWindow::self, SLOT( updateUndoRedo( bool, bool,
const QString &, const QString & ) ) );
fw->reparent( MainWindow::self->qWorkspace(), QPoint( 0, 0 ), FALSE );
QApplication::sendPostedEvents( MainWindow::self->qWorkspace(),
QEvent::ChildInserted );
fw->parentWidget()->setFixedSize( 1, 1 );
fw->show();
}
}
示例10: FormFile
void Project::addObject( QObject *o )
{
bool wasModified = modified;
objs.append( o );
FormFile *ff = new FormFile( "", FALSE, this, "qt_fakewindow" );
ff->setFileName( "__APPOBJ" + QString( o->name() ) + ".ui" );
fakeFormFiles.insert( (void*)o, ff );
MetaDataBase::addEntry( o );
if ( hasGUI() ) {
QWidget *parent = MainWindow::self ? MainWindow::self->qWorkspace() : 0;
FormWindow *fw = new FormWindow( ff, MainWindow::self, parent, "qt_fakewindow" );
fw->setProject( this );
if ( QFile::exists( ff->absFileName() ) )
Resource::loadExtraSource( ff, ff->absFileName(),
MetaDataBase::languageInterface( language() ), FALSE );
if ( MainWindow::self )
fw->setMainWindow( MainWindow::self );
if ( MainWindow::self ) {
QApplication::sendPostedEvents( MainWindow::self->qWorkspace(), QEvent::ChildInserted );
connect( fw,
SIGNAL( undoRedoChanged( bool, bool, const QString &, const QString & ) ),
MainWindow::self,
SLOT( updateUndoRedo( bool, bool, const QString &, const QString & ) )
);
}
if ( fw->parentWidget() ) {
fw->parentWidget()->setFixedSize( 1, 1 );
fw->show();
}
} else {
if ( QFile::exists( ff->absFileName() ) )
Resource::loadExtraSource( ff, ff->absFileName(),
MetaDataBase::languageInterface( language() ), FALSE );
}
emit objectAdded( o );
modified = wasModified;
}
示例11: switch
bool FormWindowManager::eventFilter(QObject *o, QEvent *e)
{
if (!o->isWidgetType())
return false;
// If we don't have an active form, we only listen for WindowActivate to speed up integrations
const QEvent::Type eventType = e->type();
if (m_activeFormWindow == 0 && eventType != QEvent::WindowActivate)
return false;
switch (eventType) { // Uninteresting events
case QEvent::Create:
case QEvent::Destroy:
case QEvent::ActionAdded:
case QEvent::ActionChanged:
case QEvent::ActionRemoved:
case QEvent::ChildAdded:
case QEvent::ChildPolished:
case QEvent::ChildRemoved:
#ifndef QT_NO_CLIPBOARD
case QEvent::Clipboard:
#endif
case QEvent::ContentsRectChange:
case QEvent::DeferredDelete:
case QEvent::FileOpen:
case QEvent::LanguageChange:
case QEvent::MetaCall:
case QEvent::ModifiedChange:
case QEvent::Paint:
case QEvent::PaletteChange:
case QEvent::ParentAboutToChange:
case QEvent::ParentChange:
case QEvent::Polish:
case QEvent::PolishRequest:
case QEvent::QueryWhatsThis:
case QEvent::StatusTip:
case QEvent::StyleChange:
case QEvent::Timer:
case QEvent::ToolBarChange:
case QEvent::ToolTip:
case QEvent::WhatsThis:
case QEvent::WhatsThisClicked:
case QEvent::WinIdChange:
case QEvent::DynamicPropertyChange:
case QEvent::HoverEnter:
case QEvent::HoverLeave:
case QEvent::HoverMove:
case QEvent::AcceptDropsChange:
return false;
default:
break;
}
QWidget *widget = static_cast<QWidget*>(o);
if (qobject_cast<WidgetHandle*>(widget)) { // ### remove me
return false;
}
FormWindow *fw = FormWindow::findFormWindow(widget);
if (fw == 0) {
return false;
}
if (QWidget *managedWidget = findManagedWidget(fw, widget)) {
// Prevent MDI subwindows from being closed by clicking at the title bar
if (managedWidget != widget && eventType == QEvent::Close) {
e->ignore();
return true;
}
switch (eventType) {
case QEvent::WindowActivate: {
if (fw->parentWidget()->isWindow() && fw->isMainContainer(managedWidget) && activeFormWindow() != fw) {
setActiveFormWindow(fw);
}
} break;
case QEvent::WindowDeactivate: {
if (o == fw && o == activeFormWindow())
fw->repaintSelection();
} break;
case QEvent::KeyPress: {
QKeyEvent *ke = static_cast<QKeyEvent*>(e);
if (ke->key() == Qt::Key_Escape) {
ke->accept();
return true;
}
}
// don't break...
// Embedded Design: Drop on different form: Make sure the right form
// window/device is active before having the widget created by the factory
case QEvent::Drop:
if (activeFormWindow() != fw)
setActiveFormWindow(fw);
// don't break...
default: {
if (fw->handleEvent(widget, managedWidget, e)) {
return true;
//.........这里部分代码省略.........