저는 썬더 버드 코드베이스로 놀고 있습니다. 목표는 인라인 연락처 편집을 구현하는 것입니다. 현재 코드는 XUL
트리에서 Click
이벤트를 포착하고 더블 클릭 (events.detail == 2
)이면 프로필 편집기를 엽니 다. 현재 treeCell
의 편집을 시작하기 위해 수정했으며, 을 해당 XUL
문서에 추가했습니다. 업데이트 된 코드는 코드가 startEditing
부분에 도달하면, 내가 꽤 많이 여기 잃었어요XUL/Thunderbird : startEditing return
Error: uncaught exception: [Exception... "Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsITreeView.isEditable]" nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)" location: "JS frame :: chrome://global/content/bindings/tree.xml :: startEditing :: line 337" data: no]
를 반환, 불행히도
var orow = {}, ocolumn = {}, opart = {};
gAbResultsTree.treeBoxObject.getCellAt(event.clientX, event.clientY,
orow, ocolumn, opart);
var row = orow.value, column = ocolumn.value.index;
if (row == -1)
return;
if (event.detail == 2)
gAbResultsTree.startEditing(row, column);
읽습니다. 더 많은 XUL 경험을 가진 사람이 도움이 될 수 있습니까? 감사합니다.
사이드 질문 : Thunderbird가 스크립트 파일을 캐시하고있는 것처럼 보입니다. 새로운 프로필을 만들 때 tb 스크립트 파일의 모든 변경 사항이 올바르게 등록됩니다. 그러나 더 이상의 변경 사항은 적용되지 않습니다. 따라서 프로필을 만든 후에 js 소스를 수정하면 이러한 새로운 변경 사항을 고려하여 새 프로필을 다시 만들어야합니다. –