Packageat.fhjoanneum.dmt.umj.core.controllers
Classpublic class BaseDisplayController
InheritanceBaseDisplayController Inheritance Object

IMPORTANT FRAMEWORK CLASS: The BaseDisplayController is the second class every application MUST extend and override a few protected functions to operate as intended. This class is extended from object and only lives for the purpose of building your DisplayContainer with its applicationComponent. You should control all your adding and switching between layers HERE, while the components manage their lifecycle on its own. TimingUtil automatically informs this class if the screensaver should be activated. Thus override the marked methods. Also you must specify the buildDisplayContainer method if default behaviour isn't needed... buildMainDisplay must be overridden if you don't want to automatically add info and instruction texts to your app. buildApplicationDisplay must be overriden with your own implementation of how the application looks and behaves... HINT: Have your own applicationComponent! // Runtime variables private var applicationComponentXX:ApplicationComponentXX;



Public Properties
 PropertyDefined By
  appContent : AppContent
[read-only]
BaseDisplayController
  displayContainer : DisplayContainerWithNavigationButtons
[read-only]
BaseDisplayController
Protected Properties
 PropertyDefined By
  _displayContainer : DisplayContainerWithNavigationButtons
BaseDisplayController
  _stageContainer : Group
BaseDisplayController
Public Methods
 MethodDefined By
  
BaseDisplayController(linkedStageContainer:Group)
Dont forget to pass the container to the super function after you extend it! super(linkedStageContainer); !
BaseDisplayController
  
build(linkedAppContent:AppContent):void
this method is called at the phase 5 inside the applicationController you don't have to call it, and should NOT override it it calls these methods buildDisplayContainer, buildMainDisplay and buildApplicationDisplay sequentially
BaseDisplayController
  
enableAdministrationInterfaceAndDebugKeyboard enabled the administration window within your application via the keyboard toogles
BaseDisplayController
  
hideScreenSaver(e:Event):void
hideScreenSaver - don't touch - it disables the default screensaver through the displayContainer.hideScreenSaver();
BaseDisplayController
  
linkWithTiming(linkedTiming:TimingUtil):void
linkWithTiming - don't touch it, it links the displayController with the basic timing libraries for global timing handling
BaseDisplayController
  
resetApplication SHOULD BE overriden by YOU! This method is automatically called when the screensaver reaches and the application has to be resetted Thus inform your runtime components WITHIN this method!!!
BaseDisplayController
  
showScreenSaver(e:Event):void
showScreenSaver - don't touch it, will be automatically called to show the default screensaver thats defined in the method displayContainer.showScreenSaver();
BaseDisplayController
  
sets the configured startup visibility of the mouse as defined
BaseDisplayController
  
sets the startup screen mode of your application as defined within AppConfig
BaseDisplayController
  
toogles the current visibility of the mouse
BaseDisplayController
  
toggles the startup screen mode of your application and thus overrides the configured default
BaseDisplayController
Protected Methods
 MethodDefined By
  
buildApplicationDisplay SHOULD BE OVERRIDEN - IT IS COMPLETELY EMTPY! It will be called by build after buildDisplayContainer and buildMainDisplay have finished Thus this could be the main entry point for your own display implementation after phase 5 has already finished and only minor linking phases with the other controllers and helpers during phase 6 and phase 6a have to be completed PLACE AND ADD YOUR STATIC ELEMENTS that will be shown inside the DisplayComponent here!
BaseDisplayController
  
buildDisplayContainer MUST BE OVERRIDDEN IF YOU DON'T WANT TO USE DisplayContainerWithNavigationButtons (DisplayContainerWithNavigationButtons is the main display component of EVERY APPLICATION, it holds all layers and default navigation buttons) If you don't want to use it you'll have to implement your own class that's ALSO extends DisplayContainerWithNavigationButtons Then you'll have to provide its definition HERE via _displayContainer = new DisplayContainerWithNavigationButtonsMYOWN(); SAMPLE: Override this function: // Override this function to specify your own Application Display Components.
BaseDisplayController
  
buildMainDisplay MUST BE OVERRIDDEN IF YOU DON'T WANT TO automatically add informationText, informationHeader, instructionHeader and instructionText to your application HENCE: if you USE and application with NO information or instruction layer, PLEASE OVERRIDE it and provide your OWN definition of static application elements...
BaseDisplayController
Property Detail
_displayContainerproperty
protected var _displayContainer:DisplayContainerWithNavigationButtons

_stageContainerproperty 
protected var _stageContainer:Group

appContentproperty 
appContent:AppContent  [read-only]


Implementation
    public function get appContent():AppContent
displayContainerproperty 
displayContainer:DisplayContainerWithNavigationButtons  [read-only]


Implementation
    public function get displayContainer():DisplayContainerWithNavigationButtons
