emergent-core 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.bnsignore +16 -0
- data/History.txt +4 -0
- data/Manifest.txt +348 -0
- data/README.rdoc +47 -0
- data/Rakefile +39 -0
- data/app_generators/emergent_core/USAGE +5 -0
- data/app_generators/emergent_core/emergent_core_generator.rb +73 -0
- data/app_generators/emergent_core/templates/core/actionscript.properties +16 -0
- data/app_generators/emergent_core/templates/core/actionscriptair.properties +16 -0
- data/app_generators/emergent_core/templates/core/app.yaml.erb +12 -0
- data/app_generators/emergent_core/templates/core/default_tasks.rake +51 -0
- data/app_generators/emergent_core/templates/core/empty.txt +0 -0
- data/app_generators/emergent_core/templates/core/expressInstall.swf +0 -0
- data/app_generators/emergent_core/templates/core/flex.properties +2 -0
- data/app_generators/emergent_core/templates/core/generate.rb +17 -0
- data/app_generators/emergent_core/templates/core/html-template/AC_OETags.js +276 -0
- data/app_generators/emergent_core/templates/core/html-template/history/history.css +6 -0
- data/app_generators/emergent_core/templates/core/html-template/history/history.js +645 -0
- data/app_generators/emergent_core/templates/core/html-template/history/historyFrame.html +29 -0
- data/app_generators/emergent_core/templates/core/html-template/index.template.html +121 -0
- data/app_generators/emergent_core/templates/core/html-template/playerProductInstall.swf +0 -0
- data/app_generators/emergent_core/templates/core/index.html.erb +18 -0
- data/app_generators/emergent_core/templates/core/index.yaml +11 -0
- data/app_generators/emergent_core/templates/core/mainair-app.xml +134 -0
- data/app_generators/emergent_core/templates/core/mainapp-config.xml +21 -0
- data/app_generators/emergent_core/templates/core/mainapp.mxml +106 -0
- data/app_generators/emergent_core/templates/core/project-textmate.erb +52 -0
- data/app_generators/emergent_core/templates/core/project.properties +18 -0
- data/app_generators/emergent_core/templates/core/projectair.properties +24 -0
- data/app_generators/emergent_core/templates/core/swfobject.js +5 -0
- data/bin/emergent +17 -0
- data/lib/emergent_core.rb +49 -0
- data/lib/restfulx/active_foo.rb +194 -0
- data/lib/restfulx/active_record_tasks.rb +81 -0
- data/lib/restfulx/configuration.rb +76 -0
- data/lib/restfulx/datamapper_foo.rb +31 -0
- data/lib/restfulx/rails/recipes.rb +60 -0
- data/lib/restfulx/rails/swf_helper.rb +60 -0
- data/lib/restfulx/tasks.rb +85 -0
- data/lib/restfulx.rb +117 -0
- data/rails_generators/emergent_cms/USAGE +5 -0
- data/rails_generators/emergent_cms/emergent_cms_generator.rb +21 -0
- data/rails_generators/emergent_cms/templates/PagesEditModel.as +114 -0
- data/rails_generators/emergent_cms/templates/PagesEditView.mxml +102 -0
- data/rails_generators/emergent_config/USAGE +5 -0
- data/rails_generators/emergent_config/emergent_config_generator.rb +330 -0
- data/rails_generators/emergent_config/templates/app/controllers/accounts_controller.rb +104 -0
- data/rails_generators/emergent_config/templates/app/controllers/addresses_controller.rb +97 -0
- data/rails_generators/emergent_config/templates/app/controllers/application.rb +26 -0
- data/rails_generators/emergent_config/templates/app/controllers/assets_controller.rb +1 -0
- data/rails_generators/emergent_config/templates/app/controllers/content_assignments_controller.rb +97 -0
- data/rails_generators/emergent_config/templates/app/controllers/contents_controller.rb +114 -0
- data/rails_generators/emergent_config/templates/app/controllers/sessions_controller.rb +72 -0
- data/rails_generators/emergent_config/templates/app/controllers/sites_controller.rb +1 -0
- data/rails_generators/emergent_config/templates/app/controllers/users_controller.rb +97 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/command/ICommand.as +16 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/command/Undoable.as +46 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/command/UpdateDocumentCommand.as +73 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/DocumentEvent.as +46 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/NavigationEvent.as +31 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/ResourceEvent.as +27 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/UndoEvent.as +36 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/AboutUsManager.as +15 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/AccountManager.as +31 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/AuthenticationManager.as +76 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/ContentManager.as +92 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/DocumentManager.as +131 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/DocumentsManager.as +156 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/HomeManager.as +18 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/MainManager.as +23 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/PagesManager.as +71 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/ResourceManager.as +195 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/SiteManager.as +25 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/UndoManager.as +143 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/DocumentMap.mxml +123 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/DocumentsMap.mxml +134 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/ManagerPresentationModelMap.mxml +59 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/ObjectMap.mxml +75 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/PresentationModelViewMap.mxml +81 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/PresenterViewMap.mxml +67 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/constant/DocumentType.as +52 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/constant/Resource.as +25 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/constant/ResourceAction.as +28 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/constant/ResourceResult.as +8 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Account.as +32 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Address.as +26 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Asset.as +25 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/AssetAssignment.as +25 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Content.as +46 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/ContentAssignment.as +33 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Document.as +131 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/PlainDocument.as +19 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/RichDocument.as +19 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Session.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Snapshot.as +21 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/User.as +28 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/factory/DocumentFactory.as +61 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/factory/DocumentViewFactory.as +59 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/factory/ResourceFactory.as +28 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/AboutUsModel.as +22 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/AccountModel.as +68 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/AuthenticationModel.as +44 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ContactUsModel.as +45 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ContentModel.as +70 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/DocumentModel.as +235 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/DocumentsModel.as +169 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/HomeModel.as +23 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/MainModel.as +35 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/PagesModel.as +44 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ProfileModel.as +99 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ResourceModel.as +100 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/about_us/about_us.mxml +105 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/account/account.mxml +97 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/contact_us/contact_us.mxml +65 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/document/document.mxml +71 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/document/documents.mxml +201 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/document/plain_document.mxml +9 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/document/rich_document.mxml +12 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/gallery/gallery.mxml +37 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/home/home.mxml +58 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/home/home_presenter.as +81 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/home/home_troparchy.mxml +71 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/login/login.mxml +50 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/main/main.mxml +131 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/main/main_presenter.as +166 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/main/main_troparchy.mxml +74 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_bottom_model.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_bottom_presenter.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_bottom_view.mxml +48 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_left_model.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_left_presenter.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_left_view.mxml +43 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_right_model.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_right_presenter.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_right_view.mxml +47 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_top_model.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_top_presenter.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_top_view.mxml +49 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bars_presenter.as +63 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bars_troparchy.mxml +63 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bars_view.mxml +59 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/pages/pages.mxml +44 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/pages/pages_presenter.as +83 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/pages/pages_troparchy.mxml +62 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/profile/profile.mxml +73 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/fonts/MyriadPro-Bold.otf +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/fonts/MyriadPro-Regular.otf +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/html/lorem.html +3 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture10.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture11.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture12.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture13.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture14.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture3.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture4.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture5.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture6.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture7.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture8.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture9.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_0.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_180.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_270.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_90.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_bottom.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_top.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/itunes7Bg.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/jukebox.css +764 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/jukeboxGfx.swf +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/obsidian.css +734 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/obsidianBg.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/obsidianGfx.swf +0 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/actions/LayoutAction.as +377 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/actions/SimpleLayoutAction.as +210 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/FourDTweenCollection.mxml +50 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/IAnimator.as +39 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/TweenMaxAnimator.as +269 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/cameras/AstroCamera.as +177 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/components/FourDDataGrid.mxml +105 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/components/FourDItemRenderer.mxml +54 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/CenterPerspectiveProjection.as +72 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/ComplexCondition.as +44 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/ConditionsUtil.as +82 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/FourDComponent.as +309 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/InstanceMethodInvoker.as +50 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/InstancePropertyInjector.as +43 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/MethodCaller.as +51 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Pathway.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/PathwayEvent.as +28 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Pheron.as +34 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Pheron2.as +41 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/PheronReceptor.as +125 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Properties.as +57 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Router.as +50 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/RouterUtil.as +70 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/SimpleCondition.as +42 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/SimpleZSortVO.as +1 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/SimpleZSorter.as +1 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Tecton.as +70 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Tecton2.as +234 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonCache.as +111 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonEvent.as +39 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonMap.as +515 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonMap2.as +289 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonMapSample.mxml +73 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonReceptor.as +43 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonScope.as +38 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonScopeProperties.as +18 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonUtils.as +51 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/events/LayoutActionEvent.as +75 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/CarouselLayout.as +85 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/CircleLayout.as +102 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/CoverFlowLayout.as +136 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/FourDLayout.as +272 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/utils/TweenUtil.as +110 -0
- data/rails_generators/emergent_config/templates/app/helpers/accounts_helper.rb +93 -0
- data/rails_generators/emergent_config/templates/app/helpers/application_helper.rb +3 -0
- data/rails_generators/emergent_config/templates/app/models/account.rb +84 -0
- data/rails_generators/emergent_config/templates/app/models/account_mailer.rb +24 -0
- data/rails_generators/emergent_config/templates/app/models/account_observer.rb +17 -0
- data/rails_generators/emergent_config/templates/app/models/address.rb +2 -0
- data/rails_generators/emergent_config/templates/app/models/asset.rb +6 -0
- data/rails_generators/emergent_config/templates/app/models/asset_assignment.rb +4 -0
- data/rails_generators/emergent_config/templates/app/models/category.rb +35 -0
- data/rails_generators/emergent_config/templates/app/models/comment.rb +98 -0
- data/rails_generators/emergent_config/templates/app/models/content.rb +89 -0
- data/rails_generators/emergent_config/templates/app/models/content_assignment.rb +21 -0
- data/rails_generators/emergent_config/templates/app/models/image.rb +3 -0
- data/rails_generators/emergent_config/templates/app/models/post.rb +76 -0
- data/rails_generators/emergent_config/templates/app/models/section.rb +97 -0
- data/rails_generators/emergent_config/templates/app/models/site.rb +1 -0
- data/rails_generators/emergent_config/templates/app/models/tag.rb +1 -0
- data/rails_generators/emergent_config/templates/app/models/user.rb +4 -0
- data/rails_generators/emergent_config/templates/app/views/account_mailer/activation.erb +3 -0
- data/rails_generators/emergent_config/templates/app/views/account_mailer/signup_notification.erb +8 -0
- data/rails_generators/emergent_config/templates/config/Capfile +4 -0
- data/rails_generators/emergent_config/templates/config/README.txt +18 -0
- data/rails_generators/emergent_config/templates/config/deploy.rb +36 -0
- data/rails_generators/emergent_config/templates/config/routes.rb +72 -0
- data/rails_generators/emergent_config/templates/core/actionscript.properties +16 -0
- data/rails_generators/emergent_config/templates/core/actionscriptair.properties +16 -0
- data/rails_generators/emergent_config/templates/core/app.yaml.erb +12 -0
- data/rails_generators/emergent_config/templates/core/default_tasks.rake +51 -0
- data/rails_generators/emergent_config/templates/core/emergent_tasks.rake +42 -0
- data/rails_generators/emergent_config/templates/core/empty.txt +0 -0
- data/rails_generators/emergent_config/templates/core/expressInstall.swf +0 -0
- data/rails_generators/emergent_config/templates/core/flex.properties +2 -0
- data/rails_generators/emergent_config/templates/core/generate.rb +17 -0
- data/rails_generators/emergent_config/templates/core/html-template/AC_OETags.js +276 -0
- data/rails_generators/emergent_config/templates/core/html-template/history/history.css +6 -0
- data/rails_generators/emergent_config/templates/core/html-template/history/history.js +645 -0
- data/rails_generators/emergent_config/templates/core/html-template/history/historyFrame.html +29 -0
- data/rails_generators/emergent_config/templates/core/html-template/index.template.html +121 -0
- data/rails_generators/emergent_config/templates/core/html-template/playerProductInstall.swf +0 -0
- data/rails_generators/emergent_config/templates/core/index.html.erb +18 -0
- data/rails_generators/emergent_config/templates/core/index.yaml +11 -0
- data/rails_generators/emergent_config/templates/core/mainair-app.xml +134 -0
- data/rails_generators/emergent_config/templates/core/mainapp-config.xml +21 -0
- data/rails_generators/emergent_config/templates/core/mainapp.mxml +101 -0
- data/rails_generators/emergent_config/templates/core/project-textmate.erb +52 -0
- data/rails_generators/emergent_config/templates/core/project.properties +18 -0
- data/rails_generators/emergent_config/templates/core/projectair.properties +24 -0
- data/rails_generators/emergent_config/templates/core/restfulx.yml +14 -0
- data/rails_generators/emergent_config/templates/core/restfulx_tasks.rake +6 -0
- data/rails_generators/emergent_config/templates/core/swfobject.js +5 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_accounts.rb +40 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_addresses.rb +18 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_asset_assignments.rb +19 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_assets.rb +20 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_content_assignments.rb +26 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_contents.rb +21 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_sessions.rb +16 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_sites.rb +27 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_users.rb +15 -0
- data/rails_generators/emergent_config/templates/lib/analytics.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/app_controller.rb.erb +26 -0
- data/rails_generators/emergent_config/templates/lib/as3corelib-0.92.1.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/as3crypto-1.3patched.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/as3crypto.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/as3ds-1.04.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/as3httpclientlib-1.0.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/authenticated_system.rb +189 -0
- data/rails_generators/emergent_config/templates/lib/authenticated_test_helper.rb +11 -0
- data/rails_generators/emergent_config/templates/lib/containerEx.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/flare.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/flash_session_hack.rb +27 -0
- data/rails_generators/emergent_config/templates/lib/flex2BrowserManager.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/flexlib.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/fluint.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/mate_0_8_6_enhanced.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/openflux.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/pv3d.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/restfulx.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/site_keys.rb +38 -0
- data/rails_generators/emergent_config/templates/lib/tweenMax.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/urlkitFlex3.swc +0 -0
- data/rails_generators/emergent_config/templates/shell_script +31 -0
- data/rails_generators/emergent_controller/USAGE +5 -0
- data/rails_generators/emergent_controller/emergent_controller_generator.rb +25 -0
- data/rails_generators/emergent_controller/templates/controller.as.erb +37 -0
- data/rails_generators/emergent_core/USAGE +5 -0
- data/rails_generators/emergent_core/emergent_core_generator.rb +157 -0
- data/rails_generators/emergent_iphone/USAGE +5 -0
- data/rails_generators/emergent_iphone/emergent_iphone_generator.rb +27 -0
- data/rails_generators/emergent_scaffold/USAGE +5 -0
- data/rails_generators/emergent_scaffold/emergent_scaffold_generator.rb +157 -0
- data/rails_generators/emergent_scaffold/templates/component.mxml.erb +101 -0
- data/rails_generators/emergent_scaffold/templates/controller.rb.erb +101 -0
- data/rails_generators/emergent_scaffold/templates/edit_index_view.mxml.erb +114 -0
- data/rails_generators/emergent_scaffold/templates/edit_show_view.mxml.erb +84 -0
- data/rails_generators/emergent_scaffold/templates/filter_view.mxml.erb +1 -0
- data/rails_generators/emergent_scaffold/templates/fixtures.yml.erb +128 -0
- data/rails_generators/emergent_scaffold/templates/index_view.mxml.erb +58 -0
- data/rails_generators/emergent_scaffold/templates/item_renderer.mxml.erb +53 -0
- data/rails_generators/emergent_scaffold/templates/manager.as.erb +31 -0
- data/rails_generators/emergent_scaffold/templates/migration.rb.erb +22 -0
- data/rails_generators/emergent_scaffold/templates/model.as.erb +42 -0
- data/rails_generators/emergent_scaffold/templates/model.rb.erb +11 -0
- data/rails_generators/emergent_scaffold/templates/presentation_model.as.erb +33 -0
- data/rails_generators/emergent_scaffold/templates/presenter.as.erb +98 -0
- data/rails_generators/emergent_scaffold/templates/show_view.mxml.erb +50 -0
- data/rails_generators/emergent_scaffold/templates/view_map.mxml.erb +40 -0
- data/rails_generators/emergent_scaffold/templates/views_panel.mxml.erb +64 -0
- data/rails_generators/emergent_styler/USAGE +5 -0
- data/rails_generators/emergent_styler/emergent_styler_generator.rb +21 -0
- data/rails_generators/rx_yaml_scaffold/USAGE +51 -0
- data/rails_generators/rx_yaml_scaffold/rx_yaml_scaffold_generator.rb +49 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/emergent_core_spec.rb +7 -0
- data/spec/spec_helper.rb +16 -0
- data/tasks/ann.rake +80 -0
- data/tasks/bones.rake +20 -0
- data/tasks/gem.rake +201 -0
- data/tasks/git.rake +40 -0
- data/tasks/manifest.rake +48 -0
- data/tasks/notes.rake +27 -0
- data/tasks/post_load.rake +39 -0
- data/tasks/rdoc.rake +50 -0
- data/tasks/rubyforge.rake +55 -0
- data/tasks/setup.rb +279 -0
- data/tasks/spec.rake +54 -0
- data/tasks/svn.rake +47 -0
- data/tasks/test.rake +40 -0
- data/test/test_emergent_core.rb +0 -0
- data/test/test_emergent_iphone_generator.rb +46 -0
- data/test/test_generator_helper.rb +29 -0
- metadata +437 -0
data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/TweenMaxAnimator.as
ADDED
@@ -0,0 +1,269 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright 2008 (c) Lance Pollard
|
3
|
+
* www.systemsofseven.com/blog
|
4
|
+
* www.4ddesignlab.com
|
5
|
+
* LanceJPollard@gmail.com
|
6
|
+
*
|
7
|
+
* Permission is hereby granted, free of charge, to any person
|
8
|
+
* obtaining a copy of this software and associated documentation
|
9
|
+
* files (the "Software"), to deal in the Software without
|
10
|
+
* restriction, including without limitation the rights to use,
|
11
|
+
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
12
|
+
* copies of the Software, and to permit persons to whom the
|
13
|
+
* Software is furnished to do so, subject to the following
|
14
|
+
* conditions:
|
15
|
+
*
|
16
|
+
* The above copyright notice and this permission notice shall be
|
17
|
+
* included in all copies or substantial portions of the Software.
|
18
|
+
*
|
19
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
20
|
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
21
|
+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
22
|
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
23
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
24
|
+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
25
|
+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
26
|
+
* OTHER DEALINGS IN THE SOFTWARE.
|
27
|
+
*/
|
28
|
+
|
29
|
+
package com.fourD.animators
|
30
|
+
{
|
31
|
+
|
32
|
+
import flash.display.DisplayObject;
|
33
|
+
import flash.events.TimerEvent;
|
34
|
+
import flash.utils.Timer;
|
35
|
+
|
36
|
+
import gs.*;
|
37
|
+
import gs.events.TweenEvent;
|
38
|
+
|
39
|
+
import mx.core.IUIComponent;
|
40
|
+
import mx.core.UIComponent;
|
41
|
+
|
42
|
+
/**
|
43
|
+
* An animator class which uses the Tweener library. This is the default animator provided by OpenFlux.
|
44
|
+
*/
|
45
|
+
public class TweenMaxAnimator implements IAnimator
|
46
|
+
{
|
47
|
+
|
48
|
+
protected var component:DisplayObject;
|
49
|
+
|
50
|
+
private var tweens:Array;
|
51
|
+
private var tweenParams:Array;
|
52
|
+
private var item:DisplayObject;
|
53
|
+
|
54
|
+
public var side:String = "front";
|
55
|
+
|
56
|
+
private var _groupTween:TweenGroup;
|
57
|
+
private var _singleTween:TweenMax;
|
58
|
+
private var _isTweening:Boolean;
|
59
|
+
|
60
|
+
public var itemAlign:String;
|
61
|
+
public var layoutAlign:String;
|
62
|
+
|
63
|
+
/**
|
64
|
+
* The duration of time used to animate a component.
|
65
|
+
*/
|
66
|
+
public var time:Number = 1;
|
67
|
+
|
68
|
+
public function TweenMaxAnimator() {
|
69
|
+
_groupTween = new TweenGroup();
|
70
|
+
// Tweener.registerSpecialProperty("actualWidth", getActualWidth, setActualWidth);
|
71
|
+
// Tweener.registerSpecialProperty("actualHeight", getActualHeight, setActualHeight);
|
72
|
+
}
|
73
|
+
|
74
|
+
public function tween(tweens:Array, tweenParams:Array=null, target:Object=null):void {
|
75
|
+
this.tweens = tweens;
|
76
|
+
this.tweenParams = tweenParams;
|
77
|
+
if (target) {
|
78
|
+
item = target as DisplayObject;
|
79
|
+
}
|
80
|
+
|
81
|
+
// if (item.alpha == 0) {
|
82
|
+
// var ui:IUIComponent = item as IUIComponent;
|
83
|
+
// ui.setActualSize(item.width, item.height);
|
84
|
+
// ui.move(token.x, token.y);
|
85
|
+
// tweenParams.alpha = 1;
|
86
|
+
// }
|
87
|
+
|
88
|
+
prepareTweenGarbageCollector();
|
89
|
+
trace("tween");
|
90
|
+
if (tweenParams) {
|
91
|
+
trace("tweenParams exist");
|
92
|
+
if (!setOppositeTween) {
|
93
|
+
trace("about to set oppositeTween var");
|
94
|
+
for (var i:int=0; i < tweenParams.length; i++) {
|
95
|
+
if (tweenParams[i].flipTo) {
|
96
|
+
trace('tweenparam flipTo');
|
97
|
+
tweenFlip();
|
98
|
+
} else {
|
99
|
+
createTween(tweens);
|
100
|
+
}
|
101
|
+
}
|
102
|
+
} else {
|
103
|
+
if (toTween && fromTween) {
|
104
|
+
trace("tweento and tweenFrom SEEEEEEEEEEEET");
|
105
|
+
tweenFlip();
|
106
|
+
} else {
|
107
|
+
createTween(tweens);
|
108
|
+
}
|
109
|
+
}
|
110
|
+
} else {
|
111
|
+
createTween(tweens);
|
112
|
+
}
|
113
|
+
|
114
|
+
|
115
|
+
// you must put them in backward!!! it took me forever to figure this out!
|
116
|
+
// createTween(_tweenFrom);
|
117
|
+
// createTween(_tweenTo);
|
118
|
+
|
119
|
+
loadingTweens = true;
|
120
|
+
}
|
121
|
+
|
122
|
+
private var loadingTweens:Boolean = false;
|
123
|
+
private var isTweening:Boolean = false;
|
124
|
+
|
125
|
+
public function createTween(tweenArray:Array):void {
|
126
|
+
trace("create tween");
|
127
|
+
var tg:TweenGroup;
|
128
|
+
if (layoutAlign) {
|
129
|
+
if (layoutAlign == TweenGroup.ALIGN_START) {
|
130
|
+
trace("layoutAligne = start");
|
131
|
+
tg = new TweenGroup();
|
132
|
+
tg.align = TweenGroup.ALIGN_SEQUENCE;
|
133
|
+
} else {
|
134
|
+
_groupTween.align = layoutAlign;
|
135
|
+
}
|
136
|
+
} else {
|
137
|
+
_groupTween.align = TweenGroup.ALIGN_SEQUENCE;
|
138
|
+
}
|
139
|
+
for (var i:int=0; i < tweenArray.length; i++) {
|
140
|
+
var tween:TweenMax;
|
141
|
+
if (tweenArray[i].duration == null) {
|
142
|
+
tween = TweenMax.to(item, 1, tweenArray[i]);
|
143
|
+
} else {
|
144
|
+
tween = TweenMax.to(item, tweenArray[i].duration, tweenArray[i]);
|
145
|
+
}
|
146
|
+
if (layoutAlign == TweenGroup.ALIGN_START) {
|
147
|
+
tg.push(tween);
|
148
|
+
} else {
|
149
|
+
trace("last last group");
|
150
|
+
_groupTween.push(tween);
|
151
|
+
}
|
152
|
+
}
|
153
|
+
}
|
154
|
+
|
155
|
+
private var tweenDirection:String = "to";
|
156
|
+
|
157
|
+
public function tweenFlip():void{
|
158
|
+
trace("TWEEN FLIP, direction = " + tweenDirection);
|
159
|
+
switch(tweenDirection){
|
160
|
+
case "to":
|
161
|
+
tweenDirection = "from";
|
162
|
+
|
163
|
+
if (setOppositeTween) {
|
164
|
+
tweens = [toTween];
|
165
|
+
}
|
166
|
+
createTween(tweens);
|
167
|
+
break;
|
168
|
+
|
169
|
+
case "from":
|
170
|
+
tweenDirection = "to";
|
171
|
+
tweens = [fromTween]
|
172
|
+
createTween(tweens);
|
173
|
+
break;
|
174
|
+
}
|
175
|
+
}
|
176
|
+
|
177
|
+
public function prepareTweenGarbageCollector():void {
|
178
|
+
if (isTweening) {
|
179
|
+
_groupTween.clear();
|
180
|
+
isTweening = false;
|
181
|
+
}
|
182
|
+
if (!loadingTweens) {
|
183
|
+
trace("loading tweens");
|
184
|
+
var tweenLoadingTimer:Timer = new Timer(100, 1);
|
185
|
+
tweenLoadingTimer.addEventListener(TimerEvent.TIMER, prepareToKillTweens);
|
186
|
+
tweenLoadingTimer.start();
|
187
|
+
} else {
|
188
|
+
return;
|
189
|
+
}
|
190
|
+
}
|
191
|
+
|
192
|
+
private function prepareToKillTweens(event:TimerEvent):void {
|
193
|
+
//_groupTween[_groupTween.length - 1].addEventListener(TweenEvent.COMPLETE, onTweenGroupComplete);
|
194
|
+
isTweening = true;
|
195
|
+
_groupTween.onComplete = onTweenGroupComplete;
|
196
|
+
loadingTweens = false;
|
197
|
+
}
|
198
|
+
|
199
|
+
private function onTweenGroupComplete(event:TweenEvent=null):void {
|
200
|
+
_groupTween.clear();
|
201
|
+
isTweening = false;
|
202
|
+
}
|
203
|
+
|
204
|
+
private var toTween:Object;
|
205
|
+
private var fromTween:Object;
|
206
|
+
private var setOppositeTween:Boolean = false;
|
207
|
+
|
208
|
+
public function onTweenStart(params:Object):void {
|
209
|
+
executeParams(params);
|
210
|
+
}
|
211
|
+
|
212
|
+
public function onTweenComplete(params:Object=null):void {
|
213
|
+
executeParams(params);
|
214
|
+
}
|
215
|
+
|
216
|
+
/** This is where you define what can be found in that params object */
|
217
|
+
public function executeParams(params:Object=null):void {
|
218
|
+
|
219
|
+
if (params.flipTo) {
|
220
|
+
if (!setOppositeTween) {
|
221
|
+
toTween = params.tween;
|
222
|
+
fromTween = params.flipTo;
|
223
|
+
setOppositeTween = true;
|
224
|
+
}
|
225
|
+
}
|
226
|
+
if (params.state && params.view) {
|
227
|
+
params.view.currentState = params.state;
|
228
|
+
}
|
229
|
+
|
230
|
+
// But now how do you break the cycle, and get back to it?
|
231
|
+
// Say, for example, clicking a plane flips it to back, clicking again to the front
|
232
|
+
// Then you run an animation. This destroys the flipping and creates another
|
233
|
+
// But then you want to flip the plane by just clicking...
|
234
|
+
// To do this, just have an onClick method setting up the params!
|
235
|
+
|
236
|
+
// add other things here as you see fit.
|
237
|
+
}
|
238
|
+
|
239
|
+
public function addItem(item:DisplayObject):void {
|
240
|
+
item.alpha = 0;
|
241
|
+
}
|
242
|
+
|
243
|
+
/* public function removeItem(item:DisplayObject, callback:Function):void
|
244
|
+
{
|
245
|
+
var token:Object = new Object();
|
246
|
+
token.time = 1/4; */
|
247
|
+
/*
|
248
|
+
token.x = item.x + item.width/2;
|
249
|
+
token.y = item.y + item.height/2;
|
250
|
+
token.width = 100;
|
251
|
+
token.height = 100;
|
252
|
+
*/
|
253
|
+
/* token.alpha = 0;
|
254
|
+
token.onComplete = callback;
|
255
|
+
token.onCompleteParams = [item];
|
256
|
+
Tweener.addTween(item, token);
|
257
|
+
} */
|
258
|
+
|
259
|
+
private function getActualWidth(item:IUIComponent, parameters:Array, ...args):Number { return item.width; }
|
260
|
+
private function setActualWidth(item:UIComponent, value:Number, parameters:Array, ...args):void {
|
261
|
+
item.setActualSize(value, item.height);
|
262
|
+
}
|
263
|
+
|
264
|
+
private function getActualHeight(item:IUIComponent, parameters:Array, ...args):Number { return item.height; }
|
265
|
+
private function setActualHeight(item:IUIComponent, value:Number, parameters:Array, ...args):void {
|
266
|
+
item.setActualSize(item.width, value);
|
267
|
+
}
|
268
|
+
}
|
269
|
+
}
|
@@ -0,0 +1,177 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright 2008 (c) Lance Pollard
|
3
|
+
* www.systemsofseven.com/blog
|
4
|
+
* www.4ddesignlab.com
|
5
|
+
* LanceJPollard@gmail.com
|
6
|
+
*
|
7
|
+
* Permission is hereby granted, free of charge, to any person
|
8
|
+
* obtaining a copy of this software and associated documentation
|
9
|
+
* files (the "Software"), to deal in the Software without
|
10
|
+
* restriction, including without limitation the rights to use,
|
11
|
+
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
12
|
+
* copies of the Software, and to permit persons to whom the
|
13
|
+
* Software is furnished to do so, subject to the following
|
14
|
+
* conditions:
|
15
|
+
*
|
16
|
+
* The above copyright notice and this permission notice shall be
|
17
|
+
* included in all copies or substantial portions of the Software.
|
18
|
+
*
|
19
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
20
|
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
21
|
+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
22
|
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
23
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
24
|
+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
25
|
+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
26
|
+
* OTHER DEALINGS IN THE SOFTWARE.
|
27
|
+
*/
|
28
|
+
|
29
|
+
package com.fourD.cameras
|
30
|
+
{
|
31
|
+
|
32
|
+
import com.fourD.animators.IAnimator;
|
33
|
+
|
34
|
+
import flash.geom.Matrix3D;
|
35
|
+
|
36
|
+
import gs.events.TweenEvent;
|
37
|
+
|
38
|
+
import mx.core.UIComponent;
|
39
|
+
|
40
|
+
/**
|
41
|
+
*
|
42
|
+
* @author Lance Pollard - lancejpollard@gmail.com
|
43
|
+
*/
|
44
|
+
public class AstroCamera extends UIComponent {
|
45
|
+
|
46
|
+
public var isTween:Boolean=false;
|
47
|
+
public var isZSortingWhenTween:Boolean=false;
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Now you can tween the entire MainView as a UIComponent!
|
51
|
+
* This UIComponent is the "sceneContainer"
|
52
|
+
*/
|
53
|
+
public function AstroCamera() {
|
54
|
+
// <Camera scene="mainView.canvas" children="{[every, child, you, need]}"
|
55
|
+
// for numChildren of scene, these are all the children (to make sure)
|
56
|
+
}
|
57
|
+
|
58
|
+
/**
|
59
|
+
* This should be the MainView...
|
60
|
+
* Application.mainView.scene
|
61
|
+
* Or in other words: Canvas(container(scene))
|
62
|
+
* Then any object in your mainView can be acted on by the Camera3D
|
63
|
+
*/
|
64
|
+
private var _scene:UIComponent
|
65
|
+
|
66
|
+
[Bindable]
|
67
|
+
public function set scene(value:UIComponent):void {
|
68
|
+
_scene = value;
|
69
|
+
if(!_scene.transform.matrix3D){
|
70
|
+
_scene.z = -1;
|
71
|
+
_scene.z = 0;
|
72
|
+
}
|
73
|
+
|
74
|
+
zSort();
|
75
|
+
}
|
76
|
+
|
77
|
+
public function get scene():UIComponent {
|
78
|
+
return _scene;
|
79
|
+
}
|
80
|
+
|
81
|
+
private var _animator:IAnimator; [Bindable]
|
82
|
+
public function get animator():IAnimator { return _animator; }
|
83
|
+
public function set animator(value:IAnimator):void {
|
84
|
+
_animator = value;
|
85
|
+
}
|
86
|
+
|
87
|
+
private var _zSortDuringTween:Boolean;
|
88
|
+
|
89
|
+
public function set zSortDuringTween(value:Boolean):void {
|
90
|
+
_zSortDuringTween = value;
|
91
|
+
}
|
92
|
+
|
93
|
+
public function get zSortDuringTween():Boolean {
|
94
|
+
return _zSortDuringTween;
|
95
|
+
}
|
96
|
+
|
97
|
+
public function zSort():void {
|
98
|
+
var childs:Array = new Array();
|
99
|
+
var i:uint;
|
100
|
+
|
101
|
+
for(i=0; i < _scene.numChildren; i++) {
|
102
|
+
childs.push(_scene.getChildAt(i));
|
103
|
+
}
|
104
|
+
|
105
|
+
var child:UIComponent;
|
106
|
+
var matrix:Matrix3D;
|
107
|
+
var childsAndZ:Array = new Array();
|
108
|
+
|
109
|
+
for(i=0; i < childs.length; i++) {
|
110
|
+
child = childs[i];
|
111
|
+
if(!child.transform.matrix3D) { continue; }
|
112
|
+
|
113
|
+
matrix = child.transform.matrix3D.clone();
|
114
|
+
matrix.append(_scene.transform.matrix3D);
|
115
|
+
|
116
|
+
childsAndZ.push({z:matrix.position.z, child:child});
|
117
|
+
_scene.removeChild(child);
|
118
|
+
|
119
|
+
}
|
120
|
+
childsAndZ.sortOn('z', Array.NUMERIC);
|
121
|
+
childsAndZ.reverse();
|
122
|
+
|
123
|
+
for(i=0; i < childsAndZ.length; i++) {
|
124
|
+
child = childsAndZ[i].child;
|
125
|
+
(scene as UIComponent).addChild(child);
|
126
|
+
}
|
127
|
+
}
|
128
|
+
|
129
|
+
private var _lookAtTweens:Array;
|
130
|
+
|
131
|
+
public function set lookAtTweens(value:Array):void {
|
132
|
+
_lookAtTweens = null;
|
133
|
+
_lookAtTweens = new Array();
|
134
|
+
}
|
135
|
+
|
136
|
+
public function get lookAtTweens():Array {
|
137
|
+
return _lookAtTweens;
|
138
|
+
}
|
139
|
+
|
140
|
+
public function set lookAtTweenParams(value:Array):void {
|
141
|
+
|
142
|
+
}
|
143
|
+
|
144
|
+
public function lookAt(targetDisplay:UIComponent):void {
|
145
|
+
// if(targetDisplay.parent! = _scene) {
|
146
|
+
// throw new Error('Passed "targetDisplay" UIComponent must be child of camera scene');
|
147
|
+
// }
|
148
|
+
|
149
|
+
_scene.transform.matrix3D.interpolateTo(targetDisplay.transform.matrix3D, 1);
|
150
|
+
_scene.transform.matrix3D.invert();
|
151
|
+
|
152
|
+
zSort();
|
153
|
+
|
154
|
+
if(!lookAtTweens) {
|
155
|
+
|
156
|
+
animator.tween([{x:_scene.x,
|
157
|
+
y:_scene.y,
|
158
|
+
z:_scene.z,
|
159
|
+
rotationX:_scene.rotationX,
|
160
|
+
rotationY:_scene.rotationY,
|
161
|
+
rotationZ:_scene.rotationZ,
|
162
|
+
onUpdate:setZSorting}], null, _scene);
|
163
|
+
|
164
|
+
} else {
|
165
|
+
lookAtTweens.onUpdate = setZSorting;
|
166
|
+
//anim.createTween(_scene, lookAtTweens);
|
167
|
+
}
|
168
|
+
}
|
169
|
+
|
170
|
+
protected function setZSorting(event:TweenEvent):void {
|
171
|
+
if(zSortDuringTween) {
|
172
|
+
zSort();
|
173
|
+
}
|
174
|
+
}
|
175
|
+
|
176
|
+
}
|
177
|
+
}
|
data/rails_generators/emergent_config/templates/app/flex/com/fourD/components/FourDDataGrid.mxml
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<view:FourDItem xmlns:view="com.themorphicgroup.view.*" xmlns:local="*"
|
3
|
+
width="200" height="300" xmlns:ns="http://ns.adobe.com/mxml/2009">
|
4
|
+
<ns:Script>
|
5
|
+
<![CDATA[
|
6
|
+
// import com.themorphicgroup.vo.PhotoVO;
|
7
|
+
public var clickFunction:Function;
|
8
|
+
import gs.TweenMax;
|
9
|
+
|
10
|
+
// [Bindable]private var photo:PhotoVO;
|
11
|
+
[Bindable]
|
12
|
+
private var photo:Object = new Object();
|
13
|
+
photo.photoTitle = "LANCE";
|
14
|
+
|
15
|
+
override public function set data(value:Object):void {
|
16
|
+
super.data = value;
|
17
|
+
// if (value is PhotoVO) {
|
18
|
+
// photo = PhotoVO(value);
|
19
|
+
// }
|
20
|
+
}
|
21
|
+
|
22
|
+
private function rollOver(event:MouseEvent):void {
|
23
|
+
TweenMax.to(event.target, 1, {rotationX:-50});
|
24
|
+
TweenMax.to(event.target, 2, {delay:1, rotationX:0});
|
25
|
+
}
|
26
|
+
|
27
|
+
]]>
|
28
|
+
</ns:Script>
|
29
|
+
<view:front>
|
30
|
+
<ns:Group id="group" width="200" height="300">
|
31
|
+
<view:FourDItem id="column" width="{group.width/2}" pivotX="center" pivotY="center">
|
32
|
+
<view:front>
|
33
|
+
<ns:Group>
|
34
|
+
<ns:layout>
|
35
|
+
<ns:VerticalLayout/>
|
36
|
+
</ns:layout>
|
37
|
+
<view:FourDItem id="row" pivotX="center" pivotY="bottom">
|
38
|
+
<view:front>
|
39
|
+
<ns:Button rollOver="rollOver(event)" label="{photo.photoTitle}" width="100" height="{group.height/5}"/>
|
40
|
+
</view:front>
|
41
|
+
</view:FourDItem>
|
42
|
+
<view:FourDItem id="row2" pivotX="center" pivotY="bottom">
|
43
|
+
<view:front>
|
44
|
+
<ns:Button rollOver="rollOver(event)" label="{photo.photoTitle}" width="100" height="{group.height/5}"/>
|
45
|
+
</view:front>
|
46
|
+
</view:FourDItem>
|
47
|
+
<view:FourDItem id="row3" pivotX="center" pivotY="bottom">
|
48
|
+
<view:front>
|
49
|
+
<ns:Button rollOver="rollOver(event)" label="{photo.photoTitle}" width="100" height="{group.height/5}"/>
|
50
|
+
</view:front>
|
51
|
+
</view:FourDItem>
|
52
|
+
<view:FourDItem id="row4" pivotX="center" pivotY="bottom">
|
53
|
+
<view:front>
|
54
|
+
<ns:Button rollOver="rollOver(event)" label="{photo.photoTitle}" width="100" height="{group.height/5}"/>
|
55
|
+
</view:front>
|
56
|
+
</view:FourDItem>
|
57
|
+
<view:FourDItem id="row5" pivotX="center" pivotY="bottom">
|
58
|
+
<view:front>
|
59
|
+
<ns:Button rollOver="rollOver(event)" label="{photo.photoTitle}" width="100" height="{group.height/5}"/>
|
60
|
+
</view:front>
|
61
|
+
</view:FourDItem>
|
62
|
+
</ns:Group>
|
63
|
+
</view:front>
|
64
|
+
</view:FourDItem>
|
65
|
+
<view:FourDItem x="{group.width/2}" width="{group.width/2}" id="column2" pivotX="center" pivotY="center">
|
66
|
+
<view:front>
|
67
|
+
<ns:Group>
|
68
|
+
<ns:layout>
|
69
|
+
<ns:VerticalLayout/>
|
70
|
+
</ns:layout>
|
71
|
+
<view:FourDItem id="row6" pivotX="center" pivotY="bottom">
|
72
|
+
<view:front>
|
73
|
+
<ns:Button rollOver="rollOver(event)" label="{photo.photoTitle}" width="100" height="{group.height/5}"/>
|
74
|
+
</view:front>
|
75
|
+
</view:FourDItem>
|
76
|
+
<view:FourDItem id="row7" pivotX="center" pivotY="bottom">
|
77
|
+
<view:front>
|
78
|
+
<ns:Button rollOver="rollOver(event)" label="{photo.photoTitle}" width="100" height="{group.height/5}"/>
|
79
|
+
</view:front>
|
80
|
+
</view:FourDItem>
|
81
|
+
<view:FourDItem id="row8" pivotX="center" pivotY="bottom">
|
82
|
+
<view:front>
|
83
|
+
<ns:Button rollOver="rollOver(event)" label="{photo.photoTitle}" width="100" height="{group.height/5}"/>
|
84
|
+
</view:front>
|
85
|
+
</view:FourDItem>
|
86
|
+
<view:FourDItem id="row9" pivotX="center" pivotY="bottom">
|
87
|
+
<view:front>
|
88
|
+
<ns:Button rollOver="rollOver(event)" label="{photo.photoTitle}" width="100" height="{group.height/5}"/>
|
89
|
+
</view:front>
|
90
|
+
</view:FourDItem>
|
91
|
+
<view:FourDItem id="row10" pivotX="center" pivotY="bottom">
|
92
|
+
<view:front>
|
93
|
+
<ns:Image source="Photo 5.jpg" width="200" height="{group.width/5}"/>
|
94
|
+
</view:front>
|
95
|
+
</view:FourDItem>
|
96
|
+
</ns:Group>
|
97
|
+
</view:front>
|
98
|
+
</view:FourDItem>
|
99
|
+
</ns:Group>
|
100
|
+
</view:front>
|
101
|
+
<view:pivotX>center</view:pivotX>
|
102
|
+
<view:pivotY>center</view:pivotY>
|
103
|
+
|
104
|
+
|
105
|
+
</view:FourDItem>
|
data/rails_generators/emergent_config/templates/app/flex/com/fourD/components/FourDItemRenderer.mxml
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<view:FourDItem xmlns:view="com.themorphicgroup.view.*" xmlns:local="*"
|
3
|
+
width="100" height="100" xmlns:ns="http://ns.adobe.com/mxml/2009"
|
4
|
+
tweens="{[{rotationY:720, rotationZ:100}]}">
|
5
|
+
<ns:Script>
|
6
|
+
<![CDATA[
|
7
|
+
// import com.themorphicgroup.vo.PhotoVO;
|
8
|
+
public var clickFunction:Function;
|
9
|
+
import gs.TweenMax;
|
10
|
+
|
11
|
+
// [Bindable]private var photo:PhotoVO;
|
12
|
+
[Bindable]
|
13
|
+
private var photo:Object = new Object();
|
14
|
+
photo.photoTitle = "LANCE POLLARD";
|
15
|
+
|
16
|
+
override public function set data(value:Object):void {
|
17
|
+
super.data = value;
|
18
|
+
// if (value is PhotoVO) {
|
19
|
+
// photo = PhotoVO(value);
|
20
|
+
// }
|
21
|
+
}
|
22
|
+
|
23
|
+
|
24
|
+
protected function canvas1_mouseOverHandler(event:MouseEvent):void
|
25
|
+
{
|
26
|
+
this.setStyle("backgroundColor",0xfff55d);
|
27
|
+
// TweenMax.to(this, 1, {rotationX:180});
|
28
|
+
}
|
29
|
+
|
30
|
+
private function click():void {
|
31
|
+
//TweenMax.to(this.parent, 4, {rotationY:360});
|
32
|
+
this.tween();
|
33
|
+
}
|
34
|
+
|
35
|
+
|
36
|
+
protected function canvas1_mouseOutHandler(event:MouseEvent):void
|
37
|
+
{
|
38
|
+
this.setStyle("backgroundColor",0xf8f8f8);
|
39
|
+
}
|
40
|
+
|
41
|
+
]]>
|
42
|
+
</ns:Script>
|
43
|
+
<view:front>
|
44
|
+
<ns:Canvas width="200" height="300">
|
45
|
+
<ns:Button rollOver="canvas1_mouseOverHandler(event)" click="click()" id="but" width="200" height="300"/>
|
46
|
+
<ns:Label text="{photo.photoTitle}" horizontalCenter="0" verticalCenter="0"/>
|
47
|
+
<local:RevealBox width="{but.width}" height="{but.height}"/>
|
48
|
+
</ns:Canvas>
|
49
|
+
</view:front>
|
50
|
+
<view:pivotX>center</view:pivotX>
|
51
|
+
<view:pivotY>center</view:pivotY>
|
52
|
+
|
53
|
+
|
54
|
+
</view:FourDItem>
|
@@ -0,0 +1,72 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright 2008 (c) Lance Pollard
|
3
|
+
* www.systemsofseven.com/blog
|
4
|
+
* www.4ddesignlab.com
|
5
|
+
* LanceJPollard@gmail.com
|
6
|
+
*
|
7
|
+
* Permission is hereby granted, free of charge, to any person
|
8
|
+
* obtaining a copy of this software and associated documentation
|
9
|
+
* files (the "Software"), to deal in the Software without
|
10
|
+
* restriction, including without limitation the rights to use,
|
11
|
+
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
12
|
+
* copies of the Software, and to permit persons to whom the
|
13
|
+
* Software is furnished to do so, subject to the following
|
14
|
+
* conditions:
|
15
|
+
*
|
16
|
+
* The above copyright notice and this permission notice shall be
|
17
|
+
* included in all copies or substantial portions of the Software.
|
18
|
+
*
|
19
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
20
|
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
21
|
+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
22
|
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
23
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
24
|
+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
25
|
+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
26
|
+
* OTHER DEALINGS IN THE SOFTWARE.
|
27
|
+
*/
|
28
|
+
|
29
|
+
package com.fourD.core
|
30
|
+
{
|
31
|
+
|
32
|
+
import flash.display.DisplayObject;
|
33
|
+
import flash.events.Event;
|
34
|
+
import flash.geom.PerspectiveProjection;
|
35
|
+
import flash.geom.Point;
|
36
|
+
|
37
|
+
public class CenterPerspectiveProjection extends EventDispatcher {
|
38
|
+
|
39
|
+
private var root:DisplayObject;
|
40
|
+
|
41
|
+
public function CenterPerspectiveProjection(root:DisplayObject) {
|
42
|
+
this.root = root;
|
43
|
+
}
|
44
|
+
|
45
|
+
protected function updateStageAlign():void {
|
46
|
+
var pp:PerspectiveProjection = root.transform.perspectiveProjection;
|
47
|
+
pp.projectionCenter = new Point(root.stage.stageWidth/2, root.stage.stageHeight/2);
|
48
|
+
root.transform.perspectiveProjection = pp;
|
49
|
+
}
|
50
|
+
|
51
|
+
static public function setCenterOn(root:DisplayObject):void {
|
52
|
+
if(!root.transform.perspectiveProjection){
|
53
|
+
throw new Error('Passed root object must have perspectiveProjection (root.transform.perspectiveProjection)');
|
54
|
+
}
|
55
|
+
|
56
|
+
updateStageAlign();
|
57
|
+
}
|
58
|
+
|
59
|
+
static public function updateOnResize():void {
|
60
|
+
updateStageAlign();
|
61
|
+
root.stage.addEventListener(Event.RESIZE, onStageResize);
|
62
|
+
}
|
63
|
+
|
64
|
+
static public function disableUpdateOnResize():void {
|
65
|
+
root.stage.removeEventListener(Event.RESIZE, onStageResize);
|
66
|
+
}
|
67
|
+
|
68
|
+
protected function onStageResize(event:Event):void {
|
69
|
+
updateStageAlign();
|
70
|
+
}
|
71
|
+
}
|
72
|
+
}
|