コード例 #1
0
ファイル: Commands.cs プロジェクト: vildar82/GP_Isoline
        public void GpIsoline()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;

            if (doc == null)
            {
                return;
            }

            Logger.Log.Info("Start Command: GP-Isoline");

            Editor ed = doc.Editor;

            Options = IsolineOptions.Load();

            var optKeywords = new PromptKeywordOptions(
                $"Отрисовка бергштрихов для полилиний {(_overruleIsolineDraw == null ? "Отключена" : "Включена")}");

            optKeywords.Keywords.Add($"{(_overruleIsolineDraw == null ? "Включить" : "Отключить")}");
            optKeywords.Keywords.Add($"{(_overruleIsolineDraw == null ? "Разморозить" : "Заморозить")}");
            optKeywords.Keywords.Add("Настройки");

            var resPrompt = ed.GetKeywords(optKeywords);

            if (resPrompt.Status == PromptStatus.OK)
            {
                if (resPrompt.StringResult == "Включить")
                {
                    IsolinesOn();
                }
                else if (resPrompt.StringResult == "Отключить")
                {
                    IsolinesOff();
                }
                else if (resPrompt.StringResult == "Разморозить")
                {
                    // Удалить отдельные штрихи
                    Isoline.UnfreezeAll();
                    // Включить изолинии
                    IsolinesOn();
                }
                else if (resPrompt.StringResult == "Заморозить")
                {
                    // Превратить все штрихи в отдельные линии
                    Isoline.FreezeAll();
                    // выключение изолиний
                    IsolinesOff();
                }
                else if (resPrompt.StringResult == "Настройки")
                {
                    Options = Options.Show();
                }
            }
            Application.DocumentManager.MdiActiveDocument.Editor.Regen();
        }