public LevelSetQuery( ILevelSetSorter sorter, ILevelSetFilter filter, ILevelBrowser browser, LevelSetQueryEvent notifyFetchingCallback, LevelSetQueryEvent notifyFetchCompleteCallback) { this.sorter = sorter; this.filter = filter; this.browser = browser; this.notifyFetchingCallback = notifyFetchingCallback; this.notifyFetchCompleteCallback = notifyFetchCompleteCallback; }
public ILevelSetCursor OpenCursor( Guid desiredSelection, ILevelSetSorter sorter, ILevelSetFilter filter, LevelSetQueryEvent notifyFetchingCallback, LevelSetQueryEvent notifyFetchCompleteCallback, LevelSetCursorShifted shiftCallback, LevelSetCursorJumped jumpCallback, LevelSetCursorAddition additionCallback, LevelSetCursorRemoval removalCallback, int size) { LevelSetCursor cursor; lock (Synch) { ILevelSetQuery query = new LevelSetQuery( sorter, filter, this, notifyFetchingCallback, notifyFetchCompleteCallback); queries.Add(query); cursor = new LevelSetCursor( this, desiredSelection, query, shiftCallback, jumpCallback, additionCallback, removalCallback, size); query.AddCursor(cursor); } return(cursor); }