Example #1
0
void DlgCustomKeyboardImp::onModifyMacroAction(const QByteArray& macro)
{
    QVariant data = categoryBox->itemData(categoryBox->currentIndex(), Qt::UserRole);
    QString group = data.toString();
    if (group == QLatin1String("Macros"))
    {
        CommandManager & cCmdMgr = Application::Instance->commandManager();
        Command* pCmd = cCmdMgr.getCommandByName(macro);
        for (int i=0; i<commandTreeWidget->topLevelItemCount(); i++) {
            QTreeWidgetItem* item = commandTreeWidget->topLevelItem(i);
            QByteArray command = item->data(1, Qt::UserRole).toByteArray();
            if (command == macro) {
                item->setText(1, QString::fromUtf8(pCmd->getMenuText()));
                item->setToolTip(1, QString::fromUtf8(pCmd->getToolTipText()));
                item->setData(1, Qt::UserRole, macro);
                item->setSizeHint(0, QSize(32, 32));
                item->setBackgroundColor(0, Qt::lightGray);
                if (pCmd->getPixmap())
                    item->setIcon(0, BitmapFactory().iconFromTheme(pCmd->getPixmap()));
                if (commandTreeWidget->isItemSelected(item))
                    textLabelDescription->setText(item->toolTip(1));
                break;
            }
        }
    }
}
Example #2
0
QString QTreeWidgetItemProto::toolTip(int column)	        const
{
  QTreeWidgetItem *item = qscriptvalue_cast<QTreeWidgetItem*>(thisObject());
  if (item)
    return item->toolTip(column);
  return QString();
}
Example #3
0
QString ImportOptionsDlg::getCurrentFile() const
{
   QString filename;

   map<ImportDescriptor*, QTreeWidgetItem*>::const_iterator iter = mDatasets.find(mpCurrentDataset);
   if (iter != mDatasets.end())
   {
      QTreeWidgetItem* pDatasetItem = iter->second;
      if (pDatasetItem != NULL)
      {
         QTreeWidgetItem* pFileItem = pDatasetItem->parent();
         if (pFileItem != NULL)
         {
            filename = pFileItem->toolTip(0);
         }
      }
   }

   return filename;
}
void
ShowParameters::OnShow()
{
  m_ui->treeWidget->clear();
  for( int i = 0; i < mrParamList.Size(); ++i )
  {
    const HierarchicalLabel& path = mrParamList[i].Sections();
    QTreeWidgetItem* pParent = m_ui->treeWidget->invisibleRootItem();
    for( size_t j = 0; j < min( cMaxTreeDepth - 1, path.size() ); ++j )
    {
      int c = 0;
      while( c < pParent->childCount() )
      {
        if( pParent->child( c )->text( 0 ) == path[j].c_str() )
          break;
        else
          ++c;
      }
      if( c < pParent->childCount() )
      {
        pParent = pParent->child( c );
      }
      else
      {
        pParent = new QTreeWidgetItem( pParent, QStringList( path[j].c_str() ) );
        pParent->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsTristate | Qt::ItemIsEnabled );
        pParent->setCheckState( 0, Qt::PartiallyChecked );
        AdjustSize( pParent, cTextMargin );
      }
    }
    const char* pName = mrParamList[i].Name().c_str();
    QTreeWidgetItem* pItem = new QTreeWidgetItem( pParent, QStringList( pName ) );
    pItem->setToolTip( 0, QString::fromLocal8Bit( mrParamList[i].Comment().c_str() ) );
    pItem->setWhatsThis( 0, pItem->toolTip( 0 ) );
    pItem->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsEnabled );
    pItem->setCheckState( 0, OperatorUtils::GetFilterStatus( pName, mFilterType ) ? Qt::Unchecked : Qt::Checked );
    AdjustSize( pItem, cTextMargin );
  }
  m_ui->treeWidget->resizeColumnToContents( 0 );
  mChanged = false;
}
Example #5
0
void MainWindow::updateTreeListData()
{
    entitySelector->clear();

    for(int i = 0; i < g_entitylist.size(); ++i) {
        QTreeWidgetItem* item = new QTreeWidgetItem(entitySelector);
        item->setText(0, g_entitylist.at(i).mName);
        item->setText(2, QString::number(i));
        switch(g_entitylist.at(i).typeId()) {
        case ENTITY_ENEMY:
            item->setText(1, tr("Inimigo"));
            item->setToolTip(0,
                             "<table>" +
                             QString("<tr><td><b>HP:</b></td>     <td>%1</td></tr>"
                                     "<tr><td><b>MP:</b></td>     <td>%2</td></tr>"
                                     "<tr><td><b>Ataque:</b></td> <td>%3</td></tr>"
                                     "<tr><td><b>Defesa:</b></td> <td>%4</td></tr>"
                                     "<tr><td><b>Range:</b></td>  <td>%5</td></tr>"
                                     "<tr><td><b>Delay:</b></td>  <td>%6</td></tr>"
                                     )
                                .arg(g_entitylist.at(i).mHp).arg(g_entitylist.at(i).mMp)
                                .arg(g_entitylist.at(i).mAtk).arg(g_entitylist.at(i).mDef)
                                .arg(g_entitylist.at(i).mRange).arg(g_entitylist.at(i).mDelay)+
                             "</table>"
                             );
            item->setToolTip(1, item->toolTip(0));

            break;
        case ENTITY_ITEM:
            item->setText(1, tr("Item"));
            item->setToolTip(0,
                             "<table>" +
                             QString("<tr><td><b>HP:</b></td>     <td>%1</td></tr>"
                                     "<tr><td><b>MP:</b></td>     <td>%2</td></tr>"
                                     "<tr><td><b>Ataque:</b></td> <td>%3</td></tr>"
                                     "<tr><td><b>Defesa:</b></td> <td>%4</td></tr>"
                                     )
                                .arg(g_entitylist.at(i).mHp).arg(g_entitylist.at(i).mMp)
                                .arg(g_entitylist.at(i).mAtk).arg(g_entitylist.at(i).mDef) +
                             "</table>"
                             );
            item->setToolTip(1, item->toolTip(0));
            break;
        case ENTITY_GOLD:
            item->setText(1, tr("Dinheiro"));
            item->setToolTip(0,
                             "<table>" +
                             QString("<tr><td><b>Gold:</b></td>     <td>%1</td></tr>"
                                     )
                                .arg(g_entitylist.at(i).mGold)+
                             "</table>"
                             );
            item->setToolTip(1, item->toolTip(0));
            break;
        default:
            item->setText(1, tr("Indefinido"));
        }
//        item->setToolTip(0,
//                     "<html>"
//                     "<div style=\"32px; height: 32px; overflow: hidden;\">"
//                        "<img src='data/chars.png' style=\"position: absolute; left:-37px;\"/>"
//                     "</div>"
//                     "</html>");
    }
}
Example #6
0
bool KrTreeWidget::event(QEvent * event)
{
    switch (event->type()) {
        // HACK: QT 4 Context menu key isn't handled properly
    case QEvent::ContextMenu: {
        QContextMenuEvent* ce = (QContextMenuEvent*) event;

        if (ce->reason() == QContextMenuEvent::Mouse) {
            QPoint pos = viewport()->mapFromGlobal(ce->globalPos());

            QTreeWidgetItem * item = itemAt(pos);
            int column = columnAt(pos.x());

            emit itemRightClicked(item, ce->globalPos(), column);
            return true;
        } else {
            if (currentItem()) {
                QRect r = visualItemRect(currentItem());
                QPoint p = viewport()->mapToGlobal(QPoint(r.x() + 5, r.y() + 5));

                emit itemRightClicked(currentItem(), p, currentColumn());
                return true;
            }
        }
    }
    break;
    case QEvent::KeyPress: {
        // HACK: QT 4 Ctrl+A bug fix: Ctrl+A doesn't work if QTreeWidget contains parent / child items
        //       Insert doesn't change the selections for multi selection modes
        QKeyEvent* ke = (QKeyEvent*) event;
        switch (ke->key()) {
        case Qt::Key_Insert: {
            if (ke->modifiers() != 0)
                break;

            QAbstractItemView::SelectionMode mode = selectionMode();

            if (mode != QAbstractItemView::ContiguousSelection && mode != QAbstractItemView::ExtendedSelection &&
                    mode != QAbstractItemView::MultiSelection)
                break;

            ke->accept();

            if (currentItem() == 0)
                return true;

            currentItem()->setSelected(!currentItem()->isSelected());
            return true;
        }
        case Qt::Key_A:
            if (ke->modifiers() == Qt::ControlModifier) {
                QAbstractItemView::SelectionMode mode = selectionMode();

                if (mode == QAbstractItemView::ContiguousSelection || mode == QAbstractItemView::ExtendedSelection ||
                        mode == QAbstractItemView::MultiSelection) {
                    selectAll();
                    ke->accept();
                    return true;
                }
            }
            break;
        default:
            break;
        }
    }
    break;
    case QEvent::Resize: {
        QResizeEvent * re = (QResizeEvent *)event;
        if (!_inResize && re->oldSize() != re->size()) {
            if (_stretchingColumn != -1 && columnCount()) {
                QList< int > columnsSizes;
                int oldSize = 0;

                for (int i = 0; i != header()->count(); i++) {
                    columnsSizes.append(header()->sectionSize(i));
                    oldSize += header()->sectionSize(i);
                }

                bool res = QTreeWidget::event(event);

                int newSize = viewport()->width();
                int delta = newSize - oldSize;

                if (delta) {
                    _inResize = true;

                    for (int i = 0; i != header()->count(); i++) {
                        if (i == _stretchingColumn) {
                            int newNs = columnsSizes[ i ] + delta;
                            if (newNs < 8)
                                newNs = 8;
                            header()->resizeSection(i, newNs);
                        } else if (header()->sectionSize(i) != columnsSizes[ i ]) {
                            header()->resizeSection(i, columnsSizes[ i ]);
                        }
                    }
                    _inResize = false;
                }
                return res;
            }
        }
        break;
    }
    case QEvent::ToolTip: {
        QHelpEvent *he = static_cast<QHelpEvent*>(event);

        if (viewport()) {
            QPoint pos = viewport()->mapFromGlobal(he->globalPos());

            QTreeWidgetItem * item = itemAt(pos);

            int column = columnAt(pos.x());

            if (item) {
                if (!item->toolTip(column).isEmpty())
                    break;

                QString tip = item->text(column);

                int textMargin = QApplication::style()->pixelMetric(QStyle::PM_FocusFrameHMargin) + 1;
                int requiredWidth = QFontMetrics(font()).width(tip) + 2 * textMargin;

                if (column == 0 && indentation()) {
                    int level = 0;

                    QTreeWidgetItem *parent = item;

                    while ((parent = parent->parent()))
                        level++;

                    if (rootIsDecorated())
                        level++;

                    requiredWidth += level * indentation();
                }

                QIcon icon = item->icon(column);
                if (!icon.isNull()) {
                    QStyleOptionViewItem opts = viewOptions();
                    QSize iconSize = icon.actualSize(opts.decorationSize);
                    requiredWidth += iconSize.width();

                    int pixmapMargin = QApplication::style()->pixelMetric(QStyle::PM_FocusFrameHMargin, 0, this) + 1;
                    requiredWidth += 2 * pixmapMargin;
                }

                if (!tip.isEmpty() && (columnWidth(column) < requiredWidth))
                    QToolTip::showText(he->globalPos(), tip, this);
                return true;
            }
        }
    }
    break;
    default:
        break;
    }
    return QTreeWidget::event(event);
}