コード例 #1
0
ファイル: ToolBarService.cs プロジェクト: pashav15/pashav
        object Create(ToolBarButtonMD md, IToolBarItemContext ctx, IInputElement commandTarget)
        {
            var item = (IToolBarButton)md.ToolBarItem;
            var md2  = (IToolBarButtonMetadata)md.Metadata;

            var cmdHolder = item as ICommandHolder;
            var cmd       = cmdHolder != null ? cmdHolder.Command : new RelayCommand(a => item.Execute(ctx), a => item.IsEnabled(ctx));

            string header  = ResourceHelper.GetString(item, md2.Header);
            string icon    = md2.Icon;
            string toolTip = ResourceHelper.GetString(item, md2.ToolTip);

            header  = item.GetHeader(ctx) ?? header;
            toolTip = item.GetToolTip(ctx) ?? toolTip;

            var imgRef          = item.GetIcon(ctx) ?? ImageReferenceHelper.GetImageReference(item, icon) ?? default(ImageReference);
            var toggleButtonCmd = item as IToolBarToggleButton;

            Debug.Assert(md2.IsToggleButton == (toggleButtonCmd != null), "Implement IToolBarToggleButton if IsToggleButton is true");
            if (toggleButtonCmd != null)
            {
                return(CreateToggleButton(toggleButtonCmd.GetBinding(ctx), cmd, commandTarget, header, toolTip, imgRef));
            }
            return(new ToolBarButtonVM(cmd, commandTarget, header, toolTip, imgRef));
        }
コード例 #2
0
 public override void Execute(IToolBarItemContext context)
 {
     Parallel.Invoke(() =>
     {
         new Myform(CurrentThemeService.Theme.IsDark).Show();
     });
 }
コード例 #3
0
ファイル: ToolBarCommands.cs プロジェクト: Solertis/dnSpy
 public Binding GetBinding(IToolBarItemContext context)
 {
     Debug.Assert(appWindow != null && appWindow.MainWindow != null);
     return new Binding("IsFullScreen") {
         Source = appWindow.MainWindow,
     };
 }
コード例 #4
0
 public Binding GetBinding(IToolBarItemContext context)
 {
     Debug.Assert(appWindow != null && appWindow.MainWindow != null);
     return(new Binding(nameof(appWindow.MainWindow.IsFullScreen))
     {
         Source = appWindow.MainWindow,
     });
 }
コード例 #5
0
 public override object GetUIObject(IToolBarItemContext context, IInputElement commandTarget)
 {
     if (menu == null)
     {
         menu = menuManager.CreateMenu(new Guid(MenuConstants.APP_MENU_GUID), commandTarget);
     }
     return(menu);
 }
コード例 #6
0
ファイル: ToolBarCommands.cs プロジェクト: Solertis/dnSpy
 public override bool IsVisible(IToolBarItemContext context)
 {
     Debug.Assert(appWindow != null && appWindow.MainWindow != null);
     if (!initd) {
         appWindow.MainWindow.IsFullScreenChanged += (s, e) => appWindow.RefreshToolBar();
         initd = true;
     }
     return appWindow.MainWindow.IsFullScreen;
 }
コード例 #7
0
ファイル: ToolbarCommands.cs プロジェクト: haise0/reAtomizer
        public override void Execute(IToolBarItemContext context)
        {
            var res = messageBoxManager.ShowIgnorableMessage(new Guid("FC8FC68F-4285-4CDF-BEC0-FF6498EEC4AA"), dnSpy_AsmEditor_Resources.AskClearUndoHistory, MsgBoxButton.Yes | MsgBoxButton.No);

            if (res == null || res == MsgBoxButton.Yes)
            {
                undoCommandManager.Value.Clear();
            }
        }
