コード例 #1
0
ファイル: EventTest1.cs プロジェクト: yunmiha/TizenFX
        public override void Run(Window window)
        {
            Conformant conformant = new Conformant(window);

            conformant.Show();
            gParent = new Box(window)
            {
                BackgroundColor = Color.Yellow,
                PassEvents      = false,
                PropagateEvents = false,
            };
            conformant.SetContent(gParent);

            Box parent = new Box(gParent)
            {
                AlignmentX      = -1,
                AlignmentY      = -1,
                WeightX         = 1,
                WeightY         = 1,
                BackgroundColor = Color.Green,
                PassEvents      = false,
                PropagateEvents = false,
            };
            Box child = new Box(parent)
            {
                AlignmentX      = -1,
                AlignmentY      = -1,
                WeightX         = 1,
                WeightY         = 1,
                BackgroundColor = Color.Blue,
                PassEvents      = false,
                PropagateEvents = false,
            };

            Check ch = new Check(child)
            {
                AlignmentX      = -1,
                AlignmentY      = -1,
                WeightX         = 1,
                WeightY         = 1,
                BackgroundColor = Color.Silver,
                PassEvents      = false,
                PropagateEvents = false,
            };

            gParent.PackEnd(parent);
            parent.PackEnd(child);
            child.PackEnd(ch);

            gParent.Show();
            parent.Show();
            child.Show();
            ch.Show();

            _gParentLayer = new GestureLayer(gParent);
            _gParentLayer.Attach(gParent);
            _gParentLayer.SetTapCallback(GestureLayer.GestureType.Tap, GestureLayer.GestureState.End, (info) =>
            {
                Debug.WriteLine($"@@@ Grand Parent Tap : {gParent.PassEvents}, {gParent.PropagateEvents}, {gParent.RepeatEvents}");
            });
            _parentLayer = new GestureLayer(parent);
            _parentLayer.Attach(parent);
            _parentLayer.SetTapCallback(GestureLayer.GestureType.Tap, GestureLayer.GestureState.End, (info) =>
            {
                Debug.WriteLine($"@@@ Parent Tap : {parent.PassEvents}, {parent.PropagateEvents}, {parent.RepeatEvents}");
            });
            childLayer = new GestureLayer(child);
            childLayer.Attach(child);
            childLayer.SetTapCallback(GestureLayer.GestureType.Tap, GestureLayer.GestureState.End, (info) =>
            {
                Debug.WriteLine($"@@@ Child Tap : {child.PassEvents}, {child.PropagateEvents}, {child.RepeatEvents}");
            });

            chLayer = new GestureLayer(ch);
            chLayer.Attach(ch);
            chLayer.SetTapCallback(GestureLayer.GestureType.Tap, GestureLayer.GestureState.End, (info) =>
            {
                Debug.WriteLine($"@@@ Check1 Tap : {ch.PassEvents}, {ch.PropagateEvents}, {ch.RepeatEvents}");
            });

            EvasObjectEvent eventGrand = new EvasObjectEvent(gParent, EvasObjectCallbackType.MouseDown);

            eventGrand.On += (s, e) =>
            {
                Debug.WriteLine($"@@@ Grand Parent down : {gParent.PassEvents}, {gParent.PropagateEvents}, {gParent.RepeatEvents}");
            };
            EvasObjectEvent evnetParent = new EvasObjectEvent(parent, EvasObjectCallbackType.MouseDown);

            evnetParent.On += (s, e) =>
            {
                Debug.WriteLine($"@@@ Parent down : {parent.PassEvents}, {parent.PropagateEvents}, {parent.RepeatEvents}");
            };
            EvasObjectEvent eventChild = new EvasObjectEvent(child, EvasObjectCallbackType.MouseDown);

            eventChild.On += (s, e) =>
            {
                Debug.WriteLine($"@@@ Child down : {child.PassEvents}, {child.PropagateEvents}, {child.RepeatEvents}");
            };
            EvasObjectEvent eventCh = new EvasObjectEvent(ch, ch.RealHandle, EvasObjectCallbackType.MouseDown);

            eventCh.On += (s, e) =>
            {
                Debug.WriteLine($"@@@ Check down : {ch.PassEvents}, {ch.PropagateEvents}, {ch.RepeatEvents}");
            };
        }