Home

Awesome

Project Hiddenwood

Project Hiddenwood where developed as the User Interface and and is the kit behind the Openbox Project, it's written in pure Actionscript 3 and the libary focuses on a extensible MVC pattern and is heavily based on delegation and interfaces which provides a great flexibility compared to other libraries/frameworks.

The library is written in pure ActionScript 3.0 against the Flash 10.1 runtime.

Note: Further development of this project have been abandoned. This due to instable future of the flash player as a platform.

Features

Hiddenwood Highlights

Views

The Project Hiddenwood provides a basic set of views and components. All views inherits from the UIView class, which provides a base for managing content displayed on screen, to ensure minimal performance usage a special but simple drawing cycle is implemented. Among with many other classes in the Core UI you find UIScrollView which is a advanced view for scrolling and zooming content.

Drag and Drop

The library has it's own drag-and-drop api named UIDragging which together with UIPasteboard provides a interface for dragging multiple items and it's data internally between views, modules and applications. The user experience have been taken into account when designing this api, and modern features for inline destination preview, and easing for the dragging itself with a slide back animation alternative if the drop where rejected by the destination.

Documents

The Project Hiddenwood provides classes for developing document based applications, the UIDocument which is base to all document's data model from which you should subclass for fit your document's specifications. Together with UIUndoManager a basic undo and redo features can easily be accomplished.

Script Editor

The UIScriptView class is the Project Hiddenwood's equivalent of the code editor found inside the WordPress platform. UIScriptEditor supports tab formatting and more features to come, like syntax highlighting API and code snippet injection.

Card-based Navigation

The UIPagingView is a card-based navigation view, the component dynamically renders the page cells, much like the UITableView those cells can be reused for minimal memory usage. This component is currently in a experimental stage.

Video Kit

The UIVideoView is a MVC based video component that will integrate with Youtube and regular streaming but also support custom Flash Media Server integration without a major code base change.

Console Kit

A experimental projects to intergrate a Command-line component. The console package contains a basic interface for command-line input and organizing commands, the principal classes is Console a central piece of code that provides a arguments extraction and much more and the IConsoleCommand which is a abstract interface for commands to run with the Console class.

Localization

Develop multi-language application by loading external strings, the LocalizedStrings class provides a resource of strings which together with printf() built in provides means for creating dynamic content.

Runtime Support for common icons

Images and in this case icons are far more recognized by the human brain than text, with ICNS.decode() and ICO.decode() you can now decode files of the most common icon types on todays operative systems into a resource of BitmapData to use dynamically within your project. Not enough? with ICNS.encode() and ICO.encode() you can no export BitmapData resources to a binary output. These classes are found with their own package at se.raweden.types.

Remoting made easy

A dynamic runtime requiers external data. Project Hiddenwood provides the RemoteMessage for making calls to remote backend, for example: collab (php) and amfphp.

Logging

A common need for developers is to trace their steps, the Core Common framework provides this feature with a backend class Logger which organizes and stores output made with built in log() method at runtime. A abstract interface IConsoleOutput is provided for readers and visual outputs.

WebFile

The WebFile class is wrapper for managing remotely located files asynchronous on the Collab (php) platform.

WebStorage

The WebStorage class provides a storage where application's can store preferences and also properties which represents the application current state. With user authentication these properties may also be stored in the cloud to which makes the application state and preferences restorable on any device. The transfer of this data is Incremental, and only handles the properties that have been changed, developed as wrapper for commands in the Collab (php) platform.


TODO


Copyright © 2011 Raweden

Term of Use

You are free: to copy, distribute, display, and perform the work to make derivative works to make commercial use of the work Under the following conditions:

CC Licence CC Licence