예제 #1
0
static void rec_updateTree(
        Process::MessageNode& node,
        State::MessageList& lst,
        const Id<Process::ProcessModel>& proc,
        ProcessPosition pos)
{
    // If the message is in the tree, we add the process value.
    int n = lst.size();
    nodeInsertAction(node, lst, proc, pos);
    if(lst.size() == n) // No nodes were added / updated
    {
        nodePruneAction(node, proc, pos);
    }

    for(auto& child : node)
    {
        rec_updateTree(child, lst, proc, pos);
    }

    cleanupNode(node);
}
예제 #2
0
        void dropEvent(QDropEvent* ev) override
        {
            auto mime = ev->mimeData();

            if(mime->formats().contains(iscore::mime::messagelist()))
            {
                Mime<State::MessageList>::Deserializer des{*mime};
                State::MessageList ml = des.deserialize();
                if(ml.size() > 0)
                {
                    this->setText(ml[0].address.toString());
                }
            }
        }
예제 #3
0
void AddressEditWidget::dropEvent(QDropEvent* ev)
{
    auto mime = ev->mimeData();

    if(mime->formats().contains(iscore::mime::messagelist()))
    {
        Mime<State::MessageList>::Deserializer des{*mime};
        State::MessageList ml = des.deserialize();
        if(ml.size() > 0)
        {
            setAddress(ml[0].address);
        }
    }
}