Пример #1
0
        public LogoutViewModel(IViewContainer container, string sessionId)
        {
            Container = container;
            SessionId = sessionId;

            Provider = new LoginProvider();
        }
Пример #2
0
        void HandleActiveDocumentChanged(IActiveDocument iActiveDocument, IViewContainer iViewContainer, int index)
        {
            System.Diagnostics.Debug.Assert(iViewContainer != null);
            if (index == -1)
            {
                return;
            }
            System.Diagnostics.Debug.Assert(index != -1);

            UserControl userControl = iViewContainer.GetUserControl(index);

            if (userControl == null)
            {
                // Should never happen!
                return;
            }

            if (iViewContainer is DocumentContainer)
            {
                if (ActiveDocumentView != userControl)
                {
                    if (_iActiveDocument != null)
                    {
                        _iActiveDocument.IsActive = false;
                    }
                    _iActiveDocument          = iActiveDocument;
                    _iActiveDocument.IsActive = true;
                    DocumentGotFocus?.Invoke(userControl, null);
                    ActiveDocumentView = userControl;
                    System.Diagnostics.Debug.WriteLine("Active document view: " + userControl.ToString());
                }
            }
        }
Пример #3
0
        private List <InputView> GetChildren(IViewContainer <Xamarin.Forms.View> element)
        {
            var children = new List <InputView>();

            foreach (var child in element.Children)
            {
                var view = child as IViewContainer <Xamarin.Forms.View>;
                if (view != null)
                {
                    children.AddRange(GetChildren(view));
                }

                var control = child as InputView;
                if (control == null)
                {
                    continue;
                }

                if (control.IsEnabled && control.IsVisible)
                {
                    children.Add(control);
                }
            }
            return(children);
        }
Пример #4
0
        /// <summary>
        /// Launch the workitem
        /// </summary>
        public async Task <IObservable <WorkitemEventArgs> > Run()
        {
            // WorkitemID must be set before any operation takes place
            WorkItemID  = Guid.NewGuid().ToString();
            Disposables = new List <IDisposable>();

            var channel = new WorkitemCommunicationChannel();

            communicationChannel = channel;

            BeforeWorkitemRun();

            IsOpen = true;
            await Create().ConfigureAwait(false);

            viewContainer = CreateViewContainer();

            Disposable(viewContainer);
            RegisterViews(viewContainer);

            ICommandContainer container = CreateCommandContainer();

            Disposable(container);
            RegisterCommands(container);

            AfterWorkitemRun();

            return(communicationChannel);
        }
Пример #5
0
        private void UpdateStudent()
        {
            IViewContainer view = ViewFactory.Scope.Instance.GetStudentView(_selectedStudent.ID);

            view.ClosedEvent += (sender, arg) => ReadStudents();
            view.ShowViewAsDialog();
        }
Пример #6
0
        private void _buttonMenu_Click(object sender, RoutedEventArgs e)
        {
            ContextMenu contextMenu = new ContextMenu();
            MenuItem    menuItem    = null;

            int count = IViewContainer.GetUserControlCount();

            if (count > 2)
            {
                menuItem           = new MenuItem();
                menuItem.Header    = "Ungroup Current";
                menuItem.IsChecked = false;
                menuItem.Command   = new Command(delegate { UngroupCurrent?.Invoke(this, null); }, delegate { return(true); });
                contextMenu.Items.Add(menuItem);
            }

            if (count > 1)
            {
                menuItem           = new MenuItem();
                menuItem.Header    = "Ungroup";
                menuItem.IsChecked = false;
                menuItem.Command   = new Command(delegate { Ungroup?.Invoke(this, null); }, delegate { return(true); });
                contextMenu.Items.Add(menuItem);
            }

            menuItem           = new MenuItem();
            menuItem.Header    = "Freeze Aspect Ratio";
            menuItem.IsChecked = false;
            contextMenu.Items.Add(menuItem);

            contextMenu.IsOpen = true;
        }
        private void ValidateFloatingPanes(Dictionary <IViewModel, List <string> > viewModels, List <IFloatingPane> floatingPanes)
        {
            int count = floatingPanes.Count;

            for (int paneIndex = count - 1; paneIndex > -1; --paneIndex)
            {
                IViewContainer iViewContainer = floatingPanes[paneIndex].IViewContainer;
                int            tabCount       = iViewContainer.GetUserControlCount();

                for (int index = tabCount - 1; index > -1; --index)
                {
                    IViewModel iViewModel = iViewContainer.GetIViewModel(index);
                    if (viewModels.ContainsKey(iViewModel) && (viewModels[iViewModel].Contains(iViewModel.URL)))
                    {
                        viewModels[iViewModel].Remove(iViewModel.URL);
                        if (viewModels[iViewModel].Count == 0)
                        {
                            viewModels.Remove(iViewModel);
                        }
                    }
                    else
                    {
                        iViewContainer.ExtractUserControl(index);
                    }
                }

                if (iViewContainer.GetUserControlCount() == 0)
                {
                    floatingPanes[paneIndex].Close();
                }
            }
        }
        public CourseCreatePresenter(IViewContainer viewContainer, ICourseView courseView) : base(viewContainer)
        {
            _courseView = courseView;

            _courseViewModel  = new CourseViewModel();
            _courseRepository = RepositoryFactory.Scope.Instance.GetCourseRepository();
        }
        public DispatchManageViewModel(IViewContainer container, string sessionId)
        {
            Container = container;
            SessionId = sessionId;

            Provider = new DispatchManageProvider();
            Provider.DispatchManageEvent = DispatchManageLoadedEvent;
        }
