Activate() 공개 메소드

public Activate ( ) : void
리턴 void
예제 #1
0
        private void SelectLayer(Guid layerUid)
        {
            if (_selectedLayer == layerUid)
                return;

            if (_selectedLayerRef != null) {
                UnbindSelectedLayerEvents(_selectedLayerRef);

                ICommandSubscriber comLayer = _selectedLayerRef as ICommandSubscriber;
                if (comLayer != null) {
                    _commandManager.RemoveCommandSubscriber(comLayer);
                }

                _selectedLayerRef.Deactivate();
            }

            if (layerUid == null || !_layerPresenters.ContainsKey(layerUid)) {
                _selectedLayer = Guid.Empty;
                _selectedLayerRef = null;

                InvalidateLayerCommands();
                RefreshGridVisibility();
                OnPointerEventResponderChanged(EventArgs.Empty);
                return;
            }

            _selectedLayer = layerUid;
            _selectedLayerRef = _layerPresenters[_selectedLayer];

            _info.ActionUpdateCoordinates("");
            _gridLayer.IsVisible = true;

            if (_selectedLayerRef != null) {
                BindSelectedLayerEvents(_selectedLayerRef);

                ICommandSubscriber comLayer = _selectedLayerRef as ICommandSubscriber;
                if (comLayer != null) {
                    _commandManager.AddCommandSubscriber(comLayer);
                }

                if (_selectedLayerRef is LevelLayerPresenter) {
                    //_gridLayer.IsVisible = CommandManager.IsSelected(CommandKey.ViewGrid);
                    _gridLayer.GridColor = (_selectedLayerRef as LevelLayerPresenter).Layer.GridColor;
                    _gridLayer.GridSpacingX = (_selectedLayerRef as LevelLayerPresenter).Layer.GridWidth;
                    _gridLayer.GridSpacingY = (_selectedLayerRef as LevelLayerPresenter).Layer.GridHeight;
                }

                _selectedLayerRef.Activate();
            }

            InvalidateLayerCommands();
            OnPointerEventResponderChanged(EventArgs.Empty);

            _info.RefreshContentInfo();
        }