public SyncMenuItem(VistaMenuControl owner, ImageList imgList) : base(owner) { PrevState = eSyncStatus.Unknow; _imgList = imgList; State <eSyncStatus> unknowState = new State <eSyncStatus>(eSyncStatus.Unknow, ChangeStateHandler); State <eSyncStatus> readyState = new State <eSyncStatus>(eSyncStatus.Ready, ChangeStateHandler); State <eSyncStatus> canceledState = new State <eSyncStatus>(eSyncStatus.Canceled, ChangeStateHandler); State <eSyncStatus> conflicState = new State <eSyncStatus>(eSyncStatus.UnresolvedConflict, ChangeStateHandler); State <eSyncStatus> inProgressState = new State <eSyncStatus>(eSyncStatus.InProgress, ChangeStateHandler); State <eSyncStatus> failState = new State <eSyncStatus>(eSyncStatus.Failed, ChangeStateHandler); State <eSyncStatus> readyProgressState = new State <eSyncStatus>(eSyncStatus.ReadyProgress, ChangeStateHandler); State <eSyncStatus> okState = new State <eSyncStatus>(eSyncStatus.Ok, ChangeStateHandler); State <eSyncStatus> skippedChangeItemsState = new State <eSyncStatus>(eSyncStatus.SkipedChangesDetected, ChangeStateHandler); var allStates = new State <eSyncStatus>[] { okState, readyState, canceledState, conflicState, inProgressState, failState, readyState, unknowState, readyProgressState, skippedChangeItemsState }; //Пока позаоляем переход из любого состояни в любое foreach (State <eSyncStatus> state in allStates) { state.AvailTransitions.AddRange(allStates); } _syncStatusSM = new StateMachine <eSyncStatus>(unknowState); _syncStatusSM.RegisteredStates.AddRange(allStates); _animatedTimer = new Timer(); _animatedTimer.Interval = 150; _animatedTimer.Tick += animatedTimer_Tick; _animatedTimer.Enabled = false; }
private ResponseCollection ErrorResponseCollection(string collectionId, eSyncStatus errorStatus) { return(new ResponseCollection() { CollectionId = collectionId, Status = errorStatus }); }
private void SetCurrentImage(eSyncStatus status) { CycleCollection <int> activeStateImgColl; if (_statusImageMaping.TryGetValue(status, out activeStateImgColl)) { activeStateImgColl.EnableCycling = _animatedTimer.Enabled; IEnumerator <int> cycleIterator = activeStateImgColl.GetEnumerator(); cycleIterator.MoveNext(); int index = cycleIterator.Current; if (_imgList.Images.Count > index) { Mediachase.Sync.Core.DebugAssistant.Log("Show animated image " + ((eSyncMenuItem_Icon)index).ToString()); this.Image = _imgList.Images[index]; } } }
public void RegisterStatusImages(eSyncStatus status, params int[] imgIndexes) { CycleCollection <int> imgIndexColl = CycleCollection <int> .CreateInstance(0, imgIndexes); _statusImageMaping[status] = imgIndexColl; }
private void SetCurrentImage(eSyncStatus status) { CycleCollection<int> activeStateImgColl; if (_statusImageMaping.TryGetValue(status, out activeStateImgColl)) { activeStateImgColl.EnableCycling = _animatedTimer.Enabled; IEnumerator<int> cycleIterator = activeStateImgColl.GetEnumerator(); cycleIterator.MoveNext(); int index = cycleIterator.Current; if (_imgList.Images.Count > index) { Mediachase.Sync.Core.DebugAssistant.Log("Show animated image " + ((eSyncMenuItem_Icon)index).ToString()); this.Image = _imgList.Images[index]; } } }
public void RegisterStatusImages(eSyncStatus status, params int[] imgIndexes) { CycleCollection<int> imgIndexColl = CycleCollection<int>.CreateInstance(0, imgIndexes); _statusImageMaping[status] = imgIndexColl; }