//=============================================================
//=============================================================
void CC3DCircleListLayer::ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent)
{
    if(!isVisible())
    {
        return ;
    }
    
    CCNode* fatherNode = getParent();
    if(!fatherNode)
        return ;
    
    CCPoint touchPointInWorld = pTouch->getLocation();
    CCPoint prePointInWorld = pTouch->getPreviousLocation();
    m_fLastMoveDis = touchPointInWorld.x - prePointInWorld.x;
    
    CCRect  selfRect = boundingBox();
    CCPoint selfOriginInWorld = fatherNode->convertToWorldSpace(selfRect.origin);
    CCRect selfRectInWorld = CCRectMake(selfOriginInWorld.x,selfOriginInWorld.y,selfRect.size.width,selfRect.size.height);
    if(selfRectInWorld.containsPoint(touchPointInWorld) == false)
    {
        touchEnd();
        return;
    }
    refreshItem(m_fLastMoveDis);
}
void UIVMItemModel::insertItem(UIVMItem *pItem, int row)
{
    Assert(pItem);
    beginInsertRows(QModelIndex(), row, row);
    m_VMItemList.insert(row, pItem);
    endInsertRows();
    refreshItem(pItem);
}
Exemple #3
0
/**
 * Received from server when a NickInfo changes its information.
 */
void NicksOnline::slotNickInfoChanged(Server* server, const NickInfoPtr nickInfo)
{
    if (!nickInfo) return;
    QString nickname = nickInfo->getNickname();

    if (!server) return;
    QString serverName = server->getServerName();
    QListViewItem* item = getServerAndNickItem(serverName, nickname);
    refreshItem(item);
}
/*!
  \brief 清除曲线 \a curveName 以及数据
  \sa ZCurveView::clearAllCurve()
  */
void PSV_ChartItem::clearCurve(const QString &curveName)
{
    if(curveName.isEmpty())
    {
        return;
    }
    if(m_curveDataMap.contains(curveName))
    {
        m_curveDataMap.remove(curveName);
        //        m_staLabelItemMap.remove(curveName);
        //        m_hideCurveNameList.removeOne(curveName);
        //        updataView();
        refreshItem();
    }
}
//=============================================================
//=============================================================
void CC3DCircleListLayer::updateItemPos(float dt)
{
    if(m_bDraging)
	{
		unschedule(schedule_selector(CC3DCircleListLayer::updateItemPos));
        m_fLastMoveDis = 0;
		return;
	}
    m_fLastMoveDis = m_fLastMoveDis * m_fDeacceleratePercent * m_fDeacceleratePercent;
    
    if(fabsf(m_fLastMoveDis) < 0.01)
    {
        unschedule(schedule_selector(CC3DCircleListLayer::updateItemPos));
        m_fLastMoveDis = 0;
        endUpdateToCenter();
        return;
    }
    refreshItem(m_fLastMoveDis);
}
Exemple #6
0
DialogViewConfigurationItem::DialogViewConfigurationItem(QListWidget *parent, QString id, bool shown, QString name, int splitted, const QString& iconName) :
   QListWidgetItem(parent), _id(id), _shown(shown), _name(name), _splitted(splitted), _iconName(iconName)
{
  refreshItem();
}
Exemple #7
0
DialogViewConfigurationItem::DialogViewConfigurationItem(QListWidget *parent) :
  QListWidgetItem(parent)
{
   kDebug() << "DialogViewConfigurationItem() default constructor";
   refreshItem();
}
Exemple #8
0
/**
 * Perform an addressbook command (edit contact, create new contact,
 * change/delete association.)
 * @param id                The command id.  @ref CommandIDs.
 *
 * The operation is performed on the nickname at the currently-selected item in
 * the nicklistview.
 *
 * Also refreshes the nicklistview display to reflect the new addressbook state
 * for the nick.
 */
