Return-Path: X-Original-To: apmail-incubator-flex-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-flex-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 84B399F28 for ; Wed, 21 Mar 2012 23:05:55 +0000 (UTC) Received: (qmail 98525 invoked by uid 500); 21 Mar 2012 23:05:55 -0000 Delivered-To: apmail-incubator-flex-commits-archive@incubator.apache.org Received: (qmail 98455 invoked by uid 500); 21 Mar 2012 23:05:54 -0000 Mailing-List: contact flex-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: flex-dev@incubator.apache.org Delivered-To: mailing list flex-commits@incubator.apache.org Received: (qmail 98445 invoked by uid 99); 21 Mar 2012 23:05:54 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Mar 2012 23:05:54 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Mar 2012 23:05:50 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 156BF238896F; Wed, 21 Mar 2012 23:05:29 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1303614 - in /incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark: components/Alert.as skins/ skins/AlertSkin.mxml Date: Wed, 21 Mar 2012 23:05:28 -0000 To: flex-commits@incubator.apache.org From: tink@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120321230529.156BF238896F@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: tink Date: Wed Mar 21 23:05:28 2012 New Revision: 1303614 URL: http://svn.apache.org/viewvc?rev=1303614&view=rev Log: Initial import of how I would approach a Spark Alert component. Skinning is still very rough. Added: incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/components/Alert.as incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/skins/ incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/skins/AlertSkin.mxml Added: incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/components/Alert.as URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/components/Alert.as?rev=1303614&view=auto ============================================================================== --- incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/components/Alert.as (added) +++ incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/components/Alert.as Wed Mar 21 23:05:28 2012 @@ -0,0 +1,281 @@ +package org.apache.spark.components +{ + import flash.display.DisplayObjectContainer; + + import mx.collections.ArrayList; + + import org.apache.spark.components.supportClasses.SkinnablePopUpComponent; + + import spark.components.ButtonBar; + import spark.core.IDisplayText; + import spark.events.IndexChangeEvent; + import spark.primitives.BitmapImage; + + public class Alert extends SkinnablePopUpComponent + { + + + //-------------------------------------------------------------------------- + // + // Constructor + // + //-------------------------------------------------------------------------- + + /** + * Constructor. + * + * @langversion 3.0 + * @playerversion Flash 10 + * @playerversion AIR 2.5 + * @productversion Flex 4.5 + */ + public function Alert() + { + super(); + } + + + //-------------------------------------------------------------------------- + // + // Skin Parts + // + //-------------------------------------------------------------------------- + + [SkinPart(required="false")] + public var titleDisplay:IDisplayText; + + [SkinPart(required="false")] + public var messageDisplay:IDisplayText; + + [SkinPart(required="false")] + public var iconDisplay:BitmapImage; + + [SkinPart(required="true")] + public var buttonBar:ButtonBar; + + + + //-------------------------------------------------------------------------- + // + // Properties + // + //-------------------------------------------------------------------------- + + //---------------------------------- + // title + //---------------------------------- + + /** + * @private + */ + private var _title:String; + + /** + * Text string that appears in the title bar. + * This text is in the title area of the alert dialog box. + * + * @langversion 3.0 + * @playerversion Flash 10 + * @playerversion AIR 2.5 + * @productversion Flex 4.5 + */ + public function get title():String + { + return _title; + } + /** + * @private + */ + public function set title(value:String):void + { + if( _title == value ) return; + + _title = value; + if( titleDisplay ) titleDisplay.text = title; + } + + + //---------------------------------- + // message + //---------------------------------- + + /** + * @private + */ + private var _message:String; + + /** + * Text string that appears in the MobileAlert control. + * This text is the main text within the alert dialog box. + * + * @langversion 3.0 + * @playerversion Flash 10 + * @playerversion AIR 2.5 + * @productversion Flex 4.5 + */ + public function get message():String + { + return _message; + } + /** + * @private + */ + public function set message( value:String ):void + { + if( _message == value ) return; + + _message = value; + if( messageDisplay ) messageDisplay.text = message; + } + + + //---------------------------------- + // icon + //---------------------------------- + + /** + * @private + */ + private var _icon:Object; + + /** + * @copy spark.primitives.BitmapImage#source + * + * @langversion 3.0 + * @playerversion Flash 10 + * @playerversion AIR 2.5 + * @productversion Flex 4.5 + */ + public function get icon():Object + { + return _icon; + } + /** + * @private + */ + public function set icon( value:Object ):void + { + if( _icon == value ) return; + + _icon = value; + if( iconDisplay ) iconDisplay.source = icon; + } + + + //---------------------------------- + // buttonLabels + //---------------------------------- + + /** + * @private + */ + private var _buttonLabels:Array; + + /** + * Text string that appears in the MobileAlert control. + * This text is the main text within the alert dialog box. + * + * @langversion 3.0 + * @playerversion Flash 10 + * @playerversion AIR 2.5 + * @productversion Flex 4.5 + */ + public function get buttonLabels():Array + { + return _buttonLabels; + } + /** + * @private + */ + public function set buttonLabels( value:Array ):void + { + if( _buttonLabels == value ) return; + + _buttonLabels = value; + if( buttonBar ) buttonBar.dataProvider = new ArrayList( buttonLabels ); + } + + + + //-------------------------------------------------------------------------- + // + // Methods + // + //-------------------------------------------------------------------------- + + /** + * @inheritDoc + */ + override public function open( owner:DisplayObjectContainer, modal:Boolean = true ):void + { + super.open( owner, modal ); + } + + /** + * @private + */ + override protected function partAdded( partName:String, instance:Object ):void + { + super.partAdded( partName, instance ); + + switch( instance ) + { + case titleDisplay : + { + titleDisplay.text = title; + break; + } + case messageDisplay : + { + messageDisplay.text = message; + break; + } + case iconDisplay : + { + iconDisplay.source = icon; + break; + } + case buttonBar : + { + buttonBar.addEventListener( IndexChangeEvent.CHANGE, buttonBar_changeHandler, false, 0, true ); + buttonBar.dataProvider = new ArrayList( _buttonLabels ); + break; + } + } + } + + /** + * @private + */ + override protected function partRemoved( partName:String, instance:Object ):void + { + super.partRemoved( partName, instance ); + + switch( instance ) + { + case buttonBar : + { + buttonBar.removeEventListener( IndexChangeEvent.CHANGE, buttonBar_changeHandler, false ); + break; + } + } + } + + + + //-------------------------------------------------------------------------- + // + // Event Handlers + // + //-------------------------------------------------------------------------- + + /** + * @private + */ + private function buttonBar_changeHandler( event:IndexChangeEvent ):void + { + close( true, buttonBar.selectedItem ); + } + + } +} \ No newline at end of file Added: incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/skins/AlertSkin.mxml URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/skins/AlertSkin.mxml?rev=1303614&view=auto ============================================================================== --- incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/skins/AlertSkin.mxml (added) +++ incubator/flex/whiteboard/quetwo/MobileAlert/src/org/apache/spark/skins/AlertSkin.mxml Wed Mar 21 23:05:28 2012 @@ -0,0 +1,115 @@ + + + + + + /** + * @copy spark.skins.spark.ApplicationSkin#hostComponent + */ + [HostComponent("org.apache.spark.components.Alert")] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +