Exemplo n.º 1
0
        private void AddLayer(string layerName)
        {
            layerName = layerName.Trim();
            if (string.IsNullOrEmpty(layerName))
            {
                MessageBox.Show("Invalid input");
                return;
            }

            if (_keymapLayers.Any(layer => layer.LayerName == layerName))
            {
                MessageBox.Show(string.Format("A layer with the name '{0}' already exists.", layerName));
                return;
            }

            var keymapLayer = _keymapLayerController.GetNewLayer(4, 12, layerName);

            keymapLayer.LayerNumber = _keymapLayers.Count();
            _keymapLayerController.PopulateKeymapLayer(keymapLayer);

            var menuItem = new MenuItem {
                Header = layerName
            };

            menuItem.Click += new RoutedEventHandler(_selectedLayerClick);
            AvailableLayersMenu.Add(menuItem);

            _keymapLayers.Add(keymapLayer);
        }
Exemplo n.º 2
0
        public void DeleteLayer()
        {
            if (_currentKeymapLayer == null)
            {
                MessageBox.Show("You must select a layer in order to delete it.");
                return;
            }

            var menuItem = AvailableLayersMenu.First(x => (string)x.Header == _currentKeymapLayer.LayerName);

            AvailableLayersMenu.Remove(menuItem);
            _keymapLayers.Remove(_currentKeymapLayer);
            _currentKeymapLayer = null;
            CurrentLayerName    = string.Empty;
        }
Exemplo n.º 3
0
        private void RenameLayer(string layerName)
        {
            if (_currentKeymapLayer == null)
            {
                MessageBox.Show("You must select a layer in order to rename it.");
                return;
            }

            if (AvailableLayersMenu.Any(x => (string)x.Header == layerName))
            {
                MessageBox.Show(string.Format("A layer with the name '{0}' already exists.", layerName));
                return;
            }

            AvailableLayersMenu.First(x => (string)x.Header == _currentKeymapLayer.LayerName).Header = layerName;
            _currentKeymapLayer.LayerName = layerName;
            CurrentLayerName = layerName;
        }
Exemplo n.º 4
0
        public void ImportKeymapFile(string file)
        {
            _workingFile = file;
            var keymapFileReader = new KeymapFileReader();

            _keymapLayers = keymapFileReader.ParseLayers(file);

            AvailableLayersMenu.Clear();
            foreach (var layer in _keymapLayers)
            {
                var menuItem = new MenuItem {
                    Header = layer.LayerName
                };
                menuItem.Click += new RoutedEventHandler(_selectedLayerClick);
                AvailableLayersMenu.Add(menuItem);
                _keymapLayerController.PopulateKeymapLayer(layer);
            }
        }