コード例 #1
0
 public DashboardViewModel(IMediator mediator, IAppContext context, IContextMenuViewModel contextMenuViewModel)
 {
     Context = context;
     ContextMenuViewModel = contextMenuViewModel;
     Commands.Add("OpenContextMenu", new Command(async ctx => contextMenuViewModel.Items = await mediator.Send(DynamicContextMenu.Request.Create(ctx ?? context.Session.Widget))));
     Commands.Add("CloseContextMenu", new Command(_ => contextMenuViewModel.Clear()));
     Commands.Add("Delete", new Command(async widget => await mediator.Send(new DeleteWidget.Request(widget as IWidget))));
     Commands.Add("MoveUp", new Command(w => ((IWidget)w).MoveUp(), w => w is IWidget movable && movable.CanMoveUp()));
     Commands.Add("MoveDown", new Command(w => ((IWidget)w).MoveDown(), w => w is IWidget movable && movable.CanMoveDown()));
 }
コード例 #2
0
        public DashboardViewModel(IMediator mediator, IAppContext context, IContextMenuViewModel contextMenuViewModel)
        {
            Context              = context;
            Mediator             = mediator;
            ContextMenuViewModel = contextMenuViewModel;

            Commands.Add("OpenContextMenu", new Command(async ctx => ContextMenuViewModel.Items = await Mediator.Send(DynamicContextMenu.Request.Create(ctx ?? Context.Session.Widget)).ConfigureAwait(false)));
            Commands.Add("CloseContextMenu", new Command(_ => ContextMenuViewModel.Clear()));
            Commands.Add("Delete", new Command(async widget => await Mediator.Send(new DeleteWidget.Request(widget as IWidget))));
            Commands.Add("Refresh", new Command(_ => Task.Run(async() => await mediator.Send(new TriggerJob.Request(context.Session.Widget)))));
            Commands.Add("MoveUp", new Command(w => ((IWidget)w).MoveUp(), w => w is IWidget movable && movable.CanMoveUp()));
            Commands.Add("MoveDown", new Command(w => ((IWidget)w).MoveDown(), w => w is IWidget movable && movable.CanMoveDown()));
        }
コード例 #3
0
ファイル: MainViewModel.cs プロジェクト: grarup/SharpE
    private void Init()
    {
      if (!Directory.Exists(Properties.Settings.Default.SettingPath))
        Directory.CreateDirectory(Properties.Settings.Default.SettingPath);
      if (!File.Exists(Properties.Settings.Default.SettingPath + "\\settings.json"))
        File.WriteAllBytes(Properties.Settings.Default.SettingPath + "\\settings.json", Properties.Resources.settings);
      m_treeNodes.Add(Tree.TabTrees.Settings, new DirectoryViewModel(Properties.Settings.Default.SettingPath));
      Settings = GetSetting(Properties.Settings.Default.SettingPath + "\\settings.json");

      m_schemaManager = new SchemaManager(m_settings);
      m_schemaManager.AddLockedSchema(new Schema(Properties.Resources.generalsettings_schema, m_schemaManager));
      m_schemaManager.AddLockedSchema(new Schema(Properties.Resources.basetexteditorsettings_schema, m_schemaManager));
      m_schemaManager.AddLockedSchema(new Schema(Properties.Resources.jsoneditor_schema, m_schemaManager));
      m_schemaManager.AddLockedSchema(new Schema(Properties.Resources.template_schema, m_schemaManager));

      m_autoCompleteCollectionManager = new AutoCompleteCollectionManager(m_schemaManager);
      ServiceProvider.Registre<IAutoCompleteCollectionManager>(m_autoCompleteCollectionManager);

      Path = Properties.Settings.Default.ProjectPath;

      EditorManager = new EditorManager(m_settings, this);

      m_templateManager = new TemplateManager(m_settings);
      m_treeNodes[Tree.TabTrees.Templats] = TemplateManager.Root;

      m_treeNodes[Tree.TabTrees.Schemas] = new CollectionTreeViewModel(m_schemaManager.Paths);
      m_layoutManager.LoadSetup();

      UpdateSettings();
      
      Root = m_treeNodes[m_selectedTabTree];

      m_treeContextMenus[Tree.TabTrees.Project] = new ProjectContextMenuViewModel(this);
      m_treeContextMenus[Tree.TabTrees.Schemas] = new SchemaContextMenuViewModel(this);
      m_treeContextMenus[Tree.TabTrees.Templats] = new TemplateContextMenuViewModel(this);
      m_currentTreeContextMenu = m_treeContextMenus[Tree.TabTrees.Project];
    }