Skip to content

Commit

Permalink
[DYN-3710] Enable Show CodeBlockNode Lines Number (#11705)
Browse files Browse the repository at this point in the history
* Tests1

* Tests changes

* WorkspaceModel Tests

* Fix merge issue

* Add github action

* GitHub Action For Issue Content

* Refactor

* Template/Issue parser and comparator improvements

* Update infromation analyzer

* Delete checkIssueInfo.yaml

* Disable preferences in debug mode

* fix

* Update PreferencesViewModel.cs

* Update PreferencesView.xaml

* revert commit

* Show CodeBlockNode Line Number

* fix

* remove duplicated line

* saved changes label regression fix
  • Loading branch information
Astul-Betizagasti authored May 25, 2021
1 parent ea82bbe commit 32c777e
Show file tree
Hide file tree
Showing 8 changed files with 62 additions and 14 deletions.
18 changes: 9 additions & 9 deletions src/DynamoCoreWpf/Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/DynamoCoreWpf/Properties/Resources.en-US.resx
Original file line number Diff line number Diff line change
Expand Up @@ -2216,7 +2216,7 @@ Uninstall the following packages: {0}?</value>
<data name="vsDynamoMesh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\ViewModels\Watch3D\compiledShaders\vsDynamoMesh;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="DynamoViewSettingsMenuShowCodeBlockNodeLineNumber" xml:space="preserve">
<data name="PreferencesViewShowCodeBlockNodeLineNumber" xml:space="preserve">
<value>Show CodeBlockNode Line Numbers</value>
</data>
<data name="PreferencesViewIsIronPythonDialogDisabled" xml:space="preserve">
Expand Down
2 changes: 1 addition & 1 deletion src/DynamoCoreWpf/Properties/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -2224,7 +2224,7 @@ Uninstall the following packages: {0}?</value>
<data name="vsDynamoMesh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\ViewModels\Watch3D\compiledShaders\vsDynamoMesh;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="DynamoViewSettingsMenuShowCodeBlockNodeLineNumber" xml:space="preserve">
<data name="PreferencesViewShowCodeBlockNodeLineNumber" xml:space="preserve">
<value>Show CodeBlockNode Line Numbers</value>
</data>
<data name="PreferencesViewIsIronPythonDialogDisabled" xml:space="preserve">
Expand Down
1 change: 1 addition & 0 deletions src/DynamoCoreWpf/ViewModels/Core/DynamoViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@ public bool ShowPreviewBubbles
/// <summary>
/// Indicates if line numbers should be displayed on code block nodes.
/// </summary>
[Obsolete("This was moved to PreferencesViewModel.cs")]
public bool ShowCodeBlockLineNumber
{
get
Expand Down
20 changes: 18 additions & 2 deletions src/DynamoCoreWpf/ViewModels/Menu/PreferencesViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public class PreferencesViewModel : ViewModelBase, INotifyPropertyChanged
private bool enableTSpline;
private bool showEdges;
private bool isolateSelectedGeometry;
private bool showCodeBlockLineNumber;
private RunType runSettingsIsChecked;
private Dictionary<string, TabSettings> preferencesTabs;

Expand Down Expand Up @@ -391,6 +392,20 @@ public int TessellationDivisions
RaisePropertyChanged(nameof(TessellationDivisions));
}
}

public bool ShowCodeBlockLineNumber
{
get
{
return preferenceSettings.ShowCodeBlockLineNumber;
}
set
{
preferenceSettings.ShowCodeBlockLineNumber = value;
showCodeBlockLineNumber = value;
RaisePropertyChanged(nameof(ShowCodeBlockLineNumber));
}
}
#endregion

//This includes all the properties that can be set on the Features tab
Expand Down Expand Up @@ -641,8 +656,6 @@ public PreferencesViewModel(DynamoViewModel dynamoViewModel)
SavedChangesLabel = string.Empty;
SavedChangesTooltip = string.Empty;

this.PropertyChanged += Model_PropertyChanged;

