Exemple #1
0
        private void StartSystem()
        {
            // Bind handlers
            Exit += App_Exit;
            DispatcherUnhandledException += App_DispatcherUnhandledException;

            // Create system objects
            foregroundWindowHook = new ForegroundWindowHook();
            windowUpdateHook     = new WindowUpdateHook();
            mouseHook            = new ClipMouseHook();
            appSystem            = new AppSystem(foregroundWindowHook, windowUpdateHook, mouseHook);
            windowEnumerator     = new WindowEnumerator();

            // Create components
            lockingComponent     = new LockingComponent(appSystem);
            toolbarComponent     = new ToolbarComponent();
            windowListComponent  = new WindowListComponent(windowEnumerator);
            findProgramComponent = new FindProgramComponent();
            lockWindowComponent  = new LockWindowComponent(appSystem);
            aboutComponent       = new AboutComponent();
            settingsComponent    = new SettingsComponent();
            mainWindowComponent  = new MainWindowComponent(appSystem);

            // Create gui system
            guiSystem = new GuiSystem(lockingComponent, toolbarComponent, windowListComponent, findProgramComponent, lockWindowComponent, aboutComponent, settingsComponent, mainWindowComponent);
            guiSystem.Startup();
        }
        // Constructor
        public LockWindowComponent(IAppSystem appSystem)
        {
            _appSystem                    = appSystem;
            _appSystem.PathChanged       += AppSystem_PathChanged;
            _appSystem.ForegroundChanged += AppSystem_ForegroundChanged;
            _appSystem.TitleChanged      += AppSystem_TitleChanged;
            _appSystem.DimensionsChanged += AppSystem_DimensionsChanged;

            // Create view model
            _viewModel = new LockWindow
            {
                LeftOffset   = 10,
                TopOffset    = 10,
                RightOffset  = 10,
                BottomOffset = 10
            };

            // Subscribe to events
            _viewModel.PropertyChanged += ViewModel_PropertyChanged;

            // Send padding values to system
            _appSystem.SetPadding(_viewModel.LeftOffset, _viewModel.TopOffset, -_viewModel.RightOffset, -_viewModel.BottomOffset);
        }
 // Constructor
 public MainWindowComponent(IAppSystem appSystem)
 {
     _appSystem = appSystem;
     _appSystem.ForegroundChanged += AppSystem_ForegroundChanged;
     _viewModel = new ViewModels.MainWindow();
 }
 // Constructor
 public LockingComponent(IAppSystem appSystem)
 {
     _appSystem = appSystem;
     _appSystem.LockStateChanged += AppSystem_LockStateChanged;
 }