Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [e4-dev] Now's the time to figure out what we need in e4

Dirk, there is indeed a struggle between two desires here; on one side we don't want our 'base model' to become overly complex but we do want its concepts to be understandable. Tags as well as the transient and persistent data maps provide a *very* flexible model, to the point that we could handle both 'Dialogs' and 'Wizards' without extending the model at all.

However it's not whether it's possible to do but rather whether our clients (RCP authors...) would gain an advantage from having the new model element types. In this case I see having MDialog and MWizard as deserving of their own model classes because folks writing RCP apps already use these concepts during their design phases.

I'm not as sure whether the WizardPage is needed though even given that it needs to communicate to its container regarding it's 'completeness'. Note that a Dialog also has to communicate with its container to enable the 'OK' button (and show Error Messages?).

Elements in the base model should be at a very high level of abstraction. For me this means MDialog...OK but MTitleAreaDialog, MMessageDialog...not so much. That's not to say that if we identify some common attributes like 'error message' or 'finished' that we shouldn't formalize them in the model, just that we don't want the whole kitchen sink there capable of supporting every possible flavour  of dialog / wizard in existence.

Determining whether something deserves formal existence in the model or not is a fine line and I'd be ecstatic to come out of discussions like this with some sort of guidelines to help future committers understand how to make such choices...might be a good idea for a BOF ?

Eric


Inactive hide details for Dirk Fauth ---10/10/2013 09:38:12 AM---In terms of reusability and the concept of e4, using MPart forDirk Fauth ---10/10/2013 09:38:12 AM---In terms of reusability and the concept of e4, using MPart for wizard pages might be sufficient. Int


    From:

Dirk Fauth <dirk.fauth@xxxxxxxxx>

    To:

E4 Project developer mailing list <e4-dev@xxxxxxxxxxx>,

    Date:

10/10/2013 09:38 AM

    Subject:

Re: [e4-dev] Now's the time to figure out what we need in e4

    Sent by:

e4-dev-bounces@xxxxxxxxxxx




In terms of reusability and the concept of e4, using MPart for wizard pages might be sufficient. Introducing a new model MWizardPage could lead back to Eclipse 3 if you are not careful.

But I also agree with Tom saying that there might be additional attributes. Looking into WizardPage it is for example necessary to know if the wizard page is complete. But that could also be accomplished by adding new annotations.

Just my two cents ;-)


On Wed, Oct 9, 2013 at 5:22 PM, Lars Vogel <lars.vogel@xxxxxxxxx> wrote:
    > For the model itself how about both MDialog & MWizard extend MWindow (since they show up as windows). Whether or not we also need the MWizard to have a 
    > specific collection of MWizardPages or if we can just have the logic manipulate an MPartStack using ids is open for me, there's are good reasons for either way. The
    > MApplication would be extended to have two new collections; 'dialogs' and 'wizards'.

    I would agree with Wim that MWizardPage might not be necessary. MPart appears at the moment sufficient. I also like the idea of re-using MPartStack for the wizard.




    2013/10/9 Eric Moffatt <emoffatt@xxxxxxxxxx>
      Modeling the Dialogs and Wizards for an application is a good thing to do. If you consider the model to represent the agnostic description of what UI bits the app needs in order to function then it makes perfect sense to say something along the lines of:

      "My Contacts app needs the Contacts window, an Open Contact List dialog and a Create Contact wizard"


      This is a proper indication to anybody wishing to implement that application on *any* platform they they'll need to supply the rendered UI for those components.


      Before getting into the model specifics I'd like to look at what Dialogs and Wizards *are*...


      - They show up in their own windows
      - They both represent requests to gather information from the User
      - They're transient; opened by the IDE -> closed by the User


      So, the specifics of how they're modeled aside, how do the elements communicate the results back to the IDE ? The pattern for creation seems fairly straightforward; add all necessary input parameters into the 'localContext' used to render the Dialog / Wizard. It's less clear how the IDE (app) then retrieves the result.


      For the model itself how about both MDialog & MWizard extend MWindow (since they show up as windows). Whether or not we also need the MWizard to have a specific collection of MWizardPages or if we can just have the logic manipulate an MPartStack using ids is open for me, there's are good reasons for either way. The MApplication would be extended to have two new collections; 'dialogs' and 'wizards'.


      Note that there's a beneficial side-effect of modeling the Dialogs / Wizards; this structure makes it completely natural to embed parts into both Dialogs and Wizard(page)s. One of the initial problems I faced during my demos for this was that I had to 'fake' the embedded part being in the model (see EModelService#hostElement); if the MDialog were modeled this would no longer be an issue.


      Thanks folks, this is exactly the type of discussion I was hoping for,
      Eric



      Inactive hide details for Tom Schindl ---10/09/2013 09:15:51 AM---Not strictly speaking but maybe we need some extra attributesTom Schindl ---10/09/2013 09:15:51 AM---Not strictly speaking but maybe we need some extra attributes later on there so I would model it exp
    From:

Tom Schindl <
tom.schindl@xxxxxxxxxxxxxxx>
    To:

e4-dev@xxxxxxxxxxx,
    Date:

10/09/2013 09:15 AM
    Subject:


Re: [e4-dev] Now's the time to figure out what we need in e4
    Sent by:

e4-dev-bounces@xxxxxxxxxxx
_______________________________________________
e4-dev mailing list
e4-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/e4-dev


GIF image

GIF image


Back to the top