//=============================================================================
void sstQt01PathPaintWidgetCls::mouseReleaseEvent(QMouseEvent *event)
{
    if (event->button() == Qt::LeftButton && iItemInMotionIndex > 0)
    {
        moveItemTo(event->pos());
        this->oPathStorage->addPosition(this->iActualItemIndex);
        iItemInMotionIndex = 0;
        sstQt01ShapeItem oShapeItem;
        // dREC04RECNUMTYP dExtId = this->oPathStorage->getExternId(this->iActualItemIndex);
        oShapeItem = this->oPathStorage->getShapeItem(this->iActualItemIndex);
        oShapeItem.updatePosition();
        emit sstPathMoveReleaseSgnl(oShapeItem);
//        sstQt01MapSignalCls oMapChangedSignal;
//        oMapChangedSignal.setExternTypeStr(oShapeItem.getExternStr());
//        oMapChangedSignal.setExternTypeTabRecNo( oShapeItem.getExternId());
//        oMapChangedSignal.setShapeItemListRecNo( this->iActualItemIndex);
//        emit sstExtPathMoveReleaseSgnl(oMapChangedSignal);
    }
}
QModelIndex UIBootTable::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
{
    if (modifiers.testFlag(Qt::ControlModifier))
    {
        switch (cursorAction)
        {
        case QAbstractItemView::MoveUp:
        {
            QModelIndex index = currentIndex();
            return moveItemTo(index, index.row() - 1);
        }
        case QAbstractItemView::MoveDown:
        {
            QModelIndex index = currentIndex();
            return moveItemTo(index, index.row() + 2);
        }
        case QAbstractItemView::MovePageUp:
        {
            QModelIndex index = currentIndex();
            return moveItemTo(index, qMax(0, index.row() - verticalScrollBar()->pageStep()));
        }
        case QAbstractItemView::MovePageDown:
        {
            QModelIndex index = currentIndex();
            return moveItemTo(index, qMin(model()->rowCount(), index.row() + verticalScrollBar()->pageStep() + 1));
        }
        case QAbstractItemView::MoveHome:
            return moveItemTo(currentIndex(), 0);
        case QAbstractItemView::MoveEnd:
            return moveItemTo(currentIndex(), model()->rowCount());
        default:
            break;
        }
    }
    return QListWidget::moveCursor(cursorAction, modifiers);
}
void UIBootTable::sltMoveItemUp()
{
    QModelIndex index = currentIndex();
    moveItemTo(index, index.row() - 1);
}
//=============================================================================
void sstQt01PathPaintWidgetCls::mouseMoveEvent(QMouseEvent *event)
{
    if ((event->buttons() & Qt::LeftButton) && iItemInMotionIndex > 0)
        moveItemTo(event->pos());
}