Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [e4-dev] Final working items and RC3 build

Am 24.07.10 10:54, schrieb Tom Schindl:
> Am 24.07.10 10:43, schrieb Tom Schindl:
>> Hi,
>>
>> I'm today looking into the following things from the ModelTooling side:
>> * 320787 - [ModelTooling] Unable to edit mnemonics for MenuItems
>>   => Small fix to add a field I somehow missed until now
>>
>> * 320617 - [ModelTooling] Undo/Redo not working in 4.0
>>   => Trying to understand why it fails
>>   => This is a more generic problem because the Ecore-Editor from EMF
>>      is not having Undo/Redo and so I expect many others broken as well
>>

I've tracked down the problem now to the point where we some how skip
registering RetargetAction into our globalActions inside our
ActionBarAdvisor and that's why translation in SubActionBar fails if the
new Action has not set the setActionDefinitionId.

So while I can now fix my ModelTooling by simply setting
setActionDefinitionId this won't solve the problem of other unmodified
3.x bundles who are doing it like my editor did.

There are multiple possibilities now:
a) Fix ActionBarAdvisor:
  Understand why the Keybind-Scoping Bug 308593 introduced the change
  => in my first tests the scoping of e.g. CTRL+Z, CTRL+V was not
     affected and remove the code which does the check

b) Fix SubActionBar and if we find commandId, trying to translate the
  actionID from ActionFactory into their commandId
  => IIRC that's what IActionCommandMappingService should really do but
     fails to because of ActionBarAdvisor
  => We could at least fix undo/redo by check for this id :-)

c) Documenting it as a known problem which IMHO affects the useability
  most of the EMF-Editors in 4.0 because they use Undo/Redo like my
  editor does it (other RetargetAction are probably also affected by
  this problem) which is fairly unacceptable for a IDE-Editors.

My conclusion is:
a) Is probably too risky breaking Keybind-Scoping is a really bad thing
   so if we don't understand 100% why this code was introduced we can't
   change it
b) Doable quite easily at least for the most important actionIDs:
   * undo
   * redo
c) IMHO not real a good solution but well we are at rc3 :-)

Tom

-- 
B e s t S o l u t i o n . a t                        EDV Systemhaus GmbH
------------------------------------------------------------------------
tom schindl                                        geschaeftsfuehrer/CEO
------------------------------------------------------------------------
eduard-bodem-gasse 5/1    A-6020 innsbruck      phone    ++43 512 935834


Back to the top