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);
        }
Пример #2
0
        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");
            }
        }
Пример #3
0
        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");
        }
Пример #4
0
        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.");
            });
        }
Пример #5
0
 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);
     }
 }
Пример #6
0
        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) { }
        }
Пример #8
0
		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);
			}
		}
Пример #9
0
 public void Move(double x, double y)
 {
     provider.Move(x, y);
 }