예제 #1
1
		public override AView OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
		{
			if (Page != null)
			{
				_visualElementRenderer = Android.Platform.CreateRenderer(Page, ChildFragmentManager);
				Android.Platform.SetRenderer(Page, _visualElementRenderer);

				_pageContainer = new PageContainer(Forms.Context, _visualElementRenderer, true);
				return _pageContainer;
			}

			return null;
		}
		protected override void AddChildView(VisualElement childView)
		{
			_pageContainer = null;

			Page page = childView as NavigationPage ?? (Page)(childView as TabbedPage);

			if (page == null)
			{
				// Not a NavigationPage or TabbedPage? Just do the normal thing
				base.AddChildView(childView);
			}
			else
			{
				// The renderers for NavigationPage and TabbedPage both host fragments, so they need to be wrapped in a 
				// FragmentContainer in order to get isolated fragment management

				Fragment fragment = FragmentContainer.CreateInstance(page);
				
				var fc = fragment as FragmentContainer;
				fc?.SetOnCreateCallback(pc =>
				{
					_pageContainer = pc;
					SetDefaultBackgroundColor(pc.Child);
				});

				FragmentTransaction transaction = FragmentManager.BeginTransaction();
				transaction.DisallowAddToBackStack();
				transaction.Add(Id, fragment);
				transaction.SetTransition((int)FragmentTransit.FragmentOpen);
				transaction.Commit();
			}
		}
예제 #3
0
        private void btnResetChat_Click(object sender, RoutedEventArgs e)
        {
            PageContainer pc = Tools.FindVisualParent <PageContainer>(this);

            //pc.LoadCommunicationChannel(ApplicationState.GetValue<string>(ApplicationVariables.strEndpoint));
            pc.LoadCommunicationChannel();

            Load();
        }
예제 #4
0
 void Save(string path, PageContainer container)
 {
     using (var stream = new SKFileWStream(path))
         using (var writer = new SKXmlStreamWriter(stream))
             using (var canvas = SKSvgCanvas.Create(SKRect.Create(0, 0, (int)container.Width, (int)container.Height), writer))
             {
                 _presenter.Render(canvas, _renderer, container, 0, 0);
             }
 }
예제 #5
0
 /// <summary>
 /// Add layer.
 /// </summary>
 /// <param name="project">The project instance.</param>
 /// <param name="container">The container instance.</param>
 /// <param name="layer">The layer instance.</param>
 public static void AddLayer(this ProjectContainer project, PageContainer container, LayerContainer layer)
 {
     if (container != null && container.Layers != null && layer != null)
     {
         var previous = container.Layers;
         var next     = container.Layers.Add(layer);
         project?.History?.Snapshot(previous, next, (p) => container.Layers = p);
         container.Layers = next;
     }
 }
예제 #6
0
 /// <summary>
 /// Set page template.
 /// </summary>
 /// <param name="project">The project instance.</param>
 /// <param name="page">The page instance.</param>
 /// <param name="template">The template instance.</param>
 public static void ApplyTemplate(this ProjectContainer project, PageContainer page, PageContainer template)
 {
     if (page != null && template != null)
     {
         var previous = page.Template;
         var next     = template;
         project?.History?.Snapshot(previous, next, (p) => page.Template = p);
         page.Template = next;
     }
 }
예제 #7
0
 /// <summary>
 /// Remove template.
 /// </summary>
 /// <param name="project">The project instance.</param>
 /// <param name="template">The template instance</param>
 public static void RemoveTemplate(this ProjectContainer project, PageContainer template)
 {
     if (project?.Templates != null && template != null)
     {
         var previous = project.Templates;
         var next     = project.Templates.Remove(template);
         project?.History?.Snapshot(previous, next, (p) => project.Templates = p);
         project.Templates = next;
     }
 }
예제 #8
0
 //-----------------------------------------------------------------------------
 /// <summary>
 /// On the first run, render the layout so we see a blank page
 /// </summary>
 //-----------------------------------------------------------------------------
 protected override void OnContentRendered(EventArgs e)
 {
     if (_first)
     {
         _first = false;
         RecalculateLayout();
         PageContainer.FitToHeight();
     }
     base.OnContentRendered(e);
 }
        /// <inheritdoc/>
        void IProjectExporter.Save(string path, PageContainer container)
        {
            _outputPath = System.IO.Path.GetDirectoryName(path);
            var dxf = new DxfDocument(DxfVersion.AutoCad2010);

            Add(dxf, container);

            dxf.Save(path);
            ClearCache(isZooming: false);
        }
        protected override void AddChildView(VisualElement childView)
        {
            _pageContainer = null;

            Page page = childView as NavigationPage ?? (Page)(childView as TabbedPage);

            if (page == null)
            {
                // The thing we're adding is not a NavigationPage or TabbedPage, so we can just use the old AddChildView

                if (_currentFragment != null)
                {
                    // But first, if the previous occupant of this container was a fragment, we need to remove it properly
                    FragmentTransaction transaction = FragmentManager.BeginTransaction();
                    transaction.DisallowAddToBackStack();
                    transaction.Remove(_currentFragment);
                    transaction.SetTransition((int)FragmentTransit.None);
                    transaction.Commit();

                    _currentFragment = null;
                }

                base.AddChildView(childView);
            }
            else
            {
                // The renderers for NavigationPage and TabbedPage both host fragments, so they need to be wrapped in a
                // FragmentContainer in order to get isolated fragment management
                Fragment fragment = FragmentContainer.CreateInstance(page);

                var fc = fragment as FragmentContainer;

                fc?.SetOnCreateCallback(pc =>
                {
                    _pageContainer = pc;
                    SetDefaultBackgroundColor(pc.Child);
                });

                FragmentTransaction transaction = FragmentManager.BeginTransaction();
                transaction.DisallowAddToBackStack();

                if (_currentFragment != null)
                {
                    transaction.Remove(_currentFragment);
                }

                transaction.Add(Id, fragment);
                transaction.SetTransition((int)FragmentTransit.None);
                transaction.Commit();

                _currentFragment = fragment;

                new Handler(Looper.MainLooper).PostAtFrontOfQueue(() => FragmentManager.ExecutePendingTransactions());
            }
        }
예제 #11
0
        public void SetSelected_Layer()
        {
            var target = new ProjectContainer();

            var page  = new PageContainer();
            var layer = LayerContainer.Create("Layer1", page);

            target.SetSelected(layer);

            Assert.Equal(layer, page.CurrentLayer);
        }
예제 #12
0
 public void ExecuteNextButtonClick(EventArgs e)
 {
     if (OnCustomNextNavigation != null)
     {
         OnCustomNextNavigation(this, e);
     }
     else
     {
         PageContainer.NextPage();
     }
 }
예제 #13
0
        public void this_Operator_Creates_Property()
        {
            var target = new PageContainer();

            Assert.Empty(target.Data.Properties);

            target["Name1"] = "Value1";
            Assert.Equal("Value1", target.Data.Properties[0].Value);

            Assert.Equal(target.Data, target.Data.Properties[0].Owner);
        }
예제 #14
0
        public override IEnumerator Initialize()
        {
            _settingButton.onClick.AddListener(OnSettingButtonClicked);
            _shopButton.onClick.AddListener(OnShopButtonClicked);

            // Preload the "Shop" page prefab.
            yield return(PageContainer.Of(transform).Preload(ResourceKey.ShopPagePrefab()));

            // Simulate loading time.
            yield return(new WaitForSeconds(1.0f));
        }
예제 #15
0
 /// <inheritdoc/>
 void IProjectExporter.Save(string path, PageContainer container)
 {
     using (var stream = new SKFileWStream(path))
     {
         using (var pdf = SKDocument.CreatePdf(stream, _targetDpi))
         {
             Add(pdf, container);
             pdf.Close();
         }
     }
 }
예제 #16
0
 public OptionPage(Core core)
 {
     InitializeComponent();
     DataSource = core.Settings;
     EditSource = new Settings(core.Settings);
     SettingsGrid.SelectedObject = EditSource;
     EditSource.PropertyChanged += delegate
     {
         PageContainer?.OnStatusChange();
     };
 }
예제 #17
0
 public void ExecutePreviousButtonClick(EventArgs e)
 {
     if (OnCustomPreviousNavigation != null)
     {
         OnCustomPreviousNavigation(this, e);
     }
     else
     {
         PageContainer.PreviousPage();
     }
 }
예제 #18
0
        public static string GetContainerClass(PageContainer container)
        {
            switch (container)
            {
            case PageContainer.Container:
                return("container");

            case PageContainer.Fluid:
            default:
                return("container-fluid");
            }
        }
예제 #19
0
        public void SetCurrentTemplate_Sets_CurrentTemplate()
        {
            var target = new ProjectContainer();

            var template = PageContainer.CreateTemplate();

            target.Templates = target.Templates.Add(template);

            target.SetCurrentTemplate(template);

            Assert.Equal(template, target.CurrentTemplate);
        }
예제 #20
0
        public void SetSelected_Sets_Selected()
        {
            var target = new Library <PageContainer>();

            var item = PageContainer.CreateTemplate();

            target.Items = target.Items.Add(item);

            target.SetSelected(item);

            Assert.Equal(item, target.Selected);
        }
예제 #21
0
        /// <inheritdoc/>
        public override void Render(object dc, ShapeRenderer renderer, PageContainer container, double dx, double dy)
        {
            renderer.Fill(dc, dx, dy, container.Width, container.Height, container.Background);

            var db = container.Data == null ? default(ImmutableArray <Property>) : container.Data.Properties;
            var r  = container.Data == null ? default(Record) : container.Data.Record;

            if (container.Template != null)
            {
                renderer.Draw(dc, container.Template, dx, dy, db, r);
            }
        }
예제 #22
0
 private void ListView_Page_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         if (ListView_Page.SelectedIndex >= 0)
         {
             nextPage = ListView_Page.SelectedIndex;
             _        = PageContainer.Navigate(PageManager.GetPage((ListView_Page.SelectedItem as PageItemModel).uuid));
         }
     }
     catch (Exception) { ListView_Page.SelectedIndex = nextPage; }
 }
예제 #23
0
        public IActionResult AdsPartial(int page, string category, string search, string sort, FilterVM filter)
        {
            if (sort == "own")
            {
                filter.UserId = (repo.GetUser(User.Identity.Name)).Id;
            }
            PageContainer container = repo.GetPage(category, page, search, sort, filter);

            AdsVM vm = new AdsVM(container.Ads, category, page, container.PageAmount);

            return(PartialView(vm));
        }
예제 #24
0
        public void InsertPages_ShouldThrowException_WhenCountOfQuizListAndPageObjectsUnequal()
        {
            // arrange
            var           quizzes       = new List <Quiz>();
            var           pages         = TestAuxiliaryMethods.GetMockPageContainers();
            PageContainer pageContainer = new PageContainer(_builder);

            // act
            pageContainer.InsertPages(quizzes, pages);

            // assert
        }
		protected override void AddChildView(VisualElement childView)
		{
			_pageContainer = null;

			Page page = childView as NavigationPage ?? (Page)(childView as TabbedPage);

			if (page == null)
			{
				// The thing we're adding is not a NavigationPage or TabbedPage, so we can just use the old AddChildView 

				if (_currentFragment != null)
				{
					// But first, if the previous occupant of this container was a fragment, we need to remove it properly
					FragmentTransaction transaction = FragmentManager.BeginTransaction();
					transaction.DisallowAddToBackStack();
					transaction.Remove(_currentFragment);
					transaction.SetTransition((int)FragmentTransit.None);
					transaction.Commit();

					_currentFragment = null;
				}
				
				base.AddChildView(childView);
			}
			else
			{
				// The renderers for NavigationPage and TabbedPage both host fragments, so they need to be wrapped in a 
				// FragmentContainer in order to get isolated fragment management
				Fragment fragment = FragmentContainer.CreateInstance(page);
				
				var fc = fragment as FragmentContainer;

				fc?.SetOnCreateCallback(pc =>
				{
					_pageContainer = pc;
					SetDefaultBackgroundColor(pc.Child);
				});

				FragmentTransaction transaction = FragmentManager.BeginTransaction();
				transaction.DisallowAddToBackStack();

				if (_currentFragment != null)
				{
					transaction.Remove(_currentFragment);
				}

				transaction.Add(Id, fragment);
				transaction.SetTransition((int)FragmentTransit.FragmentOpen);
				transaction.Commit();

				_currentFragment = fragment;
			}
		}
