Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 175151

Summary: move OpenTypeDialog/Action, AllTypesCache to use the IIndex API
Product: [Tools] CDT Reporter: Andrew Ferguson <andrew.ferguson>
Component: cdt-coreAssignee: Andrew Ferguson <andrew.ferguson>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: cdtdoug
Version: 4.0   
Target Milestone: 4.0 M6   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 175275    
Bug Blocks:    
Attachments:
Description Flags
preview patch
none
patch applied to HEAD cdtdoug: iplog-

Description Andrew Ferguson CLA 2007-02-22 12:33:24 EST
AllTypesCache currently accesses the PDOM directly, and retains references to PDOM bindings. 

This is a problem in two ways
 * Only project pdom based bindings are presented as options. (prebuilt content does not appear)
 * PDOM binding references could go stale (if an indexer background thread is running)

I'd like to move both of these over to IIndex. A straight port of OpenTypeDialog to IIndex is outside of acceptable bounds however. Using it on a small project in conjuction with a UIQ or Series 60 sdk, can take around 700ms for the dialog to appear.

I'd like to change the implementation of OpenTypeDialog so that we do not query all possible types before opening the dialog, and instead query on demand depending on the prefix the user types.

There can also be a cost associated with memory-mapping in content, but this is a one-off and within reasonable bounds.
Comment 1 Andrew Ferguson CLA 2007-02-22 12:43:46 EST
Created attachment 59587 [details]
preview patch

this is a preview patch. There is an outstanding issue that the filter is currently case-sensitive, when it should be case-insensitive.
Comment 2 Doug Schaefer CLA 2007-02-22 13:35:34 EST
Excellent, thanks Andrew!
Comment 3 Andrew Ferguson CLA 2007-02-23 12:19:24 EST
Created attachment 59683 [details]
patch applied to HEAD

applied to HEAD
Comment 4 Andrew Ferguson CLA 2007-02-23 12:20:27 EST
marking as FIXED