예제 #1
0
        public void ProviderPatternTest()
        {
            DockProviderLabel         label    = new DockProviderLabel();
            IRawElementProviderSimple provider = ProviderFactory.GetProvider(label);

            object dockPattern = provider.GetPatternProvider(DockPatternIdentifiers.Pattern.Id);

            Assert.IsNotNull(dockPattern, "DockPattern.");

            IDockProvider dockProvider = dockPattern as IDockProvider;

            Assert.IsNotNull(dockProvider, "IDockProvider ");

            Assert.AreEqual(provider.HostRawElementProvider, label, "HostRawElementProvider");
            Assert.AreEqual(ProviderOptions.ServerSideProvider, provider.ProviderOptions, "ProviderOptions");

            Assert.AreEqual(DockStyle.Top.ToString(),
                            provider.GetPropertyValue(AutomationElementIdentifiers.NameProperty.Id),
                            "NameProperty");

            dockProvider.SetDockPosition(DockPosition.Right);
            Assert.AreEqual(DockStyle.Right.ToString(),
                            provider.GetPropertyValue(AutomationElementIdentifiers.NameProperty.Id),
                            "NameProperty");
        }
예제 #2
0
        internal static void IDockProviderDockPositionTest(IRawElementProviderSimple provider, Control control)
        {
            IDockProvider dockProvider = (IDockProvider)provider.GetPatternProvider(DockPatternIdentifiers.Pattern.Id);

            Assert.IsNotNull(dockProvider, "Dock provider should not be null");

            DockStyle dockOrig = control.Dock;

            control.Dock = DockStyle.Top;
            Assert.AreEqual(DockPosition.Top, dockProvider.DockPosition, "DockPosition Top");
            control.Dock = DockStyle.Bottom;
            Assert.AreEqual(DockPosition.Bottom, dockProvider.DockPosition, "DockPosition Bottom");
            control.Dock = DockStyle.Left;
            Assert.AreEqual(DockPosition.Left, dockProvider.DockPosition, "DockPosition Left");
            control.Dock = DockStyle.Right;
            Assert.AreEqual(DockPosition.Right, dockProvider.DockPosition, "DockPosition Right");
            if (!(control is Splitter))
            {
                control.Dock = DockStyle.Fill;
                Assert.AreEqual(DockPosition.Fill, dockProvider.DockPosition, "DockPosition Fill");
                control.Dock = DockStyle.None;
                Assert.AreEqual(DockPosition.None, dockProvider.DockPosition, "DockPosition None");
            }

            control.Dock = dockOrig;
        }
예제 #3
0
        public SplitContainer(IRawElementProviderSimple provider) : base(provider)
        {
            Role = Atk.Role.SplitPane;
            rangeValueProvider = (IRangeValueProvider)provider.GetPatternProvider(RangeValuePatternIdentifiers.Pattern.Id);
            object o = provider.GetPropertyValue(AutomationElementIdentifiers.OrientationProperty.Id);

            if (o is OrientationType)
            {
                orientation = (OrientationType)o;
            }
            else
            {
                IDockProvider dockProvider = (IDockProvider)provider.GetPatternProvider(DockPatternIdentifiers.Pattern.Id);
                if (dockProvider != null)
                {
                    orientation = (dockProvider.DockPosition == DockPosition.Top || dockProvider.DockPosition == DockPosition.Bottom)?
                                  OrientationType.Horizontal:
                                  OrientationType.Vertical;
                }
                else
                {
                    Log.Warn("SplitContainer: Couldn't get orientation for splitter.  Does not support DockProvider.");
                    orientation = OrientationType.Horizontal;
                }
            }
        }
예제 #4
0
파일: DockPattern.cs 프로젝트: mono/uia2atk
		internal DockPattern (IDockProvider source, AutomationElement element, bool cached)
		{
			this.element = element;
			this.cached = cached;
			this.Source = source;
			currentInfo = new DockPatternInformation (this, false);
			if (cached)
				cachedInfo = new DockPatternInformation (this, true);
		}
예제 #5
0
 internal DockPattern(IDockProvider source, AutomationElement element, bool cached)
 {
     this.element = element;
     this.cached  = cached;
     this.Source  = source;
     currentInfo  = new DockPatternInformation(this, false);
     if (cached)
     {
         cachedInfo = new DockPatternInformation(this, true);
     }
 }
예제 #6
0
        public void DockProviderTest()
        {
            using (Form f = new Form()) {
                IRawElementProviderSimple provider =
                    ProviderFactory.GetProvider(f);

                IDockProvider dockProvider
                    = provider.GetPatternProvider(DockPatternIdentifiers.Pattern.Id)
                      as IDockProvider;

                // Conditional -> No
                Assert.IsNull(dockProvider, "Implements IDockProvider");
            }
        }
예제 #7
0
        internal static void IDockProviderSetDockPositionTest(IRawElementProviderSimple provider, Control control)
        {
            IDockProvider dockProvider = (IDockProvider)provider.GetPatternProvider(DockPatternIdentifiers.Pattern.Id);

            Assert.IsNotNull(dockProvider, "Dock provider should not be null");

            DockStyle dockOrig = control.Dock;

            dockProvider.SetDockPosition(DockPosition.Top);
            Assert.AreEqual(DockStyle.Top, control.Dock, "DockStyle Top");
            dockProvider.SetDockPosition(DockPosition.Bottom);
            Assert.AreEqual(DockStyle.Bottom, control.Dock, "DockStyle Bottom");
            dockProvider.SetDockPosition(DockPosition.Left);
            Assert.AreEqual(DockStyle.Left, control.Dock, "DockStyle Left");
            dockProvider.SetDockPosition(DockPosition.Right);
            Assert.AreEqual(DockStyle.Right, control.Dock, "DockStyle Right");
            if ((control is Splitter))
            {
                try {
                    dockProvider.SetDockPosition(DockPosition.None);
                    Assert.Fail("InvalidOperationException not thrown");
                } catch (InvalidOperationException) { }

                try {
                    dockProvider.SetDockPosition(DockPosition.Fill);
                    Assert.Fail("InvalidOperationException not thrown");
                } catch (InvalidOperationException) { }
            }
            else
            {
                dockProvider.SetDockPosition(DockPosition.Fill);
                Assert.AreEqual(DockStyle.Fill, control.Dock, "DockStyle Fill");
                dockProvider.SetDockPosition(DockPosition.None);
                Assert.AreEqual(DockStyle.None, control.Dock, "DockStyle None");
            }

            control.Dock = dockOrig;
        }
예제 #8
0
        //------------------------------------------------------
        //
        //  Constructors
        //
        //------------------------------------------------------
 
        #region Constructors

        private DockProviderWrapper( AutomationPeer peer, IDockProvider iface )
        {
            _peer = peer;
            _iface = iface;
        }
예제 #9
0
        //------------------------------------------------------
        //
        //  Constructors
        //
        //------------------------------------------------------

        #region Constructors

        private DockProviderWrapper(AutomationPeer peer, IDockProvider iface)
        {
            _peer  = peer;
            _iface = iface;
        }
예제 #10
0
		public DockPatternWrapper (IDockProvider provider)
		{
			this.provider = provider;
		}
예제 #11
0
 public DockPatternWrapper(IDockProvider provider)
 {
     this.provider = provider;
 }