You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ma...@apache.org on 2013/10/02 03:33:41 UTC

git commit: [flex-examples] [refs/heads/mobileexperimental] - https://issues.apache.org/jira/browse/FLEX-33777 Dagrid for mobile - added sample mobile application to showcase MobileDataGrid - text in different formats - multi-DPI bitmaps - fixed and perc

Updated Branches:
  refs/heads/mobileexperimental a75f536fa -> 92f96a5af


https://issues.apache.org/jira/browse/FLEX-33777 Dagrid for mobile
- added sample mobile application to showcase MobileDataGrid
- text in different formats
- multi-DPI bitmaps
- fixed and percent width columns
- custom button renderer


Project: http://git-wip-us.apache.org/repos/asf/flex-examples/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-examples/commit/92f96a5a
Tree: http://git-wip-us.apache.org/repos/asf/flex-examples/tree/92f96a5a
Diff: http://git-wip-us.apache.org/repos/asf/flex-examples/diff/92f96a5a

Branch: refs/heads/mobileexperimental
Commit: 92f96a5af9156133f3e1d278a4f2b615ee13eb49
Parents: a75f536
Author: mamsellem <ma...@systar.com>
Authored: Wed Oct 2 03:31:42 2013 +0200
Committer: mamsellem <ma...@systar.com>
Committed: Wed Oct 2 03:31:42 2013 +0200

----------------------------------------------------------------------
 .../mobilegrid/.actionScriptProperties          |  80 +++++
 .../4.11/components/mobilegrid/.flexProperties  |   2 +
 showcase/4.11/components/mobilegrid/.project    |  23 ++
 .../embedded/images/aqua_inset_36_green.png     | Bin 0 -> 2935 bytes
 .../embedded/images/aqua_inset_36_red.png       | Bin 0 -> 3067 bytes
 .../embedded/images/status_aqua16_green.png     | Bin 0 -> 1922 bytes
 .../embedded/images/status_aqua16_red.png       | Bin 0 -> 1888 bytes
 .../embedded/images/status_aqua24_green.png     | Bin 0 -> 2412 bytes
 .../embedded/images/status_aqua24_red.png       | Bin 0 -> 2358 bytes
 .../4.11/components/mobilegrid/mobilegrid.iml   |  26 ++
 .../mobilegrid/src/MobileGridSample-app.xml     | 313 +++++++++++++++++++
 .../mobilegrid/src/MobileGridSample.mxml        |  24 ++
 .../src/renderers/MyActionButtonPartRenderer.as |  77 +++++
 .../mobilegrid/src/utils/FPSDisplay.as          | 217 +++++++++++++
 .../mobilegrid/src/views/MobileGridView.mxml    | 170 ++++++++++
 .../mobilegrid/src/views/MobileGridView2.mxml   | 127 ++++++++
 16 files changed, 1059 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/.actionScriptProperties b/showcase/4.11/components/mobilegrid/.actionScriptProperties