preferencesTabs = new Dictionary<string, TabSettings>();
preferencesTabs.Add("General", new TabSettings() { Name = "General", ExpanderActive = string.Empty });
preferencesTabs.Add("Features",new TabSettings() { Name = "Features", ExpanderActive = string.Empty });
Expand Down Expand Up @@ -704,6 +717,9 @@ private void Model_PropertyChanged(object sender, PropertyChangedEventArgs e)
case nameof(EnableTSplineIsChecked):
description = Res.PreferencesViewEnableTSplineNodes;
goto default;
case nameof(ShowCodeBlockLineNumber):
description = Res.PreferencesViewShowCodeBlockNodeLineNumber;
goto default;
default:
if (!string.IsNullOrEmpty(description))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public CodeCompletionEditor(NodeView nodeView)
this.DataContext = nodeViewModel.NodeModel;
this.dynamoViewModel = nodeViewModel.DynamoViewModel;
this.dynamoViewModel.PropertyChanged += OnDynamoViewModelPropertyChanged;
this.dynamoViewModel.PreferencesViewModel.PropertyChanged += OnPreferencesViewModelPropertyChanged;
this.InnerTextEditor.TextChanged += OnTextChanged;
this.InnerTextEditor.TextArea.GotFocus+= OnTextAreaGotFocus;
this.InnerTextEditor.TextArea.LostFocus += OnTextAreaLostFocus;
Expand Down Expand Up @@ -189,10 +190,11 @@ private void OnTextChanged(object sender, EventArgs e)
if (WatermarkLabel.Visibility == Visibility.Visible)
{
WatermarkLabel.Visibility = Visibility.Collapsed;
this.InnerTextEditor.ShowLineNumbers = dynamoViewModel.ShowCodeBlockLineNumber;
this.InnerTextEditor.ShowLineNumbers = dynamoViewModel.PreferencesViewModel.ShowCodeBlockLineNumber;
}
}

[Obsolete("This is now done through a PreferencesViewModel property change")]
private void OnDynamoViewModelPropertyChanged(object sender, EventArgs e)
{
if((e as PropertyChangedEventArgs).PropertyName == nameof(dynamoViewModel.ShowCodeBlockLineNumber))
Expand All @@ -201,6 +203,14 @@ private void OnDynamoViewModelPropertyChanged(object sender, EventArgs e)
}
}

private void OnPreferencesViewModelPropertyChanged(object sender, EventArgs e)
{
if ((e as PropertyChangedEventArgs).PropertyName == nameof(dynamoViewModel.PreferencesViewModel.ShowCodeBlockLineNumber))
{
this.InnerTextEditor.ShowLineNumbers = dynamoViewModel.PreferencesViewModel.ShowCodeBlockLineNumber;
}
}

private void OnTextAreaTextEntering(object sender, TextCompositionEventArgs e)
{
if (e.Text.Length == 0 || completionWindow == null)
Expand Down Expand Up @@ -405,6 +415,7 @@ private void ShowCompletionWindow(IEnumerable<ICompletionData> completions, bool
internal void Dispose()
{
this.dynamoViewModel.PropertyChanged -= OnDynamoViewModelPropertyChanged;
this.dynamoViewModel.PreferencesViewModel.PropertyChanged -= OnPreferencesViewModelPropertyChanged;
}
}
}
16 changes: 16 additions & 0 deletions src/DynamoCoreWpf/Views/Menu/PreferencesView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -629,6 +629,7 @@
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<StackPanel Orientation="Horizontal"
Expand Down Expand Up @@ -660,6 +661,21 @@
Margin="10,0,0,0"
Foreground="{StaticResource PreferencesWindowFontColor}"/>
</StackPanel>

<StackPanel Orientation="Horizontal"
Margin="0,12,0,0"
Grid.Row="2">
<ToggleButton Name="CodeBlockNodeLineNumbersToggle"
Width="{StaticResource ToggleButtonWidth}"
Height="{StaticResource ToggleButtonHeight}"
VerticalAlignment="Center"
IsChecked="{Binding Path=ShowCodeBlockLineNumber}"
Style="{StaticResource EllipseToggleButton1}"/>
<Label Content="{x:Static p:Resources.PreferencesViewShowCodeBlockNodeLineNumber}"
VerticalAlignment="Center"
Margin="10,0,0,0"
Foreground="{StaticResource PreferencesWindowFontColor}"/>
</StackPanel>
</Grid>
</Expander>
</Grid>
Expand Down
4 changes: 4 additions & 0 deletions src/DynamoCoreWpf/Views/Menu/PreferencesView.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ public partial class PreferencesView : Window
/// <param name="dynamoViewModel"> Dynamo ViewModel</param>
public PreferencesView(DynamoViewModel dynamoViewModel)
{
//Clear the Saved Changes label and its corresponding tooltip when the Preferences Modal is opened
dynamoViewModel.PreferencesViewModel.SavedChangesLabel = string.Empty;
dynamoViewModel.PreferencesViewModel.SavedChangesTooltip = string.Empty;

DataContext = dynamoViewModel.PreferencesViewModel;
dynViewModel = dynamoViewModel;

Expand Down

0 comments on commit 32c777e

Please sign in to comment.