85QString QDesignerMemberSheet::declaredInClass(
int index)
const
87 const QString member = d->m_meta->method(index)->signature();
90 const QDesignerMetaObjectInterface *meta_obj = d->m_meta;
93 const QDesignerMetaObjectInterface *tmp = meta_obj->superClass();
96 if (tmp->indexOfMethod(member) == -1)
100 return meta_obj->className();
118bool QDesignerMemberSheet::isVisible(
int index)
const
120 const auto it = d->m_info.constFind(index);
121 if (it != d->m_info.constEnd())
122 return it.value().visible;
124 return d->m_meta->method(index)->methodType() == QDesignerMetaMethodInterface::Signal
125 || d->m_meta->method(index)->access() == QDesignerMetaMethodInterface::Public;
159bool QDesignerMemberSheet::signalMatchesSlot(
const QString &signal,
const QString &slot)
164 qsizetype signal_idx = signal.indexOf(u'(');
165 qsizetype slot_idx = slot.indexOf(u'(');
166 if (signal_idx == -1 || slot_idx == -1)
169 ++signal_idx; ++slot_idx;
171 if (slot.at(slot_idx) == u')')
174 while (signal_idx < signal.size() && slot_idx < slot.size()) {
175 const QChar signal_c = signal.at(signal_idx);
176 const QChar slot_c = slot.at(slot_idx);
178 if (signal_c == u',' && slot_c == u')')
181 if (signal_c == u')' && slot_c == u')')
184 if (signal_c != slot_c) {
189 ++signal_idx; ++slot_idx;
203QObject *QDesignerMemberSheetFactory::createExtension(QObject *object,
const QString &iid, QObject *parent)
const
205 if (iid == Q_TYPEID(QDesignerMemberSheetExtension)) {
206 return new QDesignerMemberSheet(object, parent);