Esempio n. 1
0
		/// <summary>
		/// Constructor.
		/// </summary>
		public MouseButtonMessage(Point location, XMouseButtons mouseButton, ButtonActions buttonAction, uint clickCount, bool control, bool alt, bool shift)
		{
			_location = location;
			_buttonAction = buttonAction;
			_clickCount = clickCount;
			_mouseButtonShortcut = new MouseButtonShortcut(mouseButton, control, alt, shift);
		}
        private IMouseButtonHandler GetActiveMouseTool(MouseButtonShortcut shortcut)
        {
            if (shortcut == null)
                return null;

            return (from mouseTool in GetMouseTools()
                    where mouseTool.Active && shortcut.Equals(mouseTool.MouseButton)
                    select mouseTool).FirstOrDefault();
        }
Esempio n. 3
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="tooltipPrefix">The tooltip prefix, which usually describes the tool's function.</param>
 protected MouseImageViewerTool(string tooltipPrefix)
     : base()
 {
     _tooltipPrefix              = tooltipPrefix;
     _mousebuttonBehaviour       = MouseButtonHandlerBehaviour.Default;
     _mouseButton                = XMouseButtons.None;
     _defaultMouseButtonShortcut = null;
     _mouseWheelShortcut         = null;
     _active = false;
 }
Esempio n. 4
0
        private IMouseButtonHandler GetActiveMouseTool(MouseButtonShortcut shortcut)
        {
            if (shortcut == null)
            {
                return(null);
            }

            return((from mouseTool in GetMouseTools()
                    where mouseTool.Active && shortcut.Equals(mouseTool.MouseButton)
                    select mouseTool).FirstOrDefault());
        }
Esempio n. 5
0
        public IEnumerable <IMouseButtonHandler> GetMouseButtonHandlers(MouseButtonShortcut shortcut)
        {
            if (shortcut == null)
            {
                yield break;
            }

            var activeMouseTool = GetActiveMouseTool(shortcut);

            if (activeMouseTool != null)
            {
                yield return(activeMouseTool);
            }

            foreach (var defaultMouseTool in GetDefaultMouseTools(shortcut))
            {
                yield return(defaultMouseTool);
            }
        }
