четверг, сентября 28, 2006
среда, сентября 27, 2006
Image Converter на RoR и Flex
Derek Wischusen продолжает эксперименты. Теперь он создал jpg/png/bmb/gif/pdf/eps конвертер изображений. Конвертация происходит с помощью Rmagick. Из остального функционала:
- загрузка изображений
- zip-архивирование
- сохранение изображений
Компонент Closeable Tab Navigator
Darron Schall создал компонент Closeable Tab Navigator. С помощью компонента можно создавать закладки (или табы) с различными иконками и возможностью закрытия.
Исходников не будет, так что делаем сами:)
Исходников не будет, так что делаем сами:)
вторник, сентября 26, 2006
Новое в вики - Использование виджетов
Сегодня закончил размещение главы Использование виджетов, в которой рассмотрено 19 виджетов:
понедельник, сентября 25, 2006
Трюки и приемы использования BitmapData во Flex 2
Andrew Trice делится опытом использования BitmapData во Flex 2. С его легкой руки теперь возможны следующие фичи:
- сохранение изображения из приложения (над этим он сейчас трудится)
- создания скриншотов текущего состояния приложения
- зеркальное отображения поведения компонентов (есть эксперимент и с видео)
- различные эффекты с изображениями
четверг, сентября 21, 2006
Flex-интерфейс для блога
Раймонд Камден создал интерфейс на Flex для своего блога.
Функционал:
Функционал:
- поиск
- выбор по категориям
- выбор по календарю
- добавление комментариев
среда, сентября 20, 2006
Компонент Calculator
Сделал компонент Calculator (исходник). Более чем уверен, что такие уже есть (даже не искал), но меня греет, что это свое:) Насчет найденных багов: просьба не ругать, если надо поправить что-либо - пожалуйста! А в принципе, пользоваться можно и так.
Update: Кстати, есть большой урок от Adobe по созданию калькулятора, правда для 1.5.
Update: Кстати, есть большой урок от Adobe по созданию калькулятора, правда для 1.5.
вторник, сентября 19, 2006
Обновления у вики
На неделе были размещены следующие статьи во FlexWiki:
Готовится большая статья по виджетам.
- Использование визуальных компонентов во Flex
- Использование источников данных и коллекций
- Масштабирование и позиционирование компонентов
Готовится большая статья по виджетам.
четверг, сентября 14, 2006
Компонент SelfLabelingTextInput
NJ анонсирует компонент SelfLabelingTextInput - поля формы теперь говорят сами за себя. Просто пишем
и в поле формы написано Name - всем понятно - сюда пишем имя :). При получении фокуса подпись исчезает.
Исходники в ассортименте.
<controls:selflabelingtextinput x="10" y="10" width="238"
label="Name">
</controls:selflabelingtextinput>
и в поле формы написано Name - всем понятно - сюда пишем имя :). При получении фокуса подпись исчезает.
Исходники в ассортименте.
вторник, сентября 12, 2006
Тюнингованный Rich Text Editor для Flex 2
Питер Бейрд из Adobe Consulting немного усовершенствовал компонент Rich Text Editor - он сделал панель с настройками редактирования текста выезжающей. Мило.
Использование JSON и Flex 2
Перевел статью Майка Чемберза про использование JSON данных во flex-приложении. Скачать пфд можно здесь.
понедельник, сентября 11, 2006
Редактируем картинки во Flex - сохраняем с помощью rails
Derek Wischusen перенес с Java на RoR пример FlexPaint и добавил в RubyOnRailsRIASDKbyAdobe. Кто не в курсе, это редактирование изображений и их сохранение в формате Jpeg ( Tinic.)
пятница, сентября 08, 2006
Укрощаем XML - получаем соседский узел
Одним из преимуществ XML является представление информации с помощью родительско-дочерних отношений.Это облегчает парсинг и понимание структуры.Однако, есть некоторые XML форматы (такие как формат play-листа Apple), представляют информацию с помощью соседских отношений на одном уровне.
Например, одним способом представления пары имя / значение является следующая форма:
<Artist>Interpol</Artist>
А формат Apple делает это с помощью структуры ключ / значение:
<key>Artist</key><string>Interpol</string>
отношения между ключом и значением основываются на соседстве, а не на иерархии, как в первом примере. Я не буду вникать, зачем Apple это делает (я и не знаю), хорошо это или плохо, но это, однозначно, доставляет трудности при парсинге.
Чтобы распарсить эту строку, необходимо сперва извлечь узел key, соответствующий нужному значению, а затем получить следующий узел, содержащий это значение.
Вот пример:
Важной частью примера является строка:
temp.parent().children()[temp.childIndex() + 1]
Здесь извлекается соседский узел узла temp. Для получения предыдущего узла, вычтите 1:
temp.parent().children()[temp.childIndex() - 1]
Данный метод добавлен Майком Чамберсом в класс XMLUtil в corelib.
Оригинал поста
Например, одним способом представления пары имя / значение является следующая форма:
<Artist>Interpol</Artist>
А формат Apple делает это с помощью структуры ключ / значение:
<key>Artist</key><string>Interpol</string>
отношения между ключом и значением основываются на соседстве, а не на иерархии, как в первом примере. Я не буду вникать, зачем Apple это делает (я и не знаю), хорошо это или плохо, но это, однозначно, доставляет трудности при парсинге.
Чтобы распарсить эту строку, необходимо сперва извлечь узел key, соответствующий нужному значению, а затем получить следующий узел, содержащий это значение.
Вот пример:
package {
import flash.display.Sprite;
public class XMLTest extends Sprite
{
public function XMLTest()
{
var xml:XML =
<xml>
<songs>
<song>
<key>Artist</key><string>Interpol</string>
<key>Track Number</key><int>7</int>
</song>
<song>
<key>Artist</key><string>Bloc Party</string>
<key>Track Number</key><int>3</int>
</song>
</songs>
</xml>
var temp:XML;
var artistName:String;
//проходим через songs
for each (var song:XML in xml.songs.song)
{
// получаем узел key, имеющий значение Artist,
// в первой song
temp = song.key.(text() == "Artist")[0];
//получаем следующий узел
//(т.е. соседский узел узла key).
//Сохраняем его как Stirng
artistName =
String(temp.parent().children()[temp.childIndex() + 1]);
trace(artistName);
}
}
}
}
Важной частью примера является строка:
temp.parent().children()[temp.childIndex() + 1]
Здесь извлекается соседский узел узла temp. Для получения предыдущего узла, вычтите 1:
temp.parent().children()[temp.childIndex() - 1]
Данный метод добавлен Майком Чамберсом в класс XMLUtil в corelib.
Оригинал поста
среда, сентября 06, 2006
Альтернативная IDE для RoR
Я уже рассматривал одну из самых популярных IDE для разработки rails приложений - Radrails. Сейчас попалась в руки еще одна бесплатная вещица - RoRed. Правда только для Windows платформы.
Главное преимущество - это вес - всего 900Кб.
Основные фичи:
В общем, пробуйте, выбор за вами.
Главное преимущество - это вес - всего 900Кб.
Основные фичи:
- Таб-навигация между открытыми файлами
- Навигация по коду с помощью Ctrl+клик
- Переключение назад/вперед между открытыми файлами
- Использование закладок, гиперзакладок, макросов
- Подсветка синтаксиса для .rb .rhtml файлов (черный фон - белые буквы - круто)
- Запуск сервера, консоли, командной строки в одно нажатие
В общем, пробуйте, выбор за вами.
вторник, сентября 05, 2006
понедельник, сентября 04, 2006
Затемнение ala Windows XP (Flex 2)
Alistair McLeod любит Windows XP, а особенно выключать его и любоваться эффектом затемнения всего, что находится за модальным окном. В связи с этим, он решил реализовать этот эффект во Flex 2.
Примеры данного эффекта можно посмотреть в оригинальном посте автора, там же можно загрузить библиотеку данного эффекта и SWC-файл. Просто нажмите кнопку и фон за модальным окном померкнет.
Работает это так. Класс PopUpManager имеет недокументированное внутреннее свойтсво modalWindowClass. Если задать в качестве значения этого свойства какой-нибудь класс, то его экземпляр будет создан при создании модального (только модального!) окна. Экземпляр появляется позади модального окна и изменяет внешний вид приложения.
Alistair создал класс SaturationFadePopUpBlocker, который использует его новый эффект SaturationFade. SaturationFade изменяет насыщенность компонента, который является целью эффекта.
Чтобы добавить данный эффект в приложение, необходимо добавить в обработчик creationComplete строку:
Вот переделанный пример из документации с использованием данного эффекта:
Необходимо еще само модальное окно, но его можно взять из хелпа. Изменений никаких в нем нет.
Естественно, все классы или swc файлы должны быть импортированны.
Эффект можно настроить для любого уровня насыщенности. Эффект SaturationFade можно использовать отдельно. В следующем примере эффект проигрывается при нажатии на изображения. Насыщенность меняется с 1 до 0. При отпускании эффект проигрывается в обратную сторону:
Кого интересует реализация данного эффекта во Flash - добро пожаловать.
Примеры данного эффекта можно посмотреть в оригинальном посте автора, там же можно загрузить библиотеку данного эффекта и SWC-файл. Просто нажмите кнопку и фон за модальным окном померкнет.
Работает это так. Класс PopUpManager имеет недокументированное внутреннее свойтсво modalWindowClass. Если задать в качестве значения этого свойства какой-нибудь класс, то его экземпляр будет создан при создании модального (только модального!) окна. Экземпляр появляется позади модального окна и изменяет внешний вид приложения.
Alistair создал класс SaturationFadePopUpBlocker, который использует его новый эффект SaturationFade. SaturationFade изменяет насыщенность компонента, который является целью эффекта.
Чтобы добавить данный эффект в приложение, необходимо добавить в обработчик creationComplete строку:
PopUpManager.mx_internal::modalWindowClass =
SaturationFadePopUpBlocker;
Вот переделанный пример из документации с использованием данного эффекта:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="doInit();">
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.core.IFlexDisplayObject;
import com.adobe.effects.*;
private function doInit():void {
PopUpManager.mx_internal::modalWindowClass =
SaturationFadePopUpBlocker;
}
private function showLogin():void {
var helpWindow:IFlexDisplayObject =
PopUpManager.createPopUp(this, MyLoginForm, true);
}
]]>
</mx:Script>
<mx:VBox>
<mx:Button click="showLogin();" label="Login"/>
<mx:Image source="img/sunset.jpg" />
</mx:VBox>
</mx:Application>
Необходимо еще само модальное окно, но его можно взять из хелпа. Изменений никаких в нем нет.
Естественно, все классы или swc файлы должны быть импортированны.
Эффект можно настроить для любого уровня насыщенности. Эффект SaturationFade можно использовать отдельно. В следующем примере эффект проигрывается при нажатии на изображения. Насыщенность меняется с 1 до 0. При отпускании эффект проигрывается в обратную сторону:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:eff="com.adobe.effects.*" >
<mx:Script>
<![CDATA[
import com.adobe.effects.SaturationFade;
]]>
</mx:Script>
<eff:SaturationFade id="fadeToGray" duration="500"
saturationFrom="1" saturationTo="0" />
<eff:SaturationFade id="fadeBack" duration="500"
saturationFrom="0" saturationTo="1" />
<mx:Image mouseDownEffect="fadeToGray" mouseUpEffect="fadeBack"
source="sunset.jpg" />
</mx:Application>
Кого интересует реализация данного эффекта во Flash - добро пожаловать.
воскресенье, сентября 03, 2006
Исходники и библиотеки от Quietlyscheming
Эли Гринфилд (Ely Greenfield) выложил архив (11 Мб) исходников своих проектов (11) и библиотек, обновленных до версии Flex 2 / Flash Player9. Качайте, а я пойду, добавлю в вики.
Подписаться на:
Сообщения (Atom)