int QStyleSheetStyle::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWindowsStyle::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: { QIcon _r = standardIconImplementation((*reinterpret_cast< StandardPixmap(*)>(_a[1])),(*reinterpret_cast< const QStyleOption*(*)>(_a[2])),(*reinterpret_cast< const QWidget*(*)>(_a[3]))); if (_a[0]) *reinterpret_cast< QIcon*>(_a[0]) = _r; } break; case 1: { QIcon _r = standardIconImplementation((*reinterpret_cast< StandardPixmap(*)>(_a[1])),(*reinterpret_cast< const QStyleOption*(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< QIcon*>(_a[0]) = _r; } break; case 2: { QIcon _r = standardIconImplementation((*reinterpret_cast< StandardPixmap(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< QIcon*>(_a[0]) = _r; } break; case 3: { int _r = layoutSpacingImplementation((*reinterpret_cast< QSizePolicy::ControlType(*)>(_a[1])),(*reinterpret_cast< QSizePolicy::ControlType(*)>(_a[2])),(*reinterpret_cast< Qt::Orientation(*)>(_a[3])),(*reinterpret_cast< const QStyleOption*(*)>(_a[4])),(*reinterpret_cast< const QWidget*(*)>(_a[5]))); if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; } break; case 4: { int _r = layoutSpacingImplementation((*reinterpret_cast< QSizePolicy::ControlType(*)>(_a[1])),(*reinterpret_cast< QSizePolicy::ControlType(*)>(_a[2])),(*reinterpret_cast< Qt::Orientation(*)>(_a[3])),(*reinterpret_cast< const QStyleOption*(*)>(_a[4]))); if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; } break; case 5: { int _r = layoutSpacingImplementation((*reinterpret_cast< QSizePolicy::ControlType(*)>(_a[1])),(*reinterpret_cast< QSizePolicy::ControlType(*)>(_a[2])),(*reinterpret_cast< Qt::Orientation(*)>(_a[3]))); if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; } break; case 6: widgetDestroyed((*reinterpret_cast< QObject*(*)>(_a[1]))); break; default: ; } _id -= 7; } return _id; }
void RealplotWrapper::createWidgetSlot() { widget_ = new RealWidget; destroyed_ = false; widget_->setAttribute(Qt::WA_DeleteOnClose, true); connect(widget_, SIGNAL( destroyed() ), this, SLOT( widgetDestroyed() )); connect(this, SIGNAL(addToWindowSignal(QString, int, int)), this, SLOT(addToWindowSlot(QString, int, int))); connect(this, SIGNAL(setWidgetTitle(QString)), widget_, SLOT(setWidgetTitle(QString))); connect(this, SIGNAL(setWidgetAxisLabels(QString, QString)), widget_, SLOT(setWidgetAxisLabels(QString, QString))); connect(this, SIGNAL(setWidgetXAxisScale(double,double)), widget_, SLOT(setWidgetXAxisScale(double,double))); connect(this, SIGNAL(setWidgetYAxisScale(double,double)), widget_, SLOT(setWidgetYAxisScale(double,double))); connect(this, SIGNAL(setWidgetXAxisAutoScale(bool)), widget_, SLOT(setWidgetXAxisAutoScale(bool))); connect(this, SIGNAL(setWidgetYAxisAutoScale(bool)), widget_, SLOT(setWidgetYAxisAutoScale(bool))); connect(this, SIGNAL(setWidgetXAxisRange(double,double)), widget_, SLOT(setWidgetXAxisRange(double,double))); widget_->resize( 800, 600 ); widget_->show(); }
bool Layout::qt_invoke( int _id, QUObject* _o ) { switch ( _id - staticMetaObject()->slotOffset() ) { case 0: widgetDestroyed(); break; default: return QObject::qt_invoke( _id, _o ); } return TRUE; }
void SWidgetPreview::setWidget( QWidget *widget ) { if( p->widget ) disconnect( p->widget , SIGNAL(destroyed()) , this , SLOT(widgetDestroyed()) ); if( !widget ) { setMonitoring( 0 ); p->pixmap = QPixmap(); p->widget = widget; update(); return; } p->widget = widget; connect( p->widget , SIGNAL(destroyed()) , this , SLOT(widgetDestroyed()) ); timerEvent( 0 ); setMonitoring( p->monitoring ); }
void TaskbarPreviews::TabsList::insert(QWidget *internal, QWidget *userTab, QWidget *tabOwner, PreviewProvider *pp) { TaskbarPreviews::_tab t; connect(userTab, SIGNAL(destroyed()), TaskbarPreviews::instance(), SLOT(widgetDestroyed())); t.internalTabWidget = internal; t.userTabWidget = userTab; t.userTabOwner = tabOwner; t.tabHandle = reinterpret_cast<HWND>(internal->winId()); t.pp = pp; QList<_tab>::insert(0, t); }
void Layout::setup() { startPoint = QPoint( 32767, 32767 ); QValueList<QWidgetList> lists; QWidget *lastParent = 0; QWidgetList *lastList = 0; QWidget *w = 0; // Go through all widgets of the list we got. As we can only // layout widgets which have the same parent, we first do some // sorting which means create a list for each parent containing // its child here. After that we keep working on the list of // childs which has the most entries. // Widgets which are already laid out are thrown away here too for ( w = widgets.first(); w; w = widgets.next() ) { if ( w->parentWidget() && WidgetFactory::layoutType( w->parentWidget() ) != WidgetFactory::NoLayout ) continue; if ( lastParent != w->parentWidget() ) { lastList = 0; lastParent = w->parentWidget(); QValueList<QWidgetList>::Iterator it = lists.begin(); for ( ; it != lists.end(); ++it ) { if ( ( *it ).first()->parentWidget() == w->parentWidget() ) lastList = &( *it ); } if ( !lastList ) { QWidgetList l; l.setAutoDelete( FALSE ); lists.append( l ); lastList = &lists.last(); } } lastList->append( w ); } // So, now find the list with the most entries lastList = 0; QValueList<QWidgetList>::Iterator it = lists.begin(); for ( ; it != lists.end(); ++it ) { if ( !lastList || ( *it ).count() > lastList->count() ) lastList = &( *it ); } // If we found no list (because no widget did fit at all) or the // best list has only one entry and we do not layout a container, // we leave here. if ( !lastList || ( lastList->count() < 2 && ( !layoutBase || ( !WidgetDatabase::isContainer( WidgetDatabase::idFromClassName( WidgetFactory::classNameOf( layoutBase ) ) ) && layoutBase != formWindow->mainContainer() ) ) ) ) { widgets.clear(); startPoint = QPoint( 0, 0 ); return; } // Now we have a new and clean widget list, which makes sense // to layout widgets = *lastList; // Also use the only correct parent later, so store it parent = WidgetFactory::widgetOfContainer( widgets.first()->parentWidget() ); // Now calculate the position where the layout-meta-widget should // be placed and connect to widgetDestroyed() signals of the // widgets to get informed if one gets deleted to be able to // handle that and do not crash in this case for ( w = widgets.first(); w; w = widgets.next() ) { connect( w, SIGNAL( destroyed() ), this, SLOT( widgetDestroyed() ) ); startPoint = QPoint( QMIN( startPoint.x(), w->x() ), QMIN( startPoint.y(), w->y() ) ); geometries.insert( w, QRect( w->pos(), w->size() ) ); // Change the Z-order, as saving/loading uses the Z-order for // writing/creating widgets and this has to be the same as in // the layout. Else saving + loading will give different results w->raise(); } }