Пример #10
0
        public UserManageViewModel(IViewContainer container, string sessionId)
        {
            Container = container;
            SessionId = sessionId;

            Provider = new UserManageProvider();
            Provider.ProfileEvent = ProfileLoadedEvent;
        }
Пример #11
0
        private void CreateCourse()
        {
            IViewContainer view = ViewFactory.Scope.Instance.GetCourseView();

            view.ClosedEvent += (sender, arg) => ReadCourses();

            view.ShowViewAsDialog();
        }
Пример #12
0
        public ClassroomViewModel(IViewContainer container, string sessionId)
        {
            Container = container;
            SessionId = sessionId;

            Provider = new ClassroomProvider();
            Provider.ClassroomEvent = ClassroomLoadedEvent;
        }
Пример #13
0
        public AttendanceViewModel(IViewContainer container, string sessionId)
        {
            Container = container;
            SessionId = sessionId;

            Provider = new CourseAttendanceProvider();
            Provider.CourseAbsenceEvent = CourseAttendanceLoadedEvent;
        }
Пример #14
0
        public DispatchCourseViewModel(IViewContainer container, string sessionId)
        {
            Container = container;
            SessionId = sessionId;

            Provider = new DispatchCourseProvider();
            Provider.DispatchCouseEvent += DispatchLoadedEvent;
        }
 private void DeserialiseViews(IViewContainer database, XmlNodeList viewNodes)
 {
     foreach (XmlNode viewNode in viewNodes)
     {
         ITable view = ProcessTableNode(viewNode);
         database.AddView(view);
     }
 }
Пример #16
0
        public MajorViewModel(IViewContainer container, string sessionId)
        {
            Container = container;
            SessionId = sessionId;

            Provider = new MajorProvider();
            Provider.MajorEvent = MajorLoadedEvent;
        }
Пример #17
0
        public AbsenceViewModel(IViewContainer container, string sessionId)
        {
            Container = container;
            SessionId = sessionId;

            Provider = new AbsenceProvider();
            Provider.AbsenceEvent += AbsenceLoadedEvent;
        }
        protected override void OnElementPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "IsFocused")
            {
                if (Element.IsFocused)
                {
                    // Navigation logic
                    IViewContainer <Xamarin.Forms.View> parentObject = null;
                    var parent = Element.Parent;
                    while (parent != null)
                    {
                        if (parent.Parent is IViewContainer <Xamarin.Forms.View> )
                        {
                            parent = parent.Parent;
                        }
                        else
                        {
                            parentObject = parent as IViewContainer <Xamarin.Forms.View>;
                            break;
                        }
                    }

                    if (parentObject != null)
                    {
                        var entries = GetChildren(parentObject);

                        if (entries.Count > 1)
                        {
                            Func <int> getFocusedIndex = () => entries.Select((v, i) => new
                            {
                                item  = v,
                                index = i
                            }).Where(w => w.item.IsFocused).Select(s => s.index).Single();

                            var focused = getFocusedIndex() + 1;
                            focused = focused + 1 > entries.Count ? 0 : focused;
                            if (focused > 0)
                            {
                                NextElement = entries.ElementAt(focused);
                                Control.SetImeActionLabel("Next", ImeAction.Next);
                            }
                            else
                            {
                                NextElement = null;
                                Control.SetImeActionLabel("Done", ImeAction.Done);
                            }
                        }
                        else
                        {
                            NextElement = null;
                            Control.SetImeActionLabel("Done", ImeAction.Done);
                        }
                    }
                }
            }
            base.OnElementPropertyChanged(sender, e);
        }
