コード例 #1
0
ファイル: TreeSource.cs プロジェクト: madiantech/tkcore
        internal TreeSource(ITreeCreator creator)
        {
            if (!string.IsNullOrEmpty(creator.Context))
            {
                Context = DbContextUtil.CreateDbContext(creator.Context);
            }

            Tree = creator.CreateTree(this);
        }
コード例 #2
0
 private void OnChangeFactor(object sender, EventArgs e)
 {
     if (TryParse(_view.InputFactor, out int newFactor) && newFactor >= 2)
     {
         var newTree = _creator.CreateTree(newFactor);
         foreach (var item in _tree)
         {
             newTree.Add(item);
         }
         _tree = newTree;
         RefreshView();
     }
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: lunakv/Skola
        /// <summary>
        /// Reads the input stream and encodes it to the output stream.
        /// </summary>
        public void Encode(IFileInput input, IFileOutput output)
        {
            int symbol;

            // Getting the frequencies
            while ((symbol = input.ReadByte()) != -1)
            {
                _analyzer.ProcessSymbol(symbol);
            }

            long[] data    = _analyzer.GetAnalysis();
            Node   root    = _creator.CreateTree(data);
            var    encoder = new HuffmanEncoder(output, root);

            input.GoToStart();
            encoder.Encode(input);
            encoder.Finish();
        }
コード例 #4
0
        public Presenter(IView view)
        {
            _view                = view;
            _view.AddNode       += OnAddNode;
            _view.DeleteNode    += OnDeleteNode;
            _view.Clear         += OnClear;
            _view.ChangeFactor  += OnChangeFactor;
            _view.Reload        += OnReload;
            _view.SelectLinked  += OnSelectLinked;
            _view.SelectArray   += OnSelectArray;
            _view.SortByEven    += OnSortByEven;
            _view.SortByOdd     += OnSortByOdd;
            _view.FillTestData  += OnFillTestData;
            _view.MakeImmutable += OnMakeImmutable;

            _creator = new LinkedTreeCreator <int>();
            _tree    = _creator.CreateTree();
            RefreshView();
        }
コード例 #5
0
 private void OnSelectLinked(object sender, EventArgs e)
 {
     _creator = new LinkedTreeCreator <int>();
     _tree    = _creator.CreateTree(_tree.Factor);
     RefreshView();
 }