(English) Model my PDE!

Désolé, cet article est seulement disponible en English.

8 réflexions sur « (English) Model my PDE! »

  1. I can only applaud you for this work – PDE would become the first publicly know Eclipse-Project use EMF and EMF-Databinding! It’s nice to see that people use the code we produce.

  2. Hi Benjamin — thanks for this! I’ve checked out your code from pde-incubator.
    I am trying to also connect the EMF Validation framework to be used within the databinding framework. However, I’m working on making widgets that will support databinding for my EMF model objects.

    While looking at your code I don’t see any custom ValidationStatusProviders. All of the calls to DataBindingService.bindValue calls either have null, null for their targetToModel / modelToTarget or they lightly extend the generic EMFUpdateValueStrategy (overriding the convert method)

    I also don’t see where ValidatingService35 is called.

    Can you please clarify exactly where you are linking the databinding validation with the EMF validation?

    thanks much

  3. AHA! as soon as I posted I realized that you are binding it in the validatingEContentAdapter. I’ll keep poking around but if you feel like clarifying anything that would be lovely.



  4. This is useful to me. Thanks.

    I’m new to EMF, PDE and databinding. I’m learning much from this project’s source code.

    There is one struggle I have finally overcome. I hope I’m not blowing etiquette by sharing here. Is there a better forum?

    I’m probably using the wrong terms as in this description here. I’m describing in terms of the ds implementation as common reference for us to communicate. In reality, I’m working on a different model editor.

    ProperiesDetailsPart.bind(DataBindingContext bindingContext) is using return from EMFDetailsPart.getCurrentSelection(). This led me to believe that bind was called after every selection change. In fact, this is not the case. DetailsPart.showPage calls the pages’ createContents method only once (maybe?) per editor instance, and always before it calls the page’s selectionChanged method. So, getCurrentSelection is returns null (or the old selection) when the part’s bind method is called.

    This became important to me because some of the features my user would select are not fully built. Some nested features do not exist when the ‘master’ feature is selected. The behavior when this occurs is simple: the user can enter text into a text box in the details side of the page, but the databinding is not effective. The databinding finds the nested feature non-existing and doesn’t add the nested feature or otherwise change the model.

    I don’t know if my workaround is the best solution, but I overrode selectionChanged to disable the text fields corresponding to features that do not exist. I think my users will prefer to create those fields explicitly, instead of the editor creating them.

    Thanks for your effort.


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *