protected void RemoveSelectedRows() { if (Grid.SelectedRows.Count == 0) { return; } WaitForRefillTask(); bool oldListen = listen; listen = false; List <DataGridViewRow> rows = new List <DataGridViewRow>(); List <IElement> elements = new List <IElement>(); IList <IContainerElement> containerElements = ElementsContainer.GetGeneralElements(); List <DataGridViewRow> selectedRows = new List <DataGridViewRow>(); int minIndex = Grid.Rows.Count; foreach (DataGridViewRow row in Grid.SelectedRows) { selectedRows.Add(row); int elementIndex = GetElementIndex(row); if (elementIndex < minIndex) { minIndex = elementIndex; } } foreach (DataGridViewRow row in selectedRows.OrderBy(row => GetElementIndex(row))) { elements.Add(containerElements[GetElementIndex(row)]); rows.Add(row); } Actions.Actions.Instance.AddNew(new Actions.RemoveContainerElementsAction(mMassOperationControl, ElementsContainer, elements, minIndex), m_Project); RefillGrid(); listen = oldListen; }
protected void RefillGrid() { CancelRefillTask(); StartRefillTask(); Grid.SuspendLayout(); Grid.Rows.Clear(); foreach (int key in m_ElementsToRows.Keys) { Actions.ElementChanges.Instance.RemoveListener(key, Update); } m_ElementsToRows.Clear(); int row = 0; foreach (IContainerElement element in ElementsContainer.GetGeneralElements()) { AddElementToGrid(element); foreach (int id in GetInterestingElementIds(element)) { if (!m_ElementsToRows.ContainsKey(id)) { m_ElementsToRows[id] = new List <int>(); Actions.ElementChanges.Instance.AddListener(id, Update); } m_ElementsToRows[id].Add(row); } SetElementAttributes(Grid, element, row); ++row; } Grid.ResumeLayout(); }
protected String SerializeSelectedRows() { if (Grid.SelectedRows.Count == 0) { return(String.Empty); } WaitForRefillTask(); List <IXmlWritable> elements = new List <IXmlWritable>(); IList <IContainerElement> containerElements = ElementsContainer.GetGeneralElements(); List <int> selectedIndices = new List <int>(); foreach (DataGridViewRow row in Grid.SelectedRows) { selectedIndices.Add(GetElementIndex(row)); } selectedIndices.Sort(); foreach (int rowIndex in selectedIndices) { elements.Add(containerElements[rowIndex]); } StringBuilder builder = new StringBuilder(); Data.DataModule.ProjectManager.ExportElements(elements, builder); return(builder.ToString()); }
protected void StartRefillTask() { if (HasAdditionalElementData()) { tokenSource = new CancellationTokenSource(); var token = tokenSource.Token; refillGridTask = Task.Factory.StartNew(() => { List <Object> ret = new List <object>(); foreach (IContainerElement element in ElementsContainer.GetGeneralElements()) { token.ThrowIfCancellationRequested(); ret.Add(GetElementData(element)); } return(ret); }); refillGridTask.ContinueWith((result) => { if (result.Status == TaskStatus.RanToCompletion) { bool cancel = tokenSource.IsCancellationRequested; refillGridTask = null; tokenSource.Dispose(); tokenSource = null; if (!cancel) { SetAdditionalGridData(result.Result); } } }, TaskScheduler.FromCurrentSynchronizationContext()); } }
public void AddElements(IList <IElement> elements, int insertionRow) { bool oldListen = listen; listen = false; int index = ElementsContainer.GetGeneralElements().Count; Actions.Actions.Instance.AddNew(new Actions.AddContainerElementsAction(mMassOperationControl, ElementsContainer, elements, insertionRow), m_Project); RefillGrid(); if (Grid.Rows.Count > 0) { if (insertionRow < 0) { Grid.FirstDisplayedScrollingRowIndex = 0; } else if (insertionRow < Grid.Rows.Count) { Grid.FirstDisplayedScrollingRowIndex = insertionRow; } else { Grid.FirstDisplayedScrollingRowIndex = Grid.Rows.Count - 1; } } listen = oldListen; }
public IEnumerable<QUnitTest> grabTestResultsFromWebPage(string testPage, ElementsContainer rootTestList) { // BEWARE: This logic is tightly coupled to the structure of the HTML generated by the QUnit testrunner // Also, WatiN doesn't seem to have a good way to get at the children list items in an ordered list if (rootTestList == null) yield break; XElement documentRoot = XDocument.Load(new StringReader(makeXHtml(rootTestList.OuterHtml))).Root; if (documentRoot == null) yield break; foreach (XElement listItem in documentRoot.Elements()) { string testName = listItem.Elements().First(x => x.Name.Is("strong")).Value; string resultClass = listItem.Attributes().First(x => x.Name.Is("class")).Value; string failedAssert = String.Empty; if (resultClass == "fail") { XElement specificAssertFailureListItem = listItem.Elements() .First(x => x.Name.Is("ol")).Elements() .First(x => x.Name.Is("li") && x.Attributes().First(a => a.Name.Is("class")).Value == "fail"); if (specificAssertFailureListItem != null) { failedAssert = specificAssertFailureListItem.Value; } } yield return new QUnitTest { FileName = testPage, TestName = removeAssertCounts(testName), Result = resultClass, Message = failedAssert }; } }
void Awake() { _launcher = GetComponent<CommandsLauncher>(); _container = GameObject.FindGameObjectWithTag("GameManager").GetComponent<ElementsContainer>(); _childrenManager = GameObject.FindGameObjectWithTag("Player").GetComponent<ChildrenManager>(); }
public static TPage SelectOption_OpenPage <TPage>(this ElementsContainer optionsList, string optionPartialText) where TPage : IPage { IWebElement element = optionsList.WrappedElement.WaitForVisible().FindElementAs <HtmlElement>(By.XPath($"//li[contains(., '{optionPartialText}')]")); element.WaitForVisible().Click(); return(Activator.Get <TPage>()); }
private void Grid_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e) { if (!listen) { return; } bool c = CancelRefillTask(); listen = false; List <IElement> remaining = new List <IElement>(); IList <IContainerElement> containerElements = ElementsContainer.GetGeneralElements(); foreach (DataGridViewRow row in Grid.Rows) { int index = GetElementIndex(row); if (index >= containerElements.Count) { index = containerElements.Count - 1; } remaining.Add(containerElements[index]); } List <IElement> elements = (new List <IElement>(containerElements)).Except(remaining).ToList(); Actions.Actions.Instance.AddNew(new Actions.RemoveContainerElementsAction(mMassOperationControl, ElementsContainer, elements, containerElements.IndexOf(elements[0] as IContainerElement)), m_Project); listen = true; if (c) { StartRefillTask(); } }
private void editMenuItem_Click(object sender, EventArgs e) { WaitForRefillTask(); if (Grid.SelectedRows.Count > 0) { FireElementDoubleClick(ElementsContainer.GetGeneralElements()[GetElementIndex(Grid.SelectedRows[0])]); } }
void Awake() { _element = GetComponent<Element>(); _container = GameObject.FindGameObjectWithTag("GameManager").GetComponent<ElementsContainer>(); _children = GameObject.FindGameObjectWithTag("Player").GetComponent<ChildrenManager>(); _element._noAttractionDuration = _noAttractionDuration; }
void Awake() { _element = GetComponent<Element>(); _container = GameObject.FindGameObjectWithTag("GameManager").GetComponent<ElementsContainer>(); _childrenManager = GameObject.FindGameObjectWithTag("Player").GetComponent<ChildrenManager>(); _explosionSounds = GetComponent<ExplosionSounds>(); _startPosition = transform.position; }
void Awake() { _transform = transform; _container = GameObject.FindGameObjectWithTag("GameManager").GetComponent<ElementsContainer>(); _repulsion = GetComponent<Repulsion>(); _attractionCircles = new List<AttractionCircle>(); _repulsion.Repulsing += Repulsing; }
public IEnumerable <QUnitTest> GetQUnitTestResults(string testPage) { TestFixtureSetUp(); ie.GoTo(string.Format("file:///{0}", Path.GetFullPath(testPage))); ie.WaitForComplete(5); ie.WaitUntilContainsText("Tests completed in", 2); ElementsContainer elementsContainer = ie.Elements.Filter(Find.ById("tests")).Cast <ElementsContainer>().FirstOrDefault(); return(grabTestResultsFromWebPage(testPage, elementsContainer)); }
void Awake() { _container = GameObject.FindGameObjectWithTag("GameManager").GetComponent<ElementsContainer>(); _childrenManager = GameObject.FindGameObjectWithTag("Player").GetComponent<ChildrenManager>(); _animator = GetComponent<Animator>(); _launcher = GetComponent<CommandsLauncher>(); _elements = 0; _active = true; _level = _elementsNumber / _eyes.Length; _animation = 0; }
private void Update(int elementID, Actions.ElementChanges.ChangeType changeType) { if (!listen) { return; } if (elementID == ElementsContainer.Id && changeType == Actions.ElementChanges.ChangeType.PreRemoved) { listen = false; return; } else if (elementID == ElementsContainer.Id && changeType == Actions.ElementChanges.ChangeType.Removed) { listen = true; return; } listen = false; CancelRefillTask(); if (elementID == ElementsContainer.Id && changeType == Actions.ElementChanges.ChangeType.Changed) { RefillGrid(); } else if (m_ElementsToRows.ContainsKey(elementID)) { if (changeType == Actions.ElementChanges.ChangeType.Removed) { RefillGrid(); } else if (changeType == Actions.ElementChanges.ChangeType.Renamed) { foreach (int row in m_ElementsToRows[elementID]) { ChangeElementDataInGrid(elementID, row); } } else if (changeType == Actions.ElementChanges.ChangeType.Changed) { foreach (int row in m_ElementsToRows[elementID]) { ChangeElementDataInGrid(elementID, row); SetElementAttributes(Grid, ElementsContainer.GetGeneralElements()[row], row); } } } listen = true; }
public IEnumerable <QUnitTest> grabTestResultsFromWebPage(string testPage, ElementsContainer rootTestList) { // BEWARE: This logic is tightly coupled to the structure of the HTML generated by the QUnit testrunner // Also, WatiN doesn't seem to have a good way to get at the children list items in an ordered list if (rootTestList == null) { yield break; } XElement documentRoot = XDocument.Load(new StringReader(makeXHtml(rootTestList.OuterHtml))).Root; if (documentRoot == null) { yield break; } foreach (XElement listItem in documentRoot.Elements()) { string testName = listItem.Elements().First(x => x.Name.Is("strong")).Value; string resultClass = listItem.Attributes().First(x => x.Name.Is("class")).Value; string failedAssert = String.Empty; if (resultClass == "fail") { XElement specificAssertFailureListItem = listItem.Elements() .First(x => x.Name.Is("ol")).Elements() .First(x => x.Name.Is("li") && x.Attributes().First(a => a.Name.Is("class")).Value == "fail"); if (specificAssertFailureListItem != null) { failedAssert = specificAssertFailureListItem.Value; } } yield return(new QUnitTest { FileName = testPage, TestName = removeAssertCounts(testName), Result = resultClass, Message = failedAssert }); } }
private void Grid_UserDeletingRows(object sender, DataGridViewRowCancelEventArgs e) { if (!listen) { return; } bool c = CancelRefillTask(); listen = false; List <IElement> elements = new List <IElement>(); IList <IContainerElement> containerElements = ElementsContainer.GetGeneralElements(); elements.Add(containerElements[GetElementIndex(e.Row)]); Actions.Actions.Instance.AddNew(new Actions.RemoveContainerElementsAction(mMassOperationControl, ElementsContainer, elements, GetElementIndex(e.Row)), m_Project); listen = true; if (c) { StartRefillTask(); } }
private void Grid_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e) { if (!listen) { return; } bool c = CancelRefillTask(); listen = false; List <IElement> elements = new List <IElement>(); IList <IContainerElement> containerElements = ElementsContainer.GetGeneralElements(); for (int i = 0; i < e.RowCount; ++i) { elements.Add(containerElements[GetElementIndex(Grid.Rows[e.RowIndex]) + i]); } Actions.Actions.Instance.AddNew(new Actions.RemoveContainerElementsAction(mMassOperationControl, ElementsContainer, elements, GetElementIndex(Grid.Rows[e.RowIndex])), m_Project); listen = true; if (c) { StartRefillTask(); } }
void Awake() { _manager = GameObject.FindGameObjectWithTag("Player").GetComponent<ChildrenManager>(); _container = GameObject.FindGameObjectWithTag("GameManager").GetComponent<ElementsContainer>(); enabled = false; }
void Awake() { _container = GameObject.FindGameObjectWithTag("GameManager").GetComponent<ElementsContainer>(); _avatarController = GetComponent<AvatarController>(); State = States.WAITING; _avatarController.Outch += Hit; }