Exemplo n.º 1
0
        public StartupHandler(IScreens screensInfo, IVirtualDesktopCollection virtualDesktops, IContainerNodeCreater containerNodeCreator, IVirtualDesktopCreater virtualDesktopCreator, IScreenNodeCreater screenNodeCreator, ISignalHandler signal, IKeyHandler keyHandler, ICommandHelper commandHelper, IWindowTracker windowTracker, IPInvokeHandler pinvokeHandler)
        {
            this.screensInfo          = screensInfo;
            this.desktops             = virtualDesktops;
            this.containerNodeCreator = containerNodeCreator;
            this.signal          = signal;
            this.keyHandler      = keyHandler;
            this.commandHelper   = commandHelper;
            this.windowTracker   = windowTracker;
            this.pinvokeHandler  = pinvokeHandler;
            this.HandlesToIgnore = new List <IntPtr>();

            var result = screensInfo.AllScreens.GetOrderRect();

            _screens = result.rect.ToArray();

            for (var i = 0; i < desktops.Count; i++)
            {
                var screensToAdd = _screens.Select((rect, i) => screenNodeCreator.Create("Screen" + i, rect, dir: result.direction)).ToArray();
                desktops[i] = virtualDesktopCreator.Create(i, rect: _screens.TotalRect(), dir: result.direction, childs: screensToAdd);
                desktops[i].Hide();
            }

            desktops.Index = 0;
            desktops.ActiveDesktop.Show();
        }
Exemplo n.º 2
0
 public ContainerNode(IRenderer renderer, IContainerNodeCreater containerNodeCreator, IWindowTracker windowTracker, RECT rect, Direction direction = Direction.Horizontal, Node parent = null) : base(rect, direction, parent)
 {
     this.Renderer             = renderer;
     this.containerNodeCreator = containerNodeCreator;
     this.windowTracker        = windowTracker;
     Childs = new Collection <Node>();
     _ignoreChildsOnUpdateRect = new List <int>();
 }
Exemplo n.º 3
0
 public ScreenNodeCreater(IFocusHandler focusHandler, IWindowEventHandler windowHandler, IWindowTracker windowTracker, IPInvokeHandler pinvokeHandler, IContainerNodeCreater containerCreater)
 {
     this.focusHandler     = focusHandler;
     this.windowHandler    = windowHandler;
     this.windowTracker    = windowTracker;
     this.pinvokeHandler   = pinvokeHandler;
     this.containerCreater = containerCreater;
 }
Exemplo n.º 4
0
 public VirtualDesktopCreater(IServiceProvider service)// IFocusTracker focusTracker, IFocusHandler focusHandler, IWindowEventHandler windowHandler, IWindowTracker windowTracker, IPInvokeHandler pinvokeHandler, IContainerNodeCreater containerCreater)
 {
     this.service          = service;
     this.focusHandler     = service.GetRequiredService <IFocusHandler>();
     this.windowHandler    = service.GetRequiredService <IWindowEventHandler>();
     this.windowTracker    = service.GetRequiredService <IWindowTracker>();
     this.pinvokeHandler   = service.GetRequiredService <IPInvokeHandler>();
     this.containerCreater = service.GetRequiredService <IContainerNodeCreater>();
     this.screenCreater    = service.GetRequiredService <IScreenNodeCreater>();
     this.signalHandler    = service.GetRequiredService <ISignalHandler>();
 }
Exemplo n.º 5
0
 public FixedContainerNode(IRenderer renderer, IContainerNodeCreater containerNodeCreator, IWindowTracker windowTracker, RECT rect, Direction direction = Direction.Horizontal, Node parent = null)
     : base(renderer, containerNodeCreator, windowTracker, rect, direction, parent)
 {
 }
Exemplo n.º 6
0
 public ScreenNode(string name, IRenderer renderer, IContainerNodeCreater containerNodeCreator, IWindowTracker windowTracker, RECT rect, Direction direction = Direction.Horizontal) :
     base(renderer, containerNodeCreator, windowTracker, rect, direction, null)
 {
     Name      = name;
     FixedRect = true;
 }