Пример #19
0
        private IDisposable FindAllCommandHolder(IViewContainer <View> content, InterceptState state)
        {
            if (content == null)
            {
                return(null);
            }

            return(FindAllCommandHolder(content.Children.ToArray(), state));
        }
Пример #20
0
        public UserComposeViewModel(IViewContainer container, ViewModelRelationship parent, string sessionId)
        {
            Parent = parent;
            Container = container;
            SessionId = sessionId;

            Provider = new UserManageProvider();
            Provider.ProfileEvent = ProfileLoadedEvent;
            Provider.ProfileEvent += (parent.ViewModel as UserManageViewModel).ProfileLoadedEvent;
        }
Пример #21
0
        /// <summary>
        /// 创建并打开视图
        /// </summary>
        /// <param name="viewContainer">视图容器</param>
        public virtual IView CreateAndOpenView(IViewContainer viewContainer)
        {
            SecurityPublic.CheckPermission(ID, Permission_DoCommand).CheckTrue("当前用户不拥有执行此命令的权限.");

            var View = CreateView();

            View.ViewContainer = viewContainer;
            viewContainer.OpenView(View);
            return(View);
        }
Пример #22
0
        public ApplyCourseViewModel(IViewContainer container, ViewModelRelationship parent,
            string sessionId)
        {
            Parent = parent;
            Container = container;
            SessionId = sessionId;

            Provider = new DispatchCourseProvider();
            Provider.AvailableCourseEvent += AvailableCourseLoadedEvent;
        }
Пример #23
0
        public MajorComposeViewModel(IViewContainer container, ViewModelRelationship parent,
            string sessionId)
        {
            Parent = parent;
            Container = container;
            SessionId = sessionId;

            majorProvider = new MajorProvider();
            majorProvider.MajorEvent = MajorLoadedEvent;
            majorProvider.MajorEvent += (parent.ViewModel as MajorViewModel).MajorLoadedEvent;
        }
        public StudentCreatePresenter(IViewContainer viewContainer, ICourseSelectView coursesView, IStudentView studentView) : base(viewContainer)
        {
            _coursesSelectView = coursesView;
            _studentView       = studentView;

            _listCourses      = new BindingList <CourseSelectViewModel>();
            _studentViewModel = new StudentViewModel();
            _studentInitModel = new StudentInitModel();

            _courseRepository  = RepositoryFactory.Scope.Instance.GetCourseRepository();
            _studentRepository = RepositoryFactory.Scope.Instance.GetStudentRepository();
        }
Пример #25
0
        public static ActivityIndicator GetExtensionIndicator <T>(this IViewContainer <T> container) where T : View
        {
            foreach (var i in container.Children)
            {
                if (i is ExtIndicator ind)
                {
                    return(ind);
                }
            }

            return(null);
        }
Пример #26
0
        /// <summary>
        /// 添加菜单到子菜单中(包含下级菜单)
        /// </summary>
        /// <param name="barSubItem">子菜单</param>
        /// <param name="uiItem">菜单项</param>
        /// <param name="container">视图容器</param>
        public static void AddMenuToSubItem(object barSubItem, IUIItem uiItem, IViewContainer container)
        {
            BarItem barItem = null;

            if (uiItem is FolderItem)
            {
                var menuItem = uiItem as FolderItem;
                if (menuItem.ChildMenuItems.IsNotNull())
                {
                    var newSubItem = new BarSubItem();
                    foreach (var childFunctionItem in menuItem.ChildMenuItems)
                    {
                        AddMenuToSubItem(newSubItem, childFunctionItem, container);
                    }
                    barItem = newSubItem;
                }
            }
            if (barItem == null)
            {
                barItem = new BarButtonItem();
            }

            barItem.Caption    = uiItem.Caption;
            barItem.Glyph      = uiItem.Icon;
            barItem.LargeGlyph = uiItem.LargeIcon;
            barItem.ItemClick += (sender, e) =>
            {
                try {
                    if (uiItem is BaseController)
                    {
                        var controller = uiItem as BaseController;
                        controller.CreateAndOpenView(container);
                    }
                } catch (Exception err) {
                    UIPublic.ShowErrorDialog(err.FormatException());
                }
            };

            if (barSubItem is BarSubItem)
            {
                var barItemLink = barSubItem.As <BarSubItem>().AddItem(barItem);
                barItemLink.RecentIndex = 1;
            }
            else if (barSubItem is Bar)
            {
                var barItemLink = barSubItem.As <Bar>().AddItem(barItem);
            }
            else
            {
                throw new Exception("此对象不支持添加子菜单");
            }
        }