コード例 #8
0
 public override bool IsVisible(IToolBarItemContext context)
 {
     Debug.Assert(appWindow != null && appWindow.MainWindow != null);
     if (!initd)
     {
         appWindow.MainWindow.IsFullScreenChanged += (s, e) => appWindow.RefreshToolBar();
         initd = true;
     }
     return(appWindow.MainWindow.IsFullScreen);
 }
コード例 #9
0
ファイル: ToolBarService.cs プロジェクト: zhenren92/dnSpy
        object?Create(ToolBarItemMD md, IToolBarItemContext ctx, IInputElement?commandTarget)
        {
            if (md is ToolBarButtonMD mdButton)
            {
                return(Create(mdButton, ctx, commandTarget));
            }

            if (md is ToolBarObjectMD mdObj)
            {
                return(Create(mdObj, ctx, commandTarget));
            }

            Debug.Fail("Unknown TB MD");
            return(null);
        }
コード例 #10
0
ファイル: ToolBarService.cs プロジェクト: pashav15/pashav
        object Create(ToolBarItemMD md, IToolBarItemContext ctx, IInputElement commandTarget)
        {
            var mdButton = md as ToolBarButtonMD;

            if (mdButton != null)
            {
                return(Create(mdButton, ctx, commandTarget));
            }

            var mdObj = md as ToolBarObjectMD;

            if (mdObj != null)
            {
                return(Create(mdObj, ctx, commandTarget));
            }

            Debug.Fail("Unknown TB MD");
            return(null);
        }
コード例 #11
0
        object Create(ToolBarButtonMD md, IToolBarItemContext ctx, IInputElement commandTarget)
        {
            var item = (IToolBarButton)md.ToolBarItem;
            var md2  = (IToolBarButtonMetadata)md.Metadata;

            var cmdHolder = item as ICommandHolder;
            var cmd       = cmdHolder != null ? cmdHolder.Command : new RelayCommand(a => item.Execute(ctx), a => item.IsEnabled(ctx));

            string header  = ResourceHelper.GetString(item, md2.Header);
            string icon    = md2.Icon;
            string toolTip = ResourceHelper.GetString(item, md2.ToolTip);
            var    item2   = item as IToolBarButton2;

            if (item2 != null)
            {
                header  = item2.GetHeader(ctx) ?? header;
                icon    = item2.GetIcon(ctx) ?? icon;
                toolTip = item2.GetToolTip(ctx) ?? toolTip;
            }

            BitmapSource imageSource = null;

            if (!string.IsNullOrEmpty(icon))
            {
                imageSource = imageManager.GetImage(item.GetType().Assembly, icon, BackgroundType.ToolBar);
            }

            var toggleButtonCmd = item as IToolBarToggleButton;

            Debug.Assert(md2.IsToggleButton == (toggleButtonCmd != null), "Implement IToolBarToggleButton if IsToggleButton is true");
            if (toggleButtonCmd != null)
            {
                return(CreateToggleButton(toggleButtonCmd.GetBinding(ctx), cmd, commandTarget, header, toolTip, imageSource));
            }
            return(new ToolBarButtonVM(cmd, commandTarget, header, toolTip, imageSource));
        }
コード例 #12
0
 public override void Execute(IToolBarItemContext context) => debugger.Value.DebugProgram(pauseAtEntryPoint: false);
コード例 #13
0
 public override void Execute(IToolBarItemContext context) => debugger.Value.StepOut();
コード例 #14
0
 public override bool IsEnabled(IToolBarItemContext context) => debugger.Value.CanShowNextStatement;
コード例 #15
0
ファイル: ToolBarButtonBase.cs プロジェクト: lovebanyi/dnSpy
 public virtual string GetHeader(IToolBarItemContext context)
 {
     return null;
 }
コード例 #16
0
ファイル: ToolBarButtonBase.cs プロジェクト: lovebanyi/dnSpy
 public virtual bool IsEnabled(IToolBarItemContext context)
 {
     return true;
 }
