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.

Bug 156693 - allow window system customizations on TopComponent level
Summary: allow window system customizations on TopComponent level
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: Stanislav Aubrecht
URL:
Keywords: API_REVIEW_FAST
: 96331 (view as bug list)
Depends on:
Blocks: 155926
  Show dependency tree
 
Reported: 2009-01-13 15:33 UTC by Stanislav Aubrecht
Modified: 2010-11-04 08:54 UTC (History)
4 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments
api changes (7.78 KB, patch)
2009-01-13 15:53 UTC, Stanislav Aubrecht
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stanislav Aubrecht 2009-01-13 15:33:33 UTC
issue #136636 introduced window-system-wide customizations allowing e.g. turning 'sliding' of windows off.
however in many cases there's need to enable/disable some window system features on topcomponent level. i propose
introducing of a set of boolean client properties which would enable/disable the following features for particular
topcomponent:

- disable closing - topcomponent won't have close button in its title bar and 'close window' action in its popup and in
main window will be disabled
- disable sliding - topcomponent won't have minimize button and 'minimize action' will be disabled. topcomponents docked
in sliding modes (slided-out by default) won't have 'pin' button and their 'minimizer action' will be disabled.
- disable dragging - it won't be possible to drag and drop topcomponent to a different location
- disable undocking - topcomponent's 'undock window' action will be disabled, topcomponents floating by default will
have their 'dock window' action disabled
- disable maximization - it won't be possible to maximize the topcomponent by doubleclicking its header and their
'maximize action' will be disabled
Comment 1 Stanislav Aubrecht 2009-01-13 15:53:36 UTC
Created attachment 75766 [details]
api changes
Comment 2 Jesse Glick 2009-01-13 16:08:40 UTC
[JG01] "The features above can be turned on/off simply by branding of core.windows module" doesn't make much sense here.


[JG02] Why aren't these simply methods on TopComponent? Or at least API constants?
Comment 3 tomwheeler 2009-01-13 16:11:21 UTC
Excellent!  The methods seem clear enough to me.
Comment 4 tomwheeler 2009-01-13 16:17:08 UTC
Re JG comments: I wondered the same thing, but assumed (perhaps incorrectly) that this was simply documenting the 
changes made through #136636.  In other words, the properties are used to turn off features of the Window System 
globally, while the methods are used to turn it off for specific TopComponents.

At least some of those properties (such as netbeans.winsys.tc.closing_disabled) are not listed in the API doc here:

    http://bits.netbeans.org/dev/javadoc/org-openide-windows/overview-summary.html
Comment 5 _ wadechandler 2009-01-14 07:44:56 UTC
Re JG02 - I agree. At least some property name constants to make setting those properties easier or making methods to
set and get them and show the developer how to do it and make it more clear would be good.

Re JG01 - Yes. I'm trying to figure out how this has meaning as well. Will the TC definition files which can be placed
in the layer be able to use these properties some how so these properties are definable from those type sources, or is
it expected that developers will always set client properties on specific top components to make these things work? Is
it envisioned that these properties have different hierarchies where these things can be set at a global level and it
affects all TCs (branding), then in the .wstcref files for specific ones, and finally on the client property level and
each one can override the others in the hierarchy?
Comment 6 Stanislav Aubrecht 2009-01-14 07:49:19 UTC
JG01: that's a copy-pasted left-over only, that sentence shouldn't be there

JG02: i'll define the property names in TopComponent class
Comment 7 Stanislav Aubrecht 2009-01-26 08:58:17 UTC
if there are no more comments i'll integrate this feature sometime this week
Comment 8 Stanislav Aubrecht 2009-01-30 15:17:45 UTC
integrated in ec137c496193
Comment 9 Quality Engineering 2009-01-31 07:32:06 UTC
Integrated into 'main-golden', will be available in build *200901310201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/ec137c496193
User: S. Aubrecht <saubrecht@netbeans.org>
Log: #156693 - allow window system customizations on TopComponent level
Comment 10 Antonin Nebuzelsky 2009-05-11 14:06:46 UTC
*** Issue 96331 has been marked as a duplicate of this issue. ***
Comment 11 simpatico 2010-11-02 16:43:13 UTC
http://bits.netbeans.org/dev/javadoc/org-openide-windows/org/openide/windows/TopComponent.html

doesn't include a property for preventing resize. All other properties are covered, but for: org.netbeans.core.windows.TopComponent.Resizing.Enabled
Comment 12 Stanislav Aubrecht 2010-11-03 08:04:10 UTC
(In reply to comment #11)
> http://bits.netbeans.org/dev/javadoc/org-openide-windows/org/openide/windows/TopComponent.html
> 
> doesn't include a property for preventing resize. All other properties are
> covered, but for: org.netbeans.core.windows.TopComponent.Resizing.Enabled

no, it does not. and it never will unless someone rewrites the layout manager which handles the placement of topcomponents into main window's grid.
Comment 13 simpatico 2010-11-03 21:32:05 UTC
feature request.
Comment 14 Stanislav Aubrecht 2010-11-04 08:54:21 UTC
(In reply to comment #13)
> feature request.

file a new issue for it then