Пример #27
0
        public CourseComposeViewModel(IViewContainer container, ViewModelRelationship parent,
            MajorViewModel majorViewModel,
            string sessionId)
        {
            Parent = parent;
            mMajorViewModel = majorViewModel;
            Container = container;
            SessionId = sessionId;

            Provider = new CourseProvider.Providers.Advance.CourseProvider();
            Provider.CourseEvent = CourseLoadedEvent;
            Provider.CourseEvent += (parent.ViewModel as CourseViewModel).CourseLoadedEvent;
        }
        public AttendanceComposeViewModel(IViewContainer container, ViewModelRelationship parent,
            string sessionId)
        {
            Parent = parent;
            Container = container;
            SessionId = sessionId;

            dispatchStudentProvider = new DispatchStudentProvider();
            dispatchStudentProvider.DispatchStudentEvent += DispatchStudentLoadedEvent;

            courseAttendanceProvider = new CourseAttendanceProvider();
            courseAttendanceProvider.CourseAbsenceEvent += CourseAttendancetLoadedEvent;
        }
Пример #29
0
 /// <summary>
 /// Change the workitem state to modal at runtime
 /// </summary>
 public void ChangeToModalState()
 {
     if (!IsModal)
     {
         IsModal = true;
         var oldContainer = viewContainer;
         Window = Project.GetOption <RegionOptions>().CreateModalWindow();
         ((ContextService)CurrentContextService).InitModalWindow(Window, this, this.Configuration.GetOption <ModalOptions>());
         Window.Show();
         viewContainer = CreateViewContainer();
         viewContainer.ImportFrom(oldContainer);
     }
 }
Пример #30
0
 private void UpdateCourse()
 {
     if (_selectedCourse != null)
     {
         IViewContainer view = ViewFactory.Scope.Instance.GetCourseView(_selectedCourse.ID);
         view.ClosedEvent += (sender, arg) => ReadCourses();
         view.ShowViewAsDialog();
     }
     else
     {
         _viewContainer.ShowWarning("Warning", "Please select some item");
     }
 }
 internal FloatingPane(IViewContainer iViewContainer)
 {
     Tag = System.Guid.NewGuid();
     InitializeComponent();
     //_parentContainer.Children.Add(iViewContainer as UIElement);
     //Grid.SetRow(iViewContainer as UIElement, 1);
     IViewContainer = iViewContainer;
     IViewContainer.FloatTabRequest += IViewContainer_FloatTabRequest;
     IViewContainer.TabClosed       += IViewContainer_TabClosed;
     IViewContainer.TabMouseDown    += IViewContainer_TabMouseDown;
     SetResourceReference(Window.BackgroundProperty, "FloatingPaneBackground");
     //(IViewContainer as ViewContainer).Margin = (Thickness)FindResource("FloatingPanePadding");
     PreviewMouseDown += FloatingPane_PreviewMouseDown;
 }
Пример #32
0
        private static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            //init component
            ViewFactory.Scope.Instance       = new ViewImplementation.Factory();
            PresenterFactory.Scope.Instance  = new PresenterImplementation.Factory();
            InteractorFactory.Scope.Instance = new InteractorImplementation.Factory();
            RepositoryFactory.Scope.Instance = new RepositoryImplementation.Factory();

            IViewContainer mainView = ViewFactory.Scope.Instance.GetMainView();

            Application.Run(mainView as Form);
        }
Пример #33
0
        public void ExtractDocuments(IViewContainer sourceViewContainer)
        {
            System.Diagnostics.Trace.Assert(sourceViewContainer != null);

            while (true)
            {
                UserControl userControl = sourceViewContainer.ExtractUserControl(0);
                if (userControl == null)
                {
                    break;
                }

                AddUserControl(userControl);
            }
        }
Пример #34
0
        public MainPresenter(IViewContainer viewContainer, IMainView mainView, IStudentsView studentsView, ICoursesView coursesView) : base(viewContainer)
        {
            //views
            _mainView     = mainView;
            _studentsView = studentsView;
            _coursesView  = coursesView;

            //views models
            _listStudents = new BindingList <StudentViewModel>();
            _listCourses  = new BindingList <CourseViewModel>();

            //repository
            _studentRepository = RepositoryFactory.Scope.Instance.GetStudentRepository();
            _courseRepository  = RepositoryFactory.Scope.Instance.GetCourseRepository();
        }
 /// <summary>
 /// Import views from another container
 /// </summary>
 /// <param name="viewContainer">Another container</param>
 public void ImportFrom(IViewContainer container)
 {
     if (container is WorkitemViewContainerBase)
     {
         WorkitemViewContainerBase viewContainer = (WorkitemViewContainerBase)container;
         foreach (string region in viewContainer.Views.Keys)
         {
             foreach (ViewDescriptor view in viewContainer.Views[region])
             {
                 viewContainer.UnregisterView(view.Modified, region);
                 RegisterView(view.Unmodified, region);
             }
         }
     }
 }
