cz.cuni.pogamut.shed.presenter
Interface IPresenterFactory

Package class diagram package IPresenterFactory
All Known Implementing Classes:
ShedPresenterFactory

public interface IPresenterFactory

Interface for factory creating the presenters for yaposh scene. Presenters are responsible for updating the scene according to underlying changes of the plan. TODO: Once done paths are checked, remove obsolete chain and elements parameters from methods. Be careful when implementing the presenters, you can't store LapPath in them, because stuff can move around.

Author:
Honza

Method Summary
 IPresenter createActionPatternPresenter(LapPath actionPatternPath, TriggeredAction referencingAction, ActionPattern actionPattern, ShedVariableWidget actionPatternWidget, LapChain chain)
          Create presenter for action pattern widget.
 IPresenter createActionPresenter(LapPath actionPath, TriggeredAction action, ShedVariableWidget actionWidget, LapChain actionChain)
          Create presenter for primitive action.
 IPresenter createActionsPresenter(LapPath actionPatternPath, ActionPattern actionPattern, ShedActionsEnvelope actionsEnvelope, LapChain actionPatternChainchain)
          Create presenter that will take care about keeping adding/moving/removing expanded actions in the ShedActionsEnvelope for ActionPattern.
 IPresenter createChoicePresenter(LapPath choicePath, CompetenceElement choice, ShedVariableWidget choiceWidget)
          Create presenter for choice widget, only the widget, not its trigger nor action.
 IPresenter createChoicesPresenter(LapPath competencePath, Competence competence, ShedChoicesEnvelope choicesEnvelope, LapChain competenceChainchain)
          Create presenter responsible for adding, moving and removing choices widgets in the ShedChoicesEnvelope.
 IPresenter createCompetencePresenter(LapPath competencePath, TriggeredAction referencingAction, Competence competence, ShedVariableWidget competenceWidget, LapChain chain)
          Create presenter for competence widget.
 IPresenter createDriveCollectionPresenter(LapPath driveCollectionPath, DriveCollection driveCollection)
          Create presenter for drive collection, responsible for keeping track of added/moved/removed drives.
 IPresenter createDrivePresenter(LapPath drivePath, DriveElement drive, ShedVariableWidget widget)
          Create presenter for drive widget.
 IPresenter createExpandedActionPresenter(TriggeredAction action, ExpandedActionEnvelope envelope, LapChain chain)
          Create presenter for expanded action, i.e.
 IPresenter createSensePresenter(LapPath sensePath, Sense sense, ShedSenseWidget senseWidget, LapChain senseChain)
          Create presenter for sense at @sensePath that will present the sense in the @senseWidget.
<TRIGGER_PARENT extends PoshElement>
IPresenter
createTriggerPresenter(TRIGGER_PARENT parent, Trigger<TRIGGER_PARENT> trigger, ShedTriggerEnvelope triggerEnvelope, LapChain parentChain)
          Create presenter for trigger, it is responsible for keepeing track of added/moved/removed senses.
 

Method Detail

createActionPresenter

IPresenter createActionPresenter(LapPath actionPath,
                                 TriggeredAction action,
                                 ShedVariableWidget actionWidget,
                                 LapChain actionChain)
Create presenter for primitive action. The action doesn't have any children.

Parameters:
actionPath - Path to the action in the plan
action - Action the presenter is presenting.
actionWidget - The widget that represents the @action in the scene.
actionChain - Parameter chain to the action.
Returns:
Presenter for action

createExpandedActionPresenter

IPresenter createExpandedActionPresenter(TriggeredAction action,
                                         ExpandedActionEnvelope envelope,
                                         LapChain chain)
Create presenter for expanded action, i.e. the whole expanded structure that can happen from unknown reference. This presenter must reflect that

Parameters:
action - Action that was expnanded
envelope - Envelope that contains expanded action in the scene
chain - Parameter chain up to the branch node right before the
Returns:
Presenter for expanded action.

createSensePresenter

IPresenter createSensePresenter(LapPath sensePath,
                                Sense sense,
                                ShedSenseWidget senseWidget,
                                LapChain senseChain)
Create presenter for sense at @sensePath that will present the sense in the @senseWidget.

Parameters:
sensePath - Path to the sense in the plan
sense - Sense that is being presented
senseWidget - Widget that represents the sense in the scene.
senseChain - Parameter chain up to including sense.
Returns:
Presenter of sense

createTriggerPresenter

