Example #1
0
        //----------------------------------------------------------------------
        public Notebook(Screen _screen)
            : base(_screen)
        {
            Style = Screen.Style.NotebookStyle;

            mPanel = new Panel(Screen, Screen.Style.Panel, Screen.Style.PanelCornerSize);

            Tabs = new ObservableList <NotebookTab>();

            Tabs.ListChanged += delegate(object _source, ObservableList <NotebookTab> .ListChangedEventArgs _args) {
                if (!_args.Added)
                {
                    if (DraggedTab == _args.Item)
                    {
                        DraggedTab = null;
                    }

                    if (HoveredTab == _args.Item)
                    {
                        HoveredTab = null;
                    }
                }

                if (Tabs.Count > 0)
                {
                    ActiveTabIndex = Math.Min(Tabs.Count - 1, ActiveTabIndex);
                    Tabs[ActiveTabIndex].IsUnread = false;
                }
            };
        }
Example #2
0
        //----------------------------------------------------------------------
        public Notebook( Screen _screen )
            : base(_screen)
        {
            Style = new NotebookStyle(
                Screen.Style.NotebookTabCornerSize,
                Screen.Style.NotebookTab,
                Screen.Style.NotebookTabFocus,
                Screen.Style.NotebookActiveTab,
                Screen.Style.NotebookActiveTabFocus,
                Screen.Style.NotebookUnreadTabMarker
            );

            mPanel = new Panel( Screen, Screen.Style.Panel, Screen.Style.PanelCornerSize );

            Tabs = new ObservableList<NotebookTab>();

            Tabs.ListChanged += delegate( object _source, ObservableList<NotebookTab>.ListChangedEventArgs _args ) {
                if( ! _args.Added )
                {
                    if( DraggedTab == _args.Item )
                    {
                        DraggedTab = null;
                    }

                    if( HoveredTab == _args.Item )
                    {
                        HoveredTab = null;
                    }
                }

                if( Tabs.Count > 0 )
                {
                    ActiveTabIndex = Math.Min( Tabs.Count - 1, ActiveTabIndex );
                    Tabs[ActiveTabIndex].IsUnread = false;
                }
            };
        }