public static void CreateAndRenameLocalLibraryFolder(GuiWidget container, double secondsBetweenClicks = .1) { AutomationRunner testrunner; DrawEventHandler beforeDraw = null; beforeDraw = (sender, e) => { testrunner = new AutomationRunner(); Task.Run(() => { testrunner.ClickByName("Library Tab"); NavigateToFolder(testrunner, "Local Library Row Item Collection"); testrunner.ClickByName("Create Folder From Library Button"); testrunner.Wait(2); testrunner.Type("New Folder"); testrunner.ClickByName("Create Folder Button"); testrunner.ClickByName("Library Edit Button"); testrunner.ClickByName("Row Item New Folder"); testrunner.ClickByName("Rename From Library Button"); testrunner.Wait(2); testrunner.Type("Renamed Folder"); testrunner.ClickByName("Rename Button"); }); container.DrawBefore -= beforeDraw; }; container.DrawBefore += beforeDraw; }
public static void RenameLibraryItem(GuiWidget container, double secondsBetweenClicks = .1) { AutomationRunner testRunner; DrawEventHandler beforeDraw = null; beforeDraw = (sender, e) => { testRunner = new AutomationRunner(); Task.Run(() => { testRunner.ClickByName("Library Tab"); NavigateToFolder(testRunner, "Local Library Row Item Collection"); testRunner.ClickByName("Library Edit Button"); testRunner.ClickByName("Row Item Calibration - Box"); testRunner.Wait(.5); MatterControlUtilities.LibraryRenameSelectedItem(testRunner); testRunner.Wait(.5); testRunner.Type("Renamed Calibration Cube"); testRunner.ClickByName("Rename Button"); }); container.BeforeDraw -= beforeDraw; }; container.BeforeDraw += beforeDraw; }
/// <summary> /// Инициализация узла отображения текста /// </summary> /// <param name="customizingView">Дерево</param> /// <param name="column">Колонка</param> /// <param name="drawNodeDelegate">Метод отрисовки</param> private static void SetUpNodeTextBox(TreeViewAdv customizingView, TreeColumn column, DrawEventHandler drawNodeDelegate) { var nodeTextBox = new NodeTextBox(); nodeTextBox.DataPropertyName = "Text"; nodeTextBox.VerticalAlign = VerticalAlignment.Center; nodeTextBox.TrimMultiLine = true; nodeTextBox.ParentColumn = column; nodeTextBox.DrawText += new EventHandler <DrawTextEventArgs>(drawNodeDelegate); customizingView.NodeControls.Add(nodeTextBox); }
public static void CreateButtonOpensPluginWindow(GuiWidget container, double secondsBetweenClicks = .1) { //To run test invoke method in the queue data widget AutomationRunner testRunner; DrawEventHandler beforeDraw = null; beforeDraw = (sender, e) => { testRunner = new AutomationRunner(); Task.Run(() => { testRunner.ClickByName("Queue Tab"); testRunner.ClickByName("Design Tool Button"); }); container.DrawBefore -= beforeDraw; }; container.DrawBefore += beforeDraw; }
/// <summary> /// Инициализация дерева TreeViewAdv из Aga библиотеки. /// </summary> /// <param name="customizingView">Дерево для настройки</param> /// <param name="columnName">Имя добавляемой колонки</param> /// <param name="checkStateChangedDelegate">Делегат для обработки /// изменения состояния чекбокса</param> /// <param name="customizingCheckBox">Чекбокс для настройки</param> /// <param name="drawNodeDelegate">Делегат для отрисовки текстовых /// элементов</param> public static void SetUpAdvTreeView(TreeViewAdv customizingView, string columnName, DrawEventHandler drawNodeDelegate, NodeCheckBox customizingCheckBox, CheckStateChangedEventHandler checkStateChangedDelegate = null) { customizingView.FullRowSelect = true; customizingView.FullRowSelectActiveColor = Color .FromArgb(192, 192, 255); customizingView.FullRowSelectInactiveColor = Color .FromArgb(192, 255, 192); customizingView.GridLineStyle = GridLineStyle.Horizontal; customizingView.UseColumns = true; customizingView.ShowLines = true; customizingView.ShowPlusMinus = true; customizingView.RowHeight = 20; TreeColumn column = SetUpColumn(customizingView, columnName); SetUpNodeCheckBox(customizingView, column, customizingCheckBox, checkStateChangedDelegate); SetUpNodeTextBox(customizingView, column, drawNodeDelegate); }
public static void AddLocalLibraryItemToQueue(GuiWidget container, double secondsBetweenClicks = .1) { AutomationRunner testrunner; DrawEventHandler beforeDraw = null; beforeDraw = (sender, e) => { testrunner = new AutomationRunner(); Task.Run(() => { testrunner.ClickByName("Library Tab"); NavigateToFolder(testrunner, "Local Library Row Item Collection"); testrunner.ClickByName("Library Edit Button"); testrunner.ClickByName("Row Item Calibration - Box"); testrunner.Wait(2); testrunner.ClickByName("Library Add To Queue Button"); testrunner.ClickByName("Queue Tab"); }); container.DrawBefore -= beforeDraw; }; container.DrawBefore += beforeDraw; }
public static void ClickStuff(GuiWidget container, string[] clickThings, double secondsBetweenClicks = .1) { AutomationRunner clickPreview; DrawEventHandler beforeDraw = null; beforeDraw = (sender, e) => { clickPreview = new AutomationRunner(); Task.Run(() => { foreach (string clickName in clickThings) { clickPreview.ClickByName(clickName, 10); Thread.Sleep((int)(secondsBetweenClicks * 1000)); } }); container.DrawBefore -= beforeDraw; }; container.DrawBefore += beforeDraw; }
public static void ReportDrawTimeWhileSwitching(GuiWidget container, string firstWidgetName, string secondWidgetName, double switchTimeSeconds) { StatisticsTracker testTracker = new StatisticsTracker("SwitchBetweenTabs"); bool clickFirstItem = true; bool done = false; bool firstDraw = true; AutomationRunner clickPreview; Stopwatch timeSinceLastClick = Stopwatch.StartNew(); Stopwatch totalDrawTime = Stopwatch.StartNew(); int drawCount = 0; DrawEventHandler beforeDraw = (sender, e) => { if (firstDraw) { clickPreview = new AutomationRunner(); Task.Run(() => { while (!done) { if (clickPreview != null && timeSinceLastClick.Elapsed.TotalSeconds > switchTimeSeconds) { if (clickFirstItem) { clickPreview.ClickByName(firstWidgetName); } else { clickPreview.ClickByName(secondWidgetName); } clickFirstItem = !clickFirstItem; timeSinceLastClick.Restart(); } } }); firstDraw = false; } totalDrawTime.Restart(); }; container.DrawBefore += beforeDraw; DrawEventHandler afterDraw = null; afterDraw = (sender, e) => { totalDrawTime.Stop(); if (drawCount++ > 30 && testTracker.Count < 100) { testTracker.AddValue(totalDrawTime.ElapsedMilliseconds); if (testTracker.Count == 100) { Trace.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(testTracker)); container.DrawBefore -= beforeDraw; container.DrawBefore -= afterDraw; done = true; } } }; container.DrawAfter += afterDraw; }
/// <summary> /// Register renderer event handler to make specific behaviour in several render stage /// </summary> /// <param name="displayName"></param> /// <param name="handler"></param> /// <param name="renderStage"></param> /// <param name="priority">0 - first item, higher number means lower priority</param> internal static void RegisterRenderModule(MyRenderModuleEnum module, string displayName, DrawEventHandler handler, MyRenderStage renderStage, int priority, bool enabled) { Debug.Assert(!m_renderModules[(int)renderStage].Any(x => x.Name == module)); m_renderModules[(int)renderStage].Add(new MyRenderModuleItem { Name = module, DisplayName = displayName, Priority = priority, Handler = handler, Enabled = enabled }); m_renderModules[(int)renderStage].Sort((p1, p2) => p1.Priority.CompareTo(p2.Priority)); }
internal static void RegisterRenderModule(MyRenderModuleEnum module, string displayName, DrawEventHandler handler, MyRenderStage renderStage, bool enabled) { RegisterRenderModule(module, displayName, handler, renderStage, MyRenderConstants.DEFAULT_RENDER_MODULE_PRIORITY, enabled); }
/// <summary> /// Register renderer event handler to make specific behaviour in several render stage /// </summary> /// <param name="displayName"></param> /// <param name="handler"></param> /// <param name="renderStage"></param> /// <param name="priority"></param> public static void RegisterRenderModule(MyRenderModuleEnum module, string displayName, DrawEventHandler handler, MyRenderStage renderStage) { RegisterRenderModule(module, displayName, handler, renderStage, MyRenderConstants.DEFAULT_RENDER_MODULE_PRIORITY, true); }
/// <summary>Sets an event handler for drawing frames to the canvas.</summary> /// <param name="drawHandler">The event handler for drawing frames.</param> public void SetDrawHandler(DrawEventHandler drawHandler) { this._drawHandler = drawHandler; }