| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425 |
- package com.imt.intimamedia.helpers
- {
- import com.imt.intimamedia.events.user.UserHelpEvent;
- import com.imt.intimamedia.model.ApplicationModelLocator;
-
- import flash.events.Event;
- import flash.events.MouseEvent;
-
- import mx.collections.ArrayCollection;
- import mx.containers.Canvas;
- import mx.containers.HBox;
- import mx.containers.VBox;
- import mx.controls.Alert;
- import mx.controls.CheckBox;
- import mx.controls.Image;
- import mx.controls.LinkButton;
- import mx.controls.Spacer;
- import mx.core.Application;
- import mx.core.UIComponent;
- import mx.effects.Parallel;
- import mx.effects.Zoom;
- import mx.events.ResizeEvent;
- import mx.managers.PopUpManager;
- import mx.resources.ResourceManager;
- import mx.skins.halo.HaloBorder;
- import mx.utils.ObjectUtil;
-
- public class HelpUtils
- {
- public static var helpCanvas : Canvas;
- public static var helpIndex : int;
- public static var helpPagesArray : ArrayCollection;
-
-
- public function HelpUtils() { }
-
-
- public static function addNavigationLink(helpIndex : int) : void
- {
- var phbox : HBox = new HBox();
- var nhbox : HBox = new HBox();
-
- if (helpIndex - 1 >= 0)
- {
- var prevLinkButton : LinkButton = new LinkButton();
- prevLinkButton.label = ResourceManager.getInstance().getString('labels', 'previous') + ' ' + helpPagesArray.getItemAt(helpIndex - 1).label;
- prevLinkButton.name = helpPagesArray.getItemAt(helpIndex - 1).label;
- prevLinkButton.addEventListener(MouseEvent.CLICK, changeHelp );
- prevLinkButton.setStyle("fontWeight", "bold");
- prevLinkButton.setStyle("fontSize", 16);
- prevLinkButton.setStyle("color", "#FFFFFF");
-
- phbox.addChild(prevLinkButton);
- }
-
- if (helpPagesArray.length > helpIndex + 1)
- {
- var nextLinkButton : LinkButton = new LinkButton();
- nextLinkButton.label = ResourceManager.getInstance().getString('labels', 'next') + ' ' + helpPagesArray.getItemAt(helpIndex + 1).label;
- nextLinkButton.name = helpPagesArray.getItemAt(helpIndex + 1).label;
- nextLinkButton.addEventListener(MouseEvent.CLICK, changeHelp );
- nextLinkButton.setStyle("fontWeight", "bold");
- nextLinkButton.setStyle("fontSize", 16);
- nextLinkButton.setStyle("color", "#FFFFFF");
-
- nhbox.addChild(nextLinkButton);
- }
-
- if (phbox.getChildren().length)
- {
- phbox.setStyle("backgroundColor", "#999999");
- phbox.setStyle("horizontalAlign", "left");
- phbox.setStyle("left", "20");
- phbox.setStyle("bottom", "20");
- phbox.setStyle("borderColor", "#222222");
- phbox.setStyle("borderThickness", "1");
- phbox.setStyle("borderStyle", "solid");
- helpCanvas.addChild(phbox);
- }
-
- if (nhbox.getChildren().length)
- {
- nhbox.setStyle("backgroundColor", "#999999");
- nhbox.setStyle("horizontalAlign", "right");
- nhbox.setStyle("right", "20");
- nhbox.setStyle("bottom", "20");
- nhbox.setStyle("borderColor", "#222222");
- nhbox.setStyle("borderThickness", "1");
- nhbox.setStyle("borderStyle", "solid");
- helpCanvas.addChild(nhbox);
- }
- }
-
- public static function loadHelp(helpPages : ArrayCollection, idx : int) : void
- {
- if (ApplicationModelLocator.getInstance().generalMenuActive)
- return;
-
- helpPagesArray = helpPages;
-
- showHelp(helpPages.getItemAt(idx).page, helpPages.getItemAt(idx).image,
- helpPages.getItemAt(idx).addEffect, helpPages.getItemAt(idx).removeEffect);
-
- helpIndex = idx;
- addNavigationLink(idx);
- }
-
- public static function changeHelp(event : Event) : void
- {
- var found : Boolean = false;
-
- hideHelp(event);
-
- for each (var help : Object in helpPagesArray)
- // labels have to be unique; there is a comparison on it
- if (event.currentTarget.name == help.label)
- {
- helpIndex = helpPagesArray.getItemIndex(help);
- found = true;
- break;
- }
-
- if (!found)
- return;
-
- showHelp(helpPagesArray.getItemAt(helpIndex).page, helpPagesArray.getItemAt(helpIndex).image,
- helpPagesArray.getItemAt(helpIndex).addEffect, helpPagesArray.getItemAt(helpIndex).removeEffect);
-
- addNavigationLink(helpIndex);
- }
-
- public static function showHelp(page : UIComponent, image : Image, addEffect : Zoom, removeEffect : Parallel) : void
- {
- if (ApplicationModelLocator.getInstance().generalMenuActive)
- return;
-
- var closeButton : Image = new Image();
- closeButton.source = "/images/help/close.png";
- closeButton.width = 20;
- closeButton.height = 20;
- closeButton.buttonMode = true;
- closeButton.useHandCursor = true;
- closeButton.addEventListener( MouseEvent.CLICK, hideHelp );
-
- var helpCheckBox : CheckBox = new CheckBox();
- helpCheckBox.label = ResourceManager.getInstance().getString('labels', 'hide.help');
- helpCheckBox.labelPlacement = "right";
- helpCheckBox.x = 450;
-
- helpCheckBox.setStyle("bottom", "20");
-
- helpCheckBox.selected = !ApplicationModelLocator.getInstance().connectedUser.help;
- helpCheckBox.addEventListener(MouseEvent.CLICK, setUserHelp);
-
- image.visible = true;
- image.includeInLayout = true;
- helpCanvas = new Canvas();
-
- // image width = 1000 and image height = 702
- image.maintainAspectRatio = true;
-
- helpCanvas.width = image.getExplicitOrMeasuredWidth();
- helpCanvas.height = image.getExplicitOrMeasuredHeight();
-
- closeButton.setStyle("top", "10");
- closeButton.setStyle("right", "15");
-
- helpCanvas.addChild(image);
- helpCanvas.addChild(closeButton);
- helpCanvas.addChild(helpCheckBox);
-
- helpCanvas.verticalScrollPolicy = "off";
- helpCanvas.horizontalScrollPolicy = "off";
-
- helpCanvas.addEventListener( Event.COMPLETE, centerHelp );
- helpCanvas.addEventListener( ResizeEvent.RESIZE, centerHelp );
-
- // CJA : Ajouter Le 28 Aout 2013 (Demande PJT)
- helpCanvas.addEventListener( MouseEvent.CLICK, hideHelp );
-
- helpCanvas.setStyle("addedEffect", addEffect);
- helpCanvas.setStyle("removedEffect", removeEffect);
-
- PopUpManager.addPopUp( helpCanvas, UIComponent(page), true );
- }
-
- public static function centerHelp(event : Event) : void
- {
- PopUpManager.centerPopUp( helpCanvas as Canvas );
- }
-
- public static function hideHelp(event : Event) : void
- {
- helpCanvas.removeAllChildren();
- helpCanvas.removeEventListener( Event.COMPLETE, centerHelp );
- helpCanvas.removeEventListener( ResizeEvent.RESIZE, centerHelp );
- PopUpManager.removePopUp( helpCanvas as Canvas );
- }
-
- public static function setUserHelp( event : Event ) : void
- {
- if ((event.currentTarget as CheckBox).selected)
- ApplicationModelLocator.getInstance().connectedUser.help = false;
- else
- ApplicationModelLocator.getInstance().connectedUser.help = true;
-
- new UserHelpEvent(ApplicationModelLocator.getInstance().connectedUser.id, ApplicationModelLocator.getInstance().connectedUser.help).dispatch();
- }
-
- public static function loadPatientHelp(image : Image) : void
- {
- if (ApplicationModelLocator.getInstance().generalMenuActive)
- return;
-
- // help pages of Patient
- var helpPages : ArrayCollection = HelpUtils.buildPatientHelpPages();
-
- var idx : int = 0;
-
- if (!ObjectUtil.compare(image, Application.application.physicianMenuHelp))
- idx = 0;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.patient.patientFile.searchPatientHelp))
- idx = 1;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.patient.patientFile.createPatientHelp))
- idx = 2;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.patient.patientFile.patientTabHelp))
- idx = 3;
-
- HelpUtils.loadHelp(helpPages, idx);
- }
-
- public static function buildPatientHelpPages() : ArrayCollection
- {
- // labels have to be unique; there is a comparison on it
- var helpPages : ArrayCollection = new ArrayCollection();
- helpPages.addItem({page:Application.application,
- image:Application.application.physicianMenuHelp,
- label:ResourceManager.getInstance().getString('labels', 'main.menu'),
- addEffect:Application.application.zoomHelpAdd,
- removeEffect:Application.application.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.patient.patientFile,
- image:Application.application.menuPhysician.patient.patientFile.searchPatientHelp,
- label:ResourceManager.getInstance().getString('labels', 'label.search'),
- addEffect:Application.application.menuPhysician.patient.patientFile.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.patient.patientFile.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.patient.patientFile,
- image:Application.application.menuPhysician.patient.patientFile.createPatientHelp,
- label:ResourceManager.getInstance().getString('labels', 'title.patientFile'),
- addEffect:Application.application.menuPhysician.patient.patientFile.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.patient.patientFile.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.patient.patientFile,
- image:Application.application.menuPhysician.patient.patientFile.patientTabHelp,
- label:ResourceManager.getInstance().getString('labels', 'patient.tabs'),
- addEffect:Application.application.menuPhysician.patient.patientFile.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.patient.patientFile.zoomHelpRemove});
-
- return helpPages;
- }
-
- public static function loadAcquireHelp(image : Image) : void
- {
- if (ApplicationModelLocator.getInstance().generalMenuActive)
- return;
-
- // help pages of Acquire
- var helpPages : ArrayCollection = HelpUtils.buildAcquireHelpPages();
-
- var idx : int = 0;
-
- if (!ObjectUtil.compare(image, Application.application.menuPhysician.acquire.acquireGlobalProcessHelp))
- idx = 0;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.acquire.acquireAcquisitionHelp))
- idx = 1;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.acquire.acquireAffectationHelp))
- idx = 2;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.acquire.acquireThumbnailHelp))
- idx = 3;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.acquire.acquireLesionsHelp))
- idx = 4;
-
- HelpUtils.loadHelp(helpPages, idx);
- }
-
- public static function buildAcquireHelpPages() : ArrayCollection
- {
- // labels have to be unique; there is a comparison on it
- var helpPages : ArrayCollection = new ArrayCollection();
- helpPages.addItem({page:Application.application.menuPhysician.acquire,
- image:Application.application.menuPhysician.acquire.acquireGlobalProcessHelp,
- label:ResourceManager.getInstance().getString('labels', 'physicianAcquire'),
- addEffect:Application.application.menuPhysician.acquire.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.acquire.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.acquire,
- image:Application.application.menuPhysician.acquire.acquireAcquisitionHelp,
- label:ResourceManager.getInstance().getString('labels', 'measures.label.images'),
- addEffect:Application.application.menuPhysician.acquire.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.acquire.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.acquire,
- image:Application.application.menuPhysician.acquire.acquireAffectationHelp,
- label:ResourceManager.getInstance().getString('labels', 'title.affectation'),
- addEffect:Application.application.menuPhysician.acquire.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.acquire.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.acquire,
- image:Application.application.menuPhysician.acquire.acquireThumbnailHelp,
- label:ResourceManager.getInstance().getString('labels', 'acquire.incidence'),
- addEffect:Application.application.menuPhysician.acquire.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.acquire.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.acquire,
- image:Application.application.menuPhysician.acquire.acquireLesionsHelp,
- label:ResourceManager.getInstance().getString('labels', 'title.lesion'),
- addEffect:Application.application.menuPhysician.acquire.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.acquire.zoomHelpRemove});
-
- return helpPages;
- }
-
- public static function loadMeasuresHelp(image : Image) : void
- {
- if (ApplicationModelLocator.getInstance().generalMenuActive)
- return;
-
- // help pages of Measures
- var helpPages : ArrayCollection = HelpUtils.buildMeasuresHelpPages();
-
- var idx : int = 0;
-
- if (!ObjectUtil.compare(image, Application.application.menuPhysician.generalMeasure.measures.measuresThumbnailHelp))
- idx = 0;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.generalMeasure.measures.measuresHelp))
- idx = 1;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.generalMeasure.measures.measuresCalibrationHelp))
- idx = 2;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.generalMeasure.measures.measuresEndingCalibrationHelp))
- idx = 3;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.generalMeasure.measures.measuresImtButtonHelp))
- idx = 4;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.generalMeasure.measures.measuresDistanceButtonHelp))
- idx = 5;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.generalMeasure.measures.measuresAreaButtonHelp))
- idx = 6;
-
- HelpUtils.loadHelp(helpPages, idx);
- }
-
- public static function buildMeasuresHelpPages() : ArrayCollection
- {
- // labels have to be unique; there is a comparison on it
- var helpPages : ArrayCollection = new ArrayCollection();
- helpPages.addItem({page:Application.application.menuPhysician.generalMeasure.measures,
- image:Application.application.menuPhysician.generalMeasure.measures.measuresThumbnailHelp,
- label:ResourceManager.getInstance().getString('labels', 'images'),
- addEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.generalMeasure.measures,
- image:Application.application.menuPhysician.generalMeasure.measures.measuresHelp,
- label:ResourceManager.getInstance().getString('labels', 'physicianMeasure'),
- addEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.generalMeasure.measures,
- image:Application.application.menuPhysician.generalMeasure.measures.measuresCalibrationHelp,
- label:ResourceManager.getInstance().getString('labels', 'measures.label.scale'),
- addEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.generalMeasure.measures,
- image:Application.application.menuPhysician.generalMeasure.measures.measuresEndingCalibrationHelp,
- label:ResourceManager.getInstance().getString('labels', 'scale.next'),
- addEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.generalMeasure.measures,
- image:Application.application.menuPhysician.generalMeasure.measures.measuresImtButtonHelp,
- label:ResourceManager.getInstance().getString('labels', 'measures.label.imt'),
- addEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.generalMeasure.measures,
- image:Application.application.menuPhysician.generalMeasure.measures.measuresDistanceButtonHelp,
- label:ResourceManager.getInstance().getString('labels', 'distance'),
- addEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.generalMeasure.measures,
- image:Application.application.menuPhysician.generalMeasure.measures.measuresAreaButtonHelp,
- label:ResourceManager.getInstance().getString('labels', 'area'),
- addEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.generalMeasure.measures.zoomHelpRemove});
-
- return helpPages;
- }
-
- public static function loadReportHelp(image : Image) : void
- {
- if (ApplicationModelLocator.getInstance().generalMenuActive)
- return;
-
- // help pages of Report
- var helpPages : ArrayCollection = HelpUtils.buildReportHelpPages();
-
- var idx : int;
-
- if (!ObjectUtil.compare(image, Application.application.menuPhysician.report.reportConfigurationHelp))
- idx = 0;
- else if (!ObjectUtil.compare(image, Application.application.menuPhysician.report.reportDataHelp))
- idx = 1;
-
- HelpUtils.loadHelp(helpPages, idx);
- }
-
- public static function buildReportHelpPages() : ArrayCollection
- {
- var helpPages : ArrayCollection = new ArrayCollection();
- helpPages.addItem({page:Application.application.menuPhysician.report,
- image:Application.application.menuPhysician.report.reportConfigurationHelp,
- label:ResourceManager.getInstance().getString('labels', 'report.settings'),
- addEffect:Application.application.menuPhysician.report.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.report.zoomHelpRemove});
- helpPages.addItem({page:Application.application.menuPhysician.report,
- image:Application.application.menuPhysician.report.reportDataHelp,
- label:ResourceManager.getInstance().getString('labels', 'report.data'),
- addEffect:Application.application.menuPhysician.report.zoomHelpAdd,
- removeEffect:Application.application.menuPhysician.report.zoomHelpRemove});
-
- return helpPages;
- }
- }
- }
|