コード例 #17
0
ファイル: ToolBarCommands.cs プロジェクト: manojdjoshi/dnSpy
		public override void Execute(IToolBarItemContext context) => MsgBox.Instance.Show("Command #1");
コード例 #18
0
ファイル: ToolBarManager.cs プロジェクト: GreenDamTan/dnSpy
        object Create(ToolBarButtonMD md, IToolBarItemContext ctx, IInputElement commandTarget)
        {
            var item = (IToolBarButton)md.ToolBarItem;
            var md2 = (IToolBarButtonMetadata)md.Metadata;

            var cmdHolder = item as ICommandHolder;
            var cmd = cmdHolder != null ? cmdHolder.Command : new RelayCommand(a => item.Execute(ctx), a => item.IsEnabled(ctx));

            string header = ResourceHelper.GetString(item, md2.Header);
            string icon = md2.Icon;
            string toolTip = ResourceHelper.GetString(item, md2.ToolTip);
            var item2 = item as IToolBarButton2;
            if (item2 != null) {
                header = item2.GetHeader(ctx) ?? header;
                icon = item2.GetIcon(ctx) ?? icon;
                toolTip = item2.GetToolTip(ctx) ?? toolTip;
            }

            BitmapSource imageSource = null;
            if (!string.IsNullOrEmpty(icon))
                imageSource = imageManager.GetImage(item.GetType().Assembly, icon, BackgroundType.ToolBar);

            var toggleButtonCmd = item as IToolBarToggleButton;
            Debug.Assert(md2.IsToggleButton == (toggleButtonCmd != null), "Implement IToolBarToggleButton if IsToggleButton is true");
            if (toggleButtonCmd != null)
                return CreateToggleButton(toggleButtonCmd.GetBinding(ctx), cmd, commandTarget, header, toolTip, imageSource);
            return new ToolBarButtonVM(cmd, commandTarget, header, toolTip, imageSource);
        }
コード例 #19
0
ファイル: ToolBarCommands.cs プロジェクト: lovebanyi/dnSpy
		public override void Execute(IToolBarItemContext context) {
			dnSpy.Shared.App.MsgBox.Instance.Show("Command #1");
		}
コード例 #20
0
ファイル: ToolBarObjectBase.cs プロジェクト: lovebanyi/dnSpy
 public bool IsVisible(IToolBarItemContext context)
 {
     return true;
 }
コード例 #21
0
ファイル: Commands.cs プロジェクト: manojdjoshi/dnSpy
		public override string GetToolTip(IToolBarItemContext context) =>
			string.Format(dnSpy_Resources.SearchAssembliesToolBarToolTip, dnSpy_Resources.ShortCutKeyCtrlShiftK);
コード例 #22
0
 public override bool IsEnabled(IToolBarItemContext context)
 {
     return realCommand.CanExecute(context);
 }
コード例 #23
0
 public override void Execute(IToolBarItemContext context)
 {
     realCommand.Execute(context);
 }
コード例 #24
0
ファイル: ToolBarManager.cs プロジェクト: GreenDamTan/dnSpy
 object Create(ToolBarObjectMD md, IToolBarItemContext ctx, IInputElement commandTarget)
 {
     var item = (IToolBarObject)md.ToolBarItem;
     return item.GetUIObject(ctx, commandTarget);
 }
コード例 #25
0
 public override void Execute(IToolBarItemContext context) => debugger.Value.Continue();
コード例 #26
0
ファイル: ToolbarCommands.cs プロジェクト: lovebanyi/dnSpy
		public override bool IsEnabled(IToolBarItemContext context) {
			return undoCommandManager.Value.CanUndo ||
				undoCommandManager.Value.CanRedo;
		}
コード例 #27
0
 public override bool IsEnabled(IToolBarItemContext context) => debugger.Value.CanBreakAll;
