Skip to content

Commit 242e6ef

Browse files
committed
Initial draft for integrating the templates into code explorer
1 parent 2223f39 commit 242e6ef

File tree

2 files changed

+120
-232
lines changed

2 files changed

+120
-232
lines changed

Rubberduck.Core/Navigation/CodeExplorer/CodeExplorerViewModel.cs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
using Rubberduck.VBEditor.SafeComWrappers;
2020
using System.Windows;
2121
using Rubberduck.Parsing.UIContext;
22+
using Rubberduck.Templates;
2223
using Rubberduck.UI.UnitTesting.Commands;
2324
using Rubberduck.VBEditor.SafeComWrappers.Abstract;
2425

@@ -36,7 +37,7 @@ public sealed class CodeExplorerViewModel : ViewModelBase, IDisposable
3637
private readonly WindowSettings _windowSettings;
3738
private readonly IUiDispatcher _uiDispatcher;
3839
private readonly IVBE _vbe;
39-
40+
private readonly ITemplateProvider _templateProvider;
4041
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
4142

4243
public CodeExplorerViewModel(
@@ -46,7 +47,8 @@ public CodeExplorerViewModel(
4647
IConfigProvider<GeneralSettings> generalSettingsProvider,
4748
IConfigProvider<WindowSettings> windowSettingsProvider,
4849
IUiDispatcher uiDispatcher,
49-
IVBE vbe)
50+
IVBE vbe,
51+
ITemplateProvider templateProvider)
5052
{
5153
_folderHelper = folderHelper;
5254
_state = state;
@@ -55,6 +57,7 @@ public CodeExplorerViewModel(
5557
_windowSettingsProvider = windowSettingsProvider;
5658
_uiDispatcher = uiDispatcher;
5759
_vbe = vbe;
60+
_templateProvider = templateProvider;
5861

5962
if (generalSettingsProvider != null)
6063
{
@@ -93,6 +96,14 @@ public CodeExplorerViewModel(
9396
}, param => !SortByCodeOrder);
9497
}
9598

99+
public ObservableCollection<Template> BuiltInTemplates =>
100+
new ObservableCollection<Template>(_templateProvider.GetTemplates().Where(t => !t.IsUserDefined)
101+
.OrderBy(t => t.Name));
102+
103+
public ObservableCollection<Template> UserDefinedTemplates =>
104+
new ObservableCollection<Template>(_templateProvider.GetTemplates().Where(t => t.IsUserDefined)
105+
.OrderBy(t => t.Name));
106+
96107
private CodeExplorerItemViewModel _selectedItem;
97108
public CodeExplorerItemViewModel SelectedItem
98109
{
@@ -533,7 +544,8 @@ public double FontSize
533544
public AddUserDocumentCommand AddUserDocumentCommand { get; set; }
534545
public AddTestModuleCommand AddTestModuleCommand { get; set; }
535546
public AddTestModuleWithStubsCommand AddTestModuleWithStubsCommand { get; set; }
536-
public CommandBase AddPredeclaredClassModuleCommand { get; set; }
547+
//public CommandBase AddPredeclaredClassModuleCommand { get; set; }
548+
public AddTemplateCommand AddTemplateCommand { get; set; }
537549
public CommandBase OpenDesignerCommand { get; set; }
538550
public CommandBase OpenProjectPropertiesCommand { get; set; }
539551
public SetAsStartupProjectCommand SetAsStartupProjectCommand { get; set; }

0 commit comments

Comments
 (0)