示例#1
0
        private static IsolineOptions DefaultOptions()
        {
            IsolineOptions options = new IsolineOptions();

            options.DashLengthDefault = 5;
            options.DashLength        = 5;
            return(options);
        }
示例#2
0
        public IsolineOptions Show()
        {
            IsolineOptions     resVal  = this;
            FormIsolineOptions formOpt = new FormIsolineOptions((IsolineOptions)this.MemberwiseClone());

            if (Application.ShowModalDialog(formOpt) == System.Windows.Forms.DialogResult.OK)
            {
                resVal = formOpt.IsolineOptions;
                resVal.Save();
            }
            return(resVal);
        }
示例#3
0
        public static void Start()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            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 == "Разморозить")
                {
                    // Удалить отдельные штрихи
                    UnfreezeAll();
                    // Включить изолинии
                    IsolinesOn();
                }
                else if (resPrompt.StringResult == "Заморозить")
                {
                    // Превратить все штрихи в отдельные линии
                    FreezeAll();
                    // выключение изолиний
                    IsolinesOff();
                }
                else if (resPrompt.StringResult == "Настройки")
                {
                    _options = _options.Show();
                }
            }
            Application.DocumentManager.MdiActiveDocument.Editor.Regen();
        }
示例#4
0
        public static IsolineOptions Load()
        {
            IsolineOptions options = null;

            // загрузка из файла настроек
            if (File.Exists(fileOptions))
            {
                SerializerXml xmlSer = new SerializerXml(fileOptions);
                try
                {
                    options = xmlSer.DeserializeXmlFile <IsolineOptions>();
                    if (options != null)
                    {
                        options.LoadDrawingOptions();
                        return(options);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Log.Error(ex, "Не удалось десериализовать настройки из файла {0}", fileOptions);
                }
            }
            return(DefaultOptions());
        }
示例#5
0
 public FormIsolineOptions(IsolineOptions isolineOptions)
 {
     InitializeComponent();
     IsolineOptions = isolineOptions;
     propertyGrid1.SelectedObject = IsolineOptions;
 }