mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
86 lines
2.3 KiB
C#
86 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using RainmeterStudio.Business;
|
|
using RainmeterStudio.UI.Dialogs;
|
|
using RainmeterStudio.Model.Events;
|
|
using RainmeterStudio.Model;
|
|
using System.Windows;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media.Imaging;
|
|
|
|
namespace RainmeterStudio.UI.Controller
|
|
{
|
|
public class DocumentController
|
|
{
|
|
#region Commands
|
|
|
|
public Command _documentCreateCommand;
|
|
public Command DocumentCreateCommand
|
|
{
|
|
get
|
|
{
|
|
if (_documentCreateCommand == null)
|
|
{
|
|
_documentCreateCommand = new Command("DocumentCreateCommand", () => CreateWindow())
|
|
{
|
|
Shortcut = new KeyGesture(Key.N, ModifierKeys.Control)
|
|
};
|
|
}
|
|
|
|
return _documentCreateCommand;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
public event EventHandler<DocumentOpenedEventArgs> DocumentOpened
|
|
{
|
|
add
|
|
{
|
|
DocumentManager.Instance.DocumentOpened += value;
|
|
}
|
|
remove
|
|
{
|
|
DocumentManager.Instance.DocumentOpened -= value;
|
|
}
|
|
}
|
|
public event EventHandler DocumentClosed;
|
|
|
|
public Window OwnerWindow { get; set; }
|
|
|
|
public DocumentController()
|
|
{
|
|
}
|
|
|
|
public void CreateWindow(DocumentTemplate defaultFormat = null, string defaultPath = "")
|
|
{
|
|
// Show dialog
|
|
var dialog = new CreateDocumentDialog()
|
|
{
|
|
Owner = OwnerWindow,
|
|
SelectedFormat = defaultFormat,
|
|
SelectedPath = defaultPath
|
|
};
|
|
bool? res = dialog.ShowDialog();
|
|
|
|
if (!res.HasValue || !res.Value)
|
|
return;
|
|
|
|
var format = dialog.SelectedFormat;
|
|
var path = dialog.SelectedPath;
|
|
|
|
// Call manager
|
|
DocumentManager.Instance.Create(format, path);
|
|
}
|
|
|
|
public void Create(DocumentTemplate format, string path)
|
|
{
|
|
// Call manager
|
|
DocumentManager.Instance.Create(format, path);
|
|
}
|
|
|
|
}
|
|
}
|