public bool SetExtents(int x, int y, int width, int height, Atk.CoordType coordType) { if (transformProvider == null) { transformProvider = (ITransformProvider)resource.Provider.GetPatternProvider(TransformPatternIdentifiers.Pattern.Id); } if ((transformProvider != null) && (transformProvider.CanResize) && (transformProvider.CanMove)) { try { transformProvider.Move(x, y); } catch (InvalidOperationException e) { Log.Debug(e); } try { transformProvider.Resize(width, height); } catch (InvalidOperationException e) { Log.Debug(e); } return(true); } return(false); }
public void MoveTest() { using (Form f = new Form()) { IRawElementProviderFragment provider = (IRawElementProviderFragment) ProviderFactory.GetProvider(f); ITransformProvider transform = (ITransformProvider) provider.GetPatternProvider(TransformPatternIdentifiers.Pattern.Id); //f.Show (); transform.Move(15, 20); Assert.AreEqual(15, f.Location.X, "X, default form"); Assert.AreEqual(20, f.Location.Y, "Y, default form"); f.WindowState = FormWindowState.Maximized; VerifyMoveFail(f, transform, FormWindowState.Maximized); f.WindowState = FormWindowState.Minimized; VerifyMoveFail(f, transform, FormWindowState.Minimized); f.WindowState = FormWindowState.Normal; transform.Move(150, 100); Assert.AreEqual(150, f.Location.X, "X, normal form"); Assert.AreEqual(100, f.Location.Y, "Y, normal form"); } }
public void ITransformProviderVerticalMoveTest() { Splitter splitter = new Splitter(); IRawElementProviderSimple provider = ProviderFactory.GetProvider(splitter); ITransformProvider transformProvider = (ITransformProvider) provider.GetPatternProvider(TransformPatternIdentifiers.Pattern.Id); Assert.IsNotNull(transformProvider, "Not returning TransformPatternIdentifiers."); Assert.AreEqual(-1, splitter.SplitPosition, "Splitter doesn't dock to any control"); double x = 50, y = 50; Panel panel = new Panel(); panel.Dock = DockStyle.Left; splitter.Dock = DockStyle.Left; Form.Controls.Add(splitter); Form.Controls.Add(panel); transformProvider.Move(x, y); Assert.AreEqual((int)x, splitter.SplitPosition, "Left position"); panel.Dock = DockStyle.Right; splitter.Dock = DockStyle.Right; transformProvider.Move(x, y); Assert.AreEqual((int)x, splitter.SplitPosition, "Right position"); }
public void UseAutomationPeer() { Grid g = CreateGrid(2, 2, 100.0, 100.0); GridSplitter splitter = CreateGridSplitterThroughCode(1, 1, 5.0, HorizontalAlignment.Left, null, false); GridSplitterAutomationPeer peer = ((GridSplitterAutomationPeer)GridSplitterAutomationPeer.CreatePeerForElement(splitter)); ITransformProvider transformer = (ITransformProvider)peer.GetPattern(PatternInterface.Transform); g.Children.Add(splitter); this.CreateAsyncTest(g, delegate { Assert.AreEqual(50.0, g.ColumnDefinitions[0].ActualWidth, "Definition1's default width."); Assert.AreEqual(50.0, g.ColumnDefinitions[1].ActualWidth, "Definition2's default width."); }, () => transformer.Move(10, 0), delegate { Assert.AreEqual(AutomationControlType.Thumb, peer.GetAutomationControlType(), "GridSplitter should be a thumb control type."); Assert.AreEqual(splitter.GetType().Name, peer.GetClassName(), "AutomationPeer's ClassName should be 'GridSplitter'"); Assert.AreEqual(transformer.CanMove, true, "GridSplitter can be moved"); Assert.AreEqual(transformer.CanResize, false, "GridSplitter cannot be resized"); Assert.AreEqual(transformer.CanRotate, false, "GridSplitter cannot be rotated"); Assert.AreEqual(60.0, g.ColumnDefinitions[0].ActualWidth, "Definition1's width should have been changed by the peer's move."); Assert.AreEqual(40.0, g.ColumnDefinitions[1].ActualWidth, "Definition2's width should have been changed by the peer's move."); }); }
private void VerifyMoveFail(Form f, ITransformProvider transform, FormWindowState state) { f.WindowState = state; try { transform.Move(10, 10); Assert.Fail("Expected InvalidOperationException"); } catch (InvalidOperationException) { // Expected } catch (Exception e) { Assert.Fail("Expected InvalidOperationException, instead got this exception: " + e.Message); } }
public void ITransformProvider_Methods() { DataGridColumnHeader fe = CreateConcreteFrameworkElement() as DataGridColumnHeader; AutomationPeer peer = FrameworkElementAutomationPeer.CreatePeerForElement(fe); ITransformProvider transform = peer.GetPattern(PatternInterface.Invoke) as ITransformProvider; Assert.IsNotNull(transform, "#0"); Assert.IsFalse(transform.CanMove, "#1"); Assert.IsTrue(transform.CanResize, "#2"); Assert.IsFalse(transform.CanRotate, "#3"); // No errors or exceptions should happen transform.Move(10, 10); transform.Resize(100, 1000); transform.Rotate(10); }
public void SplitterPanelITransformProviderMoveTest() { SplitContainer splitContainer = new SplitContainer(); IRawElementProviderFragmentRoot rootProvider = (IRawElementProviderFragmentRoot)GetProviderFromControl(splitContainer); IRawElementProviderFragment childProvider = rootProvider.Navigate(NavigateDirection.FirstChild); ITransformProvider transformProvider = (ITransformProvider) childProvider.GetPatternProvider(TransformPatternIdentifiers.Pattern.Id); Assert.IsNotNull(transformProvider, "Not returning TransformPatternIdentifiers."); try { double x = 10, y = 10; transformProvider.Move(x, y); Assert.Fail("InvalidOperationException not thrown"); } catch (InvalidOperationException) { } }
private void VerifyMoveFail (Form f, ITransformProvider transform, FormWindowState state) { f.WindowState = state; try { transform.Move (10, 10); Assert.Fail ("Expected InvalidOperationException"); } catch (InvalidOperationException) { // Expected } catch (Exception e){ Assert.Fail ("Expected InvalidOperationException, instead got this exception: " + e.Message); } }
public void Move(double x, double y) { provider.Move(x, y); }