This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
It seems to me there is necessary to redesign the current window system implementation. There are various targets which the most general is achieving easier maintainance of the window system, there are also targets like removing some problematic classes, e.g. DeferredPerformer which adds some level of non-deterministic behaviour in window sys. I think it is possible to achieve good desing followin MVC(Model-View-Controller) architecture, where all three part will be separated from each other. Each component will be devided to three level (1= window system, workspaces as data, main window as view, 2= workspace level, modes as data, their frames as views, 3= modes, topcomponents as data, and their mode containers as views) The controllers will work that way, they will observe user interaction to view, and update the model acordinly. Note the current WindowManager, Workspace, Mode are not considered as some component of MVC, but it will consist of them. There is also additional part dealing with this kind of MVC, i.e. the persistence level, especially its lazy loading. Currently I havae in mind, the lazy updater coudl directly update model data, when triggerred by request from the "encapsulated" component, i.e. WindowManager, Workspace or Mode.
Created branch winsys_29836 in core module. (winsys_29836_root is root of branch).
Merged trunk (build BLD200303210100) to the branch (winsys_29836). (tags, winsys_29836_before_BLD200303210100_merge winsys_29836_after_BLD200303210100_merge) Instructions for those who will work on the branch. 1) Checkout all modules except the core with BLD200303210100 tag 2) Checkout core module with winsys_29836 tag 3) build & run, it should work.
I updated the branch from trunk (It had a problem editor module created wrongly dependency on core - windows). Now it is "rooted" to BLD200303280100. Also added to branch modules (debuggercore, form [both due to chaning component and tc sets], and projects [for handling project switch]. So the new instructions for branch developers are: 1) checkout all modules except the core,debuggercore,form and projects with BLD200303280100 tag, 2) checkout core,debuggercore,form,projects modules with winsys_29836 tag, 3) build & run etc.
To the above modules is added also nbbuild, "rooted" from BLD200303280100 too.
Updating from trunk to tag BLD200305150100. Updated modules: core, debuggercore, form, nbbuild, projects; Tags: winsys_29836_before_BLD200315050100_merge, winsys_29836_after_BLD200315050100_merge Branched also openide module: New instructions for building from branch: 1) Checkout all except the next specified modules with tag BLD200305150100 tag. 2) Checkout core, debuggercore, form, nbbuild, openide, projects with winsys_29836 tag. 3) build and run as usual.
Added to branched modules tag "winsys_29836_1" It is possible to try it out. There is not the UI yet, some bugs in actions etc. (some actions remained in View menu -> not branched), but it is possible to work with, manipulate windows, open, close, attach, etc. There are also used form and debugger groups (sets).
Updating from trunk to tag BLD200308040100 (to get the new property sheets). Updated modules: core, debuggercore, form, nbbuild, projects; Tags: winsys_29836_before_BLD200308040100_merge, winsys_29836_after_BLD200308040100_merge Branched also openide module: New instructions for building from branch: 1) Checkout all except the next specified modules with tag BLD200308040100 tag. 2) Checkout core, debuggercore, form, nbbuild, openide, projects with winsys_29836 tag. 3) build and run as usual.
Another update from trunk. Now to tag BLD200309220100. Updated modules: core, debuggercore, form, nbbuild, openide, projects; Tags: winsys_29836_before_BLD200309220100_merge, winsys_29836_after_BLD200309220100_merge New instructions for building from branch: 1) Checkout all except the next specified modules with tag BLD200309220100 tag. 2) Checkout core, debuggercore, form, nbbuild, openide, projects with winsys_29836 tag. 3) build and run as usual.
Another update from trunk. Now to tag BLD200310150100. Updated modules: core, debuggercore, form, nbbuild, openide, projects; Tags: winsys_29836_before_BLD200310150100_merge, winsys_29836_after_BLD200310150100_merge New instructions for building from branch: 1) Checkout all except the next specified modules with tag BLD200310150100 tag. 2) Checkout core, debuggercore, form, nbbuild, openide, projects with winsys_29836 tag. 3) build and run as usual.
Another update from trunk. Now to tag BLD200310281900. Updated modules: core, debuggercore, form, nbbuild, openide, projects; Tags: winsys_29836_before_BLD200310281900_merge, winsys_29836_after_BLD200310281900_merge New instructions for building from branch: 1) Checkout all except the next specified modules with tag BLD200310281900 tag. 2) Checkout core, debuggercore, form, nbbuild, openide, projects with winsys_29836 tag. 3) build and run as usual.
Last synch with trunk before the merge. Now to tag BLD200311101900. Updated modules: core, debuggercore, form, nbbuild, openide, projects; Tags: winsys_29836_before_BLD200311101900_merge, winsys_29836_after_BLD200311101900_merge New instructions for building from branch: 1) Checkout all except the next specified modules with tag BLD200311101900 tag. 2) Checkout core, debuggercore, form, nbbuild, openide, projects with winsys_29836 tag. 3) build and run as usual.
Branch merged into trunk, see issue #36118.
issue doesn't apply to new window system - verified