예제 #26
0
        public void GetPages_ShouldThrowException_WhenQuizzesAndPagesUnequal()
        {
            // arrange
            var           quizzes       = new List <Quiz>();
            var           pages         = TestAuxiliaryMethods.GetMockPageInputData();
            PageContainer pageContainer = new PageContainer(_builder);

            // act
            pageContainer.GetPages(pages, quizzes.Count);

            // assert
        }
 void MainLayout_OnLayoutChildren(double x, double y, double width, double height)
 {
     MediaItemsListView.Layout(new Rectangle(0, 0, Width, Height));
     if (!_didLayoutContainer)
     {
         _contentBounds.Y      = height - 100;
         _contentBounds.X      = width - 160;
         _contentBounds.Width  = 160;
         _contentBounds.Height = 100;
         _didLayoutContainer   = true;
     }
     PageContainer.Layout(_contentBounds);
 }
예제 #28
0
        /// <summary>
        /// Replace page at specified index.
        /// </summary>
        /// <param name="project">The project instance.</param>
        /// <param name="document">The document instance.</param>
        /// <param name="page">The page instance.</param>
        /// <param name="index">The page index.</param>
        public static void ReplacePage(this ProjectContainer project, DocumentContainer document, PageContainer page, int index)
        {
            if (document != null && page != null && index >= 0)
            {
                var builder = document.Pages.ToBuilder();
                builder[index] = page;

                var previous = document.Pages;
                var next     = builder.ToImmutable();
                project?.History?.Snapshot(previous, next, (p) => document.Pages = p);
                document.Pages = next;
            }
        }
예제 #29
0
        public override AView OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            if (Page != null)
            {
                _visualElementRenderer = Android.Platform.CreateRenderer(Page, ChildFragmentManager);
                Android.Platform.SetRenderer(Page, _visualElementRenderer);

                _pageContainer = new PageContainer(Forms.Context, _visualElementRenderer, true);
                return(_pageContainer);
            }

            return(null);
        }
예제 #30
0
        private void tabDetails_GotFocus(object sender, RoutedEventArgs e)
        {
            PageContainer pc = (PageContainer)Tools.FindVisualParent <Window>(this);

            if (Rechten.IsProjectleider)
            {
                pc.SetLabelSubtitleGegevens(true);
            }
            else
            {
                pc.SetLabelSubtitleGegevens(false);
            }
        }
예제 #31
0
        public void iInitializeComponent()
        {
            //Program vmv = new Program();
            //vmv.Show();
            IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());

            IPAddress[] address = hostEntry.AddressList;

            string endpoint = "";

            for (int i = 0; i < address.Count(); i++)
            {
                if (address.GetValue(i).ToString().StartsWith("192.160"))
                {
                    endpoint = "net.p2p://" + address.GetValue(i).ToString() + ":8089/MyChatServer/Chat";
                    break;
                }
            }

            Logging log = new Logging();

            log.Log(endpoint, "Start applicatie");


            PageContainer vmv2 = new PageContainer(endpoint);


            //


            MainMenu mm = new MainMenu();

            vmv2.LoadControlDefault(mm, true);

            vmv2.Show();


            Global.useWeekviewLeesstand = true;

            log.Log("Applicatie gestart");


            MandagenRegistratie.controls.Login.Edit edit = new controls.Login.Edit();
            vmv2.inloggenalscontrol = edit;

            if (Rechten.IsAdmin)
            {
                ApplicationState.SetValue(ApplicationVariables.blnIsAdmin, true);
            }
        }