コード例 #28
0
ファイル: ToolbarCommands.cs プロジェクト: lovebanyi/dnSpy
		public override void Execute(IToolBarItemContext context) {
			var res = messageBoxManager.ShowIgnorableMessage(new Guid("FC8FC68F-4285-4CDF-BEC0-FF6498EEC4AA"), dnSpy_AsmEditor_Resources.AskClearUndoHistory, MsgBoxButton.Yes | MsgBoxButton.No);
			if (res == null || res == MsgBoxButton.Yes)
				undoCommandManager.Value.Clear();
		}
コード例 #29
0
		/// <inheritdoc/>
		public override bool IsEnabled(IToolBarItemContext context) => Command.CanExecute(context);
コード例 #30
0
ファイル: ToolBarCommands.cs プロジェクト: GreenDamTan/dnSpy
		public override void Execute(IToolBarItemContext context) {
		}
コード例 #31
0
ファイル: ToolBarCommands.cs プロジェクト: manojdjoshi/dnSpy
		public override object GetUIObject(IToolBarItemContext context, IInputElement commandTarget) => comboBox;
コード例 #32
0
ファイル: ToolBarCommands.cs プロジェクト: GreenDamTan/dnSpy
		public override object GetUIObject(IToolBarItemContext context, IInputElement commandTarget) {
			if (menu == null)
				menu = menuManager.CreateMenu(new Guid(MenuConstants.APP_MENU_GUID), commandTarget);
			return menu;
		}
コード例 #33
0
ファイル: ToolBarButtonBase.cs プロジェクト: lovebanyi/dnSpy
 public virtual string GetToolTip(IToolBarItemContext context)
 {
     return null;
 }
コード例 #34
0
 public override void Execute(IToolBarItemContext context) => debugger.Value.StopDebugging();
コード例 #35
0
 public override void Execute(IToolBarItemContext context) => debugger.Value.ShowNextStatement();
コード例 #36
0
 public override string GetToolTip(IToolBarItemContext context) => ToolTipHelper.AddKeyboardShortcut(dnSpy_Debugger_Resources.ToolBarStopDebuggingToolTip, dnSpy_Debugger_Resources.ShortCutKeyShiftF5);
コード例 #37
0
 public override string GetToolTip(IToolBarItemContext context) => ToolTipHelper.AddKeyboardShortcut(dnSpy_Debugger_Resources.ToolBarShowNextStatementToolTip, dnSpy_Debugger_Resources.ShortCutAltAsterisk);
コード例 #38
0
ファイル: ToolBarObjectBase.cs プロジェクト: lovebanyi/dnSpy
 public abstract object GetUIObject(IToolBarItemContext context, IInputElement commandTarget);
コード例 #39
0
 public override bool IsVisible(IToolBarItemContext context) => !initd || !debugger.Value.IsDebugging;
コード例 #40
0
ファイル: ToolBarObjectBase.cs プロジェクト: zz110/dnSpy
 /// <inheritdoc/>
 public abstract object GetUIObject(IToolBarItemContext context, IInputElement commandTarget);
コード例 #41
0
 public override string GetToolTip(IToolBarItemContext context) => ToolTipHelper.AddKeyboardShortcut(dnSpy_Debugger_Resources.ToolBarDebugAssemblyToolTip, dnSpy_Debugger_Resources.ShortCutKeyF5);
コード例 #42
0
 public override string GetToolTip(IToolBarItemContext context) => ToolTipHelper.AddKeyboardShortcut(dnSpy_Resources.OpenToolBarToolTip, dnSpy_Resources.ShortCutKeyCtrlO);
コード例 #43
0
 public override void Execute(IToolBarItemContext context) => debugger.Value.BreakAll();
コード例 #44
0
 public override object GetUIObject(IToolBarItemContext context, IInputElement?commandTarget) => comboBox;
コード例 #45
0
 public override string GetToolTip(IToolBarItemContext context) => ToolTipHelper.AddKeyboardShortcut(dnSpy_Debugger_Resources.ToolBarBreakAllToolTip, dnSpy_Debugger_Resources.ShortCutKeyCtrlAltBreak);
