예제 #1
0
        protected override void OnTextInput(TextCompositionEventArgs e)
        {
            if (!SelectionController.CurrentCellManager.HasCurrentCell)
            {
                base.OnTextInput(e);
                return;
            }

            //Get the Current Row and Column index from the CurrentCellManager
            RowColumnIndex rowColumnIndex = SelectionController.CurrentCellManager.CurrentRowColumnIndex;

            if (e.OriginalSource is SfDataGridExt dataGrid)
            {
                RowGenerator          rowGenerator  = dataGrid.RowGenerator;
                DataRowBase           dataRow       = rowGenerator.Items.FirstOrDefault(item => item.RowIndex == rowColumnIndex.RowIndex);
                List <DataColumnBase> visiblecolumn = dataRow?.VisibleColumns;
                if (dataRow is DataRow)
                {
                    //Get the column from the VisibleColumn collection based on the column index
                    DataColumnBase dataColumn = visiblecolumn.FirstOrDefault(column => column.ColumnIndex == rowColumnIndex.ColumnIndex);
                    //Convert the input text to char type
                    char.TryParse(e.Text, out char text);
                    //Skip if the column is GridTemplateColumn and the column is not already in editing
                    //Allow Editing only pressed letters digits and Minus sign key
                    if (dataColumn != null && !dataColumn.IsEditing &&
                        SelectionController.CurrentCellManager.BeginEdit() &&
                        char.IsLetterOrDigit(text) || char.IsPunctuation(text))
                    {
                        dataColumn?.Renderer.PreviewTextInput(e);
                    }
                }
            }

            base.OnTextInput(e);
        }
	void Awake(){
		rows.Add (this);
		if (row == null)
			row = GetComponent<RowHandler2> ();
		if (generator == null)
			generator = GetComponent<RowGenerator> ();
		generator.pattern.Clear ();
		row.target = Camera.main.transform;
		generator.pattern.Add(start_prefab);
		for (int i = 0; i < break_distance; i++) {
			generator.pattern.Add (prefab);
		}
		generator.pattern.Add(end_prefab);
		for (int i = 0; i < break_length; i++) {
			generator.pattern.Add ("");
		}
		state = NamedBehavior.GetOrCreateComponentByName<State> (gameObject, "row");
		generator.on_create((GameObject cell) => {
			StrawberryGenerator sb_generator = cell.GetComponentInChildren<StrawberryGenerator> ();
			if (sb_generator != null){
				sb_generator.state.chain_parent(state);
			}
			DisplaceMesh displace = cell.GetComponentInChildren<DisplaceMesh>();
			displace.construct();
		}).on_destroy((GameObject cell) => {
			StrawberryGenerator sb_generator = cell.GetComponentInChildren<StrawberryGenerator>();
			if (sb_generator != null){
				sb_generator.eject_berries();
			}
		});
	}
예제 #3
0
        public void Generate_Row_Correct()
        {
            var rowGeneratorEnumerator = new RowGenerator().GetEnumerator().GetEnumerator();

            Assert.IsTrue(rowGeneratorEnumerator.MoveNext());
            var row = rowGeneratorEnumerator.Current;

            Assert.AreEqual(2, row.GetRowAsString().Split('.').Length);
        }
예제 #4
0
        protected override Task InternalStart(CancellationToken token)
        {
            RowGenerator <TSchema> gen = new RowGenerator <TSchema>(Options);

            gen.NumberOfRowToGenerate = NumberOfRowToGenerate;
            gen.Subscribe(OutputHandler, token);


            return(Task.CompletedTask);
        }
예제 #5
0
        public string Solve(string[] input)
        {
            var gen = new RowGenerator();

            var corridor = Enumerable.Range(0, CorridorLength - 1)
                           .Aggregate(new { row = gen.FromString(input[0]), safe = 0L },
                                      (acc, _) => new { row = gen.Following(acc.row), safe = acc.safe + acc.row.SafeTileCount });

            return((corridor.row.SafeTileCount + corridor.safe).ToString());
        }
예제 #6
0
        public void Generate_Text_With_Correct_Size(long filesize)
        {
            var rowGenerator      = new RowGenerator();
            var filesizeGenerator = new RandomTextGenerator(filesize, rowGenerator);
            var sb = new StringBuilder();

            foreach (var row in filesizeGenerator)
            {
                sb.Append(row);
            }

            Assert.AreEqual(filesize, Encoding.Default.GetByteCount(sb.ToString()));
        }
        public void TestNumbersArrayWillBePopulatedWithCorrectColsCount()
        {
            var config = new Configuration {
                ColumnsInRow = 12, MaxNumber = 40
            };

            var numberGenerator = new SequentialNumberGenerator();

            var rowGenerator = new RowGenerator(config, numberGenerator);

            var row = rowGenerator.GenerateRow();

            Assert.AreEqual(config.ColumnsInRow, row.Numbers.Length);
        }
예제 #8
0
        void GenerateFiles(int nbre)
        {
            Directory.CreateDirectory(path);
            RowGenerator <FilenameSchema> fileGen = new RowGenerator <FilenameSchema>(new RowGeneratorOptions <FilenameSchema>().GeneratorFor(r => r.Filename, r => ETLString.GetAsciiRandomString()));


            fileGen.NumberOfRowToGenerate = nbre;
            for (int i = 0; i < nbre; i++)
            {
                using (File.Create(Path.Combine(path, $"{fileGen.Generate().Filename}.txt")))
                {
                }
            }
        }
예제 #9
0
        public async Task Invoke(QueryContext <TService> ctx)
        {
            DbSetInfo dbSetInfo = ctx.Request.GetDbSetInfo() ?? throw new InvalidOperationException($"Could not get the DbSet for {ctx.Request.dbSetName}");
            IDataHelper <TService> dataHelper = ctx.ServiceContainer.GetDataHelper();
            IServiceOperationsHelper <TService> serviceHelper = ctx.ServiceContainer.GetServiceHelper();
            RunTimeMetadata metadata = ctx.Service.GetMetadata();

            MethodDescription method = metadata.GetQueryMethod(ctx.Request.dbSetName, ctx.Request.queryName);

            LinkedList <object> methParams = new LinkedList <object>();

            for (int i = 0; i < method.parameters.Count; ++i)
            {
                methParams.AddLast(ctx.Request.paramInfo.GetValue(method.parameters[i].name, method, dataHelper));
            }

            RequestContext req = QueryContext <TService> .CreateRequestContext(ctx.Service, ctx.Request);

            using (RequestCallContext callContext = new RequestCallContext(req))
            {
                MethodInfoData methodData  = method.GetMethodData();
                object         instance    = serviceHelper.GetMethodOwner(methodData);
                object         invokeRes   = methodData.MethodInfo.Invoke(instance, methParams.ToArray());
                QueryResult    queryResult = (QueryResult)await serviceHelper.GetMethodResult(invokeRes);

                IEnumerable <object> entities  = queryResult.Result;
                int?              totalCount   = queryResult.TotalCount;
                RowGenerator      rowGenerator = new RowGenerator(dbSetInfo, entities, dataHelper);
                IEnumerable <Row> rows         = rowGenerator.CreateRows();

                SubsetsGenerator subsetsGenerator = new SubsetsGenerator(metadata, dataHelper);
                SubsetList       subResults       = subsetsGenerator.CreateSubsets(queryResult.subResults);

                ctx.Response.names      = dbSetInfo.GetNames();
                ctx.Response.totalCount = totalCount;
                ctx.Response.rows       = rows;
                ctx.Response.subsets    = subResults;
                ctx.Response.extraInfo  = queryResult.extraInfo;
            }

            await _next(ctx);
        }
	void Start () {
		if (row == null)
			row = GetComponent<RowHandler2> ();
		if (generator == null)
			generator = GetComponent<RowGenerator> ();
		generator.pattern.Clear ();
		row.target = Camera.main.transform;
		generator.pattern.Add (start_prefab);
		for (int i = 0; i < break_distance; i++){
			generator.pattern.Add(prefab);
		}
		generator.pattern.Add (end_prefab);
		for (int i = 0; i < break_length; i++){
			generator.pattern.Add("");
		}
		generator.on_create((cell)=>{
			LeafGenerator leaves = cell.GetComponentInChildren<LeafGenerator>();
			if (leaves != null)
				leaves.Start();
			DisplaceMesh displace = cell.GetComponentInChildren<DisplaceMesh>();
			if (displace != null)
				displace.construct();
		});
	}
예제 #11
0
        public void Execute()
        {
            var client = _pool.GetClient();

            var dataAdapter = new RowGenerator <TEntity>();

            var mutations = dataAdapter.Serialize(_map, _entities, _descriptors)
                            .GroupBy(x => x.RowKey)
                            .Select(x => new BatchMutation // try paralelizing this
            {
                Row       = x.Key.GetBytes(),
                Mutations = x.Select(m => new Mutation
                {
                    Value  = m.Value,
                    Column = m.FullColumnName.GetBytes()
                }).ToList()
            }).ToList();

            mutations.Split(_batchSize).ForEach(x => client.mutateRows(_tableName, x, null));

            _pool.ReleaseClient(client);

            _entities.Clear(); // dereference in case of hanging
        }
예제 #12
0
        public void GenerateRow_ExampeInput_ExpectedRow(string input, string expectedOutput)
        {
            var newRow = RowGenerator.Generate(input);

            Assert.AreEqual(expectedOutput, newRow);
        }
예제 #13
0
        public void Generate_Row_By_Size_Correct(long size)
        {
            var row = new RowGenerator().GenerateRow(size);

            Assert.AreEqual(size, row.GetSizeInBytes());
        }