Please use the Apache issue tracking system for new NetBeans issues (https://issues.apache.org/jira/projects/NETBEANS0/issues) !!

Bug 28048

Summary: Declare root nodes used in explorer via xml layer
Product: platform Reporter: Peter Zavadsky <pzavadsky>
Component: Window SystemAssignee: Peter Zavadsky <pzavadsky>
Status: VERIFIED FIXED QA Contact: issues <issues.netbeans.org>
Priority: P2 CC: jglick, mslama
Version: 3.xKeywords: API
Target Milestone: 3.x   
Hardware: All   
OS: All   
Whiteboard:
Issue Type: DEFECT Exception Report:
Bug Depends on:    
Bug Blocks: 19443, 22758    

Description Peter Zavadsky 2002-10-16 15:07:52 UTC
This is mentioned in issue #19443, #25017, #22758.

It is necessary to solve ASAP, to be able to deal
with project tab at least. Currently only
temporary solution is on route.
Comment 1 Peter Zavadsky 2002-10-16 15:45:19 UTC
Currently only via hack in NbPlaces.projectDesktop and projects xml
layer, is Project node set to Project tab.
Comment 2 Peter Zavadsky 2002-10-16 16:06:36 UTC
As I understand it is necessary to make this:

1) Register the roots in xml in some folder (Nodes/ExplorerRoots ?)
2) Retrieve those roots in NbMainExplorer and work with them
3) For backward compatibility, when loading old roots from maninfest
convert them to the xml.
Comment 3 Jesse Glick 2002-10-16 17:00:21 UTC
AFAIK this is not what we actually want to do. There is already an
adequate API for adding Explorer tabs - the Window System API's XML
declaration system. Issue #22758 requests that this actually be done
for the standard tabs; then manifest root installation would still be
deprecated and there would be no direct layer equivalent.

You also need to add menu items to the View menu and redisplay logic,
though, so the actual impl might not be so easy. But there is nothing
privileged about NbMainExplorer's impl, any module could do this I think.

But I feel that having the core not only create Explorer tabs, but
also menu items, automatically from a single layer file is too
high-level and magical and not a great API. I don't agree with the
style of the hack in place for the Project tab now.

Anyway UI/ExplorerRoots/ is a more suitable folder name, probably.
Comment 4 Peter Zavadsky 2002-10-16 17:44:42 UTC
I confused even more now.

I thought the WindowSystem xml API isn't enough, that it just
registers the components to the explorer.
And that the registering of root nodes is needed so the project tab
component gets the proper one.

Yes, the hack is ugly (I marked is as temporary in the sense this
issue should fix it).

But remains the question what the solution of the project node should be?
I guess you have in mind moving the actual project tab component impl
to projects and make it working from there. Right?
Comment 5 Jesse Glick 2002-10-16 22:04:36 UTC
"I thought the WindowSystem xml API isn't enough, that it just
registers the components to the explorer." - right, and then you need
one menu action action to display it.

"I guess you have in mind moving the actual project tab component impl
to projects and make it working from there. Right?" - yes, delete it
from core entirely.
Comment 6 Peter Zavadsky 2002-10-17 15:04:17 UTC
Fixed in [trunk]
moved the actual project tab component impl into projects module.
Removed the hack and created actions in menu to represent the explorer
components, the defaults are filesystems, runtime (def in core), and
projects (in projects), other roots are retrieved be ExplorerRootsAction.

core/../NbPlaces.java 1.63
       /actions/Bundle.properties 1.124
       /actions/ExplorerRootsAction.java 1.2
       /actions/ViewFilesystemsTabAction 1.1
       /actions/ViewRuntimeTabAction 1.1
 
projects/../Bundle.properties 1.57
           /CurrentProjectNode.java 1.2
           /ViewProjectsTabAction 1.1
           /MiniStatusBar.java 1.1
           /resources/project-layer.xml 1.30
           /resources/components/project.settings 1.3
Comment 7 Marian Mirilovic 2004-03-01 08:55:29 UTC
issue doesn't apply to new window system - verified
By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo