Tichy/ru
From Openmoko
(Initial Russian version copied from English one) |
m (Minor stylistics) |
||
(One intermediate revision by one user not shown) | |||
Line 1: | Line 1: | ||
{{Languages|Tichy}} | {{Languages|Tichy}} | ||
+ | <!-- WTF no PRE formatting? | ||
<pre> | <pre> | ||
− | |||
_ (_) | | | _ (_) | | | ||
_| |_ _ ____| |__ _ _ | _| |_ _ ____| |__ _ _ | ||
− | (_ _) |/ ___) _ \| | | | | + | (_ _) |/ ___) _ \| | | | Менеджер аплетов |
| |_| ( (___| | | | |_| | | | |_| ( (___| | | | |_| | | ||
− | \__)_|\____)_| |_|\__ | | + | \__)_|\____)_| |_|\__ | для Openmoko |
(____/ | (____/ | ||
</pre> | </pre> | ||
+ | --> | ||
− | [[Image:Tichy-main2.png|thumb| | + | [[Image:Tichy-main2.png|thumb|Главный экран Tichy]] |
− | [[Image:Tichy-drawing.png|thumb| | + | [[Image:Tichy-drawing.png|thumb|Приложение для рисования]] |
− | [[Image:Tichy-style.png|thumb| | + | [[Image:Tichy-style.png|thumb|Выбор и просмотр стилей]] |
− | [[Image:Tichy-Media.png|thumb| | + | [[Image:Tichy-Media.png|thumb|Приложение Tichy Freedesktop]] |
− | [[Image:Tichy-Keyboard.png|thumb| | + | [[Image:Tichy-Keyboard.png|thumb|Клавиатура Tichy]] |
== About == | == About == | ||
− | Tichy | + | Tichy является менеджером аплетов для встраиваемых устройств и написан на языке программирования Python. |
− | + | Цель проекта - облегчить разработку на языке Питон широкого спектра приложений для Openmoko. | |
− | Tichy | + | Tichy предоставляет для разработчиков следующие возможности: |
− | * | + | * Виджеты для графического интерфейса пользователя |
− | * | + | * Систему сервисов, их регистрацию и поиск (например приложение, желающее отправить сообщение, имеет возможность запросить другое приложение, реализующее нужный функционал) |
− | * | + | * Систему задач (tasklets). Она позволит писать процессы, ожидающие обратного вызова и ведущие себя как потоки (threads) |
− | * | + | * Абстракцию Элемента и его Внешнего вида |
− | * | + | * Систему подключаемых модулей (плагинов) для удобного создания новой функциональности и добавления аплетов в систему |
− | == | + | == Как писать аплеты / плагины для Tichy? == |
− | + | К сожалению, документации на этот счёт пока не существует. | |
− | + | Однако создать новый компонент совсем несложно. Если вы хотите написать новый аплет, просто создайте новую директорию в tichy/test/plugins/apps/ и посмотрите, как устроены другие входящие в поставку программы плагины. Простое приложение выглядит примерно так: | |
<pre> | <pre> | ||
Line 41: | Line 42: | ||
class MyApp(Application): | class MyApp(Application): | ||
− | name = " | + | name = "Моё приложение" |
− | icon = | + | icon = "icon.png" # Картинка должна быть в директории нового приложения |
def run(self, parent): | def run(self, parent): | ||
− | w = gui.Window(parent, modal = True) # | + | w = gui.Window(parent, modal = True) # Мы работаем в новом модальном окне |
− | # | + | # Создаём новый фрейм с кнопкой "Назад" наверху |
frame = gui.ApplicationFrame(w, self, back_button=True) | frame = gui.ApplicationFrame(w, self, back_button=True) | ||
− | # | + | # В этом контейнере будут храниться виджеты |
box = gui.Box(frame, axis=1) | box = gui.Box(frame, axis=1) | ||
− | # | + | # Создаём текстовой элемент |
− | text = item.Text( | + | text = item.Text("Кликните тут для редактирования", editable = True) |
− | # | + | # Показываем этот элемент на экране |
text.view(box) | text.view(box) | ||
− | # | + | # Добавляем кнопку |
button = gui.Button(box) | button = gui.Button(box) | ||
− | gui.Label(button, " | + | gui.Label(button, "Нажмите тут") |
def on_click(b): | def on_click(b): | ||
− | # "yield" | + | # "yield" работает так: "блокировка до возвращения управления из задачи" |
− | yield gui.Message(w, | + | yield gui.Message(w, "Вы нажали на кнопку") |
− | button.connect( | + | # Связывание события и вызываемой функции |
+ | button.connect("clicked", on_click) | ||
− | yield Wait(frame, | + | yield Wait(frame, "back") # Ждём пока не будет нажата кнопка "Назад" |
− | w.close() # | + | w.close() # Не забываем закрывать за собой окна |
</pre> | </pre> | ||
− | == | + | == Авторы == |
− | * Guillaume "Charlie" Chereau, | + | * Guillaume "Charlie" Chereau, основной разработчик |
* Michael "Goodwill" | * Michael "Goodwill" | ||
− | == | + | == Исходные коды == |
− | + | Исходники проекта доступны из репозитария SVN по имени project.openmoko: | |
+ | <pre> | ||
svn checkout svn://svn.projects.openmoko.org/svnroot/tichy | svn checkout svn://svn.projects.openmoko.org/svnroot/tichy | ||
+ | </pre> | ||
− | == | + | == Запуск на десктопе == |
− | + | Благодаря упомянутой выше системе сервисов, дающей возможность предоставлять клиентам на выбор несколько реализующих сходный функционал приложений, Tichy можно запускать не только на телефонах Openmoko, но и на настольных компьютерах: когда Tichy работает на десктопе, он имитирует финкционал телефона, а когда в реальном Neo - использует доступное там [[OpenmokoFramework|окружение]]. | |
− | + | Чтобы запустить Tichy на настольном компьютере, необходимо установить пакет python-pygames: | |
− | + | <pre> | |
sudo apt-get install python-pygame | sudo apt-get install python-pygame | ||
+ | </pre> | ||
− | + | Потом просто загрузите исходники, зайдите в директорию test и запустите: | |
+ | <pre> | ||
./tichy | ./tichy | ||
+ | </pre> | ||
− | == | + | == Запуск на Neo == |
− | + | Нужно будет скомпилировать несколько файлов; читайте README из комплекта поставки Tichy с соответствующими инструкциями. | |
− | == | + | == Зависимости == |
− | + | Для работы требуется python версии 2.5 и некоторые другие библиотеки: | |
* python-pygame | * python-pygame | ||
* python-dbus | * python-dbus | ||
Line 99: | Line 106: | ||
* python-gobject | * python-gobject | ||
− | == ipkg | + | == ipkg-пакет Tichy == |
− | + | В лентах Openmoko "testing" и "unstable" есть пакет Tichy. В настоящее время текущая версия проекта неработоспособна из-за ошибки в пакете python-pygame. |
Latest revision as of 13:39, 18 October 2008
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
Contents |
[edit] About
Tichy является менеджером аплетов для встраиваемых устройств и написан на языке программирования Python.
Цель проекта - облегчить разработку на языке Питон широкого спектра приложений для Openmoko.
Tichy предоставляет для разработчиков следующие возможности:
- Виджеты для графического интерфейса пользователя
- Систему сервисов, их регистрацию и поиск (например приложение, желающее отправить сообщение, имеет возможность запросить другое приложение, реализующее нужный функционал)
- Систему задач (tasklets). Она позволит писать процессы, ожидающие обратного вызова и ведущие себя как потоки (threads)
- Абстракцию Элемента и его Внешнего вида
- Систему подключаемых модулей (плагинов) для удобного создания новой функциональности и добавления аплетов в систему
[edit] Как писать аплеты / плагины для Tichy?
К сожалению, документации на этот счёт пока не существует.
Однако создать новый компонент совсем несложно. Если вы хотите написать новый аплет, просто создайте новую директорию в tichy/test/plugins/apps/ и посмотрите, как устроены другие входящие в поставку программы плагины. Простое приложение выглядит примерно так:
import tichy import tichy.gui as gui import tichy.item as item from tichy.application import Application class MyApp(Application): name = "Моё приложение" icon = "icon.png" # Картинка должна быть в директории нового приложения def run(self, parent): w = gui.Window(parent, modal = True) # Мы работаем в новом модальном окне # Создаём новый фрейм с кнопкой "Назад" наверху frame = gui.ApplicationFrame(w, self, back_button=True) # В этом контейнере будут храниться виджеты box = gui.Box(frame, axis=1) # Создаём текстовой элемент text = item.Text("Кликните тут для редактирования", editable = True) # Показываем этот элемент на экране text.view(box) # Добавляем кнопку button = gui.Button(box) gui.Label(button, "Нажмите тут") def on_click(b): # "yield" работает так: "блокировка до возвращения управления из задачи" yield gui.Message(w, "Вы нажали на кнопку") # Связывание события и вызываемой функции button.connect("clicked", on_click) yield Wait(frame, "back") # Ждём пока не будет нажата кнопка "Назад" w.close() # Не забываем закрывать за собой окна
[edit] Авторы
- Guillaume "Charlie" Chereau, основной разработчик
- Michael "Goodwill"
[edit] Исходные коды
Исходники проекта доступны из репозитария SVN по имени project.openmoko:
svn checkout svn://svn.projects.openmoko.org/svnroot/tichy
[edit] Запуск на десктопе
Благодаря упомянутой выше системе сервисов, дающей возможность предоставлять клиентам на выбор несколько реализующих сходный функционал приложений, Tichy можно запускать не только на телефонах Openmoko, но и на настольных компьютерах: когда Tichy работает на десктопе, он имитирует финкционал телефона, а когда в реальном Neo - использует доступное там окружение.
Чтобы запустить Tichy на настольном компьютере, необходимо установить пакет python-pygames:
sudo apt-get install python-pygame
Потом просто загрузите исходники, зайдите в директорию test и запустите:
./tichy
[edit] Запуск на Neo
Нужно будет скомпилировать несколько файлов; читайте README из комплекта поставки Tichy с соответствующими инструкциями.
[edit] Зависимости
Для работы требуется python версии 2.5 и некоторые другие библиотеки:
- python-pygame
- python-dbus
- python-yaml
- python-gst
- python-gobject
[edit] ipkg-пакет Tichy
В лентах Openmoko "testing" и "unstable" есть пакет Tichy. В настоящее время текущая версия проекта неработоспособна из-за ошибки в пакете python-pygame.