private void BuildRecentTemplates() { RecentTemplates rts = RecentTemplateManager.GetRecentTemplates(5); foreach (var rt in rts) { MenuItem mi = new MenuItem(); mi.Header = rt.Name; mi.ToolTip = rt.Path; mi.Click += delegate(Object sender, RoutedEventArgs e) { foreach (var wnd in App.Current.Windows) { if (wnd.GetType() == typeof(ViewWindow)) { ViewWindow vw = (ViewWindow)wnd; MenuItem m = (MenuItem)sender; string path = (string)m.ToolTip; vw._LoadTemplate(path); } } }; cmMain.Items.Add(mi); } }
/// <summary> /// загружаем шаблон из файла и строем визуальное отображения /// </summary> /// <param name="fileName"></param> public void _LoadTemplate(string fileName) { currentTemplate = ViewWindowTemplate.Load(fileName); new SkinManager().ApplySkin(currentTemplate.Skin); BuildTemplateView(); //добавляем в список недавних файлов RecentTemplateManager.AddNewRecentTemplate(currentTemplate.Name, fileName); }
/// <summary> /// Формируем шаблон на основе интерфейса и сохраняем в файл /// </summary> /// <param name="fileName">Путь файла для сохранения</param> private void _SaveTemplate(string fileName) { //Перебираем все уровни SaveTemplateView(); currentTemplate.Name = System.IO.Path.GetFileNameWithoutExtension(fileName); currentTemplate.Skin = new SkinManager().GetCurrentSkin(); currentTemplate.Save(fileName); //добавляем в список недавних файлов RecentTemplateManager.AddNewRecentTemplate(currentTemplate.Name, fileName); }
public override void GetTemplates(TemplateSelectorFiltersParameters parameters, GetItemsCompleted <TemplateHeader> completed) { Assert.ArgumentNotNull(parameters, nameof(parameters)); Assert.ArgumentNotNull(completed, nameof(completed)); var templates = Templates; if (templates == null) { completed(Enumerable.Empty <TemplateHeader>()); return; } var templateList = templates.ToList(); var recent = RecentTemplateManager.GetTemplates(parameters.DatabaseUri); var result = recent.Where(templateHeader => templateList.Any(t => t.TemplateUri == templateHeader.TemplateUri)).ToList(); completed(result); }
public override void AddToRecent(TemplateHeader templateHeader) { Assert.ArgumentNotNull(templateHeader, nameof(templateHeader)); RecentTemplateManager.AddToRecent(templateHeader); }
private void CreateItem([NotNull] object sender, [NotNull] RoutedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); var context = Context; if (context == null) { return; } var parent = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem; if (parent == null) { return; } var menuItem = e.Source as MenuItem; if (menuItem == null) { return; } var templateHeader = menuItem.Tag as TemplateHeader; if (templateHeader == null) { return; } var d = new AddInsertOptionDialog(); d.NewItemName.Text = templateHeader.Name; if (AppHost.Shell.ShowDialog(d) != true) { return; } RecentTemplateManager.AddToRecent(templateHeader); var newName = d.ItemName; var templateId = templateHeader.TemplateUri.ItemId; var templateUri = new ItemUri(parent.ItemUri.DatabaseUri, templateId); ItemUri itemUri; var isBranch = IdManager.GetTemplateType(templateId) != "template"; if (isBranch) { itemUri = parent.ItemUri.Site.DataService.AddFromMaster(parent.ItemUri, templateUri, newName); } else { itemUri = parent.ItemUri.Site.DataService.AddFromTemplate(parent.ItemUri, templateUri, newName); } if (itemUri == ItemUri.Empty) { return; } parent.RefreshAndExpand(false); parent.SelectChildItems(new[] { itemUri }); var itemVersionUri = new ItemVersionUri(itemUri, LanguageManager.CurrentLanguage, Version.Latest); AppHost.OpenContentEditor(itemVersionUri); Notifications.RaiseItemAdded(this, itemVersionUri, parent.ItemUri); }