Tichy/ru

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Initial Russian version copied from English one)
 
(Russian translation)
Line 5: Line 5:
 
_  (_)    | |
 
_  (_)    | |
 
_| |_ _  ____| |__  _  _
 
_| |_ _  ____| |__  _  _
(_  _) |/ ___)  _ \| | | |  A Python Applets Manager
+
(_  _) |/ ___)  _ \| | | |  Менеджер аплетов
 
| |_| ( (___| | | | |_| |
 
| |_| ( (___| | | | |_| |
\__)_|\____)_| |_|\__  |  For Openmoko
+
\__)_|\____)_| |_|\__  |  для Openmoko
 
(____/
 
(____/
 
</pre>
 
</pre>
  
[[Image:Tichy-main2.png|thumb|tichy main window]]
+
[[Image:Tichy-main2.png|thumb|Главный экран Tichy]]
[[Image:Tichy-drawing.png|thumb|tichy drawing app]]
+
[[Image:Tichy-drawing.png|thumb|Приложение для рисования]]
[[Image:Tichy-style.png|thumb|tichy style app]]
+
[[Image:Tichy-style.png|thumb|Выбор и просмотр стилей]]
[[Image:Tichy-Media.png|thumb|tichy freedesktop app]]
+
[[Image:Tichy-Media.png|thumb|Приложение Tichy Freedesktop]]
[[Image:Tichy-Keyboard.png|thumb|tichy keyboard app]]
+
[[Image:Tichy-Keyboard.png|thumb|Клавиатура Tichy]]
  
 
== About ==
 
== About ==
Tichy is a python applets manager for embedded devices.
+
Tichy является менеджером аплетов для встраиваемых устройств и написан на языке программирования Python.
  
The goal of the project is to make it easy to write many kind of applications for openmoko using the python language.
+
Цель проекта - облегчить разработку на языке Питон широкого спектра приложений для Openmoko.
  
Tichy provides the following things :
+
Tichy предоставляет для разработчиков следующие возможности:
* Graphics User Interface widgets
+
* Виджеты для графического интерфейса пользователя
* Services registering and Requesting (for example an application that wants to send a message will request for an application implementing  the message sending service)
+
* Систему сервисов, их регистрацию и поиск (например приложение, желающее отправить сообщение, имеет возможность запросить другое приложение, реализующее нужный функционал)
* Tasklets system (This allow to write callback waiting process as if they were threads)
+
* Систему задач (tasklets). Она позволит писать процессы, ожидающие обратного вызова и ведущие себя как потоки (threads)
* Abstraction of Item / View
+
* Абстракцию Элемента и его Внешнего вида
* A plug in system that make it easy to add new functionalities / applets to tichy
+
* Систему подключаемых модулей (плагинов) для удобного создания новой функциональности и добавления аплетов в систему
  
== How to write an applets / plug-ins for tichy ? ==
+
== Как писать аплеты / плагины для Tichy? ==
Unfortunately There is currently no documentation.
+
К сожалению, документации на этот счёт пока не существует.
  
Fortunately it is very easy to do. If you want to write a new applet, you just need to create a new directory in tichy/test/plugins/apps/. You can have a look at the other plug-ins to get an idea of how to do it. A basic app look like this :
+
Однако создать новый компонент совсем несложно. Если вы хотите написать новый аплет, просто создайте новую директорию в tichy/test/plugins/apps/ и посмотрите, как устроены другие входящие в поставку программы плагины. Простое приложение выглядит примерно так:
  
 
<pre>
 
<pre>
Line 41: Line 41:
  
 
class MyApp(Application):
 
class MyApp(Application):
name = "My Application"
+
name = "Моё приложение"
icon = 'icon.png'   # to be found in the app directory
+
icon = "icon.png"   # Картинка должна быть в директории нового приложения
  
 
def run(self, parent):
 
def run(self, parent):
w = gui.Window(parent, modal = True)  # We run into a new modal window
+
w = gui.Window(parent, modal = True)  # Мы работаем в новом модальном окне
# Create a new frame with a "back" button on top
+
# Создаём новый фрейм с кнопкой "Назад" наверху
 
frame = gui.ApplicationFrame(w, self, back_button=True)
 
frame = gui.ApplicationFrame(w, self, back_button=True)
  
# This box is used to store the widgets
+
# В этом контейнере будут храниться виджеты
 
box = gui.Box(frame, axis=1)
 
box = gui.Box(frame, axis=1)
  
# Create a text item
+
# Создаём текстовой элемент
text = item.Text('click to edit', editable = True)
+
text = item.Text("Кликните тут для редактирования", editable = True)
# Put a view of the item on the screen
+
# Показываем этот элемент на экране
 
text.view(box)
 
text.view(box)
  
# Add a button
+
# Добавляем кнопку
 
button = gui.Button(box)
 
button = gui.Button(box)
gui.Label(button, "click me")
+
gui.Label(button, "Нажмите тут")
  
 
def on_click(b):
 
def on_click(b):
# "yield" means "block until the tasklet returns"
+
# "yield" работает так: "блокировка до возвращения управления из задачи"
yield gui.Message(w, you just clicked the button)
+
yield gui.Message(w, "Вы нажали на кнопку")
button.connect('clicked', on_click)
+
# Связывание события и вызываемой функции
 +
button.connect("clicked", on_click)
  
yield Wait(frame, 'back')    # Wait until the back button is clicked
+
yield Wait(frame, "back")    # Ждём пока не будет нажата кнопка "Назад"
w.close()                    # Don't forget to close the window
+
w.close()                    # Не забываем закрывать за собой окна
 
</pre>
 
</pre>
  
== Authors ==
+
== Авторы ==
* Guillaume "Charlie" Chereau, main developer
+
* Guillaume "Charlie" Chereau, основной разработчик
 
* Michael "Goodwill"
 
* Michael "Goodwill"
  
== Sources ==
+
== Исходные коды ==
The sources can be found from svn repository on project.openmoko :
+
Исходники проекта доступны из репозитария SVN по имени project.openmoko:
 
svn checkout svn://svn.projects.openmoko.org/svnroot/tichy
 
svn checkout svn://svn.projects.openmoko.org/svnroot/tichy
  
== Running on the desktop ==
+
== Запуск на десктопе ==
Thanks to the service system, that allows to provide several version of the same service, Tichy can run as well on a desktop computer as on the neo. When run on a desktop, tichy will simulate phone functionalities, when run on the neo, it will use the [[OpenmokoFramework | Framework]].
+
Благодаря упомянутой выше системе сервисов, дающей возможность предоставлять клиентам на выбор несколько реализующих сходный функционал приложений, Tichy можно запускать не только на телефонах Openmoko, но и на настольных компьютерах: когда Tichy работает на десктопе, он имитирует финкционал телефона, а когда в реальном Neo - использует доступное там [[OpenmokoFramework|окружение]].
  
 
+
Чтобы запустить Tichy на настольном компьютере, необходимо установить пакет python-pygames:
To run it on the desktop, make sure you have python-pygames installed
+
 
sudo apt-get install python-pygame
 
sudo apt-get install python-pygame
  
Then just download the sources, then go into test, and run
+
Потом просто загрузите исходники, зайдите в директорию test и запустите:
 
./tichy
 
./tichy
  
== Running on neo ==
+
== Запуск на Neo ==
You will need to compile some files, see the README for more information on how to do it.
+
Нужно будет скомпилировать несколько файлов; читайте README из комплекта поставки Tichy с соответствующими инструкциями.
  
== Dependencies ==
+
== Зависимости ==
You need python 2.5 and some libraries installed :
+
Для работы требуется python версии 2.5 и некоторые другие библиотеки:
 
* python-pygame
 
* python-pygame
 
* python-dbus
 
* python-dbus
Line 99: Line 99:
 
* python-gobject
 
* python-gobject
  
== ipkg package ==
+
== ipkg-пакет Tichy ==
A package is available for it in Openmoko Testing and unstable feed. Unfortunately tichy won't work yet, because of a bug in python-pygame in openmoko feeds.
+
В лентах Openmoko "testing" и "unstable" есть пакет Tichy. В настоящее время текущая версия проекта неработоспособна из-за ошибки в пакете python-pygame.

Revision as of 13:34, 18 October 2008


_       _
_  (_)     | |
_| |_ _  ____| |__  _   _
(_   _) |/ ___)  _ \| | | |   Менеджер аплетов
| |_| ( (___| | | | |_| |
\__)_|\____)_| |_|\__  |   для Openmoko
(____/
Главный экран Tichy
Приложение для рисования
Выбор и просмотр стилей
Приложение Tichy Freedesktop
Клавиатура Tichy

Contents

About

Tichy является менеджером аплетов для встраиваемых устройств и написан на языке программирования Python.

Цель проекта - облегчить разработку на языке Питон широкого спектра приложений для Openmoko.

Tichy предоставляет для разработчиков следующие возможности:

  • Виджеты для графического интерфейса пользователя
  • Систему сервисов, их регистрацию и поиск (например приложение, желающее отправить сообщение, имеет возможность запросить другое приложение, реализующее нужный функционал)
  • Систему задач (tasklets). Она позволит писать процессы, ожидающие обратного вызова и ведущие себя как потоки (threads)
  • Абстракцию Элемента и его Внешнего вида
  • Систему подключаемых модулей (плагинов) для удобного создания новой функциональности и добавления аплетов в систему

Как писать аплеты / плагины для 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()                     # Не забываем закрывать за собой окна

Авторы

  • Guillaume "Charlie" Chereau, основной разработчик
  • Michael "Goodwill"

Исходные коды

Исходники проекта доступны из репозитария SVN по имени project.openmoko: svn checkout svn://svn.projects.openmoko.org/svnroot/tichy

Запуск на десктопе

Благодаря упомянутой выше системе сервисов, дающей возможность предоставлять клиентам на выбор несколько реализующих сходный функционал приложений, Tichy можно запускать не только на телефонах Openmoko, но и на настольных компьютерах: когда Tichy работает на десктопе, он имитирует финкционал телефона, а когда в реальном Neo - использует доступное там окружение.

Чтобы запустить Tichy на настольном компьютере, необходимо установить пакет python-pygames: sudo apt-get install python-pygame

Потом просто загрузите исходники, зайдите в директорию test и запустите: ./tichy

Запуск на Neo

Нужно будет скомпилировать несколько файлов; читайте README из комплекта поставки Tichy с соответствующими инструкциями.

Зависимости

Для работы требуется python версии 2.5 и некоторые другие библиотеки:

  • python-pygame
  • python-dbus
  • python-yaml
  • python-gst
  • python-gobject

ipkg-пакет Tichy

В лентах Openmoko "testing" и "unstable" есть пакет Tichy. В настоящее время текущая версия проекта неработоспособна из-за ошибки в пакете python-pygame.

Personal tools


_       _
_  (_)     | |
_| |_ _  ____| |__  _   _
(_   _) |/ ___)  _ \| | | |   A Python Applets Manager
| |_| ( (___| | | | |_| |
\__)_|\____)_| |_|\__  |   For Openmoko
(____/
tichy main window
tichy drawing app
tichy style app
tichy freedesktop app
tichy keyboard app

About

Tichy is a python applets manager for embedded devices.

The goal of the project is to make it easy to write many kind of applications for openmoko using the python language.

Tichy provides the following things :

  • Graphics User Interface widgets
  • Services registering and Requesting (for example an application that wants to send a message will request for an application implementing the message sending service)
  • Tasklets system (This allow to write callback waiting process as if they were threads)
  • Abstraction of Item / View
  • A plug in system that make it easy to add new functionalities / applets to tichy

How to write an applets / plug-ins for tichy ?

Unfortunately There is currently no documentation.

Fortunately it is very easy to do. If you want to write a new applet, you just need to create a new directory in tichy/test/plugins/apps/. You can have a look at the other plug-ins to get an idea of how to do it. A basic app look like this :

import tichy
import tichy.gui as gui
import tichy.item as item
from tichy.application import Application

class MyApp(Application):
name = "My Application"
icon = 'icon.png'   # to be found in the app directory

def run(self, parent):
w = gui.Window(parent, modal = True)   # We run into a new modal window
# Create a new frame with a "back" button on top
frame = gui.ApplicationFrame(w, self, back_button=True)

# This box is used to store the widgets
box = gui.Box(frame, axis=1)

# Create a text item
text = item.Text('click to edit', editable = True)
# Put a view of the item on the screen
text.view(box)

# Add a button
button = gui.Button(box)
gui.Label(button, "click me")

def on_click(b):
# "yield" means "block until the tasklet returns"
yield gui.Message(w, you just clicked the button)
button.connect('clicked', on_click)

yield Wait(frame, 'back')     # Wait until the back button is clicked
w.close()                     # Don't forget to close the window

Authors

  • Guillaume "Charlie" Chereau, main developer
  • Michael "Goodwill"

Sources

The sources can be found from svn repository on project.openmoko : svn checkout svn://svn.projects.openmoko.org/svnroot/tichy

Running on the desktop

Thanks to the service system, that allows to provide several version of the same service, Tichy can run as well on a desktop computer as on the neo. When run on a desktop, tichy will simulate phone functionalities, when run on the neo, it will use the Framework.


To run it on the desktop, make sure you have python-pygames installed sudo apt-get install python-pygame

Then just download the sources, then go into test, and run ./tichy

Running on neo

You will need to compile some files, see the README for more information on how to do it.

Dependencies

You need python 2.5 and some libraries installed :

  • python-pygame
  • python-dbus
  • python-yaml
  • python-gst
  • python-gobject

ipkg package

A package is available for it in Openmoko Testing and unstable feed. Unfortunately tichy won't work yet, because of a bug in python-pygame in openmoko feeds.