86QString QDesignerMemberSheet::declaredInClass(
int index)
const
88 const QString member = d->m_meta->method(index)->signature();
91 const QDesignerMetaObjectInterface *meta_obj = d->m_meta;
94 const QDesignerMetaObjectInterface *tmp = meta_obj->superClass();
97 if (tmp->indexOfMethod(member) == -1)
101 return meta_obj->className();
119bool QDesignerMemberSheet::isVisible(
int index)
const
121 const auto it = d->m_info.constFind(index);
122 if (it != d->m_info.constEnd())
123 return it.value().visible;
125 return d->m_meta->method(index)->methodType() == QDesignerMetaMethodInterface::Signal
126 || d->m_meta->method(index)->access() == QDesignerMetaMethodInterface::Public;
160bool QDesignerMemberSheet::signalMatchesSlot(
const QString &signal,
const QString &slot)
165 qsizetype signal_idx = signal.indexOf(u'(');
166 qsizetype slot_idx = slot.indexOf(u'(');
167 if (signal_idx == -1 || slot_idx == -1)
170 ++signal_idx; ++slot_idx;
172 if (slot.at(slot_idx) == u')')
175 while (signal_idx < signal.size() && slot_idx < slot.size()) {
176 const QChar signal_c = signal.at(signal_idx);
177 const QChar slot_c = slot.at(slot_idx);
179 if (signal_c == u',' && slot_c == u')')
182 if (signal_c == u')' && slot_c == u')')
185 if (signal_c != slot_c) {
190 ++signal_idx; ++slot_idx;
204QObject *QDesignerMemberSheetFactory::createExtension(QObject *object,
const QString &iid, QObject *parent)
const
206 if (iid == Q_TYPEID(QDesignerMemberSheetExtension)) {
207 return new QDesignerMemberSheet(object, parent);