private void ViewModeComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (!FlagManager.IsSet("ViewModeComboBox") && ProjectManager.IsProjectOpen) { FilterNavigation(); } }
private void BuildConfigListView_SelectedIndexChanged(object sender, EventArgs e) { if (FlagManager.IsSet(nameof(FillSettings))) { return; } if (FlagManager.IsSet(nameof(SetSelectedBuildConfig))) { return; } if (IsEditingConfig) { SetSelectedBuildConfig(SelectedBuildConfig, false); return; } if (BuildConfigListView.SelectedItems.Count == 1 && BuildConfigListView.SelectedItems[0].Tag is BuildConfiguration config) { SetSelectedBuildConfig(config, true); } //else if (SelectedBuildConfig != null) //{ // SetSelectedBuildConfig(SelectedBuildConfig, false); //} }
private void FlexTextBox_Validating(object sender, CancelEventArgs e) { if (FlagManager.IsSet(nameof(FillFlexValues))) { return; } if (!string.IsNullOrEmpty(FlexTextBox.Text)) { var matValues = FlexTextBox.Text.Split(';', ','); if (matValues.Length != 5) { MessageBox.Show("Invalid number of values"); e.Cancel = true; return; } var invalidValues = new List <string>(); for (int i = 0; i < matValues.Length; i++) { if (!Utilities.NumberHelper.SmartTryParse(matValues[i].Trim(), out _)) { invalidValues.Add(matValues[i]); } } if (invalidValues.Any()) { MessageBox.Show($"Invalid values: {string.Join(", ", invalidValues)}"); e.Cancel = true; return; } } }
private void ProjectTreeView_SelectedIndexChanged(object sender, EventArgs e) { if (FlagManager.IsSet("PreventSelection") && !FlagManager.IsSet("ItemSelectionChanged")) { using (FlagManager.UseFlag("ItemSelectionChanged")) ProjectTreeView.SelectObjects(SelectedItemCache); } }
private void BuildCfgProperty_ValueChanged(object sender, EventArgs e) { if (FlagManager.IsSet(nameof(FillBuildConfigDetails))) { return; } BeginEditBuildConfig(); }
private void Panels_CollapsedChanged(object sender, EventArgs e) { if (FlagManager.IsSet(nameof(ForceAdjustFlowLayout)) || FlagManager.IsSet(nameof(ApplyLayoutArgs))) { return; } AdjustFlowLayout(); }
private void ElementsComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (FlagManager.IsSet(nameof(UpdateElementList)) || FlagManager.IsSet(nameof(SetCurrentObject))) { return; } SetCurrentObject(ElementsComboBox.SelectedItem as PartConnection, true); }
private void Edit_GenerateOutlines_CheckStateChanged(object sender, EventArgs e) { if (FlagManager.IsSet("UpdateMenuItemStates")) { return; } SettingsManager.Current.BuildSettings.GenerateOutlines = Edit_GenerateOutlines.Checked; SettingsManager.SaveSettings(); }
private void SpringEditor_ValueChanged(object sender, EventArgs e) { if (FlagManager.IsSet(nameof(SelectedElement_PropertyChanged)) || FlagManager.IsSet(nameof(SetCurrentObject))) { return; } if (SpringCheckBox.Checked && SelectedElement?.Connector is SliderConnector slider) { slider.Spring = SpringEditor.Value; } }
private void CollisionSizeEditor_ValueChanged(object sender, EventArgs e) { if (FlagManager.IsSet("FillSelectionDetails") || FlagManager.IsSet("UpdatePropertyValue")) { return; } if (SelectedElement is PartBoxCollision boxCollision) { boxCollision.Size = CollisionSizeEditor.Value / 2d; } }
private void CollisionRadiusBox_ValueChanged(object sender, EventArgs e) { if (FlagManager.IsSet("FillSelectionDetails") || FlagManager.IsSet("UpdatePropertyValue")) { return; } if (SelectedElement is PartSphereCollision sphereCollision) { sphereCollision.Radius = CollisionRadiusBox.Value; } }
private void LddPathTextBoxes_ValueChanged(object sender, EventArgs e) { if (FlagManager.IsSet(nameof(FillLddSettings))) { return; } var tmpEnv = new LDD.LDDEnvironment(PrgmFilePathTextBox.Value, AppDataPathTextBox.Value); tmpEnv.CheckLifStatus(); UpdateLifsStatus(tmpEnv); HasSettingsChanged = !SettingsEnvironment.IsEqual(tmpEnv); }
private void ProjectTreeView_SelectionChanged(object sender, EventArgs e) { if (!(FlagManager.IsSet("BuildingNavTree") || FlagManager.IsSet("ManualSelect") || FlagManager.IsSet("DragDropping") || FlagManager.IsSet("WaitForManualSelect") || FlagManager.IsSet("PreventSelection"))) { using (FlagManager.UseFlag("SelectElements")) ProjectManager.SelectElements(GetSelectedElements()); } FlagManager.Set("WaitForManualSelect", false); FlagManager.Set("PreventSelection", false); }
private void SpringCheckBox_CheckedChanged(object sender, EventArgs e) { SpringEditor.Enabled = SpringCheckBox.Checked; if (FlagManager.IsSet(nameof(SelectedElement_PropertyChanged)) || FlagManager.IsSet(nameof(SetCurrentObject))) { return; } if (SelectedElement?.Connector is SliderConnector slider) { slider.Spring = SpringCheckBox.Checked ? (Vector3d?)SpringEditor.Value : null; } }
protected override void OnElementSelectionChanged() { base.OnElementSelectionChanged(); if (FlagManager.IsSet("SelectElements")) { return; } if (InvokeRequired) { BeginInvoke(new MethodInvoker(SyncProjectSelection)); } else { SyncProjectSelection(); } }
private void CategoryListView_SelectionChanged(object sender, EventArgs e) { if (FlagManager.IsSet(nameof(SelectTabInList))) { return; } if (CategoryListView.SelectedObject is SettingsTabNode tabNode) { if (!ShowSettingTab(tabNode.Tab) && CurrentTab != null) { SelectTabInList(CurrentTab); } } else if (CurrentTab != null) { SelectTabInList(CurrentTab); } }
private void ConnectionSubTypeCombo_SelectedIndexChanged(object sender, EventArgs e) { if (FlagManager.IsSet(nameof(SetCurrentObject))) { return; } if (SelectedElement != null && ConnectionSubTypeCombo.SelectedItem is ConnectorInfo connInfo) { if (SelectedElement.SubType != connInfo.SubType) { SelectedElement.SubType = connInfo.SubType; } if (SelectedElement.ConnectorType == ConnectorType.Ball) { UpdateFlexEditorVisibility(); } } }
private void BuildConfigComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (FlagManager.IsSet("UpdateBuildConfig")) { return; } if (BuildConfigComboBox.SelectedItem is BuildConfiguration buildConfig) { if (buildConfig.InternalFlag == 3) { using (FlagManager.UseFlag("UpdateBuildConfig")) BuildConfigComboBox.SelectedIndex = BuildConfigList.IndexOf(SelectedBuildConfig); ShowSettingsWindow(AppSettingsWindow.SettingTab.EditorSettings); } else { SelectedBuildConfig = buildConfig; } } }
private void FlexTextBox_Validated(object sender, EventArgs e) { if (FlagManager.IsSet(nameof(FillFlexValues))) { return; } if (!string.IsNullOrEmpty(FlexTextBox.Text)) { var matValues = FlexTextBox.Text.Split(';', ','); var values = new double[5]; for (int i = 0; i < matValues.Length; i++) { if (Utilities.NumberHelper.SmartTryParse(matValues[i].Trim(), out double fV)) { values[i] = fV; } } (SelectedElement.Connector as BallConnector).SetFlexValues(values); } }
private void FillSelectedConnector(bool fromCombo) { if (FlagManager.IsSet("UpdateConnectorList")) { return; } if (ConnectorComboBox.SelectedItem is PartConnection connection) { studConnectionEditor1.StudConnector = connection.GetConnector <Custom2DFieldConnector>(); studConnectionEditor1.Enabled = true; if (SyncSelectionCheckBox.Checked && fromCombo && !FlagManager.IsSet("SyncToCurrentSelection")) { ProjectManager.SelectElement(connection); } } else { studConnectionEditor1.StudConnector = null; studConnectionEditor1.Enabled = false; } }
private void SetCurrentObject(PartConnection connection, bool fromComboBox) { foreach (var ctrl in GetAllEditControl()) { ctrl.DataBindings.Clear(); } using (FlagManager.UseFlag(nameof(SetCurrentObject))) { if (SelectedElement != null) { SelectedElement.PropertyChanged -= SelectedElement_PropertyChanged; SelectedElement = null; } SelectedElement = connection; if (SelectedElement != null) { ElementNameTextBox.Enabled = true; ConnectionSubTypeCombo.Enabled = true; TransformEdit.Enabled = true; TypeValueLabel.Text = connection.ConnectorType.ToString(); ElementNameTextBox.DataBindings.Add(new Binding( "Text", connection, nameof(connection.Name), true, DataSourceUpdateMode.OnValidation)); EditControlHelpers.ForEach(x => x.UpdateVisibility(SelectedElement.ConnectorType)); TransformEdit.BindPhysicalElement(connection); switch (SelectedElement.ConnectorType) { case ConnectorType.Hinge: { OrientedCheckBox.DataBindings.Add(new Binding( "Checked", connection.Connector, nameof(HingeConnector.Oriented), true, DataSourceUpdateMode.OnPropertyChanged)); LimitMinBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(HingeConnector.LimitMin), true, DataSourceUpdateMode.OnPropertyChanged)); LimitMaxBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(HingeConnector.LimitMax), true, DataSourceUpdateMode.OnPropertyChanged)); FlipLimitMinBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(HingeConnector.FlipLimitMin), true, DataSourceUpdateMode.OnPropertyChanged)); FlipLimitMaxBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(HingeConnector.FlipLimitMax), true, DataSourceUpdateMode.OnPropertyChanged)); } break; case ConnectorType.Axel: { LengthBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(AxelConnector.Length), true, DataSourceUpdateMode.OnPropertyChanged)); StartCappedCheckBox.DataBindings.Add(new Binding( "Checked", connection.Connector, nameof(AxelConnector.StartCapped), true, DataSourceUpdateMode.OnPropertyChanged)); EndCappedCheckBox.DataBindings.Add(new Binding( "Checked", connection.Connector, nameof(AxelConnector.EndCapped), true, DataSourceUpdateMode.OnPropertyChanged)); GrabbingCheckBox.DataBindings.Add(new Binding( "Checked", connection.Connector, nameof(AxelConnector.Grabbing), true, DataSourceUpdateMode.OnPropertyChanged)); GrabbingRequiredCheckBox.DataBindings.Add(new Binding( "Checked", connection.Connector, nameof(AxelConnector.IsGrabbingRequired), true, DataSourceUpdateMode.OnPropertyChanged)); } break; case ConnectorType.Gear: { ToothNumBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(GearConnector.ToothCount), true, DataSourceUpdateMode.OnPropertyChanged)); RadiusNumBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(GearConnector.Radius), true, DataSourceUpdateMode.OnPropertyChanged)); } break; case ConnectorType.Slider: { var sliderConn = connection.Connector as SliderConnector; LengthBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(SliderConnector.Length), true, DataSourceUpdateMode.OnPropertyChanged)); CylindricalCheckBox.DataBindings.Add(new Binding( "Checked", connection.Connector, nameof(SliderConnector.Cylindrical), true, DataSourceUpdateMode.OnPropertyChanged)); StartCappedCheckBox.DataBindings.Add(new Binding( "Checked", connection.Connector, nameof(SliderConnector.StartCapped), true, DataSourceUpdateMode.OnPropertyChanged)); EndCappedCheckBox.DataBindings.Add(new Binding( "Checked", connection.Connector, nameof(SliderConnector.EndCapped), true, DataSourceUpdateMode.OnPropertyChanged)); UpdateSliderSpringValue(); } break; case ConnectorType.Rail: { LengthBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(RailConnector.Length), true, DataSourceUpdateMode.OnPropertyChanged)); } break; case ConnectorType.Fixed: { AxesNumberBox.DataBindings.Add(new Binding( "Value", connection.Connector, nameof(FixedConnector.Axes), true, DataSourceUpdateMode.OnPropertyChanged)); } break; case ConnectorType.Ball: { UpdateFlexEditorVisibility(); FillFlexValues(); } break; } FillSubTypeComboBox(SelectedElement.ConnectorType); SetSubTypeComboValue(SelectedElement.SubType); SelectedElement.PropertyChanged += SelectedElement_PropertyChanged; if (SyncSelectionCheckBox.Checked && fromComboBox && !FlagManager.IsSet(nameof(SyncToCurrentSelection))) { ProjectManager.SelectElement(connection); } } else { TypeValueLabel.Text = string.Empty; //FlexTextBox.Text = string.Empty; EditControlHelpers.ForEach(x => x.SetVisibility(false)); ElementNameTextBox.Enabled = false; ConnectionSubTypeCombo.Enabled = false; TransformEdit.Enabled = false; TransformEdit.BindPhysicalElement(null); //HingeLayoutPanel.Visible = false; } if (!fromComboBox && ElementsComboBox.SelectedItem != SelectedElement) { ElementsComboBox.SelectedItem = SelectedElement; } } }