Пример #36
0
        public AbsenceComposeViewModel(IViewContainer container, ViewModelRelationship parent,
            string sessionId)
        {
            Parent = parent;
            Container = container;
            SessionId = sessionId;

            absenceProvider = new AbsenceProvider();
            absenceProvider.AbsenceEvent += (parent.ViewModel as AbsenceViewModel).AbsenceLoadedEvent;
            // Local event
            absenceProvider.AbsenceEvent += AbsenceLoadedEvent;

            dispatchProvider = new DispatchCourseProvider();
            dispatchProvider.DispatchCouseEvent = DispatchLoadedEvent;
        }
 private void SetIsEnabledToChildren(IViewContainer <View> rootLayout, bool value)
 {
     foreach (var child in rootLayout.Children)
     {
         var layout = child as Layout <View>;
         if (layout != null)
         {
             this.SetIsEnabledToChildren(layout, value);
         }
         else
         {
             child.IsEnabled = value;
         }
     }
 }
Пример #38
0
 public PresentersFactory(IStorageManager storageManager,
                          IRepositoryFactory repositoryFactory,
                          IModelsFactory modelsFactory,
                          IViewContainer container,
                          IConfigurationManager configurationManager,
                          ILocalizationManager localizationManager)
 {
     _storageManager = storageManager;
     _unitOfWorkFactory = new SqLiteUnitOfWorkFactory(_storageManager);
     _repositoryFactory = repositoryFactory;
     _modelsFactory = modelsFactory;
     _configurationManager = configurationManager;
     _localizationManager = localizationManager;
     _navigator = new Navigator(container, this, _localizationManager);
     _lookUpService = new LookUpService(this, localizationManager);
 }
Пример #39
0
 public DockPane(IViewContainer iViewContainer)
 {
     IViewContainer                  = iViewContainer;
     IViewContainer.TabClosed       += IViewContainer_TabClosed;
     IViewContainer.FloatTabRequest += IViewContainer_FloatTabRequest;
     Children.Add(iViewContainer as UIElement);
     Border                  = new Border();
     Border.Background       = Brushes.Transparent;
     Border.IsHitTestVisible = false;
     Grid.SetRow(Border, 0);
     Grid.SetRowSpan(Border, 99);
     Grid.SetColumn(Border, 0);
     Grid.SetColumnSpan(Border, 99);
     Grid.SetZIndex(Border, -1);
     Children.Add(Border);
 }
        public DispatchComposeViewModel(IViewContainer container, ViewModelRelationship parent,
            ClassroomViewModel classroomViewModel,
            CourseViewModel courseViewModel,
            string sessionId)
        {
            Parent = parent;
            refClassroomViewModel = classroomViewModel;
            refCourseViewModel = courseViewModel;
            Container = container;
            SessionId = sessionId;

            Provider = new DispatchManageProvider();
            Provider.DispatchManageEvent = DispatchManageLoadedEvent;
            Provider.DispatchManageEvent += (parent.ViewModel as DispatchManageViewModel).DispatchManageLoadedEvent;

            userMgrProvider = new UserManageProvider();
            userMgrProvider.ProfileEvent = ProfileELoadedEvent;
        }
Пример #41
0
        private IViewContainer <View> _GetParentLayout(VisualElement ParentView)
        {
            //StackLayout, RelativeLayout, Grid, and AbsoluteLayout all implement IViewContainer,
            //it would be very rare that this method would return null.
            IViewContainer <View> parent = ParentView as IViewContainer <View>;

            if (ParentView == null)
            {
                return(null);
            }
            else if (parent != null)
            {
                return(parent);
            }
            else
            {
                return(_GetParentLayout(ParentView.ParentView));
            }
        }
