Exemplo n.º 1
0
 public static void ClosePalette(object sender, EventArgs e)
 {
     if (ps != null)
     {
         ps.Visible = false;
         ps         = null;
         view       = null;
         viewModel  = null;
     }
 }
Exemplo n.º 2
0
        public void RaiseNetworkTo3d()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;

            if (doc == null)
            {
                return;
            }

            Database db = doc.Database;

            Editor ed = doc.Editor;


            //указать план трассы (полилиния)
            //выбрать штриховки на продольном профиле
            //линейный масштабный коэффициент:
            //- по горизонтали
            //- по вертикали
            //задать базовую отметку для профиля

            try
            {
                if (ps == null)
                {
                    ps       = new PaletteSet("Построение 3d профиля геологии");
                    ps.Style = PaletteSetStyles.ShowPropertiesMenu
                               | PaletteSetStyles.ShowCloseButton;

                    view      = new GeologyHatch3dView();
                    viewModel = new GeologyHatch3dViewModel(doc, ps);

                    if (GeologyConvertationCommand.ViewModel != null)
                    {
                        viewModel.HorScaling  = GeologyConvertationCommand.ViewModel.EndHorScaling;
                        viewModel.VertScaling = GeologyConvertationCommand.ViewModel.EndVertScaling;
                    }


                    view.DataContext = viewModel;
                    ps.AddVisual("ConnectionPaletteControl", view);

                    ps.DockEnabled = DockSides.Left;

                    ps.Visible = true;

                    ps.Size = new System.Drawing.Size(420, 350);
                    ps.Dock = DockSides.Left;

                    ps.StateChanged += PaletteSet_StateChanged;//снимать подсветку объектов про закрытии

                    //панель жестко привязана к одному чертежу
                    //если документ сменяется, то панель должна быть закрыта и удалена!
                    Application.DocumentManager.DocumentToBeDeactivated += ClosePalette;
                    Application.DocumentManager.DocumentToBeDestroyed   += ClosePalette;
                }
                else
                {
                    ps.Visible = true;
                }
            }
            catch (System.Exception ex)
            {
                ClosePalette(null, null);
                CommonException(ex, "Ошибка при создании 3d профиля геологии");
            }
        }