2013-01-17 2 views
1

특정 전송을위한 일반적인 드롭 대상 영역이 있습니다. 놓기 대상이 켜져있는 컨트롤은 복합입니다. 합성물 안에는 많은 것들이 있습니다. 나는 최근에 이러한 오브젝트 중 하나에 드롭 대상을 추가했습니다. 나는 이제 swt drag and drop에 관한 문제를 겪었습니다. 첫 번째 전체 드롭 대상을 입력하면 예상했던 것처럼 동작합니다. 그러나 두 번째 드롭 대상에 들어가면 원래 대상 안에 중첩되어 첫 번째 대상에서 떠나고 두 번째 대상에서 벗어납니다. 이것은 모든 종류의 문제를 일으키고 있습니다. 이것을 피하는 방법에 대한 아이디어? 감사.SWT 드롭 타겟 오버랩 문제

+0

어떻게 작동 시키시겠습니까? 첫 번째는 떠나지 않고 두 번째는 입력하십시오. – sharakan

+0

이상한 사실은 다른 전송 유형을 사용하고 있다는 것입니다. 그래서 나는 그들이 갈등 할 것이라고 기대하지 않는다. 그들은 서로 다른 두 가지 기능을 위해 서로 다른 시간에 사용됩니다. 그러나이 문제로 인해 충돌이 발생합니다. –

+0

여기서 유형 문제는 생각하지 않습니다. 이벤트는 위치에 따라 해고됩니다. 한 번에 한 가지만 입력하면됩니다. 한 가지를 입력하려면 다른 것을 떠나야합니다. – sharakan

답변

2

한 번에 하나의 '활성'드롭 대상 만있을 수 있다고 믿습니다. 따라서 합성물을 남기지 않도록 할 수는 없습니다.

하지만 당신이하려는 일이 가능할 수도 있습니다. 요약하면, 유형 A로 오브젝트를 드래그하는 경우, 컴포지트의 어느 위치 에나 놓을 수 있기를 원합니다. 유형 B의 객체가있는 경우 하위 구성 요소에만 드롭 할 수 있어야합니다.

그렇다면 어떨까요 : 하위 구성 요소가 A와 B 유형의 객체를 처리하게하십시오. 유형 A가 떨어지면 이벤트를 상위로 전달합니다.