Example #1
0
 /// <summary>
 /// Construct new AutoScroll object that will scroll the given target object within it's container
 /// by attaching to the mouse events of the container.
 /// </summary>
 /// <param name="target">The target object to scroll</param>
 /// <param name="zoom">The master MapZoom object that manages the actual render transform</param>
 public AutoScroll(FrameworkElement target, MapZoom zoom)
 {
     _container             = target.Parent as Panel;
     _target                = target;
     _container.MouseDown  += new MouseButtonEventHandler(OnMouseDown);
     _container.MouseMove  += new MouseEventHandler(OnMouseMove);
     _container.MouseWheel += new MouseWheelEventHandler(OnMouseWheel);
     Keyboard.AddKeyDownHandler(_container, new KeyEventHandler(OnKeyDown));
     _zoom = zoom;
 }
Example #2
0
 /// <summary>
 /// Construct new RectangleSelectionGesture object for selecting things in the given target object.
 /// </summary>
 /// <param name="target">A FrameworkElement</param>
 /// <param name="zoom">The MapZoom object that wraps this same target object</param>
 public RectangleSelectionGesture(FrameworkElement target, MapZoom zoom, ModifierKeys mods)
 {
     _mods      = mods;
     _target    = target;
     _container = target.Parent as Panel;
     if (_container == null)
     {
         throw new ArgumentException("Target object must live in a Panel");
     }
     _zoom = zoom;
     _container.MouseLeftButtonDown += new MouseButtonEventHandler(OnMouseLeftButtonDown);
     _container.MouseLeftButtonUp   += new MouseButtonEventHandler(OnMouseLeftButtonUp);
     _container.MouseMove           += new MouseEventHandler(OnMouseMove);
 }
Example #3
0
 /// <summary>
 /// Construct new Pan gesture object.
 /// </summary>
 /// <param name="target">The target to be panned, must live inside a container Panel</param>
 /// <param name="zoom"></param>
 public Pan(FrameworkElement target, MapZoom zoom)
 {
     this._target    = target;
     this._container = target.Parent as Panel;
     if (this._container == null)
     {
         // todo: localization
         throw new ArgumentException("Target object must live in a Panel");
     }
     this._zoom = zoom;
     _container.MouseLeftButtonDown += new MouseButtonEventHandler(OnMouseLeftButtonDown);
     _container.MouseLeftButtonUp   += new MouseButtonEventHandler(OnMouseLeftButtonUp);
     _container.MouseMove           += new MouseEventHandler(OnMouseMove);
 }