コード例 #46
0
ファイル: ToolBarManager.cs プロジェクト: GreenDamTan/dnSpy
        object Create(ToolBarItemMD md, IToolBarItemContext ctx, IInputElement commandTarget)
        {
            var mdButton = md as ToolBarButtonMD;
            if (mdButton != null)
                return Create(mdButton, ctx, commandTarget);

            var mdObj = md as ToolBarObjectMD;
            if (mdObj != null)
                return Create(mdObj, ctx, commandTarget);

            Debug.Fail("Unknown TB MD");
            return null;
        }
コード例 #47
0
 public override bool IsEnabled(IToolBarItemContext context) => debugger.Value.CanStopDebugging;
コード例 #48
0
		/// <inheritdoc/>
		public abstract void Execute(IToolBarItemContext context);
コード例 #49
0
		/// <inheritdoc/>
		public virtual bool IsEnabled(IToolBarItemContext context) => true;
コード例 #50
0
		/// <inheritdoc/>
		public virtual bool IsVisible(IToolBarItemContext context) => true;
コード例 #51
0
ファイル: ToolBarService.cs プロジェクト: pashav15/pashav
        object Create(ToolBarObjectMD md, IToolBarItemContext ctx, IInputElement commandTarget)
        {
            var item = (IToolBarObject)md.ToolBarItem;

            return(item.GetUIObject(ctx, commandTarget));
        }
コード例 #52
0
		/// <inheritdoc/>
		public virtual string GetHeader(IToolBarItemContext context) => null;
コード例 #53
0
ファイル: ToolBarObjectBase.cs プロジェクト: zz110/dnSpy
 /// <inheritdoc/>
 public bool IsVisible(IToolBarItemContext context) => true;
コード例 #54
0
		/// <inheritdoc/>
		public virtual ImageReference? GetIcon(IToolBarItemContext context) => null;
コード例 #55
0
 public override void Execute(IToolBarItemContext context) => MsgBox.Instance.Show("Command #1");
コード例 #56
0
		/// <inheritdoc/>
		public virtual string GetToolTip(IToolBarItemContext context) => null;
コード例 #57
0
 public override string GetToolTip(IToolBarItemContext context) => ToolTipHelper.AddKeyboardShortcut(dnSpy_AsmEditor_Resources.RedoToolBarToolTip, dnSpy_AsmEditor_Resources.ShortCutKeyCtrlY);
コード例 #58
0
ファイル: ToolBarService.cs プロジェクト: manojdjoshi/dnSpy
		object Create(ToolBarButtonMD md, IToolBarItemContext ctx, IInputElement commandTarget) {
			var item = (IToolBarButton)md.ToolBarItem;
			var md2 = (IToolBarButtonMetadata)md.Metadata;

			var cmdHolder = item as ICommandHolder;
			var cmd = cmdHolder != null ? cmdHolder.Command : new RelayCommand(a => item.Execute(ctx), a => item.IsEnabled(ctx));

			string header = ResourceHelper.GetString(item, md2.Header);
			string icon = md2.Icon;
			string toolTip = ResourceHelper.GetString(item, md2.ToolTip);
			header = item.GetHeader(ctx) ?? header;
			toolTip = item.GetToolTip(ctx) ?? toolTip;

			var imgRef = item.GetIcon(ctx) ?? ImageReferenceHelper.GetImageReference(item, icon) ?? default(ImageReference);
			var toggleButtonCmd = item as IToolBarToggleButton;
			Debug.Assert(md2.IsToggleButton == (toggleButtonCmd != null), "Implement IToolBarToggleButton if IsToggleButton is true");
			if (toggleButtonCmd != null)
				return CreateToggleButton(toggleButtonCmd.GetBinding(ctx), cmd, commandTarget, header, toolTip, imgRef);
			return new ToolBarButtonVM(cmd, commandTarget, header, toolTip, imgRef);
		}