本文整理汇总了C++中WContainerWidget::widget方法的典型用法代码示例。如果您正苦于以下问题:C++ WContainerWidget::widget方法的具体用法?C++ WContainerWidget::widget怎么用?C++ WContainerWidget::widget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WContainerWidget
的用法示例。
在下文中一共展示了WContainerWidget::widget方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: modelDataChanged
void WSuggestionPopup::modelDataChanged(const WModelIndex& topLeft,
const WModelIndex& bottomRight)
{
if (topLeft.parent().isValid())
return;
if (modelColumn_ < topLeft.column() || modelColumn_ > bottomRight.column())
return;
for (int i = topLeft.row(); i <= bottomRight.row(); ++i) {
WContainerWidget *w = dynamic_cast<WContainerWidget *>(impl_->widget(i));
WAnchor *anchor = dynamic_cast<WAnchor *>(w->widget(0));
WText *value = dynamic_cast<WText *>(anchor->widget(0));
WModelIndex index = model_->index(i, modelColumn_);
boost::any d = index.data();
value->setText(asString(d));
TextFormat format = index.flags() & ItemIsXHTMLText ? XHTMLText : PlainText;
value->setTextFormat(format);
boost::any d2 = model_->data(i, modelColumn_, UserRole);
if (d2.empty())
d2 = d;
value->setAttributeValue("sug", asString(d2));
}
}
示例2:
WWidget *WToolBar::widget(int index) const
{
if (compact_)
return impl_->widget(index);
else {
int current = 0;
for (int i = 0; i < impl_->count(); ++i) {
WWidget *w = impl_->widget(i);
if (dynamic_cast<WSplitButton *>(w)) {
if (index == current)
return w;
++current;
} else {
WContainerWidget *group = dynamic_cast<WContainerWidget *>(w);
if (index < current + group->count())
return group->widget(index - current);
current += group->count();
}
}
return 0;
}
}
示例3: setEditState
void WItemDelegate::setEditState(WWidget *editor, const boost::any& value) const
{
WContainerWidget *w = dynamic_cast<WContainerWidget *>(editor);
WLineEdit *lineEdit = dynamic_cast<WLineEdit *>(w->widget(0));
lineEdit->setText(boost::any_cast<WT_USTRING>(value));
}
示例4: editState
boost::any WItemDelegate::editState(WWidget *editor) const
{
WContainerWidget *w = dynamic_cast<WContainerWidget *>(editor);
WLineEdit *lineEdit = dynamic_cast<WLineEdit *>(w->widget(0));
return boost::any(lineEdit->text());
}
示例5: updateItemWidget
void WSubMenuItem::updateItemWidget(WWidget *itemWidget)
{
if (subMenu_) {
WContainerWidget *contents = dynamic_cast<WContainerWidget *>(itemWidget);
WWidget *anchor = contents->widget(0);
WMenuItem::updateItemWidget(anchor);
} else
WMenuItem::updateItemWidget(itemWidget);
}
示例6: activateSignal
SignalBase& WSubMenuItem::activateSignal()
{
if (subMenu_) {
WContainerWidget *contents = dynamic_cast<WContainerWidget *>(itemWidget());
WInteractWidget *wi = dynamic_cast<WInteractWidget *>
(contents->widget(0)->webWidget());
return wi->clicked();
} else
return WMenuItem::activateSignal();
}
示例7: WAnchor
WAnchor *WItemDelegate::anchorWidget(WidgetRef& w)
{
WAnchor *anchor = dynamic_cast<WAnchor *>(w.w->find("a"));
if (anchor)
return anchor;
anchor = new WAnchor();
anchor->setObjectName("a");
WContainerWidget *wc = dynamic_cast<WContainerWidget *>(w.w->find("o"));
if (wc) {
/*
* Convert (2) -> (4)
*/
int firstToMove = 0;
WCheckBox *cb = dynamic_cast<WCheckBox *>(wc->widget(0));
if (cb)
firstToMove = 1;
wc->insertWidget(firstToMove, anchor);
while (wc->count() > firstToMove + 1) {
WWidget *c = wc->widget(firstToMove + 1);
wc->removeWidget(c);
anchor->addWidget(c);
}
} else {
/*
* Convert (1) -> (3)
*/
anchor->addWidget(w.w);
w.w = anchor;
}
return anchor;
}
示例8: modelDataChanged
void WSuggestionPopup::modelDataChanged(const WModelIndex& topLeft,
const WModelIndex& bottomRight)
{
if (topLeft.parent().isValid())
return;
if (modelColumn_ < topLeft.column() || modelColumn_ > bottomRight.column())
return;
for (int i = topLeft.row(); i <= bottomRight.row(); ++i) {
WContainerWidget *w = dynamic_cast<WContainerWidget *>(content_->widget(i));
WText *value = dynamic_cast<WText *>(w->widget(0));
boost::any d = model_->data(i, modelColumn_);
value->setText(asString(d));
boost::any d2 = model_->data(i, modelColumn_, UserRole);
if (d2.empty())
d2 = d;
value->setAttributeValue("sug", asString(d2));
}
}