Exemplo n.º 1
0
        private void Initialize()
        {
            if (!_initialized)
            {
                if (Cache.FolderTree == null)
                {
                    return;
                }
                if (_treeViewState == null)
                {
                    _treeViewState = new FolderTreeViewState();
                }
                bool firstInit   = _multiColumnHeaderState == null;
                var  headerState = FolderTreeView.CreateDefaultMultiColumnHeaderState(FolderTreeViewRect().width);
                if (MultiColumnHeaderState.CanOverwriteSerializedFields(_multiColumnHeaderState, headerState))
                {
                    MultiColumnHeaderState.OverwriteSerializedFields(_multiColumnHeaderState, headerState);
                }
                _multiColumnHeaderState = headerState;

                var multiColumnHeader = new FolderMultiColumnHeader(headerState);
                if (firstInit)
                {
                    multiColumnHeader.ResizeToFit();
                }

                var treeModel = new TreeModel <FolderTreeElement>(GetData());
                _treeView            = new FolderTreeView(_treeViewState, multiColumnHeader, treeModel);
                _treeViewState.View  = _treeView;
                _treeViewState.Cache = Cache;
                _searchField         = new SearchField();
                _searchField.downOrUpArrowKeyPressed += _treeView.SetFocusAndEnsureSelectedItem;
                _initialized = true;
            }
        }