/// <summary> /// Delete the selected entry of the color scheme /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonDeleteItem_Click(object sender, RoutedEventArgs e) { try { if (null != dataGridColor.SelectedItem) { RevitExtension selectedExt = dataGridColor.SelectedItem as RevitExtension; if (null != selectedExt) { deletedExts.Add(selectedExt); bool deleted = extInfo.Extensions.Remove(selectedExt); colorChanged = true; } } } catch (Exception ex) { string message = ex.Message; } }
/// <summary> /// Add an entry of the color scheme /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonAddItem_Click(object sender, RoutedEventArgs e) { try { RevitExtension rvtExtension = new RevitExtension(); rvtExtension.Guid = Guid.NewGuid().ToString(); rvtExtension.ParameterName = parameters[0]; rvtExtension.ParameterValue = "New Parameter"; Random random = new Random(); rvtExtension.Color = new byte[3]; rvtExtension.Color[0] = (byte)random.Next(255); rvtExtension.Color[1] = (byte)random.Next(255); rvtExtension.Color[2] = (byte)random.Next(255); extInfo.Extensions.Add(rvtExtension); colorChanged = true; } catch (Exception ex) { string message = ex.Message; } }
/// <summary> /// Revert the change of the default color - empty /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridColor_BeginningEdit(object sender, DataGridBeginningEditEventArgs e) { try { if (null != e.Row) { DataGridRow row = e.Row; RevitExtension extension = row.Item as RevitExtension; if (null != extension) { if (extension.Guid == Guid.Empty.ToString()) { e.Cancel = true; } } } } catch (Exception ex) { string message = ex.Message; } }
/// <summary> /// Change the selected entry of the color /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonColor_Click(object sender, RoutedEventArgs e) { try { DataGridRow row = WPFUtil.FindVisualParent <DataGridRow>(e.OriginalSource as UIElement); if (null != row) { RevitExtension selectedExt = row.Item as RevitExtension; if (null != selectedExt) { if (selectedExt.Guid == Guid.Empty.ToString()) { return; } WinForm.ColorDialog colorDialog = new WinForm.ColorDialog(); if (colorDialog.ShowDialog() == WinForm.DialogResult.OK) { System.Drawing.Color selectedColor = colorDialog.Color; Button button = e.OriginalSource as Button; if (null != button) { int index = extInfo.Extensions.IndexOf(selectedExt); extInfo.Extensions[index].Color[0] = selectedColor.R; extInfo.Extensions[index].Color[1] = selectedColor.G; extInfo.Extensions[index].Color[2] = selectedColor.B; button.Background = new SolidColorBrush(Color.FromRgb(selectedColor.R, selectedColor.G, selectedColor.B)); } colorChanged = true; } } } } catch (Exception ex) { string message = ex.Message; } }