public static Notifier CreateNotifier(Corner corner, PositionProviderType relation, NotificationLifetimeType lifetime)
        {
            _notifier?.Dispose();
            _notifier = null;

            return(new Notifier(cfg =>
            {
                cfg.PositionProvider = CreatePositionProvider(corner, relation);
                cfg.LifetimeSupervisor = CreateLifetimeSupervisor(lifetime);
                cfg.Dispatcher = Dispatcher.CurrentDispatcher;
            }));
        }
Example #2
0
        public Notifier CreateNotifier(Corner corner, PositionProviderType relation, NotificationLifetimeType lifetime)
        {
            _notifier?.Dispose();
            _notifier = null;

            return(new Notifier(cfg =>
            {
                cfg.PositionProvider = CreatePositionProvider(corner, relation);
                cfg.LifetimeSupervisor = CreateLifetimeSupervisor(lifetime);
                cfg.Dispatcher = Dispatcher.CurrentDispatcher;
                cfg.DisplayOptions.TopMost = TopMost.GetValueOrDefault();
            }));
        }
Example #3
0
        public Position(Module module, PositionProviderType type, bool valid = true, double?x = null, double?y = null, double?z = null, double?deviationx = null, double?deviationy = null, double?deviationz = null)
            : base()
        {
            this.Module = module;
            this.Type   = type;
            this.Valid  = valid;

            this.X = x;
            this.Y = y;
            this.Z = z;

            this.DeviationX = deviationx;
            this.DeviationY = deviationy;
            this.DeviationZ = deviationz;
        }
Example #4
0
        private static IPositionProvider CreatePositionProvider(Corner corner, PositionProviderType relation)
        {
            switch (relation)
            {
            case PositionProviderType.Window:
            {
                return(new WindowPositionProvider(Application.Current.MainWindow, corner, 5, 5));
            }

            case PositionProviderType.Screen:
            {
                return(new PrimaryScreenPositionProvider(corner, 0, 0));
            }
            }

            throw new InvalidEnumArgumentException();
        }
        private static IPositionProvider CreatePositionProvider(Corner corner, PositionProviderType relation)
        {
            switch (relation)
            {
            case PositionProviderType.Window:
            {
                return(new WindowPositionProvider(Application.Current.MainWindow, corner, -40, 0));
            }

            case PositionProviderType.Screen:
            {
                return(new PrimaryScreenPositionProvider(corner, 5, 5));
            }

            case PositionProviderType.Control:
            {
                var mainWindow      = Application.Current.MainWindow as MainWindow;
                var trackingElement = mainWindow;
                return(new ControlPositionProvider(mainWindow, trackingElement, corner, 5, 5));
            }
            }

            throw new InvalidEnumArgumentException();
        }
 public void ChangePosition(Corner corner, PositionProviderType relation, NotificationLifetimeType lifetime)
 {
     _notifier = CreateNotifier(corner, relation, lifetime);
 }