package tripvisUI.flexlibextention { import flexlib.scheduling.scheduleClasses.IScheduleEntry; import tripvisModel.TripItem; import tripvisModel.TripVisModel; import tripvisModel.controllers.TimelineController; import tripvisUI.TripItemColors; import tripvisUI.TripItemDefaultIcons; public class TripScheduleEntry implements IScheduleEntry { private var _tripItem: TripItem; //constructor: public function TripScheduleEntry(tripItem: TripItem) { this._tripItem = tripItem; } // getters & setters public function get tripItem(): TripItem { return this._tripItem; } // datums moeten terug geset kunnen worden door een verandering in de tijdslijnUI public function get startDate() : Date { return _tripItem.timePeriod.startDate; } public function set startDate( value : Date) : void { var timelineController: TimelineController = TripVisModel.instance.timelineController; timelineController.updateTripItemStartDate(this._tripItem, value); } public function get endDate() : Date { return _tripItem.timePeriod.endDate; } public function set endDate( value : Date ) : void { var timelineController: TimelineController = TripVisModel.instance.timelineController; timelineController.updateTripItemEndDate(this._tripItem, value); } // image & name mogen niet aangepast kunnen worden public function get image(): String { if (_tripItem.thumbnailUrl == "") { return TripItemDefaultIcons.getDefaultIcon(_tripItem.type); } else { return _tripItem.thumbnailUrl; } } public function get name(): String { return _tripItem.name; } public function get backgroundColor(): int { return TripItemColors.getTripItemColor(_tripItem.type); } public function toString() : String { return "[object SimpleScheduleEntry startDate:" + startDate + " endDate:" + endDate + "]"; } } }