Exemple #1
0
bool wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip)
{
    if(!m_prgFrame)
        return false;
    if(!newmsg.empty())
        m_msg = newmsg;
    m_cur = value;

    EventType event;

    ProgressType *prg = (ProgressType *)m_prgFrame;
    do
    {
        EvtGetEvent(&event, 0);
        Boolean handled = PrgHandleEvent(prg, &event);
        if (!PrgHandleEvent(prg, &event))
            if( PrgUserCancel(prg) )
                return false;
    }
    while(event.eType != sysEventNilEvent);

    PrgUpdateDialog(prg, 0, 0, "", true);

    m_activeSkip = m_canSkip && true;

    return true;
}
Exemple #2
0
Err PrvProcessEvents(FlickrSocketContext& context, UInt16 timeout)
{
    Err err = errNone;
    EventType event;

    if (timeout || EvtEventAvail())
    {
        EvtGetEvent(&event, timeout);
        if (!FlickrHandleEvent(context.libRefNum, &event) && NULL != context.progress)
            PrgHandleEvent(context.progress, &event);  // update progress before waiting...
    }
    else if (NULL != context.progress)
        PrgHandleEvent(context.progress, NULL);  // update progress without event (for animation)

    if (NULL != context.progress)
    {
        err = context.progress->error;
        // check for a user cancel and handle it...
        if (PrgUserCancel(context.progress))
            err = exgErrUserCancel;
    }
    return err;
}