http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/Main.mxml ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/Main.mxml b/Radii8Designer/src/Main.mxml new file mode 100644 index 0000000..c42e7b4 --- /dev/null +++ b/Radii8Designer/src/Main.mxml @@ -0,0 +1,1228 @@ +<?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:Application xmlns:fx="http://ns.adobe.com/mxml/2009" + xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:mx="library://ns.adobe.com/flex/mx" + xmlns:c="com.flexcapacitor.controls.*" + xmlns:handlers="com.flexcapacitor.handlers.*" + xmlns:popup="com.flexcapacitor.effects.popup.*" + xmlns:navigation="com.flexcapacitor.effects.navigation.*" + xmlns:utils="com.flexcapacitor.utils.*" + xmlns:model="com.flexcapacitor.model.*" + xmlns:fc="com.flexcapacitor.effects.popup.*" + xmlns:flexiframe="com.google.code.flexiframe.*" + xmlns:services="com.flexcapacitor.effects.services.*" + xmlns:core="com.flexcapacitor.effects.core.*" + xmlns:views="com.flexcapacitor.views.*" + xmlns:renderers="com.flexcapacitor.views.renderers.*" + xmlns:filters="com.flexcapacitor.filters.*" + xmlns:windows="com.flexcapacitor.views.windows.*" + xmlns:local="*" + + width="100%" height="100%" + minWidth="800" minHeight="400" + uncaughtError="uncaughtErrorHandler(event)" + applicationComplete="applicationCompleteHandler(event)" + pageTitle="Radiate" + frameRate="40" + > + + <!-- NOTICE! There are notes that go with this project. They have been moved to readme.txt --> + + <!-- + show all properties if inspector is not available + add option to hide code in html view + upload image automatically + add delete attachment + add automatically save document + remove inspector panel + remove focus rect in properties panel items + add items from documents to assets array + attach uploads to project document + add uploaded icon to assets +=--> + + <fx:Style source="styles.css" /> + + <fx:Script> + <![CDATA[ + import com.flexcapacitor.controller.Radiate; + import com.flexcapacitor.events.RadiateEvent; + import com.flexcapacitor.model.DocumentData; + import com.flexcapacitor.model.DocumentMetaData; + import com.flexcapacitor.model.IDocument; + import com.flexcapacitor.model.IProject; + import com.flexcapacitor.model.MenuItem; + import com.flexcapacitor.utils.XMLUtils; + import com.flexcapacitor.views.windows.ContactWindow; + import com.flexcapacitor.views.windows.DeleteDocumentWindow; + import com.flexcapacitor.views.windows.ExportDocumentWindow; + import com.flexcapacitor.views.windows.ImportWindow; + import com.flexcapacitor.views.windows.LoginWindow; + import com.flexcapacitor.views.windows.NewDocumentWindow; + import com.flexcapacitor.views.windows.PrintWindow; + + import mx.core.UIComponentGlobals; + import mx.events.FlexEvent; + import mx.events.MenuEvent; + + import spark.collections.Sort; + import spark.collections.SortField; + import spark.events.IndexChangeEvent; + + private var remoteTestURL:String = ""; + private var testURL:String = ""; + + include "build.as"; + + public static const HOME_STATE:String = "home"; + public static const DESIGN_STATE:String = "design"; + public static const DESCRIPTION_STATE:String = "description"; + + /** + * + * */ + [Bindable] + public var radiate:Radiate; + + private function uncaughtErrorHandler(event:UncaughtErrorEvent):void { + event.preventDefault(); + + //to capture the error message + var errorMessage:String = new String(); + + if (event.error is Error) { + errorMessage = Error( event.error ).message; + } + else if (event.error is ErrorEvent) { + errorMessage = ErrorEvent( event.error ).text; + } + else { + errorMessage = event.error.toString(); + } + + Radiate.log.error(errorMessage); + + } + + /** + * Switch views on logo click + * */ + protected function logo_clickHandler(event:MouseEvent):void { + + if (currentState==HOME_STATE) { + currentState = DESIGN_STATE; + } + else { + currentState = HOME_STATE; + } + + } + + /** + * Setup the environment. If remote set WP host and path. + * If running on the desktop or not using remote service + * we will need to change the message + * */ + protected function applicationCompleteHandler(event:FlexEvent):void { + radiate = Radiate.getInstance(); + radiate.buildNumber = BUILD_NUMBER; + radiate.buildDate = BUILD_DATE; + radiate.buildTime = BUILD_TIME; + Radiate.WP_HOST = "http://www.radii8.com"; + Radiate.WP_PATH = "/r8m/"; + Radiate.startup(); + radiate.getLoggedInStatus(); + radiate.addEventListener(RadiateEvent.LOGGED_IN_STATUS, initialLoggedInStatusHandler, false, 0, true); + + if (statusLabel) { + statusLabel.text = "Checking to see if you're logged in... one second."; + } + + UIComponentGlobals.designMode = true; // can we do it??? + //radiate.openInitialProjects(); + //LayoutManager.getInstance().usePhasedInstantiation = false; + } + + /** + * Open project + * */ + protected function openProject_itemClickHandler(event:MenuEvent):void { + radiate.openProject(radiate.selectedProject); + } + + /** + * Open document + * */ + private function openDocument_itemClickHandler(event:MenuEvent):void { + radiate.openDocument(radiate.selectedDocument, DocumentData.INTERNAL_LOCATION, true); + } + + /** + * Redispatches our custom menu events (so we can use custom menu data types) + * */ + private function menuItemEventHandler(event:MenuEvent):void { + + if (event.item is MenuItem) { + EventDispatcher(event.item).dispatchEvent(event); + } + else if (event.menu && event.menu.dataProvider && + event.menu.dataProvider[0] is MenuItem && + event.menu.dataProvider[0].parent is MenuItem) + { + EventDispatcher(event.menu.dataProvider[0].parent).dispatchEvent(event); + } + } + + /** + * Handle when getting result of call that checks if user is logged in + * */ + protected function initialLoggedInStatusHandler(event:RadiateEvent):void { + //checkOnlineEffect.play(); + + if (radiate.isUserLoggedIn) { + //checkOnlineEffect.play(); + radiate.removeEventListener(RadiateEvent.LOGGED_IN_STATUS, initialLoggedInStatusHandler); + checkForProjects(); + radiate.addEventListener(RadiateEvent.PROJECTS_LIST_RECEIVED, receivedProjectsHandler, false, 0, true); + + radiate.enableAutoSave = true; + + if (statusLabel) { + statusLabel.text = ""; + } + } + else { + if (statusLabel) { + statusLabel.text = "You must be logged in to save projects"; + } + } + + radiate.addEventListener(RadiateEvent.LOGGED_IN_STATUS, loggedInStatusHandler, false, 0, true); + } + + /** + * Handle when getting result of call that checks if user is logged in + * */ + protected function loggedInStatusHandler(event:RadiateEvent):void { + //checkOnlineEffect.play(); + + if (radiate.isUserLoggedIn) { + radiate.enableAutoSave = true; + + if (statusLabel) { + statusLabel.text = ""; + } + } + else { + // display you have been logged out message + if (statusLabel) { + statusLabel.text = "You must be logged in to save projects"; + } + } + } + + /** + * Handle when getting result of list of projects + * */ + protected function receivedProjectsHandler(event:RadiateEvent):void { + //checkOnlineEffect.play(); + var data:Object = event.data; + + var length:int; + var post:Object; + var project:IProject + var xml:XML; + var isValid:Boolean; + var firstProject:IProject; + var potentialProjects:Array = []; + var source:String; + + length = data && data is Object ? data.count : 0; + + for (var i:int;i<length;i++) { + post = data.posts[i]; + //isValid = XMLUtils.isValidXML(post.content); + source = post.custom_fields.source; + isValid = XMLUtils.isValidXML(source); + + if (isValid) { + xml = new XML(source); + // should have an unmarshall from data method + project = radiate.createProjectFromXML(xml); + + // maybe we should keep an array of the projects we just loaded + // then we can unmarshall them rather than creating them from xml + if (post.attachments) { + project.parseAttachments(post.attachments); + } + // if id is not set in the XML set it manually + // we need id for delete + if (project.id==null) { + project.id = post.id; + } + //addProject(project); + potentialProjects.push(project); + } + else { + Radiate.log.info("Could not import project:" + post.title); + } + } + + var sort:Sort = new Sort(); + var sortField:SortField = new SortField("dateSaved"); + sort.fields = [sortField]; + //projectsCollection.sort = sort; + projectsCollection.source = potentialProjects; + documentsCollection.source = []; + + + if (projectsCollection.length==0 && checkingForProjectsLabel) { + checkingForProjectsLabel.text = "No projects."; + checkingForProjectsLabel.includeInLayout = true; + checkingForProjectsLabel.visible = true; + } + else if (checkingForProjectsLabel) { + checkingForProjectsLabel.text = ""; + checkingForProjectsLabel.includeInLayout = false; + checkingForProjectsLabel.visible = false; + } + + } + + /** + * Show project info and show documents in the project + * */ + protected function projectsList_changeHandler(event:IndexChangeEvent = null):void { + var project:IProject = projectsList.selectedItem; + + if (project && project is IProject) { + projectLastSavedLabel.text = "" + project.dateSaved; + documentsCollection.source = project.documentsMetaData; + } + } + + /** + * Open project selected in project list + * */ + protected function openProject(event:IndexChangeEvent = null):void { + var project:IProject = projectsList.selectedItem; + + if (project && project is IProject) { + currentState = DESIGN_STATE; + validateNow(); + radiate.addProject(project, false); + //radiate.openProject(project, DocumentData.REMOTE_LOCATION, true); + radiate.openProjectFromMetaData(project, DocumentData.REMOTE_LOCATION, true); + radiate.setProject(project, true); + //projectsList.selectedIndex = -1; + } + } + + /** + * Handle login result + * */ + protected function loginPopUp_closeHandler(event:Event):void { + if (radiate.isUserLoggedIn) { + checkForProjects(); + radiate.addEventListener(RadiateEvent.PROJECTS_LIST_RECEIVED, receivedProjectsHandler, false, 0, true); + statusLabel.text = ""; + } + else { + radiate.getLoggedInStatus(); + } + } + + /** + * Check online status after logout + * */ + protected function logoutPopUp_closeHandler(event:Event):void { + checkOnline(); + } + + /** + * Check if the user is online + * */ + protected function checkOnline():void { + radiate.getLoggedInStatus(); + } + + /** + * Work offline clicked. May not be functioning at this time? + * */ + protected function workOfflineMenuItem_itemClickHandler(event:MenuEvent):void { + if (workOfflineMenuItem.toggled) { + checkOnlineEffect.stop(); + } + else { + if (!checkOnlineEffect.isPlaying) { + checkOnlineEffect.play(); + } + } + } + + /** + * Create a new project + * */ + protected function createNewProjectLabel_clickHandler(event:Event):void { + var openNewProject:OpenPopUp = event.currentTarget as OpenPopUp; + var popUp:NewDocumentWindow = openNewProject.popUp as NewDocumentWindow; + var projectName:String = popUp.projectName; + var documentName:String = popUp.documentName; + + if (popUp.action==NewDocumentWindow.FINISH) { + currentState = DESIGN_STATE; + validateNow(); + radiate.createBlankDemoDocument(projectName, documentName); + + if (radiate.isUserLoggedIn) { + radiate.saveProject(radiate.selectedProject); + } + else { + //Radiate.log.info("The project will not be saved"); + } + } + } + + /** + * Get projects by user that is logged in. + * Right now this is checking a remote WP server. We could have it point + * to a local directory of projects or workspace. + * */ + protected function getProjectsByUser_clickHandler(event:MouseEvent):void { + checkForProjects(true); + } + + /** + * Get public projects / examples. There are no public or shared examples yet. + * */ + protected function getPublicProjects_clickHandler(event:MouseEvent):void { + checkForProjects(false); + } + + /** + * Get a list of projects by user or that are shared by the public or are examples. + * Shared public projects and example projects should be in their own category. + * */ + protected function checkForProjects(byUser:Boolean = false):void { + //projectsList.dataProvider = null; + projectsList.selectedItem = null; + + if (byUser) { + radiate.getProjectsByUser(radiate.userID); + } + else { + radiate.getProjects(); + } + + if (checkingForProjectsLabel) { + checkingForProjectsLabel.text = "Checking for projects..."; + checkingForProjectsLabel.visible = true; + checkingForProjectsLabel.includeInLayout = true; + } + } + + /** + * Check for projects + * */ + protected function removeProject_itemClickHandler(event:MenuEvent):void { + checkForProjects(); + } + + /** + * Undo last action + * */ + protected function undo_itemClickHandler(event:MenuEvent):void { + Radiate.undo(); + } + + /** + * Redo last action + * */ + protected function redo_itemClickHandler(event:MenuEvent):void { + Radiate.redo(); + } + + /** + * Check if connected to remote WP server and update checkbox + * */ + protected function isConnectedCheckbox_clickHandler(event:MouseEvent):void { + if (radiate.isUserConnected) { + isConnectedCheckbox.selected = radiate.isUserConnected; + } + + checkOnline(); + } + + /** + * Show project string for debugging purposes + * */ + protected function showProjectSource_itemClickHandler(event:MenuEvent):void { + var iProject:IProject = radiate.selectedProject; + + if (iProject) { + Radiate.log.info(iProject.toString()); + } + } + + /** + * Show document string for debugging purposes + * */ + protected function showDocumentSource_itemClickHandler(event:MenuEvent):void { + var iDocument:IDocument = radiate.selectedDocument; + + if (iDocument) { + var source:String = iDocument.marshall(DocumentMetaData.STRING_TYPE, true) as String; + Radiate.log.info(source); + } + + } + + /** + * Handle if user icon is not available + * */ + protected function userIcon_securityErrorHandler(event:SecurityErrorEvent):void { + //trace("security error "); + } + + /** + * Handle if user icon is not available + * */ + protected function userIcon_ioErrorHandler(event:IOErrorEvent):void { + //trace("ioerror "); + userIcon.source = null; + userIcon.source = radiate.defaultUserAvatarPath; + } + + ]]> + </fx:Script> + + <fx:Declarations> + + <!--- show about popup --> + <handlers:EventHandler target="{logo}" eventName="click"> + <popup:ShowPopupAnchor target="{aboutPopUp}" closeOnMouseOut="true" displayObjectExceptions="{[logo]}"/> + </handlers:EventHandler> + + <!--- hide about popup --> + <handlers:EventHandler target="{popUpGroup}" eventName="mouseDownOutside"> + <popup:HidePopupAnchor target="{aboutPopUp}" /> + </handlers:EventHandler> + + <!--- show contact popup --> + <handlers:EventHandler targets="{[contactLabel,feedbackLabel]}" eventName="click" > + <fc:OpenPopUp id="openContactPopUp" + popUpType="{ContactWindow}" + modalDuration="100" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}"/> + </handlers:EventHandler> + + <handlers:EventHandler targets="{[logoutLabel,logoutLabel2]}" eventName="click" > + <fc:OpenPopUp id="openLogoutPopUp" + popUpType="{LoginWindow}" + modalDuration="100" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}" + popUpOptions="{{currentState:LoginWindow.LOGOUT}}" + close="logoutPopUp_closeHandler(event)"/> + </handlers:EventHandler> + + <handlers:EventHandler targets="{[newProjectButton,menuNewProject,newDocumentButton]}" eventNames="{['click','itemClick']}" > + <fc:OpenPopUp id="openNewProjectPopUp" + popUpType="{NewDocumentWindow}" + modalDuration="100" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}" + popUpOptions="{{currentState:NewDocumentWindow.PROJECT}}" + close="createNewProjectLabel_clickHandler(event);" + /> + </handlers:EventHandler> + + <handlers:EventHandler target="{removeDocument}" eventName="itemClick" > + <fc:OpenPopUp id="openDeleteDocumentPopUp" + popUpType="{DeleteDocumentWindow}" + modalDuration="100" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}" + popUpOptions="{{currentState:DeleteDocumentWindow.DOCUMENT}}" + /> + </handlers:EventHandler> + + <handlers:EventHandler target="{logoPopUpGroup}" eventName="mouseDownOutside"> + <popup:HidePopupAnchor target="{logoPopUp}" /> + </handlers:EventHandler> + + <handlers:EventHandler target="{moreInfoLabel}" eventName="click"> + <popup:HidePopupAnchor target="{aboutPopUp}" /> + <navigation:OpenURL URL="http://www.radii8.com/blog/?page_id=2" window="_blank" /> + </handlers:EventHandler> + + <handlers:EventHandler targets="{[deleteProjectIcon,removeProject]}" eventNames="{['click','itemClick']}" > + <fc:OpenPopUp id="openDeleteProjectPopUp" + popUpType="{DeleteDocumentWindow}" + modalDuration="100" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}" + popUpOptions="{{currentState:DeleteDocumentWindow.PROJECT, documentData:projectsList.selectedItem}}" + close="checkForProjects();" + /> + </handlers:EventHandler> + + <handlers:EventHandler eventName="itemClick" target="{saveDocumentAs}"> + <fc:OpenPopUp id="openExportPopUp" + popUpType="{ExportDocumentWindow}" + modalDuration="150" + percentWidth="75" + percentHeight="90" + width="800" + parent="{parentApplication}"/> + </handlers:EventHandler> + + <handlers:EventHandler eventName="itemClick" target="{importMenuItem}"> + <fc:OpenPopUp id="openImportPopUp" + popUpType="{ImportWindow}" + modalDuration="150" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}"/> + </handlers:EventHandler> + + + <handlers:EventHandler eventName="itemClick" target="{printItem}"> + <fc:OpenPopUp id="openPrintPopUp" + popUpType="{PrintWindow}" + modalDuration="150" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}"/> + </handlers:EventHandler> + + <handlers:EventHandler eventName="click" targets="{[loginLabel,loginLabel2]}"> + <fc:OpenPopUp id="openLoginPopUp" + popUpType="{LoginWindow}" + modalDuration="150" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}" + popUpOptions="{{currentState:LoginWindow.LOGIN}}" + close="loginPopUp_closeHandler(event)"/> + </handlers:EventHandler> + + <handlers:EventHandler eventName="click" targets="{[registerLabel,registerLabel2]}"> + <fc:OpenPopUp popUpType="{LoginWindow}" + modalDuration="150" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}" + popUpOptions="{{currentState:LoginWindow.REGISTRATION_WITH_SITE}}" + close="loginPopUp_closeHandler(event)"/> + </handlers:EventHandler> + + <model:MenuItem id="rootMenu"> + <model:MenuItem label="File"> + <model:MenuItem id="menuNewDocument" label="New Document" itemClick="{radiate.createNewDocument()}"/> + <model:MenuItem id="menuNewProject" label="New Project" /> + <model:MenuItem type="separator"/> + <model:MenuItem label="Open Project" itemClick="openProject_itemClickHandler(event)"/> + <model:MenuItem label="Open Document" itemClick="openDocument_itemClickHandler(event)"/> + <model:MenuItem type="separator"/> + <model:MenuItem label="Close Project" itemClick="{radiate.closeProject(radiate.selectedProject)}"/> + <model:MenuItem label="Close Document" itemClick="{radiate.closeDocument(radiate.selectedDocument)}"/> + <model:MenuItem type="separator"/> + <model:MenuItem label="Save Project" itemClick="{radiate.saveProject(radiate.selectedProject)}"/> + <model:MenuItem label="Save Document" itemClick="{radiate.saveDocument(radiate.selectedDocument)}"/> + <model:MenuItem label="Save All Documents" itemClick="{radiate.saveAllDocuments()}"/> + <model:MenuItem id="saveDocumentAs" label="Save Document As..." /> + <model:MenuItem type="separator"/> + <model:MenuItem id="removeDocument" label="Remove Document" /> + <model:MenuItem id="removeProject" label="Remove Project" itemClick="removeProject_itemClickHandler(event)"/> + <model:MenuItem type="separator"/> + <model:MenuItem id="printItem" label="Print" /> + <model:MenuItem type="separator"/> + <model:MenuItem id="importMenuItem" label="Import..." /> + <model:MenuItem type="separator"/> + <model:MenuItem id="workOfflineMenuItem" label="Work Offline" type="check" itemClick="workOfflineMenuItem_itemClickHandler(event)"/> + </model:MenuItem> + <model:MenuItem label="Edit" > + <model:MenuItem id="undo" label="Undo" itemClick="undo_itemClickHandler(event)" + enabled="{Radiate.canUndo}"/> + <model:MenuItem id="redo" label="Redo" itemClick="redo_itemClickHandler(event)" + enabled="{Radiate.canRedo}"/> + <model:MenuItem type="separator"/> + <model:MenuItem id="cut" label="Cut" enabled="false"/> + <model:MenuItem id="copy" label="Copy" enabled="false"/> + <model:MenuItem id="paste" label="Paste" name="paste" enabled="false"/> + </model:MenuItem> + <model:MenuItem label="Commands" > + <model:MenuItem id="showProjectSource" label="Show Project Source" itemClick="showProjectSource_itemClickHandler(event)" /> + <model:MenuItem id="showDocumentSource" label="Show Document Source" itemClick="showDocumentSource_itemClickHandler(event)"/> + </model:MenuItem> +<!-- <model:MenuItem label="Edit" menuShow="editHandler(event)"> + <model:MenuItem id="cut" label="Cut" itemClick="cutHandler(event)"/> + <model:MenuItem id="copy" label="Copy" itemClick="copyHandler(event)"/> + <model:MenuItem id="paste" label="Paste" enabled="false" name="paste"/> + <model:MenuItem type="separator"/> + <model:MenuItem label="Other menu item"/> + </model:MenuItem>--> + <model:MenuItem id="windowMenu" label="Window"> + <!--<model:MenuItem id="d1" label="Document 1" group="docs" toggled="false" type="radio"/> + <model:MenuItem label="Document 2" group="docs" toggled="true" type="radio"/> + <model:MenuItem id="d3" label="Document 3" group="docs" name="d3" toggled="false" + type="radio"/> + <model:MenuItem label="Document 4" group="docs" toggled="false" type="radio"/>--> + </model:MenuItem> + </model:MenuItem> + + <mx:ArrayCollection id="projectsCollection" /> + <mx:ArrayCollection id="documentsCollection" /> + <mx:ArrayCollection id="examplesCollection" /> + <mx:ArrayCollection id="templatesCollection" /> + + <s:Parallel id="fadeInLogo"> + <s:Rotate3D angleZFrom="0" + angleZTo="90" + autoCenterProjection="true" + autoCenterTransform="true" + duration="250" + target="{logo3}" /> + <s:Fade alphaFrom="0" alphaTo="1" target="{logo3}" duration="250" /> + </s:Parallel> + + <core:CallMethod id="checkOnlineEffect" + repeatCount="0" + method="checkOnline" + repeatDelay="60000"/> + + <!-- + Enable CMD click on a display object and get information in the console about it + Should be turned off in release build. + --> + <utils:MiniInspector showDisplayObjectOutlines="true" + showRuler="false" + showStyleInheritanceInformation="false" + showAllStyleDeclarations="false" + showColorUnderMouse="false" + /> + </fx:Declarations> + + <s:states> + <s:State name="home"/> + <s:State name="login"/> + <s:State name="homeLoggedIn" basedOn="home"/> + <s:State name="homeLoggedOut" basedOn="home"/> + <s:State name="design"/> + </s:states> + + + <s:Image id="backgroundLogoImage" + y="0" x="-200" + width="80%" height="80%" + source="{Radii8LibraryAssets.logo3}" + alpha=".05" + includeIn="home"/> + + <!-- HOME SCREEN MENU --> + <s:RectangularDropShadow height="380" width="640" + horizontalCenter="0" verticalCenter="-20" + includeIn="home" + blurX="6" blurY="6" + distance="0"/> + + <!-- HOME SCREEN MENU --> + <s:BorderContainer height="380" width="640" + horizontalCenter="0" verticalCenter="-20" + includeIn="home"> + <s:BorderContainer left="0" x="81" top="0" y="82" height="120" + right="0" borderVisible="false" backgroundColor="#CCCCCC"/> + <s:Image id="logo3" x="0" y="0" width="128" height="128" source="{Radii8LibraryAssets.logo3}" + rollOver="{fadeInLogo.play()}" rollOut="{fadeInLogo.play(null, true)}" + alpha="0"/> + <s:BitmapImage id="logo4" x="32" y="32" source="{Radii8LibraryAssets.logo64}"/> + <s:Label x="130" y="44" text="Radiate" fontSize="45"> + <s:filters> + <filters:BorderStrokeFilter color="#EEEEEE" weight="1"/> + <filters:BorderStrokeFilter color="#DDDDDD" weight="1"/> + <filters:BorderStrokeFilter color="#CFCFCF" weight="1"/> + </s:filters> + </s:Label> + + <s:HGroup left="20" y="170" width="100%" right="20"> + + <s:VGroup width="100%" gap="0"> + + <s:Spacer height="8"/> + <renderers:EditableDocumentRenderer id="newProjectButton" label="New Project" width="100%" + useHandCursor="true" buttonMode="true" + autoDrawBackground="false"/> + <renderers:EditableDocumentRenderer id="newDocumentButton" label="New Document" width="100%" + useHandCursor="true" buttonMode="true" + autoDrawBackground="false"/> + <renderers:EditableDocumentRenderer label="Get My Projects" width="100%" + useHandCursor="true" buttonMode="true" + click="getProjectsByUser_clickHandler(event)"/> + <renderers:EditableDocumentRenderer label="Get All Projects" width="100%" + useHandCursor="true" buttonMode="true" + click="getPublicProjects_clickHandler(event)"/> + </s:VGroup> + + <s:VGroup width="100%"> + <s:Label text="Projects" fontWeight="bold"/> + <s:Label id="checkingForProjectsLabel" + text="Checking for projects..." + fontStyle="italic" + color="#989898" + visible="false" + includeInLayout="false"/> + <s:List id="projectsList" + width="100%" + maxHeight="110" + borderVisible="false" + dataProvider="{projectsCollection}" + labelField="name" + change="projectsList_changeHandler(event)" + itemRenderer="com.flexcapacitor.views.renderers.EditableProjectRenderer" + /> + + <s:Label id="projectLastSavedLabel" text="" + visible="false" includeInLayout="false"/> + </s:VGroup> + + <s:VGroup width="100%"> + <s:Label text="Examples" fontWeight="bold"/> + <s:List width="100%" borderVisible="false" + dataProvider="{examplesCollection}" + labelField="name" + maxHeight="110" + /> + </s:VGroup> + + <s:VGroup width="100%" includeInLayout="false" visible="false"> + <s:Label text="Templates" fontWeight="bold"/> + <s:List width="100%" + dataProvider="{templatesCollection}" + /> + </s:VGroup> + + </s:HGroup> + + + <s:Label id="statusLabel" bottom="60" left="20" textAlign="left"/> + + <s:HGroup bottom="20" left="20" right="20" + width="100%" + verticalAlign="middle"> + <s:Label id="logoutLabel2" + text="Logout" + useHandCursor="true" + buttonMode="true" + verticalAlign="middle" + textAlign="center" + styleName="loginLabel" + visible="{radiate.isUserLoggedIn}" + includeInLayout="{radiate.isUserLoggedIn}" + /> + + <s:Label id="loginLabel2" + text="Login" + useHandCursor="true" + buttonMode="true" + verticalAlign="middle" + textAlign="center" + styleName="loginLabel" + visible="{!radiate.isUserLoggedIn}" + includeInLayout="{!radiate.isUserLoggedIn}" + /> + + <c:VerticalLine visible="{!radiate.isUserLoggedIn}" + includeInLayout="{!radiate.isUserLoggedIn}"/> + + <s:Label id="registerLabel2" + text="Register" + useHandCursor="true" + buttonMode="true" + verticalAlign="middle" + textAlign="center" + styleName="loginLabel" + visible="{!radiate.isUserLoggedIn}" + includeInLayout="{!radiate.isUserLoggedIn}" + /> + + <s:Spacer width="100%" /> + + <s:HGroup id="_visibleButtonGroup" + mouseEnabledWhereTransparent="true" + right="0" + height="100%" + enabled="{projectsList.selectedItem!=null}" + > + + <renderers:ItemRendererButton iconSource="{Radii8LibraryAssets.openFolder}" + label="Open Project" + click="openProject()" + /> + + <renderers:ItemRendererButton id="deleteProjectIcon" + iconSource="{Radii8LibraryAssets.trashCan}" + label="Trash" + /> + + </s:HGroup> + </s:HGroup> + + </s:BorderContainer> + + <s:Label id="productionLabel" text="Not ready for production work" + typographicCase="lowercaseToSmallCaps" bottom="60" horizontalCenter="0" + textAlign="left" + color="#888888" + includeIn="home" + /> + + <local:Remote id="remote" width="100%" height="100%" top="38" includeIn="design" /> + + <s:PopUpAnchor id="logoPopUp" width="100" height="100" top="34" left="10" > + <s:Group id="logoPopUpGroup" + mouseEnabledWhereTransparent="true" + width="100" height="100" + > + <s:filters> + <s:DropShadowFilter distance="3" strength=".75"/> + </s:filters> + + + <s:Rect width="100%" height="100%" radiusX="8" radiusY="8"> + <s:fill> + <s:SolidColor color="#ffffff" alpha=".9" /> + </s:fill> + <s:stroke> + <s:SolidColorStroke color="#000000" pixelHinting="true" weight="0" /> + </s:stroke> + </s:Rect> + + <s:BitmapImage id="logo2" + source="assets/images/logo2.png" + width="68" height="69" + verticalCenter="0" + horizontalCenter="0" + > + </s:BitmapImage> + </s:Group> + </s:PopUpAnchor> + + <!-- TOP MENU BAR --> + <s:BorderContainer backgroundColor="#3d3d3d" + borderVisible="false" + width="100%" height="28" + top="0" + color="#DFDFDF" + > + + <s:layout> + <s:HorizontalLayout verticalAlign="middle" + paddingLeft="8" + paddingRight="8" + gap="8"/> + </s:layout> + + <s:Image id="logo" + source="{Radii8LibraryAssets.logo}" + width="20" height="20" + verticalAlign="middle" + horizontalAlign="center" + includeInLayout="true" + useHandCursor="true" + buttonMode="true" + > + </s:Image> + + <s:Spacer width="-6"/> + + <s:Label text="RADII8" + fontSize="12" + fontWeight="bold" + color="#ffffff" + paddingTop="2" + top="10" + left="10" + buttonMode="true" + useHandCursor="true" + click="logo_clickHandler(event)"/> + <s:Label text="alpha" + fontSize="8" + fontWeight="bold" + color="#ffffff" + paddingBottom="6" + top="10" + left="10"/> + + <c:VerticalLine includeIn="design"/> + + <mx:MenuBar id="mainMenuBar" + dataProvider="{rootMenu}" + labelField="label" + height="100%" + useHandCursor="true" + buttonMode="true" + showRoot="false" + includeIn="design" + menuShow="menuItemEventHandler(event)" + menuHide="menuItemEventHandler(event)" + itemClick="menuItemEventHandler(event)" + itemRollOut="menuItemEventHandler(event)" + itemRollOver="menuItemEventHandler(event)" + change="menuItemEventHandler(event)" + > + </mx:MenuBar> + <!-- + <mx:PopUpMenuButton id="p1" + showRoot="true" + useHandCursor="true" + buttonMode="true" + dataProvider="{popUpMenuDataProvider}" + openAlways="true" + rollOver="p1.open()" + color="#EEEEEE" + paddingBottom="1" + skin="com.flexcapacitor.skins.PopUpButtonSkin" + visible="false" + includeInLayout="false" + />--> + + <s:Spacer width="100%"/> + + <!--<s:CheckBox id="loadCompatible" label="Compatible" selected="false" visible="false"/> + <s:CheckBox id="trustContent" label="Trust Content" selected="true" visible="false"/> + <s:TextInput id="appURL" width="90%" prompt="Enter a URL to a SWF" text="" visible="false" enter="textinput1_enterHandler(event)"/> + <s:Label id="loadLabel" + text="Load" + useHandCursor="true" + buttonMode="true" + verticalAlign="middle" + textAlign="center" + click="loadProject_clickHandler(event)" + visible="false"/> + <s:Label id="resetLabel" + text="Restore" + verticalAlign="middle" + textAlign="center" + visible="false" + includeInLayout="false" + click="loadNewProject_clickHandler(event)" /> + <s:Label id="closeLabel" + text="Close" + verticalAlign="middle" + textAlign="center" + visible="false" + includeInLayout="false" + click="closeLabel_clickHandler(event)" />--> + + <s:Label id="loginLabel" + text="Login" + useHandCursor="true" + buttonMode="true" + verticalAlign="middle" + textAlign="center" + color="#DDDDDD" + visible="{!radiate.isUserLoggedIn}" + includeInLayout="{!radiate.isUserLoggedIn}" + /> + + <s:Label text="|" + verticalAlign="middle" + textAlign="center" + color="#DDDDDD" + visible="{!radiate.isUserLoggedIn}" + includeInLayout="{!radiate.isUserLoggedIn}" + /> + + + <s:Label id="registerLabel" + text="Register" + useHandCursor="true" + buttonMode="true" + verticalAlign="middle" + textAlign="center" + color="#DDDDDD" + visible="{!radiate.isUserLoggedIn}" + includeInLayout="{!radiate.isUserLoggedIn}" + /> + + <c:VerticalLine visible="{!radiate.isUserLoggedIn}" + includeInLayout="{!radiate.isUserLoggedIn}" + /> + + <s:Label id="userLabel" + text="Hello, {radiate.userDisplayName}" + useHandCursor="true" + buttonMode="true" + verticalAlign="middle" + textAlign="center" + color="#DDDDDD" + visible="{radiate.isUserLoggedIn}" + includeInLayout="{radiate.isUserLoggedIn}" + /> + + <s:Image id="userIcon" + width="22" height="22" + top="3" + source="{radiate.userAvatar}" + showErrorSkin="false" + smooth="true" + clearOnLoad="false" + securityError="userIcon_securityErrorHandler(event)" + ioError="userIcon_ioErrorHandler(event)" + /> + + <c:VerticalLine + visible="{radiate.isUserLoggedIn}" + includeInLayout="{radiate.isUserLoggedIn}"/> + + <s:Label id="logoutLabel" + text="Logout" + useHandCursor="true" + buttonMode="true" + verticalAlign="middle" + textAlign="center" + color="#DDDDDD" + visible="{radiate.isUserLoggedIn}" + includeInLayout="{radiate.isUserLoggedIn}" + /> + + <c:VerticalLine /> + + + <s:ToggleButton id="isConnectedCheckbox" + selected="{radiate.isUserConnected}" + skinClass="com.flexcapacitor.views.skins.OnlineToggleButton" + useHandCursor="true" + buttonMode="true" + enabled="true" + toolTip="Indicates if Radii8 is reachable." + click="isConnectedCheckbox_clickHandler(event)" + /> + + + <!---http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=96 // assets/avatar/gravar-default-96.png --> + </s:BorderContainer> + + <s:PopUpAnchor id="aboutPopUp" width="250" height="250" top="30" left="10" > + <s:Group id="popUpGroup" + mouseEnabledWhereTransparent="true" + width="250" height="100%" + > + + <s:Rect width="100%" height="100%" radiusX="8" radiusY="8"> + <s:fill> + <s:SolidColor color="#ffffff" alpha=".9" /> + </s:fill> + <s:stroke> + <s:SolidColorStroke color="#000000" pixelHinting="true" weight="2" /> + </s:stroke> + </s:Rect> + + <s:VGroup paddingLeft="12" paddingRight="12" paddingTop="12" paddingBottom="12" + gap="8"> + <s:HGroup verticalAlign="middle"> + <s:Label text="Build Date:" minWidth="100" /> + <s:Label text="{radiate.buildDate}" /> + </s:HGroup> + <s:HGroup verticalAlign="middle"> + <s:Label text="Build Time:" minWidth="100" /> + <s:Label text="{radiate.buildTime}" /> + </s:HGroup> + <s:HGroup verticalAlign="middle"> + <s:Label text="Build Number:" width="100" /> + <s:Label text="{radiate.buildNumber}" /> + <s:Label text="" /> + </s:HGroup> + <s:HGroup verticalAlign="middle"> + <s:Label id="moreInfoLabel" text="More info" color="blue" fontWeight="bold" + useHandCursor="true" buttonMode="true"/> + </s:HGroup> + <s:HGroup verticalAlign="middle"> + <s:Label id="feedbackLabel" text="Feedback" color="blue" fontWeight="bold" + useHandCursor="true" buttonMode="true"/> + </s:HGroup> + </s:VGroup> + <s:filters> + <s:DropShadowFilter distance="6" blurX="3" blurY="3" strength=".35"/> + </s:filters> + </s:Group> + </s:PopUpAnchor> + + + <s:Rect width="100%" height="28" bottom="0"> + <s:fill> + <s:SolidColor color="#3d3d3d"/> + </s:fill> + </s:Rect> + + + + <s:HGroup verticalAlign="middle" + right="10" + bottom="6" + left="10" + color="#888888" + > + <c:LabelButton id="contactLabel" + bottom="6" + left="10" + text="Contact" + color="#888888" + typographicCase="capsToSmallCaps" + /> + <s:Spacer width="1"/> + <c:VerticalLine height="16" /> + <s:Spacer width="1"/> + <s:Label text="Build Date:" /> + <s:Label id="buildDate" text="{radiate.buildDate}" /> + <s:Label text="Build Time:" /> + <s:Label id="buildTime" text="{radiate.buildTime}" /> + <s:Label text="Build Number:" /> + <s:Label id="buildNumber" text="{radiate.buildNumber}" /> + + <s:Spacer width="100%"/> + <s:Label text="Last saved:" includeInLayout="{radiate.lastSaveDate!=null}" visible="{radiate.lastSaveDate!=null}"/> + <s:Label id="lastSavedDate" text="{radiate.lastSaveDate}" includeInLayout="{radiate.lastSaveDate!=null}" visible="{radiate.lastSaveDate!=null}"/> + <c:VerticalLine height="100%" includeInLayout="{radiate.lastSaveDate!=null}" visible="{radiate.lastSaveDate!=null}"/> + + <s:Label right="10" + bottom="6" + textAlign="right" + text="" + /> + </s:HGroup> +</s:Application>
http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/Remote.mxml ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/Remote.mxml b/Radii8Designer/src/Remote.mxml new file mode 100644 index 0000000..90bb895 --- /dev/null +++ b/Radii8Designer/src/Remote.mxml @@ -0,0 +1,683 @@ +<?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:Group xmlns:fx="http://ns.adobe.com/mxml/2009" + xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:mx="library://ns.adobe.com/flex/mx" + xmlns:controls="com.flexcapacitor.controls.*" + xmlns:components="com.flexcapacitor.components.*" + xmlns:supportClasses="spark.components.supportClasses.*" + xmlns:handlers="com.flexcapacitor.handlers.*" + xmlns:core="com.flexcapacitor.effects.core.*" + xmlns:flexiframe="com.google.code.flexiframe.*" + xmlns:views="com.flexcapacitor.views.*" + xmlns:panels="com.flexcapacitor.views.panels.*" + xmlns:fc="com.flexcapacitor.effects.popup.*" + xmlns:ns1="*" + + width="400" + height="100%" + creationComplete="creationCompleteHandler(event)" + > + + <fx:Style> + @namespace s "library://ns.adobe.com/flex/spark"; + @namespace mx "library://ns.adobe.com/flex/mx"; + @namespace controls "com.flexcapacitor.controls.*"; + @namespace inspectors "com.flexcapacitor.inspectors.*"; + @namespace ns1 "*"; + @namespace supportClasses "spark.components.supportClasses.*"; + + .formItem { + /* backgroundColor:#e6e6e6; */ + backgroundColor:#a2a2a2; + backgroundAlpha:.25; + paddingLeft:6; + paddingTop:5; + paddingBottom:3; + fontSize:10; + fontWeight:bold; + textAlpha:.75; + typographicCase:uppercase; + } + </fx:Style> + + <fx:Script> + <![CDATA[ + import com.flexcapacitor.controller.Radiate; + import com.flexcapacitor.events.RadiateEvent; + import com.flexcapacitor.model.IDocument; + import com.flexcapacitor.utils.ClassUtils; + import com.flexcapacitor.views.IInspector; + import com.flexcapacitor.views.windows.ContactWindow; + import com.flexcapacitor.views.windows.SaveBeforeCloseWindow; + + import mx.core.UIComponent; + import mx.events.FlexEvent; + import mx.events.IndexChangedEvent; + + import spark.events.IndexChangeEvent; + + + [Bindable] + private var radiate:Radiate; + + protected function panelsLabelFunction(item:Object):String { + var name:String = item is Label ? Label(item).text : " • "; + return name; + } + + protected function list1_changeHandler(event:IndexChangeEvent):void { + /*var point:Point = panels.layout.getScrollPositionDeltaToElement(event.newIndex +1); + + // if going up get the selected item + if (point && point.y<0) { + point = panels.layout.getScrollPositionDeltaToElement(event.newIndex); + scrollMotionPath.valueBy = point.y; + scrollPanelsAnimation.play(); + } + else if (point) { + //panels.layout.verticalScrollPosition = panels.layout.verticalScrollPosition + point.y; + scrollMotionPath.valueBy = point.y; + scrollPanelsAnimation.play(); + } + + event.preventDefault();*/ + } + + protected function closeDocumentIcon_clickHandler():void { + radiate.closeVisibleDocument(); + } + + protected function navigatorContent_changeHandler(event:IndexChangedEvent):void { + var index:int = event.newIndex; + var document:IDocument; + + document = radiate.getDocumentAtIndex(event.newIndex); + radiate.setProject(document.project); + radiate.setDocument(document, true); + return; + + /* + if (index==1) { + //Radiate.desetDocuments(true); + radiate.isPreviewVisible = true; + } + else { + document = NavigatorContent(documentsTagNavigator.getItemAt(0)).getElementAt(0) as DocumentContainer; + + if (document) { + Radiate.setDocuments(document.targetApplication); + radiate.isPreviewVisible = false; + } + } + */ + } + + protected function creationCompleteHandler(event:FlexEvent):void { + radiate = Radiate.getInstance(); + + radiate.documentsTabNavigator = documentsTagNavigator; + radiate.addEventListener(RadiateEvent.TARGET_CHANGE, targetChange, false, 0, true); + } + + private var previewCreated:Boolean; + private var initialDocument:Boolean; + + + private var navigatorContent:NavigatorContent; + + + protected function documentsTagNavigator_clickHandler(event:MouseEvent):void { + /*var target:Object = radiate.target; + var navigatorContent:INavigatorContent = documentsTagNavigator.selectedChild; + + if (target && "setFocus" in target) { + target["setFocus"](); + } + + if (navigatorContent is DisplayObject) { + var filter:BorderStrokeFilter = new BorderStrokeFilter(); + navigatorContent.filters = [filter]; + }*/ + } + + /** + * Activate selected inspector and deactivate hidden inspectors + * */ + public function activateInspector(viewstack:ViewStack, selectedNavigator:NavigatorContent):void { + var navigatorItem:NavigatorContent; + var selectedNavigatorContent:IInspector; + var navigatorInspector:IInspector; + + if (selectedNavigator && selectedNavigator.numElements>0) { + selectedNavigatorContent = selectedNavigator.getElementAt(0) as IInspector; + } + + var length:int = viewstack.numElements; + + // deactivate hidden inspectors + for (var i:int;i<length;i++) { + navigatorItem = viewstack.getElementAt(i) as NavigatorContent; + + if (navigatorItem && navigatorItem.numElements>0) { + navigatorInspector = navigatorItem.getElementAt(0) as IInspector; + + if (navigatorInspector) { + navigatorInspector.deactivate(); + } + } + } + + // activate the current inspector + if (selectedNavigatorContent) { + UIComponent(selectedNavigatorContent).validateNow();// make sure everythings created + selectedNavigatorContent.activate(); + } + } + + /** + * + * This error occured on switching from design view to the home screen + TypeError: Error #1009: Cannot access a property or method of a null object reference. + at mx.containers::TabNavigator/keyDownHandler()[E:\dev\4.y\frameworks\projects\mx\src\mx\containers\TabNavigator.as:895] + * + override protected function keyDownHandler(event:KeyboardEvent):void + { + if (focusManager.getFocus() == this) // error here line 895 + { + // Redispatch the event from the TabBar so that it can handle it. + tabBar.dispatchEvent(event); + } + } + + */ + + protected function firstViewStack_changeHandler(event:IndexChangedEvent):void { + activateInspector(firstViewStack, event.relatedObject as NavigatorContent); + } + + protected function secondViewStack_changeHandler(event:IndexChangedEvent):void { + activateInspector(secondViewStack, event.relatedObject as NavigatorContent); + } + + protected function thirdViewStack_changeHandler(event:IndexChangedEvent):void { + activateInspector(thirdViewStack, event.relatedObject as NavigatorContent); + } + + protected function forthViewStack_changeHandler(event:IndexChangedEvent):void { + activateInspector(forthViewStack, event.relatedObject as NavigatorContent); + } + + protected function firstViewStack_creationCompleteHandler(event:FlexEvent):void { + activateInspector(firstViewStack, firstViewStack.selectedChild as NavigatorContent); + } + + protected function secondViewStack_creationCompleteHandler(event:FlexEvent):void { + activateInspector(secondViewStack, secondViewStack.selectedChild as NavigatorContent); + } + + protected function thirdViewStack_creationCompleteHandler(event:FlexEvent):void { + activateInspector(thirdViewStack, thirdViewStack.selectedChild as NavigatorContent); + } + + protected function forthViewStack_creationCompleteHandler(event:FlexEvent):void { + activateInspector(forthViewStack, forthViewStack.selectedChild as NavigatorContent); + } + + protected function targetChange(event:RadiateEvent):void { + var targetNameValue:String = ClassUtils.getClassNameOrID(event.selectedItem); + + if (targetNameValue) { + targetName = targetNameValue; + } + else { + targetName = null; + } + } + + /** + * Name or class name of target + * */ + [Bindable] + public var targetName:String; + ]]> + </fx:Script> + + + <fx:Declarations> + + <!--<s:Animate id="scrollPanelsAnimation" target="{panels.layout}" > + <s:SimpleMotionPath id="scrollMotionPath" property="verticalScrollPosition" /> + </s:Animate>--> + + <!-- FADE IN APPLICATION --> + <!--<s:Sequence id="fadeIn"> + + <s:SetAction target="{radiateScroller}" property="alpha" value="0"/> + + <s:Fade target="{applicationGroup}" alphaFrom="0" alphaTo="1" duration="0"/> + + <s:SetAction target="{radiateScroller}" property="alpha" value="0"/> + + <s:Animate target="{applicationGroup}" startDelay="500" > + <s:SimpleMotionPath valueFrom="0" valueTo="270" property="left" /> + </s:Animate> + + <s:SetAction target="{radiateScroller}" property="alpha" value="1"/> + + <s:Animate target="{radiateScroller.viewport}" duration="750"> + <s:SimpleMotionPath valueFrom="0" valueTo="1" property="alpha"/> + <s:SimpleMotionPath valueFrom="{radiateScroller.viewport.contentHeight}" + valueTo="0" property="verticalScrollPosition" /> + </s:Animate> + + </s:Sequence>--> + + <!--<handlers:EventHandler eventName="creationComplete" target="{this}"> + <core:PlayEffect effect="{fadeIn}"/> + </handlers:EventHandler>--> + + + <!--- show contact popup --> + <handlers:EventHandler target="{closeDocument}" eventName="click" > + <fc:OpenPopUp id="openSaveBeforeClosePopUp" + popUpType="{SaveBeforeCloseWindow}" + modalDuration="100" + percentWidth="75" + percentHeight="90" + width="600" + parent="{parentApplication}"/> + </handlers:EventHandler> + </fx:Declarations> + + + <s:Group width="100%" height="100%" bottom="35" left="5" right="5"> + + <s:HGroup id="toolBarGroup" width="100%" height="26" > + <s:BitmapImage source="{Radii8LibraryToolAssets.DragStripIcon}"/> + <views:SelectedToolToolBar /> + <s:BitmapImage source="{Radii8LibraryToolAssets.DragStripIcon}"/> + <views:HistoryToolBar /> + <s:Spacer width="100%"/> + <views:SizesInspector showRestoreSize="true" height="100%"/> + <views:ZoomInspector showActualSize="false" height="100%"/> + </s:HGroup> + + <mx:HDividedBox width="100%" height="100%" + top="32"> + + <!-- EXAMPLE RADIATE CONTAINER --> + <!--<s:Scroller id="radiateScroller" + width="300" + height="100%" + left="0" + top="0" + bottom="0"> + + <s:DataGroup id="panels" width="100%" height="100%" > + <s:layout> + <s:VerticalLayout paddingRight="4" variableRowHeight="true"/> + </s:layout> + <s:ArrayCollection>--> + <!--<ns1:Panel width="100%" > + <s:Button label="hello"/> + </ns1:Panel>--> + + <!-- SELECTION --> + <!--<s:Label text="SELECTION" width="100%" styleName="formItem"/> + <inspectors:Selection height="100%" width="100%" />--> + + + <mx:VDividedBox width="350" height="100%"> + <!--<s:layout> + <s:VerticalLayout gap="0" /> + </s:layout>--> + + <!-- TOOLS --> + <s:VGroup width="100%" height="48" minHeight="48"> + <s:Label text="TOOLS" width="100%" styleName="formItem"/> + <views:Tools width="100%" height="24"/> + </s:VGroup> + + <!--<s:Spacer height="8"/>--> + + <!--<s:TabBar dataProvider="{firstViewStack}" width="100%" height="22"/>--> + + <mx:TabNavigator id="firstViewStack" + width="100%" + height="100%" + clipContent="true" + change="firstViewStack_changeHandler(event)" + creationComplete="firstViewStack_creationCompleteHandler(event)"> + + <!-- PROJECT --> + <s:NavigatorContent label="PROJECTS" > + <panels:ProjectInspector width="100%" /> + </s:NavigatorContent> + + <!-- COMPONENTS --> + <s:NavigatorContent label="COMPONENTS"> + <panels:ComponentsInspector height="100%" width="100%" /> + </s:NavigatorContent> + + <!-- LAYERS --> + <s:NavigatorContent label="LAYERS" > + <views:LayersInspector width="100%" minHeight="180"/> + </s:NavigatorContent> + + <!-- HISTORY --> + <s:NavigatorContent label="HISTORY"> + <panels:HistoryInspector id="history" minHeight="100" + clearOnTargetChange="false" + height="100%" width="100%"/> + </s:NavigatorContent> + + <!-- OTHER --> + <s:NavigatorContent label="OTHERS"> + + <s:Scroller width="100%" + height="100%" + left="0" + top="0" + bottom="0"> + + <s:Group id="panels" width="100%" height="100%" > + <s:layout> + <s:VerticalLayout paddingRight="4" variableRowHeight="true"/> + </s:layout> + + <!-- BLEND MODES --> + <!--<s:Label text="BLEND MODE" width="100%" styleName="formItem"/> + <inspectors:BlendMode height="100%" width="100%" />--> + + <!-- SNAPSHOT --> + <s:Label text="SNAPSHOT" width="100%" styleName="formItem" /> + <views:Snapshot height="100%" width="100%" /> + + <!-- EDIT DECISION LIST --> + <s:Label text="CHANGE LOG" width="100%" styleName="formItem"/> + <views:ChangeHistory minHeight="22" height="100%" width="100%" removeDuplicates="false"/> + + + <!-- SEARCH EXPRESSION --> + <s:Label text="SEARCH EXPRESSION" width="100%" styleName="formItem"/> + <views:SearchExpression height="100%" width="100%"/> + + <!-- REDRAW REGIONS --> + <s:Label text="REDRAW REGIONS" width="100%" styleName="formItem"/> + <views:RedrawRegions width="20" height="20" /> + + <!-- FRAMERATE --> + <s:Label text="FRAMERATE" width="100%" + styleName="formItem"/> + <views:FrameRate /> + + <!-- MEMORY --> + <s:Label text="MEMORY" width="100%" styleName="formItem"/> + <views:Memory height="100%" width="100%" + showCurrentlyUsedPlayerMemory="true"/> + <s:Spacer height="10"/> + </s:Group> + </s:Scroller> + </s:NavigatorContent> + </mx:TabNavigator> + + <mx:TabNavigator id="secondViewStack" + borderStyle="solid" + width="100%" + height="100%" + selectedIndex="0" + change="secondViewStack_changeHandler(event)" + creationComplete="secondViewStack_creationCompleteHandler(event)"> + + <!-- DOCUMENTS --> + <s:NavigatorContent width="100%" height="100%" label="DOCUMENTS"> + <panels:DocumentsInspector height="100%" width="100%"/> + </s:NavigatorContent> + + <!-- LIBRARY --> + <s:NavigatorContent label="LIBRARY"> + <panels:LibraryInspector minHeight="180" height="100%" width="100%"/> + </s:NavigatorContent> + + <!-- LAYOUT CONSTRAINTS --> + <s:NavigatorContent label="LAYOUT"> + <s:Scroller width="100%" height="100%"> + <panels:ConstraintsInspector height="100%" width="100%" /> + </s:Scroller> + </s:NavigatorContent> + + <!-- PROPERTIES --> + <s:NavigatorContent label="PROPERTIES"> + <!-- TODO Convert this into a composite component --> + <s:HGroup width="100%" verticalAlign="baseline"> + <s:Label width="100%" text="{targetName}" paddingLeft="6" color="#888888"/> + <s:Spacer width="100%" /> + <mx:LinkBar dataProvider="{forthViewStack}" right="0"/> + </s:HGroup> + + <mx:ViewStack id="forthViewStack" + width="100%" + height="100%" + minHeight="24" + top="28" + change="forthViewStack_changeHandler(event)" + creationComplete="forthViewStack_creationCompleteHandler(event)"> + + <!-- DYNAMIC INSPECTOR --> + <s:NavigatorContent label="COMMON"> + <panels:DynamicComponentInspector width="100%" height="100%"/> + </s:NavigatorContent> + + <!-- PROPERTY INSPECTOR --> + <s:NavigatorContent label="ALL"> + <panels:PropertyInspector minHeight="180" height="100%" width="100%"/> + </s:NavigatorContent> + </mx:ViewStack> + <!--<mx:TabNavigator id="forthViewStack" + borderStyle="none" + width="100%" + height="100%" + minHeight="24"> + </mx:TabNavigator>--> + </s:NavigatorContent> + + <!-- EVENTS --> + <s:NavigatorContent label="EVENTS"> + <s:Scroller width="100%" height="100%"> + <panels:Events height="100%" width="100%"/> + </s:Scroller> + </s:NavigatorContent> + + <!-- EVENT LISTENERS --> + <!--<s:NavigatorContent label="EVENTS"> + <s:Scroller width="100%" height="100%"> + <inspectors:EventListeners height="100%" width="100%"/> + </s:Scroller> + </s:NavigatorContent>--> + + <!-- STATES --> + <s:NavigatorContent label="STATES"> + <s:Scroller width="100%" height="100%"> + <panels:States height="100%" width="100%" /> + </s:Scroller> + </s:NavigatorContent> + + <!-- PROFILING --> + <s:NavigatorContent width="100%" height="100%" label="PROFILE"> + <panels:Profiling height="100%" width="100%"/> + </s:NavigatorContent> + + </mx:TabNavigator> + + </mx:VDividedBox> + + <!-- DESCRIPTION --> + <!--<s:Label text="DESCRIPTION" width="100%" styleName="formItem"/>--> + <!--<inspectors:Description showDescriptionLabel="false" left="10" right="10" top="10"/>--> + <!--</s:ArrayCollection> + </s:DataGroup> + + </s:Scroller>--> + + <!-- EXAMPLE APPLICATION --> + <mx:VDividedBox id="documentsGroup" width="100%" height="100%" > + + + <mx:TabNavigator id="documentsTagNavigator" width="100%" height="100%" + change="navigatorContent_changeHandler(event)" + click="documentsTagNavigator_clickHandler(event)" + > + <!--<s:NavigatorContent width="100%" height="100%" label="HELL0!"> + <ns1:StartPage id="startPage" width="100%" height="100%" /> + </s:NavigatorContent>--> + <!--<s:NavigatorContent width="100%" height="100%" label="DOCUMENT"> + <components:DocumentContainer id="document1" width="100%" height="100%" /> + </s:NavigatorContent>--> + <!--<s:NavigatorContent width="100%" height="100%" label="PREVIEW" creationPolicy="all"> + <flexiframe:IFrame id="iframe" + top="20" + left="20" + width="100%" height="100%" + debug="false" + /> + </s:NavigatorContent>--> + + <!--<s:NavigatorContent width="100%" height="100%" label="" > + <ns1:Document id="document2" width="100%" height="100%" /> + </s:NavigatorContent>--> + </mx:TabNavigator> + + <!--<s:Label id="noDocumentsLabel" + text="To create a new project or document select File > New Project or File > New Document." + visible="{documentsTagNavigator.length==0}" + height="100%"/>--> + + <!-- BREADCRUMBS --> + <!--<s:Label text="BREADCRUMBS" width="100%" styleName="formItem"/>--> + + <!--<s:HGroup width="100%" paddingTop="8" > + <s:Label id="showConsoleLabel" + text="Console" + typographicCase="uppercase" + textAlign="center" + verticalAlign="middle" + paddingLeft="5" + paddingRight="5" + paddingBottom="5" + paddingTop="5" + fontWeight="bold" + fontSize="10" + backgroundAlpha=".75" + backgroundColor="#FFFFFF" + useHandCursor="true" + buttonMode="true" + click="showConsoleHandler(event)" + /> + </s:HGroup>--> + <s:VGroup width="100%" height="45%" minHeight="12"> + <views:Breadcrumbs width="100%" /> + + <mx:TabNavigator id="thirdViewStack" + borderStyle="solid" + width="100%" + height="100%" + minHeight="24" + change="thirdViewStack_changeHandler(event)" + creationComplete="thirdViewStack_creationCompleteHandler(event)"> + + <!-- DYNAMIC INSPECTOR --> + <!--<s:NavigatorContent label="INSPECTOR"> + <panels:DynamicComponentInspector width="100%" height="100%"/> + </s:NavigatorContent>--> + + <!-- CONSOLE --> + <s:NavigatorContent label="CONSOLE"> + <panels:ConsoleInspector width="100%" height="100%"/> + </s:NavigatorContent> + + <!-- CODE INSPECTOR --> + <s:NavigatorContent width="100%" height="100%" label="CODE"> + <panels:CodeInspector id="code1" width="100%" height="100%" /> + </s:NavigatorContent> + + <!-- METADATA INSPECTOR --> + <s:NavigatorContent width="100%" height="100%" label="METADATA"> + <panels:MetaDataInspector id="metadataInspector" width="100%" height="100%" /> + </s:NavigatorContent> + + <!-- DOCS INSPECTOR --> + <s:NavigatorContent width="100%" height="100%" label="DOCS"> + <panels:DocumentationInspector id="docsInspector" width="100%" height="100%" /> + </s:NavigatorContent> + + <!-- FEATURE INSPECTOR --> + <!--<s:NavigatorContent width="100%" height="100%" label="FEATURE"> + <views:Features id="featureInspector" width="100%" height="100%" /> + </s:NavigatorContent>--> + + + <!-- PROPERTY INSPECTOR --> + <!--<s:NavigatorContent label="PROPERTY INSPECTOR"> + </s:NavigatorContent>--> + </mx:TabNavigator> + </s:VGroup> + + + </mx:VDividedBox> + + </mx:HDividedBox> + + + <controls:ImageButton id="closeDocument" + source="{Radii8LibraryAssets.clear}" + toolTip="Closes the visible document. Use the open button to reopen the document." + right="8" + top="34" + width="16" + height="16" + horizontalAlign="center" + verticalAlign="middle" + /> + </s:Group> + + + <!--<s:List id="shortcutList" + width="100%" + height="14" + bottom="8" + left="10" + contentBackgroundAlpha="0" + labelFunction="panelsLabelFunction" + borderVisible="false" + fontSize="8" + color="#dddddd" + rollOverColor="#222222" + changing="list1_changeHandler(event)" + horizontalScrollPolicy="off" + dataProvider="{panels.dataProvider}" + > + <s:layout> + <s:HorizontalLayout variableColumnWidth="true" + verticalAlign="middle"/> + </s:layout> + </s:List>--> + +</s:Group> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/TestingAceEditor.mxml ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/TestingAceEditor.mxml b/Radii8Designer/src/TestingAceEditor.mxml new file mode 100644 index 0000000..6daae68 --- /dev/null +++ b/Radii8Designer/src/TestingAceEditor.mxml @@ -0,0 +1,181 @@ +<?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:Application xmlns:fx="http://ns.adobe.com/mxml/2009" + xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:mx="library://ns.adobe.com/flex/mx" + xmlns:flexiframe="com.google.code.flexiframe.*" + + minWidth="955" minHeight="600" + creationComplete="application1_creationCompleteHandler(event)" + > + + <fx:Script> + <![CDATA[ + import mx.events.FlexEvent; + import mx.events.ResizeEvent; + + private var aceEditorCreated:Boolean; + private var aceEditorVisible:Boolean; + public var settingEditorText:Boolean; + + protected function editor_resizeHandler(event:ResizeEvent):void { + //trace("resize from : " + event.currentTarget); + ExternalInterface.call("resizeEditor"); + } + + protected function createEditor():void { + var createEditor:String = "createEditor"; + var result:Object; + currentState = "editor"; + + if (true || !aceEditorCreated) { + editor.content = "<div id='editor1' style='display:block;position:absolute;top:0px;left:0px;right:0px;bottom:0px;height:100%;width:100%'></div>"; + editor.validateNow(); + result = ExternalInterface.call(createEditor, "editor0", ExternalInterface.objectID); + ExternalInterface.addCallback("editorChange", editorChange); + ExternalInterface.addCallback("cursorChange", cursorChange); + aceEditorCreated = true; + } + + updateContent(); + } + + public function editorChange(value:String = ""):void { + //if (settingEditorText || value==sourceCode) return; + updatePreviewDocument(); + } + + public function cursorChange(value:String = ""):void { + //trace("cursor change:" + getTimer()); + } + + /** + * Handle updating preview and set if code is modified by user + * */ + public function updatePreviewDocument():void { + + var preview:Object; + + if (preview is IFrame) { + preview.content = template; + } + + } + + public function updateContent():void { + + settingEditorText = true; + var result:String = ExternalInterface.call("setEditorText", template); + settingEditorText = false; + } + + protected function switchStates(event:MouseEvent):void { + if (currentState=="normal") { + currentState = "editor"; + createEditor(); + } + else { + currentState = "normal"; + } + } + + protected function application1_creationCompleteHandler(event:FlexEvent):void { + //createEditor(); + } + + ]]> + </fx:Script> + + <fx:Declarations> + + <fx:String id="template"> +<![CDATA[<!DOCTYPE html> +<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> +<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> +<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <title></title> + <meta name="description" content=""> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <!-- Place favicon.ico and apple-touch-icon.png in the root directory --> + + <link rel="stylesheet" href="css/normalize.css"> + <link rel="stylesheet" href="css/main.css"> + <script src="js/vendor/modernizr-2.6.2.min.js"></script> + </head> + <body> + <!--[if lt IE 7]> + <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> + <![endif]--> + +<!--template_content--> + + <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> + <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script> + <script src="js/plugins.js"></script> + <script src="js/main.js"></script> + + <!-- Google Analytics: change UA-XXXXX-X to be your site's ID. --> + <script> + (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]= + function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date; + e=o.createElement(i);r=o.getElementsByTagName(i)[0]; + e.src='//www.google-analytics.com/analytics.js'; + r.parentNode.insertBefore(e,r)}(window,document,'script','ga')); + ga('create','UA-XXXXX-X');ga('send','pageview'); + </script> + </body> +</html> +]]> + </fx:String> + </fx:Declarations> + + + <s:states> + <s:State name="normal"/> + <s:State name="editor"/> + </s:states> + + <s:Label id="label" + top="50" left="0" + width="100%" + text="Press the set content button" + includeIn="normal" + > + </s:Label> + + <flexiframe:IFrame id="editor" + top="50" left="0" + width="100%" height="100%" + resize="editor_resizeHandler(event)" + overlayDetection="true" + includeIn="editor" + > + </flexiframe:IFrame> + + <s:HGroup> + <s:Button label="Set contents" click="createEditor()"/> + <s:Button label="Switch States" click="switchStates(event)"/> + </s:HGroup> +</s:Application> http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/application.mxml ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/application.mxml b/Radii8Designer/src/application.mxml new file mode 100644 index 0000000..94c7f22 --- /dev/null +++ b/Radii8Designer/src/application.mxml @@ -0,0 +1,33 @@ +<?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:Application xmlns:fx="http://ns.adobe.com/mxml/2009" + xmlns:s="library://ns.adobe.com/flex/spark" + xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="640" minHeight="480"> + <fx:Script> + <![CDATA[ + import mx.core.IVisualElement; + public var version:String = "4.6.0"; + ]]> + </fx:Script> + <fx:Declarations> + <mx:UIComponent/> + </fx:Declarations> + <s:Button creationComplete="removeElement(IVisualElement(event.currentTarget))"/> +</s:Application> http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/BorderContainer.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/BorderContainer.png b/Radii8Designer/src/assets/images/components/BorderContainer.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/BorderContainer.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/Button.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/Button.png b/Radii8Designer/src/assets/images/components/Button.png new file mode 100644 index 0000000..1bf63c3 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/Button.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/ButtonBar.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/ButtonBar.png b/Radii8Designer/src/assets/images/components/ButtonBar.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/ButtonBar.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/CheckBox.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/CheckBox.png b/Radii8Designer/src/assets/images/components/CheckBox.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/CheckBox.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/ComboBox.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/ComboBox.png b/Radii8Designer/src/assets/images/components/ComboBox.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/ComboBox.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/DataGrid.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/DataGrid.png b/Radii8Designer/src/assets/images/components/DataGrid.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/DataGrid.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/DataGroup.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/DataGroup.png b/Radii8Designer/src/assets/images/components/DataGroup.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/DataGroup.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/DropDownList.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/DropDownList.png b/Radii8Designer/src/assets/images/components/DropDownList.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/DropDownList.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/Form.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/Form.png b/Radii8Designer/src/assets/images/components/Form.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/Form.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/FormHeading.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/FormHeading.png b/Radii8Designer/src/assets/images/components/FormHeading.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/FormHeading.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/GridColumnHeaderGroup.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/GridColumnHeaderGroup.png b/Radii8Designer/src/assets/images/components/GridColumnHeaderGroup.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/GridColumnHeaderGroup.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/Group.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/Group.png b/Radii8Designer/src/assets/images/components/Group.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/Group.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/HGroup.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/HGroup.png b/Radii8Designer/src/assets/images/components/HGroup.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/HGroup.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/HScrollBar.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/HScrollBar.png b/Radii8Designer/src/assets/images/components/HScrollBar.png new file mode 100644 index 0000000..1bf63c3 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/HScrollBar.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/HSlider.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/HSlider.png b/Radii8Designer/src/assets/images/components/HSlider.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/HSlider.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/Image.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/Image.png b/Radii8Designer/src/assets/images/components/Image.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/Image.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/Label.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/Label.png b/Radii8Designer/src/assets/images/components/Label.png new file mode 100644 index 0000000..1bf63c3 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/Label.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/LinkButton.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/LinkButton.png b/Radii8Designer/src/assets/images/components/LinkButton.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/LinkButton.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/List.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/List.png b/Radii8Designer/src/assets/images/components/List.png new file mode 100644 index 0000000..1bf63c3 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/List.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/NumericStepper.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/NumericStepper.png b/Radii8Designer/src/assets/images/components/NumericStepper.png new file mode 100644 index 0000000..1bf63c3 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/NumericStepper.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/Panel.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/Panel.png b/Radii8Designer/src/assets/images/components/Panel.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/Panel.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/RadioButton.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/RadioButton.png b/Radii8Designer/src/assets/images/components/RadioButton.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/RadioButton.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/RadioButtonGroup.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/RadioButtonGroup.png b/Radii8Designer/src/assets/images/components/RadioButtonGroup.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/RadioButtonGroup.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/RichEditableText.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/RichEditableText.png b/Radii8Designer/src/assets/images/components/RichEditableText.png new file mode 100644 index 0000000..5dd063f Binary files /dev/null and b/Radii8Designer/src/assets/images/components/RichEditableText.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/RichText.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/RichText.png b/Radii8Designer/src/assets/images/components/RichText.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/RichText.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/Scroller.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/Scroller.png b/Radii8Designer/src/assets/images/components/Scroller.png new file mode 100644 index 0000000..39d86fd Binary files /dev/null and b/Radii8Designer/src/assets/images/components/Scroller.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/SkinnableContainer.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/SkinnableContainer.png b/Radii8Designer/src/assets/images/components/SkinnableContainer.png new file mode 100644 index 0000000..39d86fd Binary files /dev/null and b/Radii8Designer/src/assets/images/components/SkinnableContainer.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/SkinnableDataContainer.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/SkinnableDataContainer.png b/Radii8Designer/src/assets/images/components/SkinnableDataContainer.png new file mode 100644 index 0000000..21fb8d8 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/SkinnableDataContainer.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/Spacer.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/Spacer.png b/Radii8Designer/src/assets/images/components/Spacer.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/Spacer.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/Spinner.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/Spinner.png b/Radii8Designer/src/assets/images/components/Spinner.png new file mode 100644 index 0000000..d5e8a8f Binary files /dev/null and b/Radii8Designer/src/assets/images/components/Spinner.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/TabBar.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/TabBar.png b/Radii8Designer/src/assets/images/components/TabBar.png new file mode 100644 index 0000000..49ab36c Binary files /dev/null and b/Radii8Designer/src/assets/images/components/TabBar.png differ http://git-wip-us.apache.org/repos/asf/flex-radii8/blob/f370bfcf/Radii8Designer/src/assets/images/components/TextArea.png ---------------------------------------------------------------------- diff --git a/Radii8Designer/src/assets/images/components/TextArea.png b/Radii8Designer/src/assets/images/components/TextArea.png new file mode 100644 index 0000000..1bf63c3 Binary files /dev/null and b/Radii8Designer/src/assets/images/components/TextArea.png differ