Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
  
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
TrackIDentify
Новости
Статьи
Файлы
Патчи
Патчи A2
Патчи db2020
Эльфы
Исходники эльфов
Wiki
Форум
Опросы
Обратная связь
Развернуть/Свернуть
 
Развернуть/Свернуть

Класс для создания своего GUI : Эльфостроение : Эльфы : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Эльфы
      /  Эльфостроение
   /  Класс для создания своего GUI
На печать 
Правила 


arban


Elfmaker


Регистрация: 2.3.08
Сообщений: 802
Репутация: 3111





 
  #1 [30.05.11, 11:34] Класс для создания своего GUI   

 
Всем привет. Давно эту штуку сделал, но так и не выкладывал. Это класс для создания своего интерфейса в виде списка для эльфа. Пример работы можно видеть в ZBinLauncher.

Немного расскажу о методах

int GetItemsNum() возвращает количество элементов в списке
int GetMoreNum() возвращает количество элементов в дополнительном меню
int GetKeyNum() возвращает количество кнопок, назначенных на какие-либо действия
int GetCondNum() возвращает количество условий
int GetSelected() возвращает выделенный элемент
int GetMoreSelected() возвращает выделенный элемент в дополнительном меню
bool IsMore() возвращает истину, если открыто дополнительное меню
void SetTitle(wchar_t * txt) устанавливает заголовок
int LoadLayout(wchar_t * file) загружает файл с настройками интерфейса
GITEM * GetItem(int index) возвращает элемент с нужным индексом
LAYOUT * GetLayout() возвращает структуру с информацией о настройках интерфейса
Sort_(int(*cmp_proc)(void * s1, void * s2)) сортирует элементы, используя callback-функцию для сравнения двух элементов. Сортировка Шелла
void Sort_2() сортирует элементы по возрастанию. Пузырьковая сортировка

GITEM * AddItem(wchar_t * name, wchar_t * second_line, wchar_t iconid, void(*action)( CBookBase*book, CGuiBase* ),void*add_data) добавляет новый элемент в список
name - название
second_line - подпись под названием (если нужна)
iconid - иконка
action - действие, выполняющееся при выборе элемента
add_data - дополнительные данные, добавляемые в структуру элемента


GITEM * AddDynItem(wchar_t * name, wchar_t * second_line, wchar_t iconid, void(*action)( CBookBase*book, CGuiBase* ),di_arg,void*add_data) добавляет динамический элемент в список
name - название
second_line - подпись под названием (если нужна)
iconid - иконка
action - действие, выполняющееся при выборе элемента
add_data - дополнительные данные, добавляемые в структуру элемента
di_arg - callback-функция вида void(*cond)(GITEM*gi,int index,CBookBase*book, CGuiBase*g), необходимая для проверки условий или для выполнения чего-либо. Необходима для изменения названия, иконки, действия и т.д. этого пункта.



void AddMoreItem(wchar_t * name, wchar_t iconid, void(*action)( CBookBase*book, CGuiBase* ))добавляет элемент в дополнительное меню
name - название
iconid - иконка
action - действие, выполняющееся при выборе элемента


void AddKeyAction(int key, int mode, void(*action)( CBookBase*book, CGuiBase* )) назначает на определенную кнопку определенное действие
key - кнопка
mode - режим нажатия
action - действие


void AddCondition(bool (*condition)(), void(*action)( CBookBase*book, CGuiBase* )) добавляет условие, при истинности которого будет выполняться нужное действие.
condition - callback-функция. Если возвращает истину, то выполняется действие
action - действие


Константы

EMPTY_ACTION - пустое действие, используется в AddItem, AddDynItem, AddCondition
SELECT_ACTION - выбор пункта, используется в AddKey
OPEN_MORE_ACTION - открытие дополнительного меню, используется в AddKey
CLOSE_MORE_ACTION - закрытие дополнительного меню, используется в AddKey

Знаю, что все довольно мутно. Надеюсь, что кому-то это пригодиться и можно будет продолжить разработку.

Прикладываю также исходник ZBinLauncher. В "поставку" включен также класс для удобной работой с файлами.

[ Редактировано arban в 30.5.11 12:03 ]



Прикрепленный к сообщению файл:

api.zip api.zip (11.70 kb; 53 hits) Скачать файл
ZBinLauncher.zip ZBinLauncher.zip (9.43 kb; 44 hits) Скачать файл


LG Optimus
My SVN | Elflib Wiki | Elf SVN
Спасибо сказали: toha257, MAVER145, DuMOHsmol, zylka, E1kolyan, farid, clisto, Therion, ZverUA, Nook, Zormax, Black_Roland, Metaler


Похожие темы

  • Поиск
  • Права
Вы не можете начинать темы.
Вы не можете редактировать свои сообщения.
Вы не можете создавать опросы.
Вы не можете вкладывать файлы в сообщения.
Вы не можете отвечать на сообщения.
Вы не можете удалять свои сообщения.
Вы не можете голосовать.

Главная Новости Статьи Файлы Патчи Форум Опросы PDA
- Генерация страницы: 0.12 секунд | 11 Запросов | HTML: 29.31 КБ -