本文整理汇总了C++中WContainerWidget::insertWidget方法的典型用法代码示例。如果您正苦于以下问题:C++ WContainerWidget::insertWidget方法的具体用法?C++ WContainerWidget::insertWidget怎么用?C++ WContainerWidget::insertWidget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WContainerWidget
的用法示例。
在下文中一共展示了WContainerWidget::insertWidget方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: WContainerWidget
WImage *WItemDelegate::iconWidget(WidgetRef& w, bool autoCreate)
{
WImage *image = dynamic_cast<WImage *>(w.w->find("i"));
if (image || !autoCreate)
return image;
WContainerWidget *wc = dynamic_cast<WContainerWidget *>(w.w->find("a"));
if (!wc)
wc = dynamic_cast<WContainerWidget *>(w.w->find("o"));
if (!wc) {
wc = new WContainerWidget();
wc->setObjectName("o");
wc->addWidget(w.w);
w.w = wc;
}
image = new WImage();
image->setObjectName("i");
image->setStyleClass("icon");
wc->insertWidget(wc->count() - 1, image);
// IE does not want to center vertically without this:
if (wApp->environment().agentIsIE()) {
WImage *inv = new WImage(wApp->onePixelGifUrl());
inv->setStyleClass("rh w0 icon");
inv->resize(0, WLength::Auto);
wc->insertWidget(wc->count() -1, inv);
}
return image;
}
示例2: reply
void CommentView::reply()
{
dbo::Transaction t(session_);
WContainerWidget *c = resolve<WContainerWidget *>("children");
c->insertWidget(0, new CommentView(session_, comment_.id()));
t.commit();
}
示例3: IndexCheckBox
IndexCheckBox *WItemDelegate::checkBox(WidgetRef& w, const WModelIndex& index,
bool autoCreate, bool triState)
{
IndexCheckBox *checkBox = dynamic_cast<IndexCheckBox *>(w.w->find("c"));
if (!checkBox) {
if (autoCreate) {
IndexCheckBox * const result = checkBox = new IndexCheckBox(index);
checkBox->setObjectName("c");
checkBox->clicked().preventPropagation();
WContainerWidget *wc = dynamic_cast<WContainerWidget *>(w.w->find("o"));
if (!wc) {
wc = new WContainerWidget();
wc->setObjectName("o");
w.w->setInline(true);
w.w->setStyleClass(WString::Empty);
/* We first remove to avoid reparenting warnings */
WContainerWidget *p = dynamic_cast<WContainerWidget *>(w.w->parent());
if (p)
p->removeWidget(w.w);
wc->addWidget(w.w);
w.w = wc;
}
wc->insertWidget(0, checkBox);
checkBox->changed().connect
(boost::bind(&WItemDelegate::onCheckedChange, this, result));
} else
return 0;
}
checkBox->setTristate(triState);
return checkBox;
}
示例4: 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;
}