<TRIGGER_PARENT extends PoshElement> IPresenter createTriggerPresenter(TRIGGER_PARENT parent,
                                                                       Trigger<TRIGGER_PARENT> trigger,
                                                                       ShedTriggerEnvelope triggerEnvelope,
                                                                       LapChain parentChain)
Create presenter for trigger, it is responsible for keepeing track of added/moved/removed senses.

Type Parameters:
TRIGGER_PARENT - Owner of the trigger
Parameters:
parent - The posh element this trigger belongs to
trigger - Presented trigger
triggerEnvelope - Envelope representing the trigger in the scene.
parentChain - Parameter chain of the triggers owner
Returns:

createDriveCollectionPresenter

IPresenter createDriveCollectionPresenter(LapPath driveCollectionPath,
                                          DriveCollection driveCollection)
Create presenter for drive collection, responsible for keeping track of added/moved/removed drives.

Parameters:
driveCollectionPath - Path to the DC
driveCollection - Presented drive collection
Returns:

createActionPatternPresenter

IPresenter createActionPatternPresenter(LapPath actionPatternPath,
                                        TriggeredAction referencingAction,
                                        ActionPattern actionPattern,
                                        ShedVariableWidget actionPatternWidget,
                                        LapChain chain)
Create presenter for action pattern widget. This doesn't affect anything else(APs actions...), only the actionPatternWidget. The presenter should update widget when its properties, e.g.g parameters are changed.

Parameters:
actionPatternPath - Path to the action pattern, path ends with ../A:?/AP:?
referencingAction - The action that referenced the action pattern
actionPattern - Presented ActionPattern.
actionPatternWidget - Widget representing the AP.
chain - Parameter chain to AP (incl).
Returns:

createCompetencePresenter

IPresenter createCompetencePresenter(LapPath competencePath,
                                     TriggeredAction referencingAction,
                                     Competence competence,
                                     ShedVariableWidget competenceWidget,
                                     LapChain chain)
Create presenter for competence widget. The presenter is responsible only for the widget of competence, not for its choices ect. It should for example update the widget when arguments or parameters of link are changed.

Parameters:
competencePath - Path to the competence, path ends with ../A:?/C:?
referencingAction - Action referencing the competence.
competence - Presented competence.
competenceWidget - Widget representing the competence in the scene.
chain - Parameter chain up to incl. competence.
Returns:

createChoicePresenter

IPresenter createChoicePresenter(LapPath choicePath,
                                 CompetenceElement choice,
                                 ShedVariableWidget choiceWidget)
Create presenter for choice widget, only the widget, not its trigger nor action. Basically it is responsible only for showing changes of choice name in the widget.

Parameters:
choicePath - Path to the choice, it will end with ../A:?/C:?/CE:?
choice - Presented choice.
choiceWidget - Widget representing the choice in the scene.
Returns:

createDrivePresenter

IPresenter createDrivePresenter(LapPath drivePath,
                                DriveElement drive,
                                ShedVariableWidget widget)
Create presenter for drive widget. It reflects only changes of drive widget, not its trigger or action. Overall it only reflects chganges of name.

Parameters:
drivePath - Path to drive, ../DE:?
drive - Presented drive
widget - Widget representing the drive in the scene.
Returns:

createActionsPresenter

IPresenter createActionsPresenter(LapPath actionPatternPath,
                                  ActionPattern actionPattern,
                                  ShedActionsEnvelope actionsEnvelope,
                                  LapChain actionPatternChainchain)
Create presenter that will take care about keeping adding/moving/removing expanded actions in the ShedActionsEnvelope for ActionPattern.

Parameters:
actionPatternPath - Path to the action pattern, ends with ../AP:?.
actionPattern - AP that contains the presented actions
actionsEnvelope - Envelope that contains representations of the actions.
actionPatternChain - Chain to the @actionPattern of the actions.
Returns:

createChoicesPresenter

IPresenter createChoicesPresenter(LapPath competencePath,
                                  Competence competence,
                                  ShedChoicesEnvelope choicesEnvelope,
                                  LapChain competenceChainchain)
Create presenter responsible for adding, moving and removing choices widgets in the ShedChoicesEnvelope.

Parameters:
competencePath - Path to the competence whose choices are managed. Ends with ../A:?/C:?.
competence - Competence that contains presented choices.
choicesEnvelope - Envelope containing the representations of presented choices.
competenceChain - Chain to the @competence.


Copyright © 2013 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.