Пример #42
0
        internal FloatingPane(IViewContainer iViewContainer)
        {
            Tag = System.Guid.NewGuid();
            InitializeComponent();
            StateChanged += MainWindowStateChangeRaised;
            _parentContainer.Children.Add(iViewContainer as UIElement);
            Grid.SetRow(iViewContainer as UIElement, 1);
            IViewContainer = iViewContainer;
            IViewContainer.FloatTabRequest += IViewContainer_FloatTabRequest;
            IViewContainer.TabClosed       += IViewContainer_TabClosed;
            IViewContainer.TabMouseDown    += IViewContainer_TabMouseDown;

            _gridHeader.SetResourceReference(Grid.BackgroundProperty, "FloatingPaneTitleBarBackground");
            _textBlockTitle.SetResourceReference(TextBlock.StyleProperty, "FloatingPaneTitleStyle");
            SetResourceReference(Window.BackgroundProperty, "FloatingPaneBackground");

            (IViewContainer as ViewContainer).Margin = (Thickness)FindResource("FloatingPanePadding");

            Style style = TryFindResource("FloatingPaneCloseButtonStyle") as Style;

            if (style != null)
            {
                _buttonClose.Style = style;
            }
            style = TryFindResource("FloatingPaneMaximiseButtonStyle") as Style;
            if (style != null)
            {
                _buttonMaximize.Style = style;
            }
            style = TryFindResource("FloatingPaneMinimizeButtonStyle") as Style;
            if (style != null)
            {
                _buttonMinimize.Style = style;
            }
            style = TryFindResource("FloatingPaneRestoreButtonStyle") as Style;
            if (style != null)
            {
                _buttonRestore.Style = style;
            }

            PreviewMouseDown += FloatingPane_PreviewMouseDown;
        }
Пример #43
0
 public DockPane(IViewContainer iViewContainer)
 {
     IViewContainer                    = iViewContainer;
     iViewContainer.Pane               = this;
     IViewContainer.TabClosed         += IViewContainer_TabClosed;
     IViewContainer.FloatTabRequest   += IViewContainer_FloatTabRequest;
     IViewContainer.DocumentExtracted += IViewContainer_DocumentExtracted;
     PreviewMouseDown                 += DockPane_PreviewMouseDown;
     IViewContainer.TabMouseDown      += IViewContainer_TabMouseDown;
     Children.Add(iViewContainer as UIElement);
     Border                  = new Border();
     Border.Background       = Brushes.Transparent;
     Border.IsHitTestVisible = false;
     Grid.SetRow(Border, 0);
     Grid.SetRowSpan(Border, 99);
     Grid.SetColumn(Border, 0);
     Grid.SetColumnSpan(Border, 99);
     Grid.SetZIndex(Border, -1);
     Children.Add(Border);
 }
Пример #44
0
        public DatePickerButton()
        {
            //create the datepicker, make it invisible on the form.
            _Picker = new DatePicker
            {
                IsVisible = false
            };

            //handle the focus/unfocus or rather the showing and hiding of the dateipicker
            _Picker.Focused   += _Picker_Focused;
            _Picker.Unfocused += _Picker_Unfocused;

            //command for the button
            Command = new Command((obj) =>
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    this.Focus();
                });
                //try to get the parent layout and add the datepicker
                if (_ParentLayout == null)
                {
                    _ParentLayout = _GetParentLayout(ParentView);
                    if (_ParentLayout != null)
                    {
                        //add the picker to the closest layout up the tree
                        _ParentLayout.Children.Add(_Picker);
                    }
                    else
                    {
                        throw new InvalidOperationException("The DatePickerButton needs to be inside an Layout type control that can have other children");
                    }
                }
                //show the picker modal
                Device.BeginInvokeOnMainThread(() =>
                {
                    _Picker.Focus();
                });
            });
            _UpdateText();
        }
Пример #45
0
        /// <summary>
        /// Gets the first entry.
        /// </summary>
        /// <returns>The first entry.</returns>
        /// <param name="viewContainer">View container.</param>
        private Entry GetFirstEntry(IViewContainer <View> viewContainer)
        {
            if (viewContainer == null)
            {
                return(null);
            }

            var firstEntry = viewContainer.Children.FirstOrDefault(mx => mx is Entry) as Entry;

            if (firstEntry != null)
            {
                return(firstEntry);
            }

            foreach (var child in viewContainer.Children)
            {
                if (child is IViewContainer <View> )
                {
                    return(GetFirstEntry(child as IViewContainer <View>));
                }
            }

            return(null);
        }
Пример #46
0
 public void SetContainer(IViewContainer viewContainer)
 {
     ViewContainer = viewContainer;
 }
Пример #47
0
 public static void showMessage(Message message)
 {
     Input.currentIViewContaier = message.ViewContainer;
     Input.currentIViewContaier.createViewForReading(Input.view.MessageViewContainer);
 }
Пример #48
0
 public Navigator(IViewContainer container, IPresentersFactory presentersFactory, ILocalizationManager localizationManager)
 {
     _container = container;
     _presentersFactory = presentersFactory;
     _localizationManager = localizationManager;
 }