void NicksOnline::doCommand(int id)
{
    if(id < 0)
    {
        return;
    }

    QString serverName;
    QString nickname;
    QListViewItem* item = m_nickListView->selectedItem();

    if(!getItemServerAndNick(item, serverName, nickname))
    {
        return;
    }

    // Get the server object corresponding to the server name.
    Server* server = KonversationApplication::instance()->getConnectionManager()->getServerByName(serverName);

    if (!server) return;

    // Get NickInfo object corresponding to the nickname.
    NickInfoPtr nickInfo = server->getNickInfo(nickname);
    // Get addressbook entry for the nick.
    KABC::Addressee addressee;

    if(nickInfo)
    {
        addressee = nickInfo->getAddressee();
    }
    else
    {
        addressee = server->getOfflineNickAddressee(nickname);
    }

    switch(id)
    {
    case ciSendEmail:
        Konversation::Addressbook::self()->sendEmail(addressee);
        return;                               //no need to refresh item
    case ciAddressbookEdit:
        Konversation::Addressbook::self()->editAddressee(addressee.uid());
        return;                               //no need to refresh item - nickinfo changed will be called anyway.
    case ciAddressbookChange:
        if(nickInfo)
        {
            nickInfo->showLinkAddressbookUI();
        }
        else
        {
            LinkAddressbookUI *linkaddressbookui = new LinkAddressbookUI(server->getViewContainer()->getWindow(), NULL, nickname, server->getServerName(), server->getDisplayName(), addressee.realName());
            linkaddressbookui->show();
        }
        break;
    case ciAddressbookNew:
    case ciAddressbookDelete:
    {
        Konversation::Addressbook *addressbook = Konversation::Addressbook::self();

        if(addressbook && addressbook->getAndCheckTicket())
        {
            if(id == ciAddressbookDelete)
            {
                if (addressee.isEmpty())
                {
                    return;
                }

                addressbook->unassociateNick(addressee, nickname, server->getServerName(), server->getDisplayName());
            }
            else
            {
                addressee.setGivenName(nickname);
                addressee.setNickName(nickname);
                addressbook->associateNickAndUnassociateFromEveryoneElse(addressee, nickname, server->getServerName(), server->getDisplayName());
            }
            if(addressbook->saveTicket())
            {
                //saveTicket will refresh the addressees for us.
                if(id == ciAddressbookNew)
                {
                    Konversation::Addressbook::self()->editAddressee(addressee.uid());
                }
            }
        }
        break;
    }
    case ciJoinChannel:
    {
        // only join real channels
        if (static_cast<NicksOnlineItem*>(m_nickListView->selectedItem())->type() == NicksOnlineItem::ChannelItem)
        {
            QString contactChannel = m_nickListView->selectedItem()->text(nlvcChannel);
            server->queue( "JOIN "+contactChannel );
        }
        break;
    }
    case ciWhois:
        server->queue("WHOIS "+nickname);
        return;
    case ciOpenQuery:
        NickInfoPtr nickInfo = server->obtainNickInfo(nickname);
        class Query* query = server->addQuery(nickInfo, true /*we initiated*/);
        emit showView(query);
        return;
    }

    refreshItem(item);
}
bool PSV_ChartRealItem::addCurve(const QMap<double, double> &data, const PSV_CurveParam &curveParam)
{
    QString curveName = curveParam.m_curveName;
    if(curveParam.m_isReplace)
    {
        clearCurve(curveName);
    }
    if(m_curveDataMap.contains(curveName) || curveName.isEmpty())
    {
        return false;
    }
    if(data.count() <= 0)
    {
        PSV_Public::printMes(QString::fromLocal8Bit("warning:数据为空"));
        return false;
    }
    QMapIterator<double,double> iter(data);
    PSV_CurveInfo curveInfo(curveName);
    curveInfo.m_axisType = curveParam.m_axisType;
    setCurrentAxisType(curveInfo.m_axisType);
    curveInfo.m_curveType = curveParam.m_curveType;
    double sum = 0.0;
    double max_y = 0.0;
    double min_y = 0.0;
//    double max_y_pointX = 0.0;
//    double min_y_pointX = 0.0;

    double max_x = 0.0;
    double min_x = 0.0;
    bool isFisrt = true;
    while(iter.hasNext())
    {
        iter.next();
        double value = iter.value();
        if(isFisrt)
        {
            isFisrt = false;
            max_y = value;
            min_y = value;
            sum = value;
            max_x = iter.key();
            min_x = iter.key();
//            max_y_pointX = iter.key();
//            min_y_pointX = iter.key();
        }
        else
        {
            sum += value;
            if(max_y < value)
            {
                max_y = value;
//                max_y_pointX = iter.key();
            }
            if(min_y > value)
            {
                min_y = value;
//                min_y_pointX = iter.key();
            }
            if(max_x < iter.key())
            {
                max_x = iter.key();
            }
            if(min_x > iter.key())
            {
                min_x = iter.key();
            }
        }
    }
    if(*m_isFisrtCurve_curP)
    {
        *m_max_y_curP = max_y;
        *m_min_y_curP = min_y;
        if(m_isFisrtCurve_left && m_isFisrtCurve_right)
        {
            m_rangeX.first = min_x;
            m_rangeX.second = max_x;
        }
        *m_isFisrtCurve_curP = false;
    }
    else
    {
        if(*m_max_y_curP < max_y)
        {
            *m_max_y_curP = max_y;
        }
        if(*m_min_y_curP > min_y)
        {
            *m_min_y_curP = min_y;
        }
    }
    if(m_rangeX.first > min_x)
    {
        m_rangeX.first = min_x;
    }
    if(m_rangeX.second < max_x)
    {
        m_rangeX.second = max_x;
    }
    m_max_x = m_rangeX.second;
    m_min_x = m_rangeX.first;
    double avg_y = sum / data.count();
    QStringList textList;
    textList.append(QString("%1:").arg(curveName));
    textList.append(QString(" %1:%2").arg(QString::fromLocal8Bit("最大值")).arg(QString::number(max_y,'f',m_decimal)));
    textList.append(QString(" %1:%2").arg(QString::fromLocal8Bit("最小值")).arg(QString::number(min_y,'f',m_decimal)));
    textList.append(QString(" %1:%2").arg(QString::fromLocal8Bit("平均值")).arg(QString::number(avg_y,'f',m_decimal)));

    QString staHtmText = PSV_Public::getStaText(textList/*,m_staFont*/);
    curveInfo.m_staHtmText = staHtmText;
    curveInfo.m_staText = textList.join("");
    curveInfo.m_curveDataMap = data;
    m_curveDataMap.insert(curveName,curveInfo);
    if(curveParam.m_isUpdate)
    {
        refreshItem();
    }
    return true;
}
bool PSV_ChartDateTimeItem::addCurve(const QMap<QDateTime, double> &data
                                     , const PSV_CurveParam &curveParam
                                     , bool isDate)
{
    QString curveName = curveParam.m_curveName;
    if(curveParam.m_isReplace)
    {
        clearCurve(curveName);
    }
    if(m_curveDataMap.contains(curveName) || curveName.isEmpty())
    {
        return false;
    }
    if(data.count() <= 0)
    {
        PSV_Public::printMes(QString::fromLocal8Bit("warning:数据为空"));
        return false;
    }

    QMap<double,double> curveData;
    QMapIterator<QDateTime,double> iter(data);
    PSV_CurveInfo curveInfo(curveName);
    curveInfo.m_axisType = curveParam.m_axisType;
    setCurrentAxisType(curveInfo.m_axisType);
    curveInfo.m_curveType = curveParam.m_curveType;
    if(isDate)
    {
        curveInfo.m_dataType = PSV::E_DATATYPE_DATE;
    }
    else
    {
        curveInfo.m_dataType = PSV::E_DATATYPE_DATETIME;
    }


    bool isChangedY = false;
    bool isChangedX = false;
    //==========================
    double sum = 0.0;
    double max_y = 0.0;
    double min_y = 0.0;
    QDateTime max_y_pointX = PSV_BEGIN_DATETIME;
    QDateTime min_y_pointX = PSV_BEGIN_DATETIME;

    QDateTime max_x = PSV_BEGIN_DATETIME;
    QDateTime min_x = PSV_BEGIN_DATETIME;

    bool isFisrt = true;

    while(iter.hasNext())
    {
        iter.next();
        if(!iter.key().isValid())
        {
            continue;
        }
        double value = iter.value();
        if(isFisrt)
        {
            isFisrt = false;
            max_y = value;
            min_y = value;
            sum = value;
            max_y_pointX = iter.key();
            min_y_pointX = iter.key();
            max_x = iter.key();
            min_x = iter.key();
        }
        else
        {
            sum += value;
            if(max_y < value)
            {
                max_y = value;
                max_y_pointX = iter.key();
            }
            if(min_y > value)
            {
                min_y = value;
                min_y_pointX = iter.key();
            }
            if(max_x < iter.key())
            {
                max_x = iter.key();
            }
            if(min_x > iter.key())
            {
                min_x = iter.key();
            }
        }
        int sec = m_beginDateTime.secsTo(iter.key());//
        curveData.insert(sec,iter.value());
    }

    if(*m_isFisrtCurve_curP)
    {
        *m_max_y_curP = max_y;
        *m_min_y_curP = min_y;
        if(m_isFisrtCurve_left && m_isFisrtCurve_right)
        {
            m_max_dateTime = max_x;
            m_min_dateTime = min_x;
        }
        *m_isFisrtCurve_curP = false;
    }
    else
    {
        if(*m_max_y_curP < max_y)
        {
            *m_max_y_curP = max_y;
        }
        if(*m_min_y_curP > min_y)
        {
            *m_min_y_curP = min_y;
        }
    }
    if(m_max_dateTime < max_x)
    {
        m_max_dateTime = max_x;
    }
    if(m_min_dateTime > min_x)
    {
        m_min_dateTime = min_x;
    }
//    PSV_Public::printMes(max_y_pointX,"max_y_pointX");
//    PSV_Public::printMes(min_y_pointX,"min_y_pointX");
    m_max_x = m_max_dateTime;
    m_min_x = m_min_dateTime;
//    PSV_Public::printMes(m_max_x,"m_max_x");
//    PSV_Public::printMes(m_min_x,"m_min_x");
    //======================================
    QString dateForm = curveInfo.m_dataType == PSV::E_DATATYPE_DATETIME ? "yyyy-MM-dd hh:mm:ss" : "yyyy-MM-dd";
    double avg_y = sum / data.count();
    QStringList textList;
    int dml = decimal();
    textList.append(QString("%1:").arg(curveName));
    textList.append(QString(" %1:(%2,%3)").arg(QString::fromLocal8Bit("最大值"))
                    .arg(max_y_pointX.toString(dateForm))
                    .arg(QString::number(max_y,'f',dml)));

    textList.append(QString(" %1:(%2,%3)")
                    .arg(QString::fromLocal8Bit("最小值"))
                    .arg(min_y_pointX.toString(dateForm))
                    .arg(QString::number(min_y,'f',dml)));
    textList.append(QString(" %1:%2")
                    .arg(QString::fromLocal8Bit("平均值"))
                    .arg(QString::number(avg_y,'f',dml)));

    QString staHtmText = PSV_Public::getStaText(textList/*,m_staFont*/);
    curveInfo.m_staHtmText = staHtmText;
    curveInfo.m_staText = textList.join("");
    //======================================
    curveInfo.m_curveDataMap = curveData;
    m_curveDataMap.insert(curveName,curveInfo);
    if(curveParam.m_isUpdate)
    {
        if(isChangedY || isChangedX)
        {
//            PSV_Public::printMes("19refreshItem");
            refreshItem();
        }
    }
    return true;
}