Constructor Detail
BaseDisplayController()Constructor
public function BaseDisplayController(linkedStageContainer:Group)

Dont forget to pass the container to the super function after you extend it! super(linkedStageContainer); !

Parameters
linkedStageContainer:Group
Method Detail
build()method
public function build(linkedAppContent:AppContent):void

this method is called at the phase 5 inside the applicationController you don't have to call it, and should NOT override it it calls these methods buildDisplayContainer, buildMainDisplay and buildApplicationDisplay sequentially

Parameters

linkedAppContent:AppContent

buildApplicationDisplay()method 
protected function buildApplicationDisplay():void

buildApplicationDisplay SHOULD BE OVERRIDEN - IT IS COMPLETELY EMTPY! It will be called by build after buildDisplayContainer and buildMainDisplay have finished Thus this could be the main entry point for your own display implementation after phase 5 has already finished and only minor linking phases with the other controllers and helpers during phase 6 and phase 6a have to be completed PLACE AND ADD YOUR STATIC ELEMENTS that will be shown inside the DisplayComponent here!

buildDisplayContainer()method 
protected function buildDisplayContainer():void

buildDisplayContainer MUST BE OVERRIDDEN IF YOU DON'T WANT TO USE DisplayContainerWithNavigationButtons (DisplayContainerWithNavigationButtons is the main display component of EVERY APPLICATION, it holds all layers and default navigation buttons) If you don't want to use it you'll have to implement your own class that's ALSO extends DisplayContainerWithNavigationButtons Then you'll have to provide its definition HERE via _displayContainer = new DisplayContainerWithNavigationButtonsMYOWN(); SAMPLE: Override this function: // Override this function to specify your own Application Display Components. You may use the applicationComponentXX to anything you want to! override protected function buildApplicationDisplay():void { LOG.debug("buildApplicationDisplay: Adding my ApplicationComponent"); // Specify application layer component applicationComponentXX = new ApplicationComponentXX(); displayContainer.applicationLayer.addElement(applicationComponentXX); LOG.info("buildApplicationDisplay: (NOW I'M ADDING MY OWN COMPONENTS OF THE LOADED ASSETS...)"); // all complete - now add our dynamically loaded assets through the appConten as MultiLingualComponent OR LocalizedItem // Add a few applicationComponentXX.leftGroup.addElement(appContent.getMultiLingualComponent('textTest')); applicationComponentXX.leftGroup.addElement(appContent.getMultiLingualComponent('pictureTest')); applicationComponentXX.rightGroup.addElement(appContent.getMultiLingualComponent('videoPlayerTest')); applicationComponentXX.rightGroup.addElement(appContent.getMultiLingualComponent('videoDisplayTest')); }

buildMainDisplay()method 
protected function buildMainDisplay():void

buildMainDisplay MUST BE OVERRIDDEN IF YOU DON'T WANT TO automatically add informationText, informationHeader, instructionHeader and instructionText to your application HENCE: if you USE and application with NO information or instruction layer, PLEASE OVERRIDE it and provide your OWN definition of static application elements... BUT you'll have to add the displayContainer (that you have build in buildDisplayContainer) on your own to the stage! So you'll have to add AT LEAST the following when you OVERRIDE this method: _stageContainer.addElementAt(displayContainerMYOWN, 0);

enableAdministrationInterfaceAndDebugKeyboard()method 
public function enableAdministrationInterfaceAndDebugKeyboard():void

enableAdministrationInterfaceAndDebugKeyboard enabled the administration window within your application via the keyboard toogles

hideScreenSaver()method 
public function hideScreenSaver(e:Event):void

hideScreenSaver - don't touch - it disables the default screensaver through the displayContainer.hideScreenSaver();

Parameters

e:Event

linkWithTiming()method 
public function linkWithTiming(linkedTiming:TimingUtil):void

linkWithTiming - don't touch it, it links the displayController with the basic timing libraries for global timing handling

Parameters

linkedTiming:TimingUtil

resetApplication()method 
public function resetApplication():void

resetApplication SHOULD BE overriden by YOU! This method is automatically called when the screensaver reaches and the application has to be resetted Thus inform your runtime components WITHIN this method!!!

showScreenSaver()method 
public function showScreenSaver(e:Event):void

showScreenSaver - don't touch it, will be automatically called to show the default screensaver thats defined in the method displayContainer.showScreenSaver();

Parameters

e:Event

startupMouseVisibility()method 
public function startupMouseVisibility():void

sets the configured startup visibility of the mouse as defined

startupScreenMode()method 
public function startupScreenMode():void

sets the startup screen mode of your application as defined within AppConfig

toggleMouseVisible()method 
public function toggleMouseVisible():void

toogles the current visibility of the mouse

toggleScreenMode()method 
public function toggleScreenMode():void

toggles the startup screen mode of your application and thus overrides the configured default