new file mode 100644
index 0000000..c8368fb
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/.actionScriptProperties
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<actionScriptProperties analytics="false" mainApplicationPath="MobileGridSample.mxml" projectUUID="5285c4ee-ffa0-4990-8b95-037e1c18d92b" version="11">
+  <compiler additionalCompilerArguments="-locale en_US" autoRSLOrdering="true" copyDependentFiles="true" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin-debug" removeUnusedRSL="true" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="true" useDebugRSLSwfs="true" useFlashSDK="false" verifyDigests="true" warn="true">
+    <compilerSourcePath/>
+    <libraryPath defaultLinkType="0">
+      <libraryPathEntry kind="4" path="">
+        <excludedEntries>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/advancedgrids.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_air.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/air/airspark.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/netmon.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/mx/mx.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/air/applicationupdater.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/utilities.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/flex.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/sparkskins.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/qtp_air.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/datavisualization.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/core.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/spark_dmv.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_dmv.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/air/airframework.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/air/applicationupdater_ui.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_flashflexkit.swc" useDefaultLinkType="false"/>
+          <libraryPathEntry kind="3" linkType="1" path="${PROJECT_FRAMEWORKS}/libs/automation_agent.swc" useDefaultLinkType="false"/>
+        </excludedEntries>
+      </libraryPathEntry>
+    </libraryPath>
+    <sourceAttachmentPath/>
+  </compiler>
+  <applications>
+    <application path="MobileGridSample.mxml">
+      <airExcludes/>
+    </application>
+  </applications>
+  <modules/>
+  <workers/>
+  <buildCSSFiles/>
+  <flashCatalyst validateFlashCatalystCompatibility="false"/>
+  <buildTargets>
+    <buildTarget buildTargetName="device" iosSettingsVersion="2" isCurrent="true" platformId="com.adobe.flexide.multiplatform.ios.platform" provisioningFile="" releasePackageType="">
+      <airSettings airCertificatePath="" airTimestamp="true" anePathSet="true" version="1">
+        <airExcludes/>
+        <anePaths/>
+        <newLaunchParams/>
+        <modifiedLaunchParams/>
+        <newPackagingParams/>
+        <modifiedPackagingParams/>
+      </airSettings>
+      <multiPlatformSettings enabled="true" hideAneLibSymbols="0" includePlatformLibs="false" platformID="com.adobe.flexide.multiplatform.ios.platform" reducedSizePackaging="false" version="1"/>
+      <actionScriptSettings version="1"/>
+    </buildTarget>
+    <buildTarget buildTargetName="default" isCurrent="true" platformId="default">
+      <airSettings airCertificatePath="" airTimestamp="true" anePathSet="false" version="1">
+        <airExcludes/>
+        <anePaths/>
+        <newLaunchParams/>
+        <modifiedLaunchParams/>
+        <newPackagingParams/>
+        <modifiedPackagingParams/>
+      </airSettings>
+      <multiPlatformSettings enabled="false" hideAneLibSymbols="0" includePlatformLibs="false" platformID="default" reducedSizePackaging="false" version="1"/>
+      <actionScriptSettings version="1"/>
+    </buildTarget>
+    <buildTarget airDownloadURL="" androidSettingsVersion="2" buildTargetName="device" isCurrent="true" platformId="com.adobe.flexide.multiplatform.android.platform">
+      <airSettings airCertificatePath="" airTimestamp="true" anePathSet="true" version="1">
+        <airExcludes/>
+        <anePaths/>
+        <newLaunchParams/>
+        <modifiedLaunchParams/>
+        <newPackagingParams/>
+        <modifiedPackagingParams/>
+      </airSettings>
+      <multiPlatformSettings enabled="false" hideAneLibSymbols="0" includePlatformLibs="false" platformID="com.adobe.flexide.multiplatform.android.platform" reducedSizePackaging="false" version="1"/>
+      <actionScriptSettings version="1"/>
+    </buildTarget>
+  </buildTargets>
+</actionScriptProperties>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/.flexProperties
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/.flexProperties b/showcase/4.11/components/mobilegrid/.flexProperties
new file mode 100644
index 0000000..fe676ba
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/.flexProperties
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<flexProperties enableServiceManager="false" flexServerFeatures="0" flexServerType="0" fmlDataModelLocation=".model/MobileGridSample.fml" toolCompile="true" useServerFlexSDK="false" version="2"/>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/.project
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/.project b/showcase/4.11/components/mobilegrid/.project
new file mode 100644
index 0000000..a8eb0c7
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>MobileGridSample</name>
+	<comment></comment>
+	<buildSpec>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.flexbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.adobe.flexbuilder.project.apollobuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.adobe.flexide.project.multiplatform.multiplatformnature</nature>
+		<nature>com.adobe.flexbuilder.project.apollonature</nature>
+		<nature>com.adobe.flexbuilder.project.flexnature</nature>
+		<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
+	</natures>
+</projectDescription>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/embedded/images/aqua_inset_36_green.png
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/embedded/images/aqua_inset_36_green.png b/showcase/4.11/components/mobilegrid/embedded/images/aqua_inset_36_green.png
new file mode 100644
index 0000000..b0c0950
Binary files /dev/null and b/showcase/4.11/components/mobilegrid/embedded/images/aqua_inset_36_green.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/embedded/images/aqua_inset_36_red.png
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/embedded/images/aqua_inset_36_red.png b/showcase/4.11/components/mobilegrid/embedded/images/aqua_inset_36_red.png
new file mode 100644
index 0000000..7158c66
Binary files /dev/null and b/showcase/4.11/components/mobilegrid/embedded/images/aqua_inset_36_red.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/embedded/images/status_aqua16_green.png
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/embedded/images/status_aqua16_green.png b/showcase/4.11/components/mobilegrid/embedded/images/status_aqua16_green.png
new file mode 100644
index 0000000..178d950
Binary files /dev/null and b/showcase/4.11/components/mobilegrid/embedded/images/status_aqua16_green.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/embedded/images/status_aqua16_red.png
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/embedded/images/status_aqua16_red.png b/showcase/4.11/components/mobilegrid/embedded/images/status_aqua16_red.png
new file mode 100644
index 0000000..09906e5
Binary files /dev/null and b/showcase/4.11/components/mobilegrid/embedded/images/status_aqua16_red.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/embedded/images/status_aqua24_green.png
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/embedded/images/status_aqua24_green.png b/showcase/4.11/components/mobilegrid/embedded/images/status_aqua24_green.png
new file mode 100644
index 0000000..3e56543
Binary files /dev/null and b/showcase/4.11/components/mobilegrid/embedded/images/status_aqua24_green.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/embedded/images/status_aqua24_red.png
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/embedded/images/status_aqua24_red.png b/showcase/4.11/components/mobilegrid/embedded/images/status_aqua24_red.png
new file mode 100644
index 0000000..2c3ac2e
Binary files /dev/null and b/showcase/4.11/components/mobilegrid/embedded/images/status_aqua24_red.png differ

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/mobilegrid.iml
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/mobilegrid.iml b/showcase/4.11/components/mobilegrid/mobilegrid.iml
new file mode 100644
index 0000000..fd5c124
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/mobilegrid.iml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="Flex" version="4">
+  <component name="FlexBuildConfigurationManager" active="mobilegrid">
+    <configurations>
+      <configuration name="mobilegrid" target-platform="Mobile" main-class="MobileGridSample" output-file="mobilegrid.swf" output-folder="$MODULE_DIR$/../../../../../out/production/mobilegrid">
+        <dependencies target-player="11.8">
+          <sdk name="sdk_new" />
+        </dependencies>
+        <compiler-options />
+        <packaging-air-desktop />
+        <packaging-android package-file-name="mobilegrid" />
+        <packaging-ios enabled="true" use-generated-descriptor="false" custom-descriptor-path="$MODULE_DIR$/src/MobileGridSample-app.xml" package-file-name="mobilegrid" />
+      </configuration>
+    </configurations>
+    <compiler-options />
+  </component>
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="jdk" jdkName="sdk_new" jdkType="Flex SDK Type (new)" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
+

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/src/MobileGridSample-app.xml
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/src/MobileGridSample-app.xml b/showcase/4.11/components/mobilegrid/src/MobileGridSample-app.xml
new file mode 100644
index 0000000..f508c99
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/src/MobileGridSample-app.xml
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<application xmlns="http://ns.adobe.com/air/application/3.8">
+
+<!-- Adobe AIR Application Descriptor File Template.
+
+	Specifies parameters for identifying, installing, and launching AIR applications.
+
+	xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/3.5
+			The last segment of the namespace specifies the version
+			of the AIR runtime required for this application to run.
+
+	minimumPatchLevel - The minimum patch level of the AIR runtime required to run
+			the application. Optional.
+-->
+
+	<!-- A universally unique application identifier. Must be unique across all AIR applications.
+	Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
+	<id>com.systar.fx.MobileGridSample</id>
+
+	<!-- Used as the filename for the application. Required. -->
+	<filename>MobileGridSample</filename>
+
+	<!-- The name that is displayed in the AIR application installer.
+	May have multiple values for each language. See samples or xsd schema file. Optional. -->
+	<name>MobileGridSample</name>
+
+	<!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade.
+	Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
+	An updated version of application must have a versionNumber value higher than the previous version. Required for namespace >= 2.5 . -->
+	<versionNumber>0.0.0</versionNumber>
+
+	<!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
+	<!-- <versionLabel></versionLabel> -->
+
+	<!-- Description, displayed in the AIR application installer.
+	May have multiple values for each language. See samples or xsd schema file. Optional. -->
+	<!-- <description></description> -->
+
+	<!-- Copyright information. Optional -->
+	<!-- <copyright></copyright> -->
+
+	<!-- Publisher ID. Used if you're updating an application created prior to 1.5.3 -->
+	<!-- <publisherID></publisherID> -->
+
+	<!-- Settings for the application's initial window. Required. -->
+	<initialWindow>
+		<!-- The main SWF or HTML file of the application. Required. -->
+		<!-- Note: In Flash Builder, the SWF reference is set automatically. -->
+		<content>MobileGridSample.swf</content>
+
+		<!-- The title of the main window. Optional. -->
+		<!-- <title></title> -->
+
+		<!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
+		<!-- <systemChrome></systemChrome> -->
+
+		<!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
+		<!-- <transparent></transparent> -->
+
+		<!-- Whether the window is initially visible. Optional. Default false. -->
+		<!-- <visible></visible> -->
+
+		<!-- Whether the user can minimize the window. Optional. Default true. -->
+		<!-- <minimizable></minimizable> -->
+
+		<!-- Whether the user can maximize the window. Optional. Default true. -->
+		<!-- <maximizable></maximizable> -->
+
+		<!-- Whether the user can resize the window. Optional. Default true. -->
+		<!-- <resizable></resizable> -->
+
+		<!-- The window's initial width in pixels. Optional. -->
+		<!-- <width></width> -->
+
+		<!-- The window's initial height in pixels. Optional. -->
+		<!-- <height></height> -->
+
+		<!-- The window's initial x position. Optional. -->
+		<!-- <x></x> -->
+
+		<!-- The window's initial y position. Optional. -->
+		<!-- <y></y> -->
+
+		<!-- The window's minimum size, specified as a width/height pair in pixels, such as "400 200". Optional. -->
+		<!-- <minSize></minSize> -->
+
+		<!-- The window's initial maximum size, specified as a width/height pair in pixels, such as "1600 1200". Optional. -->
+		<!-- <maxSize></maxSize> -->
+
+        <!-- The aspect ratio of the app ("portrait" or "landscape" or "any"). Optional. Mobile only. Default is the natural orientation of the device -->
+
+        <!-- <aspectRatio></aspectRatio> -->
+
+        <!-- Whether the app will begin auto-orienting on launch. Optional. Mobile only. Default false -->
+
+        <!-- <autoOrients></autoOrients> -->
+
+        <!-- Whether the app launches in full screen. Optional. Mobile only. Default false -->
+
+        <!-- <fullScreen></fullScreen> -->
+
+        <!-- The render mode for the app (either auto, cpu, gpu, or direct). Optional. Default auto -->
+
+        <!-- <renderMode></renderMode> -->
+
+        <!-- Whether the default direct mode rendering context allocates storage for depth and stencil buffers.  Optional.  Default false. -->
+        <!-- <depthAndStencil></depthAndStencil> -->
+
+		<!-- Whether or not to pan when a soft keyboard is raised or lowered (either "pan" or "none").  Optional.  Defaults "pan." -->
+		<!-- <softKeyboardBehavior></softKeyboardBehavior> -->
+
+		<!-- Display Resolution for the app (either "standard" or "high"). Optional, OSX-only. Default "standard" -->
+		<!-- <requestedDisplayResolution></requestedDisplayResolution> -->
+	<autoOrients>true</autoOrients>
+        <fullScreen>false</fullScreen>
+        <visible>true</visible>
+        <softKeyboardBehavior>none</softKeyboardBehavior>
+    </initialWindow>
+
+	<!-- We recommend omitting the supportedProfiles element, -->
+	<!-- which in turn permits your application to be deployed to all -->
+	<!-- devices supported by AIR. If you wish to restrict deployment -->
+	<!-- (i.e., to only mobile devices) then add this element and list -->
+	<!-- only the profiles which your application does support. -->
+	<!-- <supportedProfiles>desktop extendedDesktop mobileDevice extendedMobileDevice</supportedProfiles> -->
+
+	<!-- Languages supported by application -->
+	<!-- Only these languages can be specified -->
+	<!-- <supportedLanguages>en de cs es fr it ja ko nl pl pt ru sv tr zh</supportedLanguages> -->
+
+	<!-- The subpath of the standard default installation location to use. Optional. -->
+	<!-- <installFolder></installFolder> -->
+
+	<!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
+	<!-- <programMenuFolder></programMenuFolder> -->
+
+	<!-- The icon the system uses for the application. For at least one resolution,
+	specify the path to a PNG file included in the AIR package. Optional. -->
+	<!-- <icon>
+		<image16x16></image16x16>
+		<image29x29></image29x29>
+		<image32x32></image32x32>
+		<image36x36></image36x36>
+		<image48x48></image48x48>
+		<image50x50></image50x50>
+		<image57x57></image57x57>
+		<image58x58></image58x58>
+		<image72x72></image72x72>
+		<image96x96></image96x96>
+		<image100x100></image100x100>
+		<image114x114></image114x114>
+		<image128x128></image128x128>
+		<image144x144></image144x144>
+		<image512x512></image512x512>
+		<image732x412></image732x412>
+		<image1024x1024></image1024x1024>
+	</icon> -->
+
+	<!-- Whether the application handles the update when a user double-clicks an update version
+	of the AIR file (true), or the default AIR application installer handles the update (false).
+	Optional. Default false. -->
+	<!-- <customUpdateUI></customUpdateUI> -->
+
+	<!-- Whether the application can be launched when the user clicks a link in a web browser.
+	Optional. Default false. -->
+	<!-- <allowBrowserInvocation></allowBrowserInvocation> -->
+
+	<!-- Listing of file types for which the application can register. Optional. -->
+	<!-- <fileTypes> -->
+
+		<!-- Defines one file type. Optional. -->
+		<!-- <fileType> -->
+
+			<!-- The name that the system displays for the registered file type. Required. -->
+			<!-- <name></name> -->
+
+			<!-- The extension to register. Required. -->
+			<!-- <extension></extension> -->
+
+			<!-- The description of the file type. Optional. -->
+			<!-- <description></description> -->
+
+			<!-- The MIME content type. -->
+			<!-- <contentType></contentType> -->
+
+			<!-- The icon to display for the file type. Optional. -->
+			<!-- <icon>
+				<image16x16></image16x16>
+				<image32x32></image32x32>
+				<image48x48></image48x48>
+				<image128x128></image128x128>
+			</icon> -->
+
+		<!-- </fileType> -->
+	<!-- </fileTypes> -->
+
+    <!-- iOS specific capabilities -->
+	<!-- <iPhone> -->
+		<!-- A list of plist key/value pairs to be added to the application Info.plist -->
+		<!-- <InfoAdditions>
+            <![CDATA[
+                <key>UIDeviceFamily</key>
+                <array>
+                    <string>1</string>
+                    <string>2</string>
+                </array>
+                <key>UIStatusBarStyle</key>
+                <string>UIStatusBarStyleBlackOpaque</string>
+                <key>UIRequiresPersistentWiFi</key>
+                <string>YES</string>
+            ]]>
+        </InfoAdditions> -->
+        <!-- A list of plist key/value pairs to be added to the application Entitlements.plist -->
+		<!-- <Entitlements>
+            <![CDATA[
+                <key>keychain-access-groups</key>
+                <array>
+                    <string></string>
+                    <string></string>
+                </array>
+            ]]>
+        </Entitlements> -->
+	<!-- Display Resolution for the app (either "standard" or "high"). Optional. Default "standard" -->
+	<!-- <requestedDisplayResolution></requestedDisplayResolution> -->
+	<!-- Forcing Render Mode CPU for the devices mentioned. Optional  -->
+	<!-- <forceCPURenderModeForDevices></forceCPURenderModeForDevices> -->
+	<!-- File containing line separated list of external swf paths. These swfs won't be
+	packaged inside the application and corresponding stripped swfs will be output in
+	externalStrippedSwfs folder. -->
+	<!-- <externalSwfs></externalSwfs> -->
+	<!-- </iPhone> -->
+
+	<!-- Specify Android specific tags that get passed to AndroidManifest.xml file. -->
+    <!--<android> -->
+    <!--	<manifestAdditions>
+		<![CDATA[
+			<manifest android:installLocation="auto">
+				<uses-permission android:name="android.permission.INTERNET"/>
+				<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
+				<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
+				<uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>
+				<application android:enabled="true">
+					<activity android:excludeFromRecents="false">
+						<intent-filter>
+							<action android:name="android.intent.action.MAIN"/>
+							<category android:name="android.intent.category.LAUNCHER"/>
+						</intent-filter>
+					</activity>
+				</application>
+            </manifest>
+		]]>
+        </manifestAdditions> -->
+	    <!-- Color depth for the app (either "32bit" or "16bit"). Optional. Default 16bit before namespace 3.0, 32bit after -->
+        <!-- <colorDepth></colorDepth> -->
+        <!-- Indicates if the app contains video or not. Necessary for ordering of video planes with graphics plane, especially in Jellybean - if you app does video this must be set to true - valid values are true or false -->
+        <!-- <containsVideo></containsVideo> -->
+    <!-- </android> -->
+	<!-- End of the schema for adding the android specific tags in AndroidManifest.xml file -->
+
+<android>
+        <colorDepth>16bit</colorDepth>
+        <manifestAdditions><![CDATA[
+			<manifest android:installLocation="auto">
+			    <!--See the Adobe AIR documentation for more information about setting Google Android permissions-->
+			    <!--Removing the permission android.permission.INTERNET will have the side effect
+		of preventing you from debugging your application on your device-->
+			    <uses-permission android:name="android.permission.INTERNET"/>
+			    <!--<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>-->
+			    <!--<uses-permission android:name="android.permission.READ_PHONE_STATE"/>-->
+			    <!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>-->
+			    <!--The DISABLE_KEYGUARD and WAKE_LOCK permissions should be toggled together
+		in order to access AIR's SystemIdleMode APIs-->
+			    <!--<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>-->
+			    <!--<uses-permission android:name="android.permission.WAKE_LOCK"/>-->
+			    <!--<uses-permission android:name="android.permission.CAMERA"/>-->
+			    <!--<uses-permission android:name="android.permission.RECORD_AUDIO"/>-->
+			    <!--The ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE permissions should be toggled
+		together in order to use AIR's NetworkInfo APIs-->
+			    <!--<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>-->
+			    <!--<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>-->
+			</manifest>
+
+		]]></manifestAdditions>
+    </android>
+    <iPhone>
+        <InfoAdditions><![CDATA[
+			<key>UIDeviceFamily</key>
+			<array>
+				<string>1</string>
+				<string>2</string>
+			</array>
+		]]></InfoAdditions>
+        <requestedDisplayResolution>high</requestedDisplayResolution>
+    </iPhone>
+</application>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/src/MobileGridSample.mxml
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/src/MobileGridSample.mxml b/showcase/4.11/components/mobilegrid/src/MobileGridSample.mxml
new file mode 100644
index 0000000..4a2558f
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/src/MobileGridSample.mxml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<s:TabbedViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
+                                  xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="160">
+    <s:ViewNavigator label="Grid Sample 1" firstView="views.MobileGridView"  width="100%" height="100%"   />
+    <s:ViewNavigator label="Grid Sample 2" firstView="views.MobileGridView2" width="100%" height="100%"/>
+</s:TabbedViewNavigatorApplication>

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/src/renderers/MyActionButtonPartRenderer.as
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/src/renderers/MyActionButtonPartRenderer.as b/showcase/4.11/components/mobilegrid/src/renderers/MyActionButtonPartRenderer.as
new file mode 100644
index 0000000..5e2c728
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/src/renderers/MyActionButtonPartRenderer.as
@@ -0,0 +1,77 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package renderers
+{
+import flash.events.MouseEvent;
+
+import mx.styles.IStyleClient;
+
+import spark.components.Alert;
+
+import spark.components.Button;
+import spark.components.itemRenderers.IMobileGridCellRenderer;
+
+public class MyActionButtonPartRenderer extends Button implements IMobileGridCellRenderer
+{
+
+    private var _data:Object;
+
+    public function MyActionButtonPartRenderer()
+    {
+        super();
+        label = "Go";
+        height=30;
+        addEventListener( MouseEvent.CLICK, onClick);
+    }
+
+    public function set styleProvider(value:IStyleClient):void
+    {
+    }
+
+    public function get canSetContentWidth():Boolean
+    {
+        return true;
+    }
+
+    public function get canSetContentHeight():Boolean
+    {
+        return false;
+    }
+
+    public function set cssStyleName(value:String):void
+    {
+    }
+
+    public function get data():Object
+    {
+        return _data;
+    }
+
+    public function set data(value:Object):void
+    {
+        _data = value;
+    }
+
+    private function onClick(event:MouseEvent):void
+    {
+        Alert.show("Click on: " + data.Name, "Action");
+    }
+
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/src/utils/FPSDisplay.as
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/src/utils/FPSDisplay.as b/showcase/4.11/components/mobilegrid/src/utils/FPSDisplay.as
new file mode 100644
index 0000000..098ae5d
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/src/utils/FPSDisplay.as
@@ -0,0 +1,217 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package utils {
+import flash.events.Event;
+import flash.events.TimerEvent;
+import flash.utils.Timer;
+
+import spark.components.Label;
+
+/**
+ *    UI class that shows FPS or RPS current value.
+ *
+ */
+public class FPSDisplay extends Label {
+    /**
+     * Means that fps should be measured by enterFrame events.
+     * @private
+     */
+    public static const FPS:String = "fps";
+
+    /**
+     * Means that fps should be measured by render events.
+     * @private
+     */
+    public static const RPS:String = "rps";
+
+    /**
+     * Constructor.
+     */
+    public function FPSDisplay() {
+        super();
+        addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler)
+        addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler)
+    }
+
+    /**
+     * Timer with 1 sec daley.
+     */
+    private var timer:Timer;
+
+    [Bindable]
+    /**
+     * FPS value.
+     */ public var fps:uint = 0;
+
+    /**
+     * Storage for active.
+     */
+    private var _active:Boolean = true;
+
+    [Bindable("activeChanged")]
+    [Inspectable(category="General", defaultValue=true)]
+    /**
+     * Flag that used to run or stop measurement.
+     */ public function get active():Boolean {
+        return _active;
+    }
+
+    /**
+     *    @private
+     */
+    public function set active(value:Boolean):void {
+        if (_active != value) {
+            _active = value;
+            activeChanged = true;
+            invalidateProperties();
+            dispatchEvent(new Event("activeChanged"));
+        }
+    }
+
+    /**
+     * Storage for mode.
+     * @private
+     */
+    private var _mode:String = FPSDisplay.FPS;
+
+    [Bindable("modeChanged")]
+    [Inspectable(category="General", defaultValue="fps", enumeration="fps,rps")]
+    /**
+     * Type of rate (actual or render).
+     * @default actualRate
+     */ public function get mode():String {
+        return _mode;
+    }
+
+    /**
+     *    @private
+     */
+    public function set mode(value:String):void {
+        if (_mode != value) {
+            _mode = value;
+            frameCount = 0;
+            invalidateProperties();
+            dispatchEvent(new Event("modeChanged"));
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Life cycle
+    //
+    //--------------------------------------------------------------------------
+    /**
+     * Inner flag that indicates whether component is on stage.
+     * @private
+     */
+    private var _staged:Boolean;
+
+    /**
+     * @inheritDoc
+     */
+    override protected function createChildren():void {
+        super.createChildren()
+
+        if (!timer) {
+            timer = new Timer(1000);
+            timer.addEventListener(TimerEvent.TIMER, timerHandler);
+        }
+    }
+
+    /**
+     * Dirty flag that indicates whether active or staged properties were changed.
+     * @private
+     */
+    private var activeChanged:Boolean = false;
+
+    /**
+     * @inheritDoc
+     */
+    override protected function commitProperties():void {
+        super.commitProperties();
+
+        if (activeChanged) {
+            if (_active && _staged) {
+                addEventListener(Event.ENTER_FRAME, frameHandler);
+                addEventListener(Event.RENDER, frameHandler);
+
+                frameCount = 0;
+                timer.start();
+            } else {
+                removeEventListener(Event.ENTER_FRAME, frameHandler);
+                removeEventListener(Event.RENDER, frameHandler);
+            }
+
+            activeChanged = false;
+        }
+
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+    /**
+     * Frame count per second.
+     * @prevate
+     */
+    private var frameCount:int = 0;
+
+    /**
+     * Handler for enterFrame event.
+     * @private
+     */
+    private function frameHandler(event:Event):void {
+        if ((mode == FPSDisplay.FPS && event.type == Event.ENTER_FRAME) || (mode == FPSDisplay.RPS && event.type == Event.RENDER)) {
+            frameCount ++;
+        }
+    }
+
+    /**
+     * Handler for timer event.
+     * @private
+     */
+    private function timerHandler(event:TimerEvent):void {
+        fps = frameCount;
+        text = mode + "=" + fps.toString();
+        frameCount = 0;
+    }
+
+    /**
+     * Handler for addedToStag event.
+     * @private
+     */
+    private function addedToStageHandler(event:Event):void {
+        _staged = true;
+        activeChanged = true;
+        invalidateProperties();
+    }
+
+    /**
+     * Handler for removedFromStage event.
+     * @private
+     */
+    private function removedFromStageHandler(event:Event):void {
+        _staged = false;
+        activeChanged = true;
+        invalidateProperties();
+    }
+}
+}

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/src/views/MobileGridView.mxml
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/src/views/MobileGridView.mxml b/showcase/4.11/components/mobilegrid/src/views/MobileGridView.mxml
new file mode 100644
index 0000000..163d4a8
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/src/views/MobileGridView.mxml
@@ -0,0 +1,170 @@
+<?xml version="1.0"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
+        xmlns:s="library://ns.adobe.com/flex/spark"
+        xmlns:exp="http://flex.apache.org/experimental/ns"
+        xmlns:utils="utils.*" xmlns:renderers="renderers.*"
+        title="MobileGrid appDPI=160"
+        creationComplete="creationCompleteHandler(event)"
+        >
+
+	<s:actionContent>
+		<s:Label id="debug" color="white" text="dpi={FlexGlobals.topLevelApplication.runtimeDPI}"/>
+		<utils:FPSDisplay id="fps" color="white"/>
+	</s:actionContent>
+	<s:actionLayout>
+		<s:HorizontalLayout gap="10" verticalAlign="middle" paddingRight="10"/>
+	</s:actionLayout>
+
+		<fx:Style>
+		.bold {
+			fontWeight: bold;
+		}
+
+		.comments {
+			fontStyle: italic;
+			multiline: true;
+		}
+			
+		@media (application-dpi: 120) {
+				.comments {
+					fontSize: 9; 
+				}
+		}
+			
+		@media (application-dpi: 240) {
+				.comments {
+					fontSize: 18; 
+				}
+		}
+
+		@media (application-dpi: 160) {
+			.comments {
+				fontSize: 12; 
+			}
+		}
+			
+		@media (application-dpi: 320) {
+				.comments {
+					fontSize: 24; 
+				}
+		}
+
+	</fx:Style>
+
+
+	<exp:MobileGrid id="dgm" dataProvider="{dataProvider}" width="100%" height="100%" >
+		<exp:columns>
+			<exp:MobileGridColumn  dataField="Name" styleName="bold" width="100"  />
+			<exp:MobileGridColumn  dataField="Surname" styleName="bold" width="100"/>
+			<exp:MobileGridColumn dataField="Age" width="50" textAlign="right"  />
+			<exp:MobileGridColumn headerText="S" dataField="status" width="30">
+				<exp:itemRenderer>
+					<fx:Component>
+						<exp:MobileGridBitmapCellRenderer     iconFunction="{outerDocument.getMDPIStatusIcon}" />
+					</fx:Component>
+				</exp:itemRenderer>
+			</exp:MobileGridColumn>
+			<exp:MobileGridColumn  headerText="Full Name" labelFunction="fullName" width="150"   />
+            <exp:MobileGridColumn headerText="Comments" dataField="comments" styleName="comments" width="100%" />
+
+		</exp:columns>
+	</exp:MobileGrid>
+
+	<fx:Declarations>
+
+	</fx:Declarations>
+
+	<fx:Script><![CDATA[
+        import mx.collections.ArrayCollection;
+        import mx.core.FlexGlobals;
+        import mx.events.FlexEvent;
+
+        import spark.utils.MultiDPIBitmapSource;
+
+        [Embed('../../embedded/images/aqua_inset_36_red.png')]
+        private const iconRed36:Class;
+
+        [Embed('../../embedded/images/aqua_inset_36_green.png')]
+        private const iconGreen36:Class;
+
+        [Embed('../../embedded/images/status_aqua24_red.png')]
+        private const iconRed24:Class;
+
+        [Embed('../../embedded/images/status_aqua24_green.png')]
+        private const iconGreen24:Class;
+
+        [Embed('../../embedded/images/status_aqua16_red.png')]
+        private const iconRed18:Class;
+
+        [Embed('../../embedded/images/status_aqua16_green.png')]
+        private const iconGreen18:Class;
+
+        private const dataProvider:ArrayCollection = new ArrayCollection();
+
+        private var iconRed:MultiDPIBitmapSource;
+        private var iconGreen:MultiDPIBitmapSource;
+
+        private function creationCompleteHandler(event:FlexEvent):void
+        {
+
+            iconRed = new MultiDPIBitmapSource();
+            with (iconRed)
+            {
+                source160dpi = iconRed18;
+                source240dpi = iconRed24;
+                source320dpi = iconRed36;
+            }
+
+            iconGreen = new MultiDPIBitmapSource()
+            with (iconGreen)
+            {
+                source160dpi = iconGreen18;
+                source240dpi = iconGreen24;
+                source320dpi = iconGreen36;
+            }
+
+            var src:Array = [];
+            for (var i:int = 0; i <50; i++)
+            {
+                src.push({Name: "John_" + i, Surname: "Doe_" + i, Age: 5 + i, status: 1000 + i, comments: "Sed tamen haec cum ita tutius observentur, quidam vigore artuum inminuto rogati ad nuptias\n ubi aurum dextris manibus cavatis offertur, inpigre vel usque Spoletium pergunt. haec nobilium sunt."});
+                src.push({Name: "Paul_" + i, Surname: "Smith_" + i, Age: 12 + i, status: 2000 + i, comments: "Quanta autem vis amicitiae sit, ex hoc intellegi maxime potest, quod ex infinita societate \ngeneris humani, quam conciliavit ipsa natura, ita contracta res est et adducta in angustum ut omnis caritas." });
+                 src.push({Name: "Sarah_" + i, Surname: "Lee_" + i, Age: 42 + i, status: 2000 + i, comments: "Ideo urbs venerabilis post superbas efferatarum gentium cervices oppressas latasque leges \nfundamenta libertatis et retinacula sempiterna velut frugi parens et prudens et dives Caesaribus tamquam."});
+            }
+            dataProvider.source = src;
+        }
+
+        private function fullName(o:Object):String
+        {
+            return o.Name + " " + o.Surname;
+        }
+
+        public function get160DPIStatusIcon(e:Object):Class
+        {
+            return e.status >= 2000 ? iconRed18 : iconGreen18;
+        }
+
+        public function getMDPIStatusIcon(e:Object):MultiDPIBitmapSource
+        {
+            return e.status >= 2000 ? iconRed : iconGreen;
+        }
+        ]]></fx:Script>
+</s:View>
+

http://git-wip-us.apache.org/repos/asf/flex-examples/blob/92f96a5a/showcase/4.11/components/mobilegrid/src/views/MobileGridView2.mxml
----------------------------------------------------------------------
diff --git a/showcase/4.11/components/mobilegrid/src/views/MobileGridView2.mxml b/showcase/4.11/components/mobilegrid/src/views/MobileGridView2.mxml
new file mode 100644
index 0000000..78b6875
--- /dev/null
+++ b/showcase/4.11/components/mobilegrid/src/views/MobileGridView2.mxml
@@ -0,0 +1,127 @@
+<?xml version="1.0"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
+        xmlns:s="library://ns.adobe.com/flex/spark"
+        xmlns:exp="http://flex.apache.org/experimental/ns"
+        xmlns:utils="utils.*" xmlns:renderers="renderers.*"
+        title="MobileGrid appDPI=160"
+        creationComplete="creationCompleteHandler(event)"
+        >
+
+	<s:actionContent>
+		<s:Label id="debug" color="white" text="dpi={FlexGlobals.topLevelApplication.runtimeDPI}"/>
+		<utils:FPSDisplay id="fps" color="white"/>
+	</s:actionContent>
+	<s:actionLayout>
+		<s:HorizontalLayout gap="10" verticalAlign="middle" paddingRight="10"/>
+	</s:actionLayout>
+
+
+
+	<exp:MobileGrid id="dgm" dataProvider="{dataProvider}" width="100%" height="100%" >
+		<exp:columns>
+			<exp:MobileGridColumn  dataField="Name" styleName="bold" width="20%"  />
+			<exp:MobileGridColumn  dataField="Surname" styleName="bold" width="20%"/>
+			<exp:MobileGridColumn dataField="comments" width="100%"   />
+            <exp:MobileGridColumn headerText="Action" dataField="Name" width="80" sortable="false"
+                                  itemRenderer="renderers.MyActionButtonPartRenderer"/>
+		</exp:columns>
+	</exp:MobileGrid>
+
+	<fx:Declarations>
+
+	</fx:Declarations>
+
+	<fx:Script><![CDATA[
+        import mx.collections.ArrayCollection;
+        import mx.core.FlexGlobals;
+        import mx.events.FlexEvent;
+
+        import spark.utils.MultiDPIBitmapSource;
+
+        [Embed('../../embedded/images/aqua_inset_36_red.png')]
+        private const iconRed36:Class;
+
+        [Embed('../../embedded/images/aqua_inset_36_green.png')]
+        private const iconGreen36:Class;
+
+        [Embed('../../embedded/images/status_aqua24_red.png')]
+        private const iconRed24:Class;
+
+        [Embed('../../embedded/images/status_aqua24_green.png')]
+        private const iconGreen24:Class;
+
+        [Embed('../../embedded/images/status_aqua16_red.png')]
+        private const iconRed18:Class;
+
+        [Embed('../../embedded/images/status_aqua16_green.png')]
+        private const iconGreen18:Class;
+
+        private const dataProvider:ArrayCollection = new ArrayCollection();
+
+        private var iconRed:MultiDPIBitmapSource;
+        private var iconGreen:MultiDPIBitmapSource;
+
+        private function creationCompleteHandler(event:FlexEvent):void
+        {
+
+            iconRed = new MultiDPIBitmapSource();
+            with (iconRed)
+            {
+                source160dpi = iconRed18;
+                source240dpi = iconRed24;
+                source320dpi = iconRed36;
+            }
+
+            iconGreen = new MultiDPIBitmapSource()
+            with (iconGreen)
+            {
+                source160dpi = iconGreen18;
+                source240dpi = iconGreen24;
+                source320dpi = iconGreen36;
+            }
+
+            var src:Array = [];
+            for (var i:int = 0; i <50; i++)
+            {
+                src.push({Name: "John_" + i, Surname: "Doe_" + i, Age: 5 + i, status: 1000 + i, comments: "Sed tamen haec cum ita tutius observentur, quidam vigore artuum inminuto rogati ad nuptias\n ubi aurum dextris manibus cavatis offertur, inpigre vel usque Spoletium pergunt. haec nobilium sunt."});
+                src.push({Name: "Paul_" + i, Surname: "Smith_" + i, Age: 12 + i, status: 2000 + i, comments: "Quanta autem vis amicitiae sit, ex hoc intellegi maxime potest, quod ex infinita societate \ngeneris humani, quam conciliavit ipsa natura, ita contracta res est et adducta in angustum ut omnis caritas." });
+                 src.push({Name: "Sarah_" + i, Surname: "Lee_" + i, Age: 42 + i, status: 2000 + i, comments: "Ideo urbs venerabilis post superbas efferatarum gentium cervices oppressas latasque leges \nfundamenta libertatis et retinacula sempiterna velut frugi parens et prudens et dives Caesaribus tamquam."});
+            }
+            dataProvider.source = src;
+        }
+
+        private function fullName(o:Object):String
+        {
+            return o.Name + " " + o.Surname;
+        }
+
+        public function get160DPIStatusIcon(e:Object):Class
+        {
+            return e.status >= 2000 ? iconRed18 : iconGreen18;
+        }
+
+        public function getMDPIStatusIcon(e:Object):MultiDPIBitmapSource
+        {
+            return e.status >= 2000 ? iconRed : iconGreen;
+        }
+        ]]></fx:Script>
+</s:View>
+