public MessageLogWindow() { InitializeComponent(); toolStripButtonClear.Image = EditorResourcesCache.Delete; toolStripButtonOptions.Image = EditorResourcesCache.Options; Log.Handlers.InfoHandler += Handlers_InfoHandler; //Log.Handlers.InvisibleInfoHandler += Handlers_InvisibleInfoHandler; Log.Handlers.WarningHandler += Handlers_WarningHandler; Log.Handlers.ErrorHandler += Handlers_ErrorHandler; //configure list contentBrowser1.SetData(new ContentBrowser.Item[0], false); contentBrowser1.ImageHelper.AddImage("Info", Properties.Resources.Info_16, Properties.Resources.Info_32); contentBrowser1.ImageHelper.AddImage("Warning", Properties.Resources.Warning_16, Properties.Resources.Warning_32); contentBrowser1.ImageHelper.AddImage("Error", Properties.Resources.Error_16, Properties.Resources.Error_32); Config_Load(); EngineConfig.SaveEvent += Config_SaveEvent; WindowTitle = EditorLocalization.Translate("Windows", WindowTitle); toolStripButtonOptions.Text = EditorLocalization.Translate("MessageLogWindow", toolStripButtonOptions.Text); toolStripButtonClear.Text = EditorLocalization.Translate("MessageLogWindow", toolStripButtonClear.Text); if (EditorAPI.DarkTheme) { toolStrip1.Renderer = DarkThemeUtility.GetToolbarToolStripRenderer(); } }
///////////////////////////////////// public SpecifyParametersForm(string caption, object optionalObjectProvider, CheckDelegate checkHandler = null, OKDelegate okHandler = null) { this.checkHandler = checkHandler; this.okHandler = okHandler; InitializeComponent(); if (optionalObjectProvider != null) { hierarchicalContainer1.SetData(null, new object[] { optionalObjectProvider }); } else { hierarchicalContainer1.SetData(null, new object[] { objectImpl }); } if (string.IsNullOrEmpty(caption)) { Text = EngineInfo.NameWithVersion; } else { Text = caption; } labelError.Text = ""; DarkThemeUtility.ApplyToForm(this); }
public ScriptDropDownControl(HCItemProperty itemProperty) { InitializeComponent(); Resizable = true; SpecialHolder = true; //DoubleBuffered = true; ResizeRedraw = true; MinimumSize = Size; MaximumSize = new Size(Size.Width * 2, Size.Height * 2); AddOkCancelButtons(out _, out _); this.itemProperty = itemProperty; propertyItemForUndoSupport = itemProperty.GetItemInHierarchyToRestoreValues(); propertyItemForUndoSupport.SaveValuesToRestore(); try { scriptEditorControl.Initialize(new HCItemPropertyScriptAdapter(itemProperty)); } catch (Exception exc) { Log.Warning("Script editor control init failed: \n\n" + exc.ToString()); Enabled = false; } DarkThemeUtility.ApplyToForm(this); }
public NewObjectWindow() { InitializeComponent(); //HACK: kryptonsplitcontainer childs layout broken. see comments in kryptonsplitcontainer.cs panelName.Width = panelName.Parent.Width - DpiHelper.Default.ScaleValue(9); //options if (sharedOptions != null) { contentBrowser1.Options = sharedOptions; } else { if (!Config_Load()) { ////var data = new ContentBrowser.ResourcesModeDataClass(); ////data.selectionMode = ResourceSelectionMode.None; //contentBrowser1.Init( null, null, /*data, */null ); contentBrowser1.Options.PanelMode = ContentBrowser.PanelModeEnum.TwoPanelsSplitHorizontally; contentBrowser1.Options.SplitterPosition = 3.0 / 5.0; } sharedOptions = contentBrowser1.Options; } CloseByEscape = true; WindowTitle = EditorLocalization.Translate("NewObjectWindow", WindowTitle); EditorLocalization.TranslateForm("NewObjectWindow", eUserControl1); DarkThemeUtility.ApplyToForm(eUserControl1); DarkThemeUtility.ApplyToForm(panelName); }
// public OKCancelTextBoxForm(string labelText, string textBoxText, string caption, CheckDelegate checkHandler, OKDelegate okHandler) { this.checkHandler = checkHandler; this.okHandler = okHandler; InitializeComponent(); this.labelText.Text = labelText; textBoxName.Text = textBoxText; if (string.IsNullOrEmpty(caption)) { Text = EngineInfo.NameWithVersion; } else { Text = caption; } labelError.Text = ""; DarkThemeUtility.ApplyToForm(this); buttonOK.Text = EditorLocalization.Translate("General", buttonOK.Text); buttonCancel.Text = EditorLocalization.Translate("General", buttonCancel.Text); }
public RangeDropDownControl(HCItemProperty itemProperty) { InitializeComponent(); AddOkCancelButtons(out _, out _); this.itemProperty = itemProperty; rangeAttr = (RangeAttribute)itemProperty.Property.GetCustomAttributes(typeof(RangeAttribute)).FirstOrDefault(); if (rangeAttr == null) { rangeAttr = new RangeAttribute(0, 100); // default } SetupUIApplicableRange(); minTrackBar.ValueChanged += new EventHandler(anyTrackBar_ValueChanged); maxTrackBar.ValueChanged += new EventHandler(anyTrackBar_ValueChanged); object obj = ReferenceUtility.GetUnreferencedValue(itemProperty.GetValues()[0]); value = RangeConverter.ObjectToRange(obj); propertyItemForUndoSupport = itemProperty.GetItemInHierarchyToRestoreValues(); propertyItemForUndoSupport.SaveValuesToRestore(); UpdateTrackBarsAndTextBoxes(); DarkThemeUtility.ApplyToForm(this); }
public ContentBrowserOptionsForm(ContentBrowser browser) { Browser = browser; InitializeComponent(); DarkThemeUtility.ApplyToForm(this); Text = EditorLocalization.Translate("ContentBrowser", Text); EditorLocalization.TranslateForm("ContentBrowser", this); hierarchicalContainer1.OverridePropertyDisplayName += HierarchicalContainer1_PropertyDisplayNameOverride; hierarchicalContainer1.OverridePropertyEnumItem += HierarchicalContainer1_OverridePropertyEnumItem; if (EditorLocalization.WideLanguage) { hierarchicalContainer1.SplitterRatio = 0.5f; } if (Browser != null) { object[] objects = new object[1]; objects[0] = Browser.Options; hierarchicalContainer1.SetData(null, objects); //fix delayed update hierarchicalContainer1.UpdateItems(); } }
// public StartPageWindow() { InitializeComponent(); if (EditorUtility.IsDesignerHosted(this)) { return; } if (EditorAPI.DarkTheme) { BackColor = Color.FromArgb(40, 40, 40); DarkThemeUtility.ApplyToToolTip(toolTip1); } contentBrowserNewScene.Options.PanelMode = ContentBrowser.PanelModeEnum.List; contentBrowserNewScene.Options.ListMode = ContentBrowser.ListModeEnum.Tiles; contentBrowserNewScene.UseSelectedTreeNodeAsRootForList = false; contentBrowserNewScene.Options.Breadcrumb = false; contentBrowserNewScene.Options.TileImageSize = 128; //add items try { var items = new List <ContentBrowser.Item>(); foreach (var template in Component_Scene.NewObjectSettingsScene.GetTemplates()) { contentBrowserNewScene.ImageHelper.AddImage(template.Name, null, template.Preview); var item = new ContentBrowserItem_Virtual(contentBrowserNewScene, null, template.ToString()); item.Tag = template; item.imageKey = template.Name; items.Add(item); } if (items.Count != 0) { contentBrowserNewScene.SetData(items, false); contentBrowserNewScene.SelectItems(new ContentBrowser.Item[] { items[0] }); } } catch (Exception exc) { contentBrowserNewScene.SetError("Error: " + exc.Message); } contentBrowserNewScene.ItemAfterChoose += ContentBrowserNewScene_ItemAfterChoose; contentBrowserOpenScene.Options.PanelMode = ContentBrowser.PanelModeEnum.List; contentBrowserOpenScene.Options.ListMode = ContentBrowser.ListModeEnum.List; contentBrowserOpenScene.UseSelectedTreeNodeAsRootForList = false; contentBrowserOpenScene.Options.Breadcrumb = false; contentBrowserOpenScene.Options.ListImageSize = 18; contentBrowserOpenScene.Options.ListColumnWidth = 10000; UpdateOpenScenes(); }
public ContentBrowserSearchForm() { InitializeComponent(); DarkThemeUtility.ApplyToForm(this); Text = EditorLocalization.Translate("ContentBrowser.SearchForm", Text); EditorLocalization.TranslateForm("ContentBrowser.SearchForm", this); }
// public SettingsHeader_ObjectInfo() { InitializeComponent(); buttonTypeSettings.Values.Image = EditorResourcesCache.Type; toolTip1.SetToolTip(buttonTypeSettings, EditorLocalization.Translate("SettingsWindow", "Type Settings")); toolTip1.SetToolTip(buttonTypeSettingsDefaultValue, EditorLocalization.Translate("SettingsWindow", "Reset Type Settings to default.")); DarkThemeUtility.ApplyToToolTip(toolTip1); }
//HCItemProperty propertyItemForUndoSupport; // public ColorValuePoweredSelectForm() { InitializeComponent(); Text = EditorLocalization.Translate("ColorValuePoweredSelectForm", Text); buttonOK.Text = EditorLocalization.Translate("General", buttonOK.Text); buttonCancel.Text = EditorLocalization.Translate("General", buttonCancel.Text); DarkThemeUtility.ApplyToForm(this); }
// public EngineToolStrip() : base() { ShowItemToolTips = false; timer = new Timer(); timer.Enabled = false; timer.Interval = SystemInformation.MouseHoverTime; timer.Tick += new EventHandler(timer_Tick); Tooltip = new ToolTip(); DarkThemeUtility.ApplyToToolTip(Tooltip); }
// public HCGridEvent() { InitializeComponent(); buttonEditEventHandlers.Values.Image = EditorResourcesCache.Edit; buttonAddEventHandler.Values.Image = EditorResourcesCache.New; DarkThemeUtility.ApplyToForm(this); DarkThemeUtility.ApplyToToolTip(eventToolTip); eventToolTip.SetToolTip(buttonAddEventHandler, EditorLocalization.Translate("SettingsWindow", "Add event handler.")); eventToolTip.SetToolTip(buttonEditEventHandlers, EditorLocalization.Translate("SettingsWindow", "Edit event handlers.")); }
// public HCGridProperty() { InitializeComponent(); //DoubleBuffered = true; ResizeRedraw = true; DarkThemeUtility.ApplyToForm(this); DarkThemeUtility.ApplyToToolTip(propertyToolTip); // for debug //BackColor = Random.Generate(ColorValue.Zero, ColorValue.One).ToColor(); }
public SettingsCell_Properties() { InitializeComponent(); toolStripButtonEvents.Image = EditorResourcesCache.Events; toolStripButtonProperties.Image = EditorResourcesCache.Properties; toolStripButtonProperties.Text = EditorLocalization.Translate("SettingsWindow", toolStripButtonProperties.Text); toolStripButtonEvents.Text = EditorLocalization.Translate("SettingsWindow", toolStripButtonEvents.Text); if (EditorAPI.DarkTheme) { toolStrip1.Renderer = DarkThemeUtility.GetToolbarToolStripRenderer(); } }
//!!!!deleted //bool closing; //!!!! //System.Drawing.Font richTextBox1FontOriginal; //string richTextBox1FontCurrent = ""; // public DockWindow() { InitializeComponent(); if (IsDesignerHosted) { return; } DarkThemeUtility.ApplyToForm(this); //if( EditorAPI.DarkTheme ) //{ // BackColor = Color.FromArgb( 54, 54, 54 ); //} }
public MessageLogOptionsForm() { InitializeComponent(); DarkThemeUtility.ApplyToForm(this); Text = Translate(Text); hierarchicalContainer1.OverridePropertyDisplayName += HierarchicalContainer1_PropertyDisplayNameOverride; hierarchicalContainer1.OverridePropertyEnumItem += HierarchicalContainer1_OverridePropertyEnumItem; if (EditorLocalization.WideLanguage) { hierarchicalContainer1.SplitterRatio = 0.5f; } }
///////////////////////////////////////// public ImportWindow() { InitializeComponent(); //HACK: kryptonsplitcontainer childs layout broken. see comments in kryptonsplitcontainer.cs panelName.Width = panelName.Parent.Width - DpiHelper.Default.ScaleValue(8); buttonDestinationFolderBrowse.Values.Image = EditorResourcesCache.SelectFolder; CloseByEscape = true; WindowTitle = EditorLocalization.Translate("ImportWindow", WindowTitle); EditorLocalization.TranslateForm("ImportWindow", eUserControl1); DarkThemeUtility.ApplyToForm(eUserControl1); DarkThemeUtility.ApplyToForm(panelName); }
void timer_Tick(object sender, EventArgs e) { timer.Stop(); try { Point currentMouseOverPoint; if (ToolTipShowUp) { currentMouseOverPoint = this.PointToClient(new Point(Control.MousePosition.X, Control.MousePosition.Y - Cursor.Current.Size.Height + Cursor.Current.HotSpot.Y)); } else { currentMouseOverPoint = this.PointToClient(new Point(Control.MousePosition.X, Control.MousePosition.Y + Cursor.Current.Size.Height - Cursor.Current.HotSpot.Y)); } if (mouseOverItem == null) { if (ToolTipText != null && ToolTipText.Length > 0) { if (Tooltip == null) { Tooltip = new ToolTip(); DarkThemeUtility.ApplyToToolTip(Tooltip); } Tooltip.Show(ToolTipText, this, currentMouseOverPoint, ToolTipInterval); } } else if ((!(mouseOverItem is ToolStripDropDownButton) && !(mouseOverItem is ToolStripSplitButton)) || ((mouseOverItem is ToolStripDropDownButton) && !((ToolStripDropDownButton)mouseOverItem).DropDown.Visible) || (((mouseOverItem is ToolStripSplitButton) && !((ToolStripSplitButton)mouseOverItem).DropDown.Visible))) { if (mouseOverItem.ToolTipText != null && mouseOverItem.ToolTipText.Length > 0 && Tooltip != null) { if (Tooltip == null) { Tooltip = new ToolTip(); DarkThemeUtility.ApplyToToolTip(Tooltip); } Tooltip.Show(mouseOverItem.ToolTipText, this, currentMouseOverPoint, ToolTipInterval); } } } catch { } }
public HCItemProjectRibbonAndToolbarActionsForm() { InitializeComponent(); if (EditorUtility.IsDesignerHosted(this)) { return; } if (EditorAPI.DarkTheme) { toolStrip1.Renderer = DarkThemeUtility.GetToolbarToolStripRenderer(); } //double distance = 22.0 * EditorAPI.DPIScale; //kryptonSplitContainer2.Panel1MinSize = (int)distance; //kryptonSplitContainer2.SplitterDistance = (int)distance; }
///////////////////////////////////// public ComponentTypeSettingsForm(DocumentInstance document, Component component) { this.document = document; this.component = component; InitializeComponent(); if (EditorUtility.IsDesignerHosted(this)) { return; } hierarchicalContainer1.OverrideGroupDisplayName += HierarchicalContainer1_OverrideGroupDisplayName; DarkThemeUtility.ApplyToForm(this); Text = EditorLocalization.Translate("TypeSettingsForm", Text); EditorLocalization.TranslateForm("TypeSettingsForm", this); }
// public OutputWindow() { InitializeComponent(); toolStripButtonOptions.Image = EditorResourcesCache.Options; toolStripButtonClear.Image = EditorResourcesCache.Delete; //Log.Handlers.InfoHandler += Handlers_InfoHandler; ////Log.Handlers.InvisibleInfoHandler += Handlers_InvisibleInfoHandler; //Log.Handlers.WarningHandler += Handlers_WarningHandler; //Log.Handlers.ErrorHandler += Handlers_ErrorHandler; WindowTitle = EditorLocalization.Translate("Windows", WindowTitle); toolStripButtonOptions.Text = EditorLocalization.Translate("OutputWindow", toolStripButtonOptions.Text); toolStripButtonClear.Text = EditorLocalization.Translate("OutputWindow", toolStripButtonClear.Text); if (EditorAPI.DarkTheme) { toolStrip1.Renderer = DarkThemeUtility.GetToolbarToolStripRenderer(); } }
///////////////////////////////////////// public PackagesWindow() { InitializeComponent(); if (EditorUtility.IsDesignerHosted(this)) { return; } if (EditorAPI.DarkTheme) { DarkThemeUtility.ApplyToForm(kryptonSplitContainer1.Panel1); DarkThemeUtility.ApplyToForm(kryptonSplitContainer1.Panel2); DarkThemeUtility.ApplyToToolTip(toolTip1); } double distance = 22.0 * EditorAPI.DPIScale; kryptonSplitContainer2.Panel1MinSize = (int)distance; kryptonSplitContainer2.SplitterDistance = (int)distance; }
public ColorValuePoweredSelectControl(HCItemProperty itemProperty) { InitializeComponent(); AddOkCancelButtons(out okButton, out cancelButton); this.itemProperty = itemProperty; powered = ReferenceUtility.GetUnreferencedType(itemProperty.Property.Type.GetNetType()) == typeof(ColorValuePowered); var values = itemProperty.GetValues(); if (values == null) { return; } //!!!!multiselection var value = values[0]; ColorValuePowered initValue; bool readOnly; { var netType = itemProperty.Property.Type.GetNetType(); bool isReferenceType = ReferenceUtility.IsReferenceType(netType); bool referenceSpecified = false; IReference iReference = null; if (isReferenceType && value != null) { iReference = (IReference)value; referenceSpecified = !string.IsNullOrEmpty(iReference.GetByReference); } readOnly = referenceSpecified; } if (powered) { initValue = (ColorValuePowered)ReferenceUtility.GetUnreferencedValue(value); } else { var c = (ColorValue)ReferenceUtility.GetUnreferencedValue(value); initValue = new ColorValuePowered(c.Red, c.Green, c.Blue, c.Alpha, 1); } //for( int n = 0; n < propertyOwners.Length; n++ ) //{ // ColorValue v = (ColorValue)property.GetValue( propertyOwners[ n ], null ); // if( n != 0 ) // { // if( value != v ) // { // value = new ColorValue( 1, 1, 1 ); // break; // } // } // else // value = v; //} bool noAlpha = itemProperty.Property.GetCustomAttributes(typeof(ColorValueNoAlphaAttribute), true).Length != 0; ApplicableRangeColorValuePowerAttribute powerRange = null; if (powered) { var array = itemProperty.Property.GetCustomAttributes(typeof(ApplicableRangeColorValuePowerAttribute), true); if (array.Length != 0) { powerRange = (ApplicableRangeColorValuePowerAttribute)array[0]; } } Init(initValue, noAlpha, powered, powerRange, readOnly); propertyItemForUndoSupport = itemProperty.GetItemInHierarchyToRestoreValues(); propertyItemForUndoSupport.SaveValuesToRestore(); DarkThemeUtility.ApplyToForm(this); }
// public ColorValuePoweredSelectControl() { InitializeComponent(); AddOkCancelButtons(out okButton, out cancelButton); DarkThemeUtility.ApplyToForm(this); }
///////////////////////////////////////// public ScriptDropDownControl() { InitializeComponent(); DarkThemeUtility.ApplyToForm(this); }
// public StoreDocumentWindow() { InitializeComponent(); DarkThemeUtility.ApplyToForm(panelToolbar); }
private void BackstageMenu_Load(object sender, EventArgs e) { if (DesignMode) { return; } if (EditorUtility.IsDesignerHosted(this)) { return; } if (EditorAPI.DarkTheme) { kryptonNavigator1.StateCommon.Panel.Color1 = Color.FromArgb(10, 10, 10); kryptonNavigator1.StateSelected.Tab.Back.Color1 = Color.FromArgb(60, 60, 60); kryptonNavigator1.StatePressed.Tab.Back.Color1 = Color.FromArgb(60, 60, 60); kryptonNavigator1.StateTracking.Tab.Back.Color1 = Color.FromArgb(50, 50, 50); //kryptonNavigator1.StateSelected.Tab.Back.Color1 = Color.FromArgb( 70, 70, 70 ); //kryptonNavigator1.StatePressed.Tab.Back.Color1 = Color.FromArgb( 60, 60, 60 ); //kryptonNavigator1.StateTracking.Tab.Back.Color1 = Color.FromArgb( 60, 60, 60 ); kryptonButtonBack.StateCommon.Back.Color1 = Color.FromArgb(10, 10, 10); BackColor = Color.FromArgb(10, 10, 10); kryptonLinkLabel1.LabelStyle = LabelStyle.Custom1; kryptonLinkLabel1.StateCommon.ShortText.Color1 = Color.FromArgb(230, 230, 230); //kryptonNavigator1.StateCommon.Panel.Color1 = Color.FromArgb( 40, 40, 40 ); //kryptonNavigator1.StateSelected.Tab.Back.Color1 = Color.FromArgb( 54, 54, 54 ); //kryptonNavigator1.StateCommon.Panel.Color1 = Color.FromArgb( 54, 54, 54 ); //kryptonNavigator1.StateSelected.Tab.Back.Color1 = Color.FromArgb( 70, 70, 70 ); //kryptonNavigator1.StatePressed.Tab.Back.Color1 = Color.FromArgb( 60, 60, 60 ); //kryptonNavigator1.StateTracking.Tab.Back.Color1 = Color.FromArgb( 60, 60, 60 ); //kryptonButtonBack.StateCommon.Back.Color1 = Color.FromArgb( 54, 54, 54 ); foreach (var page in kryptonNavigator1.Pages) { //page.StateCommon.Page.Color1 = Color.FromArgb( 80, 80, 80 ); page.StateCommon.Page.Color1 = Color.FromArgb(40, 40, 40); //page.StateCommon.Page.Color1 = Color.FromArgb( 54, 54, 54 ); DarkThemeUtility.ApplyToForm(page); } kryptonLabelLoginError.StateCommon.ShortText.Color1 = Color.Red; } //translate { foreach (var page in kryptonNavigator1.Pages) { page.Text = Translate(page.Text); } EditorLocalization.TranslateForm("Backstage", kryptonPageInfo); EditorLocalization.TranslateForm("Backstage", kryptonPageNew); EditorLocalization.TranslateForm("Backstage", kryptonPageBuild); //EditorLocalization.TranslateForm( kryptonPageAbout, "Backstage" ); } LoginLoad(); timer1.Start(); }
// public KryptonRibbonGroupSliderControl() { InitializeComponent(); DarkThemeUtility.ApplyToForm(this); }
PanelData CreatePanel(DocumentWindow documentWindow, object[] key) //, bool willSelected ) { PanelData panel = new PanelData(); panels.Add(panel); panel.documentWindow = documentWindow; panel.selectedObjects = key; panel.selectedObjectsSet = new ESet <object>(panel.selectedObjects); panel.CreateAndAddPanel(this); ////hide //if( !willSelected && panel.layoutPanel != null ) //{ // panel.layoutPanel.Visible = false; // panel.layoutPanel.Enabled = false; //} //init panel if (panel.selectedObjects != null && panel.selectedObjects.Length != 0) //!!!!так? { //no sense. same speed //bool canSuspendLayout = !ProjectSettings.Get.DisplayHierarchyOfObjectsInSettingsWindow.Value; try { //!!!! //!!!!может раньше //if( canSuspendLayout ) // panel.layoutPanel.SuspendLayout(); //!!!! отключено. для правильного расчёта splitContainer.SplitterDistance. см ниже. //layoutPanel.SuspendLayout(); //!!!!! //if( clear ) // Clear(); //UpdateBegin?.Invoke( this ); //AllProviders_UpdateBegin?.Invoke( this ); //OnUpdate(); var objInfoHeader = new SettingsHeader_ObjectInfo(); objInfoHeader.Dock = DockStyle.Fill; panel.layoutPanel.Controls.Add(objInfoHeader); bool allComponentsSelected = Array.TrueForAll(panel.selectedObjects, obj => obj is Component); if (allComponentsSelected) { if (ProjectSettings.Get.DisplayHierarchyOfObjectsInSettingsWindow.Value) { //with components hierarchy on second level var splitContainer = new KryptonSplitContainer(); splitContainer.SplitterWidth = 8; splitContainer.Orientation = Orientation.Horizontal; splitContainer.Dock = DockStyle.Fill; DarkThemeUtility.ApplyToSplitter(splitContainer); panel.layoutPanel.Controls.Add(splitContainer); { var componentsHeader = new SettingsHeader_Components(); //header.Init( documentWindow ); componentsHeader.Dock = DockStyle.Fill; splitContainer.Panel1.Controls.Add(componentsHeader); // components panel autosize. float splitterPercent = (float)componentsHeader.CalculateHeight() / splitContainer.Height; float minCoef = 0.33f; if (splitterPercent < minCoef) { splitContainer.SplitterDistance = componentsHeader.CalculateHeight() + 25; } else { splitContainer.SplitterDistance = (int)(splitContainer.Height * minCoef); } } { var window = new SettingsLevel2Window(); window.Dock = DockStyle.Fill; splitContainer.Panel2.Controls.Add(window); } //теперь ниже ////select root of level 2 ////!!!!всегда Component? если нет, то и окна этого нет //panel.GetControl<SettingsHeader_Components>()?.SelectObjects( new Component[] { (Component)panel.selectedObjects[ 0 ] } ); //UpdateEnd?.Invoke( this ); //AllProviders_UpdateEnd?.Invoke( this ); //provider.PerformUpdate( false ); } else { //without components hierarchy on second level var window = new SettingsLevel2Window(); window.Dock = DockStyle.Fill; panel.layoutPanel.Controls.Add(window); window.SelectObjects(panel.documentWindow, panel.selectedObjects); } } else { //not components. can be flowchart Connector. //!!!!можно показать свойства в гриде read only } } finally { //if( canSuspendLayout ) // panel.layoutPanel.ResumeLayout(); //!!!! отключено. для правильного расчёта splitContainer.SplitterDistance //layoutPanel.ResumeLayout(); } } return(panel); }