Example #1
0
int QTreeWidgetItemProto::childIndicatorPolicy()	        const
{
  QTreeWidgetItem *item = qscriptvalue_cast<QTreeWidgetItem*>(thisObject());
  if (item)
    return item->childIndicatorPolicy();
  return 0;
}
Example #2
0
    void BsonTreeWidget::contextMenuEvent(QContextMenuEvent *event)
    {
        QTreeWidgetItem *item = itemAt(event->pos());
        BsonTreeItem *documentItem = dynamic_cast<BsonTreeItem *>(item);

        bool isEditable = _queryInfo.isNull ? false : true;
        bool onItem = documentItem ? true : false;
        bool isSimple = documentItem ? (documentItem->isSimpleType() || documentItem->isUuidType()) : false;

        QMenu menu(this);
        if (item && item->childIndicatorPolicy() == QTreeWidgetItem::ShowIndicator) {
            menu.addAction(_expandRecursive);
            menu.addSeparator();
        }
        if (onItem && isEditable) menu.addAction(_editDocumentAction);
        if (onItem)               menu.addAction(_viewDocumentAction);
        if (isEditable)           menu.addAction(_insertDocumentAction);
        if (onItem && isSimple)   menu.addSeparator();
        if (onItem && isSimple)   menu.addAction(_copyValueAction);
        if (onItem && isEditable) menu.addSeparator();
        if (onItem && isEditable) menu.addAction(_deleteDocumentAction);

        QPoint menuPoint = mapToGlobal(event->pos());
        menuPoint.setY(menuPoint.y() + header()->height());
        menu.exec(menuPoint);
    }
Example #3
0
 void BsonTreeWidget::expandNode(QTreeWidgetItem *item)
 {
     if(item){
         ui_itemExpanded(item);
         item->setExpanded(true);
         for(int i = 0;i<item->childCount();++i){
             QTreeWidgetItem *tritem = item->child(i);
             if(tritem&&tritem->childIndicatorPolicy()==QTreeWidgetItem::ShowIndicator){
                 expandNode(tritem);
             }
         }
     }
 }