예제 #1
0
        public override void DoHideBegin(AppearanceParameters parameters)
        {
            if (this == null)
            {
                parameters.Call();
                return;
            }

            if (this.GetComponentState() == WindowObjectState.NotInitialized ||
                this.GetComponentState() == WindowObjectState.Initializing ||
                this.GetComponentState() == WindowObjectState.Initialized)
            {
                this.RefreshComponentState();
                parameters.Call();
                return;
            }

            if (parameters.GetManual(false) == true)
            {
                this.Hide(parameters);
                return;
            }

            if (this.manualShowHideControl == true)
            {
                this.DoHideBeginManualControl(parameters);
                return;
            }

            WindowSystem.GetHistoryTracker().Add(this, parameters, HistoryTrackerEventType.HideBegin);

            this.DoHideBegin_INTERNAL(parameters);
        }
예제 #2
0
        private void Hide_INTERNAL(AppearanceParameters parameters)
        {
            WindowSystem.GetHistoryTracker().Add(this, parameters, HistoryTrackerEventType.HideManual);

            this.manualShowHideControl = true;

            //parameters = parameters.ReplaceManual(manual: true);

            var callback         = parameters.GetCallback(null);
            var parametersResult = parameters.ReplaceCallback(() => {
                if (this.GetComponentState() != WindowObjectState.Hiding)
                {
                    if (callback != null)
                    {
                        callback.Invoke();
                    }
                    return;
                }

                this.DoHideEnd_INTERNAL(parameters);
                if (callback != null)
                {
                    callback.Invoke();
                }
            });

            parametersResult = parametersResult.ReplaceForced(forced: true);

            this.DoHideBegin_INTERNAL(parametersResult);
        }
예제 #3
0
        public override void DoHideEnd(AppearanceParameters parameters)
        {
            if (this == null)
            {
                return;
            }

            if (this.GetComponentState() == WindowObjectState.NotInitialized ||
                this.GetComponentState() == WindowObjectState.Initializing ||
                this.GetComponentState() == WindowObjectState.Initialized)
            {
                //parameters.Call();
                return;
            }

            if (this.manualShowHideControl == true)
            {
                this.DoHideEndManualControl(parameters);
                return;
            }

            WindowSystem.GetHistoryTracker().Add(this, HistoryTrackerEventType.HideEnd);

            WindowSystem.GetEvents().Raise(this, WindowEventType.OnHideEnd);

            this.DoHideEnd_INTERNAL(parameters);
        }
예제 #4
0
        public override void OnWindowInactive()
        {
            base.OnWindowInactive();

            WindowSystem.GetEvents().Raise(this, WindowEventType.OnWindowInactive);

            WindowSystem.GetHistoryTracker().Add(this, HistoryTrackerEventType.WindowInactive);
        }
예제 #5
0
        //private string animationTag = null;

        public override void OnInit()
        {
            WindowSystem.GetHistoryTracker().Add(this, HistoryTrackerEventType.Init);

            this.DoResetState();

            base.OnInit();
        }
예제 #6
0
        public override void OnWindowClose()
        {
            base.OnWindowClose();

            WindowSystem.GetHistoryTracker().Add(this, HistoryTrackerEventType.WindowClose);

            WindowSystem.GetEvents().Raise(this, WindowEventType.OnWindowClose);

            this.manualShowHideControl = false;
        }
        public override void DoShowEnd(AppearanceParameters parameters)
        {
            if (this.manualShowHideControl == true || this.showOnStart == false)
            {
                return;
            }

            WindowSystem.GetHistoryTracker().Add(this, HistoryTrackerEventType.ShowEnd);

            this.DoShowEnd_INTERNAL(parameters);
        }
예제 #8
0
        public override void OnDeinit(System.Action callback)
        {
            WindowSystem.GetHistoryTracker().Add(this, HistoryTrackerEventType.Deinit);

            WindowSystem.GetEvents().Raise(this, WindowEventType.OnDeinit);

            WindowSystem.GetEvents().Clear(this);
            this.animation = null;
            WindowSystem.GetHistoryTracker().Clear(this);
            this.animationInputParams.Clear();

            base.OnDeinit(callback);
        }
        public override void DoHideEnd(AppearanceParameters parameters)
        {
            if (this.manualShowHideControl == true)
            {
                return;
            }

            WindowSystem.GetHistoryTracker().Add(this, HistoryTrackerEventType.HideEnd);

            WindowSystem.GetEvents().Raise(this, WindowEventType.OnHideEnd);

            this.DoHideEnd_INTERNAL(parameters);
        }
        public override void DoHideBegin(AppearanceParameters parameters)
        {
            if (parameters.GetManual(false) == true)
            {
                this.Hide(parameters);
                return;
            }

            if (this.manualShowHideControl == true)
            {
                parameters.Call();
                return;
            }

            WindowSystem.GetHistoryTracker().Add(this, parameters, HistoryTrackerEventType.HideBegin);

            this.DoHideBegin_INTERNAL(parameters);
        }
        public override void DoShowBegin(AppearanceParameters parameters)
        {
            if (parameters.GetManual(false) == true)
            {
                this.Show(parameters);
                return;
            }

            if (this.manualShowHideControl == true || this.showOnStart == false)
            {
                this.DoShowBeginManualControl(parameters);
                return;
            }

            WindowSystem.GetHistoryTracker().Add(this, parameters, HistoryTrackerEventType.ShowBegin);

            this.DoShowBegin_INTERNAL(parameters);
        }
        public void Show(AppearanceParameters parameters)
        {
            if (this.IsStateReadyToShow() == false &&
                parameters.GetForced(defaultValue: false) == false)
            {
                parameters.Call();
                return;
            }

            WindowSystem.GetHistoryTracker().Add(this, parameters, HistoryTrackerEventType.ShowManual);

            this.manualShowHideControl = true;

            //parameters = parameters.ReplaceManual(manual: true);

            var callback         = parameters.GetCallback(null);
            var parametersResult = parameters.ReplaceCallback(() => {
                if (this.GetComponentState() != WindowObjectState.Showing)
                {
                    if (callback != null)
                    {
                        callback.Invoke();
                    }
                    return;
                }

                this.DoShowEnd_INTERNAL(parameters);
                if (callback != null)
                {
                    callback.Invoke();
                }
            });

            parametersResult = parametersResult.ReplaceForced(forced: true);

            this.DoShowBegin_INTERNAL(parametersResult);
        }