Exemple #1
0
 public Task(IDataBindEngineClient c, TaskOps o, Task previousForClient)
 {
     client            = c;
     op                = o;
     PreviousForClient = previousForClient;
     status            = Status.Pending;
 }
Exemple #2
0
 public Task(IDataBindEngineClient c, TaskOps o, Task previousForClient)
 {
     client = c;
     op = o;
     PreviousForClient = previousForClient;
     status = Status.Pending;
 }
Exemple #3
0
        //------------------------------------------------------
        //
        //  Internal Methods
        //
        //------------------------------------------------------

        internal void AddTask(IDataBindEngineClient c, TaskOps op)
        {
            // ignore requests that arrive after shutdown
            if (_mostRecentTask == null)
            {
                return;
            }

            // if we're adding to an empty list, request that the list be processed
            if (_head == _tail)
            {
                RequestRun();
            }

            // link a new task into the list
            Task recentTask = (Task)_mostRecentTask[c];
            Task newTask    = new Task(c, op, recentTask);

            _tail.Next         = newTask;
            _tail              = newTask;
            _mostRecentTask[c] = newTask;

            // if the task is AttachToContext and the target is a UIElement,
            // register for the LayoutUpdated event, and run the task list from the
            // event handler.  This avoids flashing, at the expense of lots more
            // events and handlers (bug 1019232)
            if (op == TaskOps.AttachToContext &&
                _layoutElement == null &&
                (_layoutElement = c.TargetElement as UIElement) != null)
            {
                _layoutElement.LayoutUpdated += new EventHandler(OnLayoutUpdated);
            }
        }
Exemple #4
0
 // Token: 0x06008DA5 RID: 36261 RVA: 0x00259CB6 File Offset: 0x00257EB6
 public Task(IDataBindEngineClient c, TaskOps o, DataBindEngine.Task previousForClient)
 {
     this.client            = c;
     this.op                = o;
     this.PreviousForClient = previousForClient;
     this.status            = DataBindEngine.Task.Status.Pending;
 }
Exemple #5
0
 // Token: 0x060074B1 RID: 29873 RVA: 0x002160D0 File Offset: 0x002142D0
 internal void CancelTask(IDataBindEngineClient c, TaskOps op)
 {
     if (this._mostRecentTask == null)
     {
         return;
     }
     for (DataBindEngine.Task task = (DataBindEngine.Task) this._mostRecentTask[c]; task != null; task = task.PreviousForClient)
     {
         if (task.op == op && task.status == DataBindEngine.Task.Status.Pending)
         {
             task.status = DataBindEngine.Task.Status.Cancelled;
             return;
         }
     }
 }
Exemple #6
0
 // Token: 0x060074B2 RID: 29874 RVA: 0x00216120 File Offset: 0x00214320
 internal void CancelTasks(IDataBindEngineClient c)
 {
     if (this._mostRecentTask == null)
     {
         return;
     }
     for (DataBindEngine.Task task = (DataBindEngine.Task) this._mostRecentTask[c]; task != null; task = task.PreviousForClient)
     {
         Invariant.Assert(task.client == c, "task list is corrupt");
         if (task.status == DataBindEngine.Task.Status.Pending)
         {
             task.status = DataBindEngine.Task.Status.Cancelled;
         }
     }
     this._mostRecentTask.Remove(c);
 }
Exemple #7
0
        internal void CancelTask(IDataBindEngineClient c, TaskOps op)
        {
            // ignore requests that arrive after shutdown
            if (_mostRecentTask == null)
            {
                return;
            }

            for (Task task = (Task)_mostRecentTask[c]; task != null; task = task.PreviousForClient)
            {
                if (task.op == op && task.status == Task.Status.Pending)
                {
                    task.status = Task.Status.Cancelled;
                    break;
                }
            }
        }
Exemple #8
0
 // Token: 0x060074B0 RID: 29872 RVA: 0x00216030 File Offset: 0x00214230
 internal void AddTask(IDataBindEngineClient c, TaskOps op)
 {
     if (this._mostRecentTask == null)
     {
         return;
     }
     if (this._head == this._tail)
     {
         this.RequestRun();
     }
     DataBindEngine.Task previousForClient = (DataBindEngine.Task) this._mostRecentTask[c];
     DataBindEngine.Task task = new DataBindEngine.Task(c, op, previousForClient);
     this._tail.Next         = task;
     this._tail              = task;
     this._mostRecentTask[c] = task;
     if (op == TaskOps.AttachToContext && this._layoutElement == null && (this._layoutElement = (c.TargetElement as UIElement)) != null)
     {
         this._layoutElement.LayoutUpdated += this.OnLayoutUpdated;
     }
 }
Exemple #9
0
        internal void CancelTasks(IDataBindEngineClient c)
        {
            // ignore requests that arrive after shutdown
            if (_mostRecentTask == null)
            {
                return;
            }

            // cancel pending tasks for the given client
            for (Task task = (Task)_mostRecentTask[c]; task != null; task = task.PreviousForClient)
            {
                Invariant.Assert(task.client == c, "task list is corrupt");
                if (task.status == Task.Status.Pending)
                {
                    task.status = Task.Status.Cancelled;
                }
            }

            // no need to look at these tasks ever again
            _mostRecentTask.Remove(c);
        }
Exemple #10
0
        internal void CancelTasks(IDataBindEngineClient c)
        {
            // ignore requests that arrive after shutdown
            if (_mostRecentTask == null)
                return;

            // cancel pending tasks for the given client
            for (Task task = (Task)_mostRecentTask[c];  task != null;  task = task.PreviousForClient)
            {
                Invariant.Assert(task.client == c, "task list is corrupt");
                if (task.status == Task.Status.Pending)
                {
                    task.status = Task.Status.Cancelled;
                }
            }

            // no need to look at these tasks ever again
            _mostRecentTask.Remove(c);
        }
Exemple #11
0
        internal void CancelTask(IDataBindEngineClient c, TaskOps op)
        {
            // ignore requests that arrive after shutdown
            if (_mostRecentTask == null)
                return;

            for (Task task = (Task)_mostRecentTask[c];  task != null;  task = task.PreviousForClient)
            {
                if (task.op == op && task.status == Task.Status.Pending)
                {
                    task.status = Task.Status.Cancelled;
                    break;
                }
            }
        }
Exemple #12
0
        //------------------------------------------------------
        //
        //  Internal Methods
        //
        //------------------------------------------------------

        internal void AddTask(IDataBindEngineClient c, TaskOps op)
        {
            // ignore requests that arrive after shutdown
            if (_mostRecentTask == null)
                return;

            // if we're adding to an empty list, request that the list be processed
            if (_head == _tail)
            {
                RequestRun();
            }

            // link a new task into the list
            Task recentTask = (Task)_mostRecentTask[c];
            Task newTask = new Task(c, op, recentTask);
            _tail.Next = newTask;
            _tail = newTask;
            _mostRecentTask[c] = newTask;

            // if the task is AttachToContext and the target is a UIElement,
            // register for the LayoutUpdated event, and run the task list from the
            // event handler.  This avoids flashing, at the expense of lots more
            // events and handlers (bug 1019232)
            if (op == TaskOps.AttachToContext &&
                _layoutElement == null &&
                (_layoutElement = c.TargetElement as UIElement) != null)
            {
                _layoutElement.LayoutUpdated += new EventHandler(OnLayoutUpdated);
            }
        }