Esempio n. 6
0
        private static void InitializeModifiedMouseToolButton(MouseImageViewerTool mouseTool)
        {
            MouseButtonShortcut defaultMouseButtonShortcut = null;

            // check for hardcoded assembly default settings
            object[] defaultButtonAssignments = mouseTool.GetType().GetCustomAttributes(typeof(DefaultMouseToolButtonAttribute), true);
            if (defaultButtonAssignments != null && defaultButtonAssignments.Length > 0)
            {
                DefaultMouseToolButtonAttribute attribute = (DefaultMouseToolButtonAttribute)defaultButtonAssignments[0];
                defaultMouseButtonShortcut = attribute.Shortcut;
            }

            // check settings profile for an override specific to this tool
            Type mouseToolType = mouseTool.GetType();

            if (MouseToolSettingsProfile.Current.HasEntry(mouseToolType))
            {
                MouseToolSettingsProfile.Setting value = MouseToolSettingsProfile.Current[mouseToolType];
                if (value.DefaultMouseButton.HasValue)
                {
                    defaultMouseButtonShortcut = null;
                    if (value.DefaultMouseButton.Value != XMouseButtons.None)
                    {
                        defaultMouseButtonShortcut = new MouseButtonShortcut(value.DefaultMouseButton.Value, value.DefaultMouseButtonModifiers.GetValueOrDefault(ModifierFlags.None));
                    }
                }
            }

            // apply the selected value to the tool (don't write back to the profile! - that's not for us to decide)
            try
            {
                mouseTool.DefaultMouseButtonShortcut = defaultMouseButtonShortcut;
            }
            catch (Exception e)
            {
                // JY: what exactly are we catching here?
                Platform.Log(LogLevel.Warn, e);
            }

            MouseToolSettingsProfile.Current[mouseToolType].DefaultMouseButton          = defaultMouseButtonShortcut != null ? defaultMouseButtonShortcut.MouseButton : XMouseButtons.None;
            MouseToolSettingsProfile.Current[mouseToolType].DefaultMouseButtonModifiers = defaultMouseButtonShortcut != null ? defaultMouseButtonShortcut.Modifiers.ModifierFlags : ModifierFlags.None;
        }
 private IEnumerable <TestTool> GetMouseButtonHandlers(MouseButtonShortcut shortcut)
 {
     return(GetShortcutManager().GetMouseButtonHandlers(shortcut).Cast <TestTool>());
 }
 private IEnumerable<IMouseButtonHandler> GetDefaultMouseTools(MouseButtonShortcut shortcut)
 {
     return (from mouseTool in GetMouseTools()
             where shortcut.Equals(mouseTool.DefaultMouseButtonShortcut)
             select mouseTool).Cast<IMouseButtonHandler>();
 }
		private static void InitializeModifiedMouseToolButton(MouseImageViewerTool mouseTool)
		{
			MouseButtonShortcut defaultMouseButtonShortcut = null;

			// check for hardcoded assembly default settings
			object[] defaultButtonAssignments = mouseTool.GetType().GetCustomAttributes(typeof (DefaultMouseToolButtonAttribute), true);
			if (defaultButtonAssignments != null && defaultButtonAssignments.Length > 0)
			{
				DefaultMouseToolButtonAttribute attribute = (DefaultMouseToolButtonAttribute) defaultButtonAssignments[0];
				defaultMouseButtonShortcut = attribute.Shortcut;
			}

			// check settings profile for an override specific to this tool
			Type mouseToolType = mouseTool.GetType();
			if (MouseToolSettingsProfile.Current.HasEntry(mouseToolType))
			{
				MouseToolSettingsProfile.Setting value = MouseToolSettingsProfile.Current[mouseToolType];
				if (value.DefaultMouseButton.HasValue)
				{
					defaultMouseButtonShortcut = null;
					if (value.DefaultMouseButton.Value != XMouseButtons.None)
						defaultMouseButtonShortcut = new MouseButtonShortcut(value.DefaultMouseButton.Value, value.DefaultMouseButtonModifiers.GetValueOrDefault(ModifierFlags.None));
				}
			}

			// apply the selected value to the tool (don't write back to the profile! - that's not for us to decide)
			try
			{
				mouseTool.DefaultMouseButtonShortcut = defaultMouseButtonShortcut;
			}
			catch (Exception e)
			{
				// JY: what exactly are we catching here?
				Platform.Log(LogLevel.Warn, e);
			}

			MouseToolSettingsProfile.Current[mouseToolType].DefaultMouseButton = defaultMouseButtonShortcut != null ? defaultMouseButtonShortcut.MouseButton : XMouseButtons.None;
			MouseToolSettingsProfile.Current[mouseToolType].DefaultMouseButtonModifiers = defaultMouseButtonShortcut != null ? defaultMouseButtonShortcut.Modifiers.ModifierFlags : ModifierFlags.None;
		}
		public IEnumerable<IMouseButtonHandler> GetMouseButtonHandlers(MouseButtonShortcut shortcut)
		{
            if (shortcut == null)
                yield break;
		    
			var activeMouseTool = GetActiveMouseTool(shortcut);
            if (activeMouseTool != null)
                yield return activeMouseTool;

            foreach (var defaultMouseTool in GetDefaultMouseTools(shortcut))
                yield return defaultMouseTool;
		}
		/// <summary>
		/// Constructor.
		/// </summary>
		public DefaultMouseToolButtonAttribute(XMouseButtons mouseButton, ModifierFlags modifierFlags)
		{
			_shortcut = new MouseButtonShortcut(mouseButton, modifierFlags);
		}
 private IEnumerable<TestTool> GetMouseButtonHandlers(MouseButtonShortcut shortcut)
 {
     return GetShortcutManager().GetMouseButtonHandlers(shortcut).Cast<TestTool>();
 }
		/// <summary>
		/// Constructor.
		/// </summary>
		public DefaultMouseToolButtonAttribute(XMouseButtons mouseButton)
		{
			_shortcut = new MouseButtonShortcut(mouseButton);
		}
Esempio n. 14
0
 private IEnumerable <IMouseButtonHandler> GetDefaultMouseTools(MouseButtonShortcut shortcut)
 {
     return((from mouseTool in GetMouseTools()
             where shortcut.Equals(mouseTool.DefaultMouseButtonShortcut)
             select mouseTool).Cast <IMouseButtonHandler>());
 }
Esempio n. 15
0
		/// <summary>
		/// Constructor.
		/// </summary>
		/// <param name="tooltipPrefix">The tooltip prefix, which usually describes the tool's function.</param>
		protected MouseImageViewerTool(string tooltipPrefix)
			: base()
		{
			_tooltipPrefix = tooltipPrefix;
			_mousebuttonBehaviour = MouseButtonHandlerBehaviour.Default;
			_mouseButton = XMouseButtons.None;
			_defaultMouseButtonShortcut = null;
			_mouseWheelShortcut = null;
			_active = false;
		}
 /// <summary>
 /// Constructor.
 /// </summary>
 public DefaultMouseToolButtonAttribute(XMouseButtons mouseButton)
 {
     _shortcut = new MouseButtonShortcut(mouseButton);
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 public DefaultMouseToolButtonAttribute(XMouseButtons mouseButton, ModifierFlags modifierFlags)
 {
     _shortcut = new MouseButtonShortcut(mouseButton, modifierFlags);
 }