示例#1
0
        internal ViewWindowManager()
        {
            _viewWindowTransparent   = new MainWindowTransparent();
            _viewWindowNoTransparent = new MainWindowNoTransparent();

            _currentMainWindow = _viewWindowTransparent;
        }
示例#2
0
        internal void ForgetCurrentWindow()
        {
            StopFocusMonitor();

            if (ReferenceEquals(_currentMainWindow, _viewWindowTransparent))
            {
                _viewWindowTransparent = new MainWindowTransparent();
            }
            else
            {
                _viewWindowNoTransparent = new MainWindowNoTransparent();
            }

            _currentMainWindow = _viewWindowTransparent;
        }
示例#3
0
        private void BeginShowNewWindow(IViewer matchedPlugin)
        {
            _currentMainWindow.UnloadPlugin();

            // switch window
            var oldWindow = _currentMainWindow;

            _currentMainWindow = matchedPlugin.AllowsTransparency
                ? _viewWindowTransparent
                : _viewWindowNoTransparent;
            if (!ReferenceEquals(oldWindow, _currentMainWindow))
            {
                oldWindow.BeginHide();
            }

            _currentMainWindow.BeginShow(matchedPlugin, _path, CurrentPluginFailed);
        }