Name: ssR10187 Date: 01/29/2003
build 030123 of Nevada
Steps to reproduce:
1. Create "Session EJB" (or any other EJB) from the New Wizard window.
2. Open the "Properties of Session" window, tab to the Properties pane.
#1. Focus disappears in the window after entering a new name in the textfield.
- tab to the "Name" sheetbutton, push <space bar>
- in the textfield enter the new name
- push <Enter>
The new name has been entered but focus disappears, the key <Tab> does not work.
#2. Focus disappears after selecting combo.
- tab to the "Bean Type" sheetbutton, default value is "Stateless"
- push <space bar>
- in combo push the <Down> arrow key and select "Statefull"
- push <Enter>
The new value has been selected but focus disappears, the key <Tab> does not
#3. Ellipsis disappears after pressing space.
- tab to the sheetbutton "Sec Identify" and press <space bar> or <Enter>.
Ellipsis appears and immediately disappears, you cannot call the property
See also bug4805655, it exists in Nevada release too.
These tree problems exist for all other panes (References, Sun One As,
Weblogic7, J2EE, WebLogic)
and it is very hard to use properties for editing or changing.
I cannot reproduce #1 or #2.
For #3, this would seem to be a generic prop sheet problem since
we don't control the UI at all. In this case, the property editor
paints the value, so perhaps the openide code wasn't tested for
this scenario. Basically:
* getAsText returns false
* isPaintable returns true
* paintValue actually paints the value
* supportsCustomEditor returns true.
#1 - worksforme
#2 - worksforme
#3 - reproducible
The problem is that the default inplace
editor panics at getAsText returning null. I reproduced this,
creating a property editor with the described characteristics.
This will work with the property sheet rewrite (the custom editor
button will always be visible and focusable. I should make a note
here that in the case getAsText returns null, the new sheet should
default that to opening the custom editor).
Workaround 1: Return "" or something from getAsText - you can
always ignore it in setAsText.
Workaround 2: Supply a custom inplace editor via hinting so the
property sheet has some valid editor to instantiate (this could
just be JComponent that overrides paint () and delegates to the
property editor's paint method, so the appearance is consistent
and the code is in one place.
Workaround 3: If there's something useful you could return from
getTags() that would also solve the problem.
Sorry, missed the 7 key in the blocks field.
Moving to 4.0, will be fixed as Tim said, along with the rewrite.
Joe, question for you - did suggested workarounds work for you? Is it
enough for you now in 3.5 timeframe or is it a stopper?
Property sheet rewrite integrated. Tested this with a custom
node & property. It works correctly.