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.
Summary: | OutputWindow.selectPage() regression. | ||
---|---|---|---|
Product: | qa | Reporter: | Michael Ottati <ottati> |
Component: | Jellytools | Assignee: | Adam Sotona <asotona> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | ||
Priority: | P2 | ||
Version: | 3.x | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Issue Type: | DEFECT | Exception Reporter: |
Description
Michael Ottati
2002-10-15 23:36:55 UTC
It doesn't seem to be a regression on jellytools side because OutputWindowOperator and its parent NbFrameOperator were changed in August last time. Anyway, you are right it is inaccuracy in Jellytools. As a part of other improvements we are proposing OutputWindow.selectPage() will have impact only on tabbed pane docked in the center of window. fixed - used tabbed pane from center of output window only I have some questions about this, my questions are based solely on reading the bug, I have not looked at your changes yet. 1: What does "center" mean. In my original report I described an Output window with two tabbed panes. 2: Would it not make more sense to consider ALL of the possible tabbed panes in the output window? This would perhaps mean traversing multiple tabbed pane containers but that seems to be more in line with the what one would expect with OutputWindow.selectPage() to mean. I would expect all possible pages within the window to be considered. 3: If for some reason I change the docking within the output window of the output tabs and the execution tab, will your fix continue to work? e. g. I put execution on the left and program output on the right? OutputWindow, EditorWindow and Explorer are just different instancies of frame or internal frame with PerimeterPane inside. Any TopComponent can be docked anywhere and thus there are lot of combinations. For example: new SomeOperator(outWinOpInstance.perimeterPane().east(), ...); OutputWindowOperator contains getter for PerimeterPaneOperator now. Accessing any component inside NORTH, SOUTH, EAST, WEST or CENTER part is possible through this operator. This is one way, complicated but complex. .selectPage() method provides simplified access to most common center-docked Terms. There are usualy no more than one component at right and no other components at other sides. This is backward-compatible way. Any TopComponentOperator (TermOperator, EditorOperator ...) can be now accessed independently on its location in current workspace. You can use its constructor without defining ContainerOperator and TopComponent should be make visible and ready. This is new and the simplest way. Example: new TermOperator("myFile").dosomething... ad 1: It means only components docked to the center of window. ad 2: Common behaviour of JTabbedPaneOperator, which is used for switching the tabs, is to traverse only through one tabbed pane. We don't know how many tabbed panes could be there, some of them could disappear. We expect just one at center, but there are no obstacles to create now JTabbedPaneOperators from other parts when you expect them. ad 3: This fix will work just for center part. If you dock your Term elsewhere (west part, Explorer, Editor ...), you should use different way to locate it. But once you have TermOperator instance, it is connected to the Term forever and almost whenever :) |