コード例 #1
0
        private void DuplicateScriptMenuItem_Click(object sender, EventArgs e)
        {
            if (LuaListView.SelectedIndices().Any())
            {
                var script = SelectedFiles.First();

                var sfd = new SaveFileDialog
                {
                    InitialDirectory = Path.GetDirectoryName(script.Path),
                    DefaultExt       = ".lua",
                    FileName         = $"{Path.GetFileNameWithoutExtension(script.Path)} (1)",
                    OverwritePrompt  = true,
                    Filter           = "Lua Scripts (*.lua)|*.lua|All Files (*.*)|*.*"
                };

                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    string text = File.ReadAllText(script.Path);
                    File.WriteAllText(sfd.FileName, text);
                    LuaImp.ScriptList.Add(new LuaFile(Path.GetFileNameWithoutExtension(sfd.FileName), sfd.FileName));
                    UpdateDialog();
                    System.Diagnostics.Process.Start(sfd.FileName);
                }
            }
        }
コード例 #2
0
        private void MoveDownMenuItem_Click(object sender, EventArgs e)
        {
            var indices = LuaListView.SelectedIndices().ToList();

            if (indices.Count == 0 || indices.Last() == LuaImp.ScriptList.Count - 1)
            {
                return;
            }

            for (var i = indices.Count - 1; i >= 0; i--)
            {
                var file = LuaImp.ScriptList[indices[i]];
                LuaImp.ScriptList.Remove(file);
                LuaImp.ScriptList.Insert(indices[i] + 1, file);
            }

            var newindices = indices.Select(t => t + 1).ToList();

            LuaListView.SelectedIndices.Clear();
            foreach (var newi in newindices)
            {
                LuaListView.SelectItem(newi, true);
            }

            UpdateDialog();
        }
コード例 #3
0
        private void MoveUpMenuItem_Click(object sender, EventArgs e)
        {
            var indices = LuaListView.SelectedIndices().ToList();

            if (indices.Count == 0 || indices[0] == 0)
            {
                return;
            }

            foreach (var index in indices)
            {
                var file = LuaImp.ScriptList[index];
                LuaImp.ScriptList.Remove(file);
                LuaImp.ScriptList.Insert(index - 1, file);
            }

            var newindices = indices.Select(t => t - 1).ToList();

            LuaListView.SelectedIndices.Clear();
            foreach (var newi in newindices)
            {
                LuaListView.SelectItem(newi, true);
            }

            UpdateDialog();
        }
コード例 #4
0
        private void InsertSeparatorMenuItem_Click(object sender, EventArgs e)
        {
            var indices = LuaListView.SelectedIndices().ToList();

            if (indices.Any() && indices.Last() < LuaImp.ScriptList.Count)
            {
                LuaImp.ScriptList.Insert(indices.Last(), LuaFile.SeparatorInstance);
            }
            else
            {
                LuaImp.ScriptList.Add(LuaFile.SeparatorInstance);
            }

            UpdateDialog();
        }
コード例 #5
0
        private void ScriptSubMenu_DropDownOpened(object sender, EventArgs e)
        {
            ToggleScriptMenuItem.Enabled       =
                PauseScriptMenuItem.Enabled    =
                    EditScriptMenuItem.Enabled =
                        SelectedFiles.Any();

            RemoveScriptMenuItem.Enabled     =
                MoveUpMenuItem.Enabled       =
                    MoveDownMenuItem.Enabled =
                        LuaListView.SelectedIndices().Any();

            SelectAllMenuItem.Enabled           = _luaList.Any();
            StopAllScriptsMenuItem.Enabled      = _luaList.Any(script => script.Enabled);
            RegisteredFunctionsMenuItem.Enabled = GlobalWin.Tools.LuaConsole.LuaImp.RegisteredFunctions.Any();
        }