Пример #49
0
 protected RouteItemBase(IViewContainer container, ICommandsContainer commandsContainer, bool viewModelCashed)
 {
     Container = container;
     CommandsContainer = commandsContainer;
     ViewModelCashed = viewModelCashed;
 }
 private void DeserialiseViews(IViewContainer database, XmlNodeList viewNodes)
 {
     foreach (XmlNode viewNode in viewNodes)
     {
         ITable view = ProcessTableNode(viewNode);
         database.AddView(view);
     }
 }
Пример #51
0
 public static void setNewMenuState(MenuState menuState)
 {
     switch (menuState)
     {
         case MenuState.None:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { KeyboardButtons.ApplicationClose, KeyboardButtons.MenuContactDelete, KeyboardButtons.MenuContactEdit,
                 KeyboardButtons.MenuContactNew, KeyboardButtons.MenuMessageNew, KeyboardButtons.MenuMessageRecv, KeyboardButtons.MenuMessageSent, KeyboardButtons.TextToSpeech});
             break;
         case MenuState.ViewMessage:
             try
             {
                 SMSMessage.receive();
             }
             catch (Exception)
             {
                 Dialog dialog = new Dialog("Fehler", "Es konnten keine neuen Nachrichten abgerufen werden, da der \r\nSurfstick nicht gefunden worden ist (ist der Stick angeschlossen\r\nund richtig installiert?)\r\n\r\nEs werden nur die alten Nachrichten angezeigt.",
                                                 new String[] { "Alte Nachrichten anzeigen" });
                 dialog.ShowDialog();
             }
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { });
             MessageList messageList = MessageList.getInstance();
             Input.view.UpperLeftControl.DataSource = messageList.getDatasource();
             Input.view.UpperLeftControl.ValueMember = "MessageID";
             Input.view.UpperLeftControl.DisplayMember = "Name";
             Input.clearViewContainer();
             Input.currentIViewContaier = new SMSViewContainer();
             Input.currentIViewContaier.createViewForReading(Input.view.MessageViewContainer);
             MessageList messages = MessageList.getInstance();
             Input.currentIViewContaier.setReadInput(messages[0].Text);
             Input.view.UpperLeftControl.LbChoice.BackColor = Color.MistyRose;
             break;
         case MenuState.AnswerMessage:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { });
             Input.currentIViewContaier.createViewForAnswer(Input.view.MessageViewContainer);
             break;
         case MenuState.DeleteMessage:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { });
             messageList = MessageList.getInstance();
             Input.view.UpperLeftControl.DataSource = messageList.getDatasource();
             Input.view.UpperLeftControl.ValueMember = "MessageID";
             Input.view.UpperLeftControl.DisplayMember = "Name";
             break;
         case MenuState.NewMessage:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { KeyboardButtons.AlphaA, KeyboardButtons.AlphaB, KeyboardButtons.AlphaC, KeyboardButtons.AlphaD,
             KeyboardButtons.AlphaE, KeyboardButtons.AlphaF, KeyboardButtons.AlphaG, KeyboardButtons.AlphaH, KeyboardButtons.AlphaI, KeyboardButtons.AlphaJ, KeyboardButtons.AlphaK,
             KeyboardButtons.AlphaL, KeyboardButtons.AlphaM, KeyboardButtons.AlphaN, KeyboardButtons.AlphaO, KeyboardButtons.AlphaP, KeyboardButtons.AlphaQ, KeyboardButtons.AlphaR,
             KeyboardButtons.AlphaS, KeyboardButtons.AlphaT, KeyboardButtons.AlphaU, KeyboardButtons.AlphaV, KeyboardButtons.AlphaW, KeyboardButtons.AlphaX, KeyboardButtons.AlphaY,
             KeyboardButtons.AlphaZ, KeyboardButtons.NumericZero, KeyboardButtons.NumericOne, KeyboardButtons.NumericTwo, KeyboardButtons.NumericThree, KeyboardButtons.NumericFour,
             KeyboardButtons.NumericFive, KeyboardButtons.NumericSix, KeyboardButtons.NumericSeven, KeyboardButtons.NumericEight, KeyboardButtons.NumericNine, KeyboardButtons.PunctationComma,
             KeyboardButtons.PunctationDot, KeyboardButtons.PunctationExclamation, KeyboardButtons.PunctationQuestion, KeyboardButtons.SpecialCharAt, KeyboardButtons.SpecialCharAt,
             KeyboardButtons.SpecialCharBackspace,KeyboardButtons.SpecialCharReturn,KeyboardButtons.SpecialCharSpace,KeyboardButtons.TextSend, KeyboardButtons.UmlautA,
             KeyboardButtons.UmlautO, KeyboardButtons.UmlautU, KeyboardButtons.UmlautS,});
             Input.clearViewContainer();
             Input.currentIViewContaier = new SMSViewContainer();
             Input.currentIViewContaier.createViewForNew(Input.view.MessageViewContainer);
             Input.currentIViewContaier.setWriteInput("|");
             break;
         case MenuState.ChoseReceiver:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { });
             AddressBook addressBook = AddressBook.getInstance();
             Input.view.UpperLeftControl.DataSource = addressBook.getDatasource();
             Input.view.UpperLeftControl.ValueMember = "ContactID";
             Input.view.UpperLeftControl.DisplayMember = "Name";
             Input.view.UpperLeftControl.LbChoice.BackColor = Color.MistyRose;
             break;
         case MenuState.ChoseMessageType:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { });
             break;
         case MenuState.AddNewContact:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { KeyboardButtons.AlphaA, KeyboardButtons.AlphaB, KeyboardButtons.AlphaC, KeyboardButtons.AlphaD,
             KeyboardButtons.AlphaE, KeyboardButtons.AlphaF, KeyboardButtons.AlphaG, KeyboardButtons.AlphaH, KeyboardButtons.AlphaI, KeyboardButtons.AlphaJ, KeyboardButtons.AlphaK,
             KeyboardButtons.AlphaL, KeyboardButtons.AlphaM, KeyboardButtons.AlphaN, KeyboardButtons.AlphaO, KeyboardButtons.AlphaP, KeyboardButtons.AlphaQ, KeyboardButtons.AlphaR,
             KeyboardButtons.AlphaS, KeyboardButtons.AlphaT, KeyboardButtons.AlphaU, KeyboardButtons.AlphaV, KeyboardButtons.AlphaW, KeyboardButtons.AlphaX, KeyboardButtons.AlphaY,
             KeyboardButtons.AlphaZ, KeyboardButtons.NumericZero, KeyboardButtons.NumericOne, KeyboardButtons.NumericTwo, KeyboardButtons.NumericThree, KeyboardButtons.NumericFour,
             KeyboardButtons.NumericFive, KeyboardButtons.NumericSix, KeyboardButtons.NumericSeven, KeyboardButtons.NumericEight, KeyboardButtons.NumericNine, KeyboardButtons.PunctationComma,
             KeyboardButtons.PunctationDot, KeyboardButtons.PunctationExclamation, KeyboardButtons.PunctationQuestion, KeyboardButtons.SpecialCharAt, KeyboardButtons.SpecialCharAt,
             KeyboardButtons.SpecialCharBackspace,KeyboardButtons.SpecialCharReturn,KeyboardButtons.SpecialCharSpace, KeyboardButtons.UmlautA,
             KeyboardButtons.UmlautO, KeyboardButtons.UmlautU, KeyboardButtons.UmlautS, });
             Input.clearViewContainer();
             Input.currentIViewContaier = new ContactViewContainer();
             Input.currentIViewContaier.createViewForNew(Input.view.MessageViewContainer);
             break;
         case MenuState.EditContact:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { });
             addressBook = AddressBook.getInstance();
             Input.view.UpperLeftControl.DataSource = addressBook.getDatasource();
             Input.view.UpperLeftControl.ValueMember = "MessageID";
             Input.view.UpperLeftControl.DisplayMember = "Name";
             Input.view.UpperLeftControl.LbChoice.BackColor = Color.MistyRose;
             break;
         case MenuState.DeleteContact:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { });
             addressBook = AddressBook.getInstance();
             Input.view.UpperLeftControl.DataSource = addressBook.getDatasource();
             Input.view.UpperLeftControl.ValueMember = "ContactID";
             Input.view.UpperLeftControl.DisplayMember = "Name";
             Input.view.UpperLeftControl.LbChoice.BackColor = Color.MistyRose;
             break;
         case MenuState.AddMessageTypeToContact:
             Input.view.KeyboardView.setAllowedButtons(new KeyboardButtons[] { });
             break;
         default:
             break;
     }
     Input.menuState = menuState;
 }
Пример #52
0
 public FeedbackViewModel(IViewContainer container, string sessionId)
 {
 }
 protected override void RegisterViews(IViewContainer container)
 {
     base.RegisterViews(container);
     container.Register(new LocalStorage(), KnownRegions.Content);
 }