Skip to main content



      Home
Home » Eclipse Projects » JFace » Odd Problem with TextCellEditor
Odd Problem with TextCellEditor [message #10220] Tue, 26 May 2009 11:54 Go to next message
Eclipse UserFriend
Originally posted by: riwright.adobe.com

> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3326172900_15769490
Content-type: text/plain;
charset="US-ASCII"
Content-transfer-encoding: 7bit

Tom,

Here is the post originally done in eclipse.platform.swt.

I did look at your snippets and just don't see what is different. Your
snippet is simpler than mine (attached) but it seems like mine should work.
I tried using the basic LabelProvider (as yours does - see line 121) so it
uses toString(), but it made no difference. And I am calling
tableviewer.update(). As noted before it sure looks like it is updating
with the correct value then some method is overwriting it with the previous
change-value.

I'm sure it is something silly I am doing, but darned if I see what.

TIA, Ric

>Hi,
>
>after you set the new value you'll have to call viewer.update(Object).
>If this is not the solution please try reasking at
>eclipse.platform.jface and attach a snippet so that we can reproduce the
>problem.
>
>Please also take a look at [1]
>
>Tom
>
>[1]http://wiki.eclipse.org/JFaceSnippets
>
>Ric Wright schrieb:
>> I have written a Table/TableViewer for a project I am writing. This is my
>> first foray into TableViewers and CellEditors. I have all of it working
>> EXCEPT, that if I edit a cell whose value is, say, 42 and change it to 99.
>> Fine. But if I then click on a different cell whose current value is, say,
>> 77, then what ends up highlighted in that cell is ... 99. What? I have
>> debugged it a bit and my CellModifier:getValue is returning 77 (as expected)
>> and I checked in the actual TextCellModifier:doSetValue and it is being set
>> to 77. I can't figure out who would be holding onto the previous edit value
>> or is doing the final update to the previous edit value. My
>> LabelProvider:getColumnText is not being called at that point. Still
>> digging into this, but if anyone has insight on this, I would be
>> appreciative.
>>
>> TIA, Ric
>>


--B_3326172900_15769490
Content-type: application/octet-stream; name="DataSetTblDialog.java"
Content-disposition: attachment;
filename="DataSetTblDialog.java"
Content-transfer-encoding: base64


LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMp IDIwMDkgUmlj
IFdyaWdodCANCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3Jh bSBhbmQgdGhl
IGFjY29tcGFueWluZyBtYXRlcmlhbHMgDQogKiBhcmUgbWFkZSBhdmFpbGFi bGUgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAN CiAqIHdoaWNo
IGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxh YmxlIGF0DQog
KiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9kb2N1bWVudHMvZXBsLXYx MC5odG1sDQog
KiANCiAqIENvbnRyaWJ1dG9yczoNCiAqICAgICBSaWMgV3JpZ2h0IC0gaW5p dGlhbCBpbXBs
ZW1lbnRhdGlvbg0KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQpwYWNr YWdlIGNvbS5n
ZW9meC5nbXMuZWRpdG9yOw0KDQppbXBvcnQgamF2YS5sYW5nLnJlZmxlY3Qu QXJyYXk7DQoN
CmltcG9ydCBvcmcuZWNsaXBzZS5qZmFjZS5kaWFsb2dzLkRpYWxvZzsNCmlt cG9ydCBvcmcu
ZWNsaXBzZS5qZmFjZS51dGlsLklQcm9wZXJ0eUNoYW5nZUxpc3RlbmVyOw0K aW1wb3J0IG9y
Zy5lY2xpcHNlLmpmYWNlLnV0aWwuUHJvcGVydHlDaGFuZ2VFdmVudDsNCmlt cG9ydCBvcmcu
ZWNsaXBzZS5qZmFjZS52aWV3ZXJzLkNlbGxFZGl0b3I7DQppbXBvcnQgb3Jn LmVjbGlwc2Uu
amZhY2Uudmlld2Vycy5JQ2VsbE1vZGlmaWVyOw0KaW1wb3J0IG9yZy5lY2xp cHNlLmpmYWNl
LnZpZXdlcnMuSVNlbGVjdGlvbkNoYW5nZWRMaXN0ZW5lcjsNCmltcG9ydCBv cmcuZWNsaXBz
ZS5qZmFjZS52aWV3ZXJzLklTdHJ1Y3R1cmVkQ29udGVudFByb3ZpZGVyOw0K aW1wb3J0IG9y
Zy5lY2xpcHNlLmpmYWNlLnZpZXdlcnMuSVRhYmxlTGFiZWxQcm92aWRlcjsN CmltcG9ydCBv
cmcuZWNsaXBzZS5qZmFjZS52aWV3ZXJzLkxhYmVsUHJvdmlkZXI7DQppbXBv cnQgb3JnLmVj
bGlwc2UuamZhY2Uudmlld2Vycy5TZWxlY3Rpb25DaGFuZ2VkRXZlbnQ7DQpp bXBvcnQgb3Jn
LmVjbGlwc2UuamZhY2Uudmlld2Vycy5UYWJsZVZpZXdlcjsNCmltcG9ydCBv cmcuZWNsaXBz
ZS5qZmFjZS52aWV3ZXJzLlRleHRDZWxsRWRpdG9yOw0KaW1wb3J0IG9yZy5l Y2xpcHNlLmpm
YWNlLnZpZXdlcnMuVmlld2VyOw0KaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5T V1Q7DQppbXBv
cnQgb3JnLmVjbGlwc2Uuc3d0LmV2ZW50cy5WZXJpZnlFdmVudDsNCmltcG9y dCBvcmcuZWNs
aXBzZS5zd3QuZXZlbnRzLlZlcmlmeUxpc3RlbmVyOw0KaW1wb3J0IG9yZy5l Y2xpcHNlLnN3
dC5ncmFwaGljcy5JbWFnZTsNCmltcG9ydCBvcmcuZWNsaXBzZS5zd3QubGF5 b3V0LkdyaWRE
YXRhOw0KaW1wb3J0IG9yZy5lY2xpcHNlLnN3dC5sYXlvdXQuR3JpZExheW91 dDsNCmltcG9y
dCBvcmcuZWNsaXBzZS5zd3Qud2lkZ2V0cy5Db21wb3NpdGU7DQppbXBvcnQg b3JnLmVjbGlw
c2Uuc3d0LndpZGdldHMuRGlzcGxheTsNCmltcG9ydCBvcmcuZWNsaXBzZS5z d3Qud2lkZ2V0
cy5TaGVsbDsNCmltcG9ydCBvcmcuZWNsaXBzZS5zd3Qud2lkZ2V0cy5UYWJs ZTsNCmltcG9y
dCBvcmcuZWNsaXBzZS5zd3Qud2lkZ2V0cy5UYWJsZUNvbHVtbjsNCmltcG9y dCBvcmcuZWNs
aXBzZS5zd3Qud2lkZ2V0cy5UYWJsZUl0ZW07DQppbXBvcnQgb3JnLmVjbGlw c2Uuc3d0Lndp
ZGdldHMuVGV4dDsNCg0KcHVibGljIGNsYXNzIERhdGFTZXRUYmxEaWFsb2cg ZXh0ZW5kcyBE
aWFsb2cNCnsNCglwcml2YXRlIENvbXBvc2l0ZSAJCWNvbXBvc2l0ZTsNCglw cml2YXRlIGlu
dAkJCQluRGltcyA9IDQ7DQoJcHJpdmF0ZSBUYWJsZSAgICAgICAJdGFibGU7 DQoJcHJpdmF0
ZSBEaW1JbnB1dERhdGFbXSAJZGltSW5wdXREYXRhOw0KCXByaXZhdGUgVGFi bGVWaWV3ZXIg
CXRhYmxlVmlld2VyOw0KCQ0KCS8vIFNldCBjb2x1bW4gbmFtZXMNCglwcml2 YXRlIFN0cmlu
Z1tdIGNvbHVtbk5hbWVzID0gbmV3IFN0cmluZ1tdIHsgIkRpbWVuc2lvbiIs ICJFbGVtZW50
cyIgfTsNCgkNCglwcm90ZWN0ZWQgRGF0YVNldFRibERpYWxvZyhTaGVsbCBz aGVsbCkNCgl7
DQoJCXN1cGVyKHNoZWxsKTsJCQ0KCX0NCg0KCXByb3RlY3RlZCBDb21wb3Np dGUgY3JlYXRl
RGlhbG9nQXJlYSggQ29tcG9zaXRlIHBhcmVudCApDQoJew0KCQljb21wb3Np dGUgPSAoQ29t
cG9zaXRlKSBzdXBlci5jcmVhdGVEaWFsb2dBcmVhKHBhcmVudCk7DQoJCS8v YWRkIGNvbnRy
b2xzIHRvIGNvbXBvc2l0ZSBhcyBuZWNlc3NhcnkNCgkJR3JpZExheW91dCBs YXlvdXQgPSBu
ZXcgR3JpZExheW91dCgpOw0KCQlsYXlvdXQubWFyZ2luV2lkdGggPSBsYXlv dXQubWFyZ2lu
SGVpZ2h0ID0gMTA7DQoJCWxheW91dC5udW1Db2x1bW5zID0gMjsNCgkJY29t cG9zaXRlLnNl
dExheW91dChsYXlvdXQpOw0KCQ0KCQljcmVhdGVUYWJsZShjb21wb3NpdGUp Ow0KCQkNCgkJ
cmV0dXJuIGNvbXBvc2l0ZTsNCgl9DQoJCQ0KCXByaXZhdGUgdm9pZCBjcmVh dGVUYWJsZSgg
Q29tcG9zaXRlIGNvbXBvc2l0ZSkNCgl7CQ0KCQlTeXN0ZW0ub3V0LnByaW50 bG4oIkNyZWF0
aW5nIHRhYmxlIG5vdyIpOw0KCQkNCgkgICAgdGFibGUgPSBuZXcgVGFibGUo Y29tcG9zaXRl
LCBTV1QuRlVMTF9TRUxFQ1RJT058U1dULkJPUkRFUik7DQoJCUdyaWREYXRh IGdkID0gbmV3
IEdyaWREYXRhKEdyaWREYXRhLkZJTExfQk9USCk7DQoJCWdkLmhlaWdodEhp bnQgPSAyMDA7
DQoJCWdkLndpZHRoSGludCA9IDEzMDsNCgkJdGFibGUuc2V0TGF5b3V0RGF0 YShnZCk7DQoJ
CQ0KCQl0YWJsZS5zZXRMaW5lc1Zpc2libGUodHJ1ZSk7DQoJCXRhYmxlLnNl dEhlYWRlclZp
c2libGUodHJ1ZSk7DQoJDQoJCS8vIDFzdCBjb2x1bW4gd2l0aCBpY29uIGZv ciB0aGUgbWlt
ZXR5cGUgLSBOT1RFOiBUaGUgU1dULkNFTlRFUiBoYXMgbm8gZWZmZWN0ISEN CgkJVGFibGVD
b2x1bW4gY29sdW1uMSA9IG5ldyBUYWJsZUNvbHVtbih0YWJsZSwgU1dULkNF TlRFUiwgMCk7
DQoJCWNvbHVtbjEuc2V0VGV4dCgiRGltZW5zaW9uIik7DQoJCWNvbHVtbjEu c2V0V2lkdGgo
ODApOw0KCQljb2x1bW4xLnNldFJlc2l6YWJsZShmYWxzZSk7DQoJDQoJCS8v IDFzdCBjb2x1
bW4gd2l0aCBpY29uIGZvciB0aGUgbWltZXR5cGUgLSBOT1RFOiBUaGUgU1dU LkNFTlRFUiBo
YXMgbm8gZWZmZWN0ISENCgkJVGFibGVDb2x1bW4gY29sdW1uMiA9IG5ldyBU YWJsZUNvbHVt
bih0YWJsZSwgU1dULkNFTlRFUiwgMSk7DQoJCWNvbHVtbjIuc2V0VGV4dCgi RWxlbWVudHMi
KTsNCgkJY29sdW1uMi5zZXRXaWR0aCg4MCk7DQoJCWNvbHVtbjIuc2V0UmVz aXphYmxlKGZh
bHNlKTsNCgkJDQoJCUdyaWREYXRhIGdyaWQgPSBuZXcgR3JpZERhdGEoR3Jp ZERhdGEuRklM
TF9CT1RIKTsNCgkJZ3JpZC5ob3Jpem9udGFsQWxpZ25tZW50ID0gR3JpZERh dGEuRklMTDsN
CgkJZ3JpZC5ob3Jpem9udGFsU3BhbiA9IDI7DQoJCXRhYmxlLnNldExheW91 dERhdGEoZ3Jp
ZCk7DQoJCQ0KCQljcmVhdGVUYWJsZVZpZXdlcih0YWJsZSk7DQoJfQ0KDQoJ cHJpdmF0ZSB2
b2lkIGNyZWF0ZVRhYmxlVmlld2VyKCBUYWJsZSB0YWJsZSApDQoJew0KCQlj cmVhdGVJbnB1
dCgpOw0KCQkNCgkJdGFibGVWaWV3ZXIgPSBuZXcgVGFibGVWaWV3ZXIodGFi bGUpOw0KCQl0
YWJsZVZpZXdlci5hZGRTZWxlY3Rpb25DaGFuZ2VkTGlzdGVuZXIobmV3IElT ZWxlY3Rpb25D
aGFuZ2VkTGlzdGVuZXIoKQ0KCQl7DQoJCQlwdWJsaWMgdm9pZCBzZWxlY3Rp b25DaGFuZ2Vk
KFNlbGVjdGlvbkNoYW5nZWRFdmVudCBldmVudCkNCgkJCXsNCgkJCQlTeXN0 ZW0ub3V0LnBy
aW50bG4oIlNlbGVjdGlvbiBmaXJlZCIpOw0KCQkJfQ0KCQl9KTsNCgkJDQoJ CWNyZWF0ZUNl
bGxFZGl0b3IoIHRhYmxlVmlld2VyICk7DQoJCQ0KCQl0YWJsZVZpZXdlci5z ZXRDb250ZW50
UHJvdmlkZXIobmV3IERpbUNvbnRlbnRQcm92aWRlcigpKTsNCgkJdGFibGVW aWV3ZXIuc2V0
TGFiZWxQcm92aWRlcihuZXcgTGFiZWxQcm92aWRlcigpKTsgICAvLyBEaW1M YWJlbFByb3Zp
ZGVyKCkpOw0KCQl0YWJsZVZpZXdlci5zZXRJbnB1dCggZGltSW5wdXREYXRh ICk7ICANCgl9
DQoNCg0KCXByb3RlY3RlZCB2b2lkIGNyZWF0ZUNlbGxFZGl0b3IgKCBUYWJs ZVZpZXdlciB0
YWJsZVZpZXdlciApDQoJew0KCQkvLyBDcmVhdGUgdGhlIGNlbGwgZWRpdG9y cw0KCQlDZWxs
RWRpdG9yW10gZWRpdG9ycyA9IG5ldyBDZWxsRWRpdG9yW0FycmF5LmdldExl bmd0aChjb2x1
bW5OYW1lcyldOw0KDQoJCXRhYmxlVmlld2VyLnNldENvbHVtblByb3BlcnRp ZXMoY29sdW1u
TmFtZXMpOw0KDQoJCS8vIENvbHVtbiAwIDogRGltZW5zaW9uIG51bWJlcg0K CQlUZXh0Q2Vs
bEVkaXRvciB0ZXh0RWRpdG9yID0gbmV3IFRleHRDZWxsRWRpdG9yKHRhYmxl KTsJCQkJDQoJ
CWVkaXRvcnNbMF0gPSB0ZXh0RWRpdG9yOw0KDQoJCS8vIENvbHVtbiAxIDog TnVtYmVyIG9m
IGRpbWVuc2lvbnMNCgkJdGV4dEVkaXRvciA9IG5ldyBUZXh0Q2VsbEVkaXRv cih0YWJsZSk7
DQoJCQ0KCQkoKFRleHQpdGV4dEVkaXRvci5nZXRDb250cm9sKCkpLnNldFRl eHRMaW1pdCgy
KTsNCgkJDQoJCSgoVGV4dCl0ZXh0RWRpdG9yLmdldENvbnRyb2woKSkuYWRk VmVyaWZ5TGlz
dGVuZXIoIG5ldyBWZXJpZnlMaXN0ZW5lcigpDQoJCXsNCgkJCXB1YmxpYyB2 b2lkIHZlcmlm
eVRleHQoVmVyaWZ5RXZlbnQgZSkNCgkJCXsNCgkJCQkvLyBIZXJlLCB3ZSBj b3VsZCB1c2Ug
YSBSZWdFeHAgc3VjaCBhcyB0aGUgZm9sbG93aW5nDQoJCQkJLy8gaWYgdXNp bmcgSlJFMS40
IHN1Y2ggYXMgZS5kb2l0ID0gZS50ZXh0Lm1hdGNoZXMoIltcXC0wLTldKiIp Ow0KCQkJCWUu
ZG9pdCA9ICIwMTIzNDU2Nzg5Ii5pbmRleE9mKGUudGV4dCkgPj0gMDsNCgkJ CX0NCgkJfSk7
DQoJCQ0KCQl0ZXh0RWRpdG9yLmFkZFByb3BlcnR5Q2hhbmdlTGlzdGVuZXIo bmV3IElQcm9w
ZXJ0eUNoYW5nZUxpc3RlbmVyKCkNCgkJew0KCQkJcHVibGljIHZvaWQgcHJv cGVydHlDaGFu
Z2UoIFByb3BlcnR5Q2hhbmdlRXZlbnQgZSApDQoJCQl7DQoJCQkJU3lzdGVt Lm91dC5wcmlu
dGxuKCJwcm9wQ2hhbmdlOiBwcm9wZXJ0eW5hbWU6ICIgKyBlLmdldFByb3Bl cnR5KCkgKyAi
ICBvbGQ6ICIgKyAoU3RyaW5nKWUuZ2V0T2xkVmFsdWUoKSArICIgIG5ldzog IiArIChTdHJp
bmcpZS5nZXROZXdWYWx1ZSgpICk7DQoJCQl9DQoJCQkNCgkJfSk7DQoJCQ0K CQllZGl0b3Jz
WzFdID0gdGV4dEVkaXRvcjsNCg0KCQl0YWJsZVZpZXdlci5zZXRDZWxsRWRp dG9ycyhlZGl0
b3JzKTsNCgkJdGFibGVWaWV3ZXIuc2V0Q2VsbE1vZGlmaWVyKG5ldyBEaW1D ZWxsTW9kaWZp
ZXIodGhpcykpOwkNCgl9DQoJDQoJcHJpdmF0ZSB2b2lkIGNyZWF0ZUlucHV0 KCkNCgl7DQoJ
CWRpbUlucHV0RGF0YSA9IG5ldyBEaW1JbnB1dERhdGFbbkRpbXNdOw0KCQkN CgkJZm9yICAo
IGludCBpPTA7IGk8bkRpbXM7IGkrKyApDQoJCXsNCgkJCWRpbUlucHV0RGF0 YVtpXSA9IG5l
dyBEaW1JbnB1dERhdGEoIGksIDQyKTsNCgkJfQ0KCX0NCg0KCWNsYXNzIERp bUxhYmVsUHJv
dmlkZXIgZXh0ZW5kcyBMYWJlbFByb3ZpZGVyIGltcGxlbWVudHMgSVRhYmxl TGFiZWxQcm92
aWRlcg0KCXsNCgkJcHVibGljIFN0cmluZyBnZXRDb2x1bW5UZXh0KE9iamVj dCBvYmosIGlu
dCBpbmRleCkNCgkJewkJCQ0KCQkJRGltSW5wdXREYXRhIGRpbUlucHV0ID0g KERpbUlucHV0
RGF0YSlvYmo7DQoNCgkJCVN5c3RlbS5vdXQucHJpbnRsbigiZ2V0Q29sdW1u VGV4dCAiICsg
U3RyaW5nLmZvcm1hdCgiIGluZGV4OiAlZCIsIGRpbUlucHV0LmluZGV4KSAr IFN0cmluZy5m
b3JtYXQoIiB2YWx1ZTogJWQiLCBkaW1JbnB1dC52YWx1ZSkpOw0KDQoJCQlp ZiAoaW5kZXgg
PT0gMCkNCgkJCQlyZXR1cm4gU3RyaW5nLmZvcm1hdCgiJWQiLCBkaW1JbnB1 dC5pbmRleCk7
DQoJCQllbHNlIGlmIChpbmRleCA9PSAxKQ0KCQkJCXJldHVybiBTdHJpbmcu Zm9ybWF0KCIl
ZCIsIGRpbUlucHV0LnZhbHVlKTsNCgkJCWVsc2UgDQoJCQkJcmV0dXJuICIi OwkJCQ0KCQl9
DQoNCgkJcHVibGljIEltYWdlIGdldENvbHVtbkltYWdlKE9iamVjdCBvYmos IGludCBpbmRl
eCkNCgkJew0KCQkJcmV0dXJuIG51bGw7DQoJCX0NCgl9DQoJDQoJY2xhc3Mg RGltSW5wdXRE
YXRhDQoJew0KCQlwdWJsaWMgaW50CQlpbmRleDsNCgkJcHVibGljIGludAkJ dmFsdWU7DQoJ
CQ0KCQlwdWJsaWMgRGltSW5wdXREYXRhICggaW50IGluZGV4LCBpbnQgdmFs dWUgKQ0KCQl7
DQoJCQl0aGlzLmluZGV4ID0gaW5kZXg7DQoJCQl0aGlzLnZhbHVlID0gdmFs dWU7DQoJCX0N
CgkJDQoJCXB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKQ0KCQl7DQoJCQlyZXR1 cm4gU3RyaW5n
LmZvcm1hdCgiJWQiLHZhbHVlKTsNCgkJCQ0KCQl9DQoJfQ0KCQ0KCWNsYXNz IERpbUNvbnRl
bnRQcm92aWRlciBpbXBsZW1lbnRzIElTdHJ1Y3R1cmVkQ29udGVudFByb3Zp ZGVyDQoJew0K
DQoJCXB1YmxpYyBPYmplY3RbXSBnZXRFbGVtZW50cyhPYmplY3QgaW5wdXRF bGVtZW50KQ0K
CQl7DQoJCQlyZXR1cm4gZGltSW5wdXREYXRhOw0KCQl9DQoNCgkJcHVibGlj IHZvaWQgZGlz
cG9zZSgpDQoJCXsNCgkJCVN5c3RlbS5vdXQucHJpbnRsbigiRGltQ29udGVu dFByb3ZpZGVy
OmRpc3Bvc2UiKTsNCgkJfQ0KDQoJCXB1YmxpYyB2b2lkIGlucHV0Q2hhbmdl ZChWaWV3ZXIg
dmlld2VyLCBPYmplY3Qgb2xkSW5wdXQsIE9iamVjdCBuZXdJbnB1dCkNCgkJ ew0KCQkJU3lz
dGVtLm91dC5wcmludGxuKCJEaW1Db250ZW50UHJvdmlkZXI6aW5wdXRDaGFu Z2VkIik7DQoJ
CX0NCgl9DQoNCgljbGFzcyBEaW1DZWxsTW9kaWZpZXIgaW1wbGVtZW50cyBJ Q2VsbE1vZGlm
aWVyDQoJew0KCQlEYXRhU2V0VGJsRGlhbG9nCWRhdGFTZXREaWFsb2c7DQoJ CXB1YmxpYyBE
aW1DZWxsTW9kaWZpZXIgKCBEYXRhU2V0VGJsRGlhbG9nIGRpYWxvZyApDQoJ CXsNCgkJCXRo
aXMuZGF0YVNldERpYWxvZyA9IGRpYWxvZzsNCgkJfQ0KCQkNCgkJcHVibGlj IGJvb2xlYW4g
Y2FuTW9kaWZ5KCBPYmplY3QgZWxlbWVudCwgU3RyaW5nIGNvbHVtbk5hbWUg KQ0KCQl7CQkJ
DQoJCQlyZXR1cm4gY29sdW1uTmFtZS5lcXVhbHMoY29sdW1uTmFtZXNbMV0p Ow0KCQl9DQoN
CgkJcHVibGljIE9iamVjdCBnZXRWYWx1ZSggT2JqZWN0IGVsZW1lbnQsIFN0 cmluZyBjb2x1
bW5OYW1lICkNCgkJew0KCQkJRGltSW5wdXREYXRhIGRpbURhdGEgPSAoRGlt SW5wdXREYXRh
KWVsZW1lbnQ7DQoNCgkJCVN5c3RlbS5vdXQucHJpbnRsbigiIGdldFZhbHVl OiBkaW1EYXRh
LnZhbHVlID0gIiArIFN0cmluZy5mb3JtYXQoIiVkIixkaW1EYXRhLnZhbHVl KSk7DQoNCgkJ
CXJldHVybiBTdHJpbmcuZm9ybWF0KCIlZCIsIGRpbURhdGEudmFsdWUpOw0K CQl9DQoNCgkJ
cHVibGljIHZvaWQgbW9kaWZ5KE9iamVjdCBlbGVtZW50LCBTdHJpbmcgY29s dW1uTmFtZSwg
T2JqZWN0IHZhbHVlKQ0KCQl7DQoJCQlUYWJsZUl0ZW0gaXRlbSA9IChUYWJs ZUl0ZW0pIGVs
ZW1lbnQ7DQoJCQlEaW1JbnB1dERhdGEgZGltRGF0YSA9IChEaW1JbnB1dERh dGEpIGl0ZW0u
Z2V0RGF0YSgpOw0KCQkJDQoJCQlpZiAodmFsdWUgPT0gbnVsbCB8fCAoKFN0 cmluZyl2YWx1
ZSkuaXNFbXB0eSgpKQ0KCQkJCXJldHVybjsNCgkJCQ0KCQkJZGltRGF0YS52 YWx1ZSA9IElu
dGVnZXIucGFyc2VJbnQoKFN0cmluZykgdmFsdWUpOw0KCQkJCQkNCgkJCVN5 c3RlbS5vdXQu
cHJpbnRsbigiIG1vZGlmeTogZGltRGF0YS52YWx1ZSA9ICIgKyBTdHJpbmcu Zm9ybWF0KCIl
ZCIsZGltRGF0YS52YWx1ZSkpOw0KCQkJDQoJCQlkYXRhU2V0RGlhbG9nLnRh YmxlVmlld2Vy
LnVwZGF0ZShkaW1EYXRhLCBudWxsKTsNCgkJfQkJDQoJfQ0KCQ0KCS8vPT09 PT09PT09PT09
PT09PT09PT09PT09PT09IFRlc3QgTWFpbiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09
PT09PT09DQoJDQoJLyoqDQoJICogQHBhcmFtIGFyZ3MNCgkgKi8NCglwdWJs aWMgc3RhdGlj
IHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKQ0KCXsNCgkJRGlzcGxheSBkaXNw bGF5ID0gbmV3
IERpc3BsYXkoKTsNCgkJU2hlbGwgc2hlbGwgPSBuZXcgU2hlbGwoZGlzcGxh eSk7DQoNCgkJ
RGF0YVNldFRibERpYWxvZyBkaWFsb2cgPSBuZXcgRGF0YVNldFRibERpYWxv ZyhzaGVsbCk7
DQoJCWRpYWxvZy5vcGVuKCk7DQoJfQ0KfQ0K
--B_3326172900_15769490--
Re: Odd Problem with TextCellEditor [message #10358 is a reply to message #10220] Tue, 26 May 2009 14:58 Go to previous messageGo to next message
Eclipse UserFriend
Hi Ric,

The problem is being caused by your VerifyListener. Everything works when
you put valid numbers in those cells (e.g., 1, 2, 3, 12, 23, 123, ... but
not 42, 77, or 99) :-)

Boris


"Ric Wright" <riwright@adobe.com> wrote in message
news:C6415EE4.29F57%riwright@adobe.com...
> Tom,
>
> Here is the post originally done in eclipse.platform.swt.
>
> I did look at your snippets and just don't see what is different. Your
> snippet is simpler than mine (attached) but it seems like mine should
> work.
> I tried using the basic LabelProvider (as yours does - see line 121) so it
> uses toString(), but it made no difference. And I am calling
> tableviewer.update(). As noted before it sure looks like it is updating
> with the correct value then some method is overwriting it with the
> previous
> change-value.
>
> I'm sure it is something silly I am doing, but darned if I see what.
>
> TIA, Ric
>
>>Hi,
>>
>>after you set the new value you'll have to call viewer.update(Object).
>>If this is not the solution please try reasking at
>>eclipse.platform.jface and attach a snippet so that we can reproduce the
>>problem.
>>
>>Please also take a look at [1]
>>
>>Tom
>>
>>[1]http://wiki.eclipse.org/JFaceSnippets
>>
>>Ric Wright schrieb:
>>> I have written a Table/TableViewer for a project I am writing. This is
>>> my
>>> first foray into TableViewers and CellEditors. I have all of it working
>>> EXCEPT, that if I edit a cell whose value is, say, 42 and change it to
>>> 99.
>>> Fine. But if I then click on a different cell whose current value is,
>>> say,
>>> 77, then what ends up highlighted in that cell is ... 99. What? I
>>> have
>>> debugged it a bit and my CellModifier:getValue is returning 77 (as
>>> expected)
>>> and I checked in the actual TextCellModifier:doSetValue and it is being
>>> set
>>> to 77. I can't figure out who would be holding onto the previous edit
>>> value
>>> or is doing the final update to the previous edit value. My
>>> LabelProvider:getColumnText is not being called at that point. Still
>>> digging into this, but if anyone has insight on this, I would be
>>> appreciative.
>>>
>>> TIA, Ric
>>>
>
>
Re: Odd Problem with TextCellEditor [message #10391 is a reply to message #10358] Tue, 26 May 2009 16:17 Go to previous message
Eclipse UserFriend
Originally posted by: riwright.adobe.com

Ah, thanks, Boris. Good catch. As you can imagine, I put that in while
debugging the initial build - before I realized that I had to call
tableviewer.update(). Then it just got left there. The interesting
remaining bit for me is why, when the event fails, does it paste in the past
value? Because that is what is left in the TextCellEditor's clipboard or
equivalent?

Thanks again, Ric



On 5/26/09 11:58 AM, in article gvhe4t$4pj$1@build.eclipse.org, "Boris
Bokowski" <Boris_Bokowski@ca.ibm.com> wrote:

> Hi Ric,
>
> The problem is being caused by your VerifyListener. Everything works when
> you put valid numbers in those cells (e.g., 1, 2, 3, 12, 23, 123, ... but
> not 42, 77, or 99) :-)
>
> Boris
>
>
> "Ric Wright" <riwright@adobe.com> wrote in message
> news:C6415EE4.29F57%riwright@adobe.com...
>> Tom,
>>
>> Here is the post originally done in eclipse.platform.swt.
>>
>> I did look at your snippets and just don't see what is different. Your
>> snippet is simpler than mine (attached) but it seems like mine should
>> work.
>> I tried using the basic LabelProvider (as yours does - see line 121) so it
>> uses toString(), but it made no difference. And I am calling
>> tableviewer.update(). As noted before it sure looks like it is updating
>> with the correct value then some method is overwriting it with the
>> previous
>> change-value.
>>
>> I'm sure it is something silly I am doing, but darned if I see what.
>>
>> TIA, Ric
>>
>>> Hi,
>>>
>>> after you set the new value you'll have to call viewer.update(Object).
>>> If this is not the solution please try reasking at
>>> eclipse.platform.jface and attach a snippet so that we can reproduce the
>>> problem.
>>>
>>> Please also take a look at [1]
>>>
>>> Tom
>>>
>>> [1]http://wiki.eclipse.org/JFaceSnippets
>>>
>>> Ric Wright schrieb:
>>>> I have written a Table/TableViewer for a project I am writing. This is
>>>> my
>>>> first foray into TableViewers and CellEditors. I have all of it working
>>>> EXCEPT, that if I edit a cell whose value is, say, 42 and change it to
>>>> 99.
>>>> Fine. But if I then click on a different cell whose current value is,
>>>> say,
>>>> 77, then what ends up highlighted in that cell is ... 99. What? I
>>>> have
>>>> debugged it a bit and my CellModifier:getValue is returning 77 (as
>>>> expected)
>>>> and I checked in the actual TextCellModifier:doSetValue and it is being
>>>> set
>>>> to 77. I can't figure out who would be holding onto the previous edit
>>>> value
>>>> or is doing the final update to the previous edit value. My
>>>> LabelProvider:getColumnText is not being called at that point. Still
>>>> digging into this, but if anyone has insight on this, I would be
>>>> appreciative.
>>>>
>>>> TIA, Ric
>>>>
>>
>>
>
>
Previous Topic:Treeviewer with Databinding
Next Topic:Enable/disable custom toolbar shortcuts automatically
Goto Forum:
  


Current Time: Fri Apr 25 21:28:04 EDT 2025

Powered by FUDForum. Page generated in 0.03800 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top