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 12: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


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

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.