예제 #1
0
        public void Close(D3DBrowserTab page)
        {
            if (page != null && internalTabs.Contains(page))
            {
                int activeIndex = activePage == page ? internalTabs.IndexOf(activePage) : -1;

                internalTabs.Remove(page);

                TabsNode.Remove(page.D3DNode);
                ReOrderTabsNode();

                page.CloseInternal();

                if (activeIndex >= 0)
                {
                    activePage = null;

                    if (activeIndex >= internalTabs.Count)
                        activeIndex = internalTabs.Count - 1;

                    if (activeIndex >= 0)
                    {
                        activePage = internalTabs[activeIndex];
                        activePage.Active = true;
                    }
                }

                ReOrderTabsNode();
                RaiseTabCountChanged();
            }
        }
예제 #2
0
        public void TabNext()
        {
            var index = internalTabs.IndexOf(activePage);

            if (index >= 0)
            {
                if (index == internalTabs.Count - 1)
                {
                    CurrentCamTabAngle = (float)(CurrentCamTabAngle - Math.PI * 2);
                }

                ActivePage = internalTabs[(index + 1) % internalTabs.Count];
                MoveCameraTo(CurrentCamRadius, (float)ActivePage.CurrentAngle);
            }
        }
예제 #3
0
        public void TabPrev()
        {
            var index = internalTabs.IndexOf(activePage);

            if (index >= 0)
            {
                if (index == 0)
                {
                    CurrentCamTabAngle = (float)(Math.PI * 2 - CurrentCamTabAngle);
                }

                ActivePage = internalTabs[(((index - 1) % internalTabs.Count) + internalTabs.Count) % internalTabs.Count];
                MoveCameraTo(CurrentCamRadius, (float)ActivePage.CurrentAngle);
            }
        }
예제 #4
0
        public D3DBrowserTab NewTab(string url)
        {
            var new_page = new D3DBrowserTab(this, Host.RenderingWidth, Host.RenderingHeight);
            new_page.Navigate(url);

            internalTabs.Add(new_page);
            ActivePage = new_page;
            activePage = new_page;

            TabsNode.Add(new_page.D3DNode);

            ReOrderTabsNode();

            RaiseTabCountChanged();

            return new_page;
        }