2012-07-13 3 views
0

자습서 here을 수행했습니다. 고급 자습서에서는 ResourceSelectionHistory가 선택한 항목을 저장하고 대화 상자가 다시 시작될 때 검색합니다. ResourceSelectionHistory가 문자열뿐만 아니라 객체를 저장하기를 원했지만 그렇게 할 수있는 방법이 있습니다. 또한 사용자가 항목을 클릭 할 때 편집기에서 항목을 열려고합니다. 실제 채워진 목록의 항목을 클릭하면 열리지 만 열어 본 부분을 클릭하면 열리지 않습니다.FilteredItemsSelectionDialog의 ResourceSelectionHistory에 객체를 저장하는 중

미리 감사드립니다.

c yah!

답변

0

문자열, 정수 및 부울을 IMemento에 저장할 수 있습니다. 당신은 영리하게 그것들을 이용하여 대상의 유형을 나타낼 수 있습니다. 예를 들어 객체의 유형이 A라면 element.putInteger("objType", 1);을, 유형이 B라면 element.putInteger("objType", 2);을 사용할 수 있습니다.

0

ResourceSelectionHistory은이 대화 상자에만 한정되어 있으며 리소스 만 저장할 수 있습니다. 그것은 IMemento 메카니즘을 사용하여 이들을 저장합니다. 아마도 당신이 원하는 것을 할 수있는 유일한 방법은 클래스 복사본을 만들고 (FilteredResourcesSelectionDialog) 그걸로 나아갈 수 있습니다. 이러한 대화 상자는 API를 따라 가면 꽤 제한적인 경향이 있습니다.

+0

죄송합니다. 미안 하이퍼 링크를 추가하는 것을 잊어 버렸습니다. 이제 추가되었습니다. 자습서를 잘 따르고 있습니다. 이것을 할 수있는 다른 방법이 있습니까? – shiyamhoda

+0

아마'SelectionHistory'의 서브 클래스를 만들고'IMemento'에 원하는 것을 저장하는 방법을 알아야 할 것입니다. 'IMemento'가 여러분의 객체를 저장하는 방법에 대해 어떻게 작동하는지 살펴야합니다 (아마도 여러분의 객체를 어떻게 든 문자열 화해야 할 것입니다). 워크 벤치 역사에서 개체를 여는 것에 대한 질문의 두 번째 부분이 무슨 뜻인지 잘 모르겠습니다. 질문을 수정하여이를 명확하게 할 수 있습니까? –

+0

두 번째 부분이 수정되었습니다. 내가 찾고있는 대답은 그것을 파악하는 방법입니다. 'IMemento '에 대한 링크를 제공해주십시오. 'IMemento'에 객체를 저장할 수 있습니까? 아니면 문자열 만 사용해야합니까? – shiyamhoda

관련 문제