public void Add(Key key) { Add(Root, key); if (Root.IsFull()) { var leftHalf = Root; var rightHalf = Root.Split(); Root = CreateNewNode(); Root.Add(leftHalf); Root.Add(rightHalf); } }
public void Add(IPage <Key> h, Key key) { if (h.IsExternal()) { h.Add(key); return; } var next = h.Next(key); Add(next, key); if (next.IsFull()) { h.Add(next.Split()); } next.Close(); }
private void stepFinalize_codeActivity_ExecuteCode(object sender, EventArgs e) { AddNewTreeRefresher addNewTreeRefresher = this.CreateAddNewTreeRefresher(this.EntityToken); IPage newPage = this.GetBinding <IPage>("NewPage"); newPage.SourceCultureName = UserSettings.ActiveLocaleCultureInfo.Name; Guid pageTypeId = newPage.PageTypeId; Guid?defaultPageTemplateId = PageServices.GetDefaultPageTemplateId(pageTypeId); if (defaultPageTemplateId != null) { newPage.TemplateId = defaultPageTemplateId.Value; } string sortOrder = this.GetBinding <string>("SelectedSortOrder"); Guid parentId = GetParentId(); using (new DataScope(DataScopeIdentifier.Administrated)) { IPageInsertionPosition position; if (sortOrder == SortOrder.Top) { position = PageInsertPosition.Top; } else if (sortOrder == SortOrder.Bottom) { position = PageInsertPosition.Bottom; } else if (sortOrder == SortOrder.Alphabetic) { position = PageInsertPosition.Alphabetic; } else if (sortOrder == SortOrder.Relative) { Guid relativeSelectedPageId = this.GetBinding <Guid>("RelativeSelectedPageId"); position = PageInsertPosition.After(relativeSelectedPageId); } else { throw new InvalidOperationException($"Not handled page instert position '{sortOrder}'"); } newPage = newPage.Add(parentId, position); } SetSaveStatus(true); addNewTreeRefresher.PostRefreshMesseges(newPage.GetDataEntityToken()); this.ExecuteWorklow(newPage.GetDataEntityToken(), typeof(EditPageWorkflow)); }
private void AddLine(ILine line) { if (line.Counter > 0) { if (!_currentPage.Add(line)) { AddPage(_currentPage); _currentPage = _helper.GetPage(); _currentPage.Add(line); } } }