Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/IDE/Code Explorer    [ Add a report in this area ]  
Report #:  11093   Status: Closed
"Interface" category does double duty
Project:  Delphi Build #:  9.0.1761.24408
Version:    9.0 Submitted By:   Rob Kennedy
Report Type:  Suggestion / Enhancement Request Date Reported:  2/25/2005 12:40:01 PM
Severity:    Infrequently encountered problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All platforms Internal Tracking #:   220721
Resolution: Retest (Resolution Comments) Resolved in Build: : 7.0.4.453
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
In the Code Explorer (Structure view), the "interface" category searves two purposes. First, it controls whether interface-type declarations appear as top-level nodes or grouped into a separate Interfaces category. Second, it controls whether the interfaces that a class is declared as implementing appear as first-level nodes of the class node or grouped into a separate category.

There should be two separate options for those. While I like to see all the interface types as top-level nodes with the classes, I don't need to see the list of implemented interfaces for each class. (When the implemented interfaces aren't in their own group, the class node is automatically expanded, which is a side effect I don't want.)

The Code Explorer should have two interface categories: One for interface types declared in the unit, and one for interfaces implemented by the classes in the unit.
Steps to Reproduce:
If you have an interface (ITest) declared in a unit and a class (TImpl) in that unit that implements that interface, the tree view will look like this if you have the "Interfaces" category checked in your Code Explorer options:

+ Interfaces
+ TImpl

If the category is not checked, the tree will look like this:

+ ITest
- TImpl
  |  ITest
  | + Fields
  | + Methods

I would prefer that Delphi offer some combination of settings to allow a tree like this:

+ ITest
+ TImpl

That is, both interface and class declarations appear as first-level nodes in the tree, but neither of them is automatically expanded.
Workarounds
None
Attachment
None
Comments

None

Server Response from: ETNACODE01