예제 #32
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="bitmap"></param>
        /// <param name="container"></param>
        /// <param name="ic"></param>
        /// <returns></returns>
        public static MemoryStream MakeMetafileStream(Bitmap bitmap, PageContainer container, IImageCache ic)
        {
            var g  = default(Graphics);
            var mf = default(Metafile);
            var ms = new MemoryStream();

            try
            {
                using (g = Graphics.FromImage(bitmap))
                {
                    var hdc = g.GetHdc();
                    mf = new Metafile(ms, hdc);
                    g.ReleaseHdc(hdc);
                }

                using (g = Graphics.FromImage(mf))
                {
                    var r = new WinFormsRenderer(72.0 / 96.0);
                    r.State.DrawShapeState.Flags = ShapeStateFlags.Printable;
                    r.State.ImageCache           = ic;

                    g.SmoothingMode      = SmoothingMode.HighQuality;
                    g.PixelOffsetMode    = PixelOffsetMode.HighQuality;
                    g.TextRenderingHint  = TextRenderingHint.ClearTypeGridFit;
                    g.CompositingQuality = CompositingQuality.HighQuality;
                    g.InterpolationMode  = InterpolationMode.HighQualityBicubic;

                    g.PageUnit = GraphicsUnit.Display;

                    r.Draw(g, container.Template, 0.0, 0.0, (object)container.Data.Properties, (object)container.Data.Record);
                    r.Draw(g, container, 0.0, 0.0, (object)container.Data.Properties, (object)container.Data.Record);

                    r.ClearCache(isZooming: false);
                }
            }
            finally
            {
                if (g != null)
                {
                    g.Dispose();
                }

                if (mf != null)
                {
                    mf.Dispose();
                }
            }
            return(ms);
        }
        private void Add(DxfDocument dxf, PageContainer container)
        {
            if (container.Template != null)
            {
                _pageWidth  = container.Template.Width;
                _pageHeight = container.Template.Height;
                Draw(dxf, container.Template, 0.0, 0.0, (object)container.Data.Properties, (object)container.Data.Record);
            }
            else
            {
                throw new NullReferenceException("Container template must be set.");
            }

            Draw(dxf, container, 0.0, 0.0, (object)container.Data.Properties, (object)container.Data.Record);
        }
예제 #34
0
		public override void OnDestroyView()
		{
			if (Page != null)
			{
				IVisualElementRenderer renderer = _visualElementRenderer;
				PageContainer container = _pageContainer;

				if (container.Handle != IntPtr.Zero && renderer.ViewGroup.Handle != IntPtr.Zero)
				{
					container.RemoveFromParent();
					renderer.ViewGroup.RemoveFromParent();
					Page.ClearValue(Android.Platform.RendererProperty);

					container.Dispose();
					renderer.Dispose();
				}
			}

			_visualElementRenderer = null;
			_pageContainer = null;

			base.OnDestroyView();
		}
예제 #35
0
		void InsertPage(ContentPage page, int index)
		{
			IVisualElementRenderer renderer = Platform.GetRenderer(page);
			if (renderer == null)
			{
				renderer = Platform.CreateRenderer(page);
				Platform.SetRenderer(page, renderer);
			}

			UIView container = new PageContainer(page);
			container.AddSubview(renderer.NativeView);
			_containerMap[page] = container;

			AddChildViewController(renderer.ViewController);
			_scrollView.InsertSubview(container, index);

			if ((index == 0 && SelectedIndex == 0) || (index < SelectedIndex))
				ScrollToPage(SelectedIndex + 1, false);
		}
예제 #36
0
		public override void OnDestroyView()
		{
			if (Page != null)
			{
				if (_visualElementRenderer != null)
				{
					if (_visualElementRenderer.ViewGroup.Handle != IntPtr.Zero)
					{
						_visualElementRenderer.ViewGroup.RemoveFromParent();
					}

					_visualElementRenderer.Dispose();
				}

				if (_pageContainer != null && _pageContainer.Handle != IntPtr.Zero)
				{
					_pageContainer.RemoveFromParent();
					_pageContainer.Dispose();
				}

				Page?.ClearValue(Android.Platform.RendererProperty);
			}

			_onCreateCallback = null;
			_visualElementRenderer = null;
			_pageContainer = null;

			base.OnDestroyView();
		}
예제 #37
0
		public override Object InstantiateItem(ViewGroup container, int position)
		{
			ContentPage child = _page.Children.ElementAt(position);
			if (Platform.GetRenderer(child) == null)
				Platform.SetRenderer(child, Platform.CreateRenderer(child));

			IVisualElementRenderer renderer = Platform.GetRenderer(child);
			renderer.ViewGroup.RemoveFromParent();

			ViewGroup frame = new PageContainer(_context, renderer);

			container.AddView(frame);

			return new ObjectJavaBox<Tuple<ViewGroup, Page, int>>(new Tuple<ViewGroup, Page, int>(frame, child, position));
		}
예제 #38
0
 private void NewContainer()
 {
     if (_container != null)
     {
         _container.Dispose();
         _container = null;
     }
     _container = new PageContainer();
 }
예제 #39
0
 private void OldContainerWrite(PageContainer container)
 {
     _writer.Write((UInt32)FxOpcodes.TransferBuffer);
     _writer.Write((UInt32)container.UsedCount);
     _writer.Write(container.Buffer, 0, container.UsedCount);
     _writer.Flush();
 }