public bool LayoutChange(string windowName, LayoutRenderType layoutRenderType)
        {
            ILayoutWindow layoutWindow = LayoutWindows.FirstOrDefault(window => window.WindowName == windowName);

            if (layoutWindow != null)
            {
                return(layoutWindow.LayoutChange(layoutRenderType));
            }

            return(false);
        }
示例#2
0
        private void SetSpecialViewTip(LayoutRenderType pictureMode)
        {
            if (pictureMode == LayoutRenderType.BigSmallsLayout)
            {
                SpecialViewTip = "请选择作为大画面的教室";
            }

            if (pictureMode == LayoutRenderType.CloseupLayout)
            {
                SpecialViewTip = "请选择作为特写画面的教室";
            }
        }
示例#3
0
        public SetSpecialViewModel(LayoutRenderType pictureMode)
        {
            _windowManager = DependencyResolver.Current.GetService <IMeetingWindowManager>();

            _targetPictureMode = pictureMode;

            SetSpecialViewTip(pictureMode);

            AttendeeViews = new ObservableCollection <TextWithButtonItem>();

            GetAttendeeViewsCommand = new DelegateCommand(GetAttendeeViewsAsync);
            SetSpecialViewCommand   = new DelegateCommand <TextWithButtonItem>(SetSpecialViewAsync);
        }
        public bool LayoutChange(LayoutRenderType layoutRenderType)
        {
            IScreen screen = VideoBoxManager as IScreen;

            if (layoutRenderType == LayoutRenderType.AutoLayout)
            {
                LayoutRendererStore.CurrentLayoutRenderType = layoutRenderType;

                if (ModeChange(ModeDisplayerStore.CurrentModeDisplayerType))
                {
                    //LayoutRendererStore.CurrentLayoutRenderType = layoutRenderType;
                    _eventAggregator.GetEvent <LayoutChangedEvent>().Publish(layoutRenderType);

                    return(true);
                }

                return(false);
            }
            else
            {
                try
                {
                    _eventAggregator.GetEvent <RefreshCanvasEvent>().Publish();

                    if (LayoutRendererStore.Create(layoutRenderType).Render(GetVisibleVideoBoxs(), screen.Size, GetSpecialVideoBoxName(layoutRenderType)))
                    {
                        LayoutRendererStore.CurrentLayoutRenderType = layoutRenderType;

                        _eventAggregator.GetEvent <LayoutChangedEvent>().Publish(layoutRenderType);

                        return(true);
                    }
                    else if (LayoutRendererStore.Create(LayoutRenderType.AverageLayout).Render(GetVisibleVideoBoxs(), screen.Size, GetSpecialVideoBoxName(LayoutRenderType.AverageLayout)))
                    {
                        LayoutRendererStore.CurrentLayoutRenderType = LayoutRenderType.AverageLayout;

                        _eventAggregator.GetEvent <LayoutChangedEvent>().Publish(LayoutRenderType.AverageLayout);

                        return(false);
                    }

                    return(false);
                }
                catch (Exception ex)
                {
                    MeetingLogger.Logger.LogError(ex, ex.Message);
                }

                return(false);
            }
        }
        public SelectAttendeeListViewModel(SelectAttendeeListView selectAttendeeListView, LayoutRenderType specialViewType)
        {
            _windowManager = IoC.Get <IMeetingWindowManager>();

            _selectAttendeeListView = selectAttendeeListView;
            _targetSpecialViewType  = specialViewType;

            _userInfos = IoC.Get <List <UserInfo> >();

            AttendeeItems = new ObservableCollection <AttendeeItem>();

            LoadedCommand        = new DelegateCommand(LoadedAsync);
            WindowKeyDownCommand = new DelegateCommand <object>(WindowKeyDownHandlerAsync);
        }
示例#6
0
        private void CheckPictureModeAsync(object args)
        {
            if (args is KeyEventArgs)
            {
                KeyEventArgs keyEventArgs = (KeyEventArgs)args;

                switch (keyEventArgs.Key)
                {
                case Key.Enter:
                    InputSimulatorManager.Instance.InputSimu.Keyboard.KeyPress(VirtualKeyCode.SPACE);
                    keyEventArgs.Handled = true;
                    break;
                }
            }


            if (args is LayoutRenderType)
            {
                LayoutRenderType pictureMode = (LayoutRenderType)args;

                switch (pictureMode)
                {
                case LayoutRenderType.AutoLayout:
                case LayoutRenderType.AverageLayout:

                    if (_windowManager.LayoutChange(WindowNames.MainWindow, pictureMode))
                    {
                    }
                    //if (_windowManager.LayoutChange(WindowNames.ExtendedWindow, pictureMode))
                    //{
                    //}

                    break;

                case LayoutRenderType.CloseupLayout:
                case LayoutRenderType.BigSmallsLayout:

                    SetSpecialView setSpecialView = new SetSpecialView(pictureMode);
                    setSpecialView.ShowDialog();
                    setSpecialView.Focus();
                    break;
                }

                if (pictureMode != _windowManager.LayoutRendererStore.CurrentLayoutRenderType)
                {
                    CheckPictureMode();
                }
            }
        }
示例#7
0
 public SetSpecialView(LayoutRenderType pictureMode)
 {
     InitializeComponent();
     DataContext = new SetSpecialViewModel(pictureMode);
 }
        public ILayoutRenderer Create(LayoutRenderType type)
        {
            ILayoutRenderer layoutRenderrer = IoC.Get <ILayoutRenderer>(type.ToString());

            return(layoutRenderrer);
        }
示例#9
0
        private string GetSpecialVideoBoxName(LayoutRenderType layoutRenderType)
        {
            string specialVideoBoxName = Properties.GetValueOrDefault(layoutRenderType.ToString()) as string;

            return(specialVideoBoxName);
        }
示例#10
0
 public bool LayoutChange(LayoutRenderType layoutRenderType)
 {
     return(LayoutRendererStore.Create(layoutRenderType).Render(GetVisibleVideoBoxs(), Size, GetSpecialVideoBoxName(layoutRenderType)));
 }
        public SelectAttendeeListView(LayoutRenderType specialViewType)
        {
            InitializeComponent();

            DataContext = new SelectAttendeeListViewModel(this, specialViewType);
        }