Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт дек 12, 2017 10:40 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 371 сообщение ]  На страницу Пред. 118 19 20 21 2225 След.
Автор Сообщение
СообщениеДобавлено: Пн янв 06, 2014 6:04 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Да, мы не ищем легких путей. :wink:

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Пн янв 06, 2014 10:19 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
punk_joker писал(а):
По поводу edit'а
Так понимаю:
shift - позиция после начала выделения
shift_old - позиция до выделения

Правильно? И эта позиция в символах?

Сделай в событии
Код:
on_mouse_move:
debug("shift:");
debugi(shift);
debug("shift_old:");
debugi(shift_old);

Ну и повыделяй там разные участки в эдите, посмотри как оно будет меняться.

_________________
Через тернии к звездам


Вернуться к началу
СообщениеДобавлено: Сб мар 01, 2014 10:43 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
SVN r.4601 поддержка системного буфера обмена для компонента Editbox, через клавиши Ctrl+C|V. Также следует учесть, что требуется ядро ревизии 4588 или более новое. Рока реализовано лишь грубое применение буфера обмена, т.е. при вставке в буфер копируются все данные из Editbox, и при вставке в Editbox все существующие данные перезаписываются новыми. В общем пока выделение текста синим цветом не учитывается в работе с буфером обмена.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Сб мар 22, 2014 2:07 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Кто-то может пофиксить следующий баг? Если scrollbar btn_height==0, то не рисовать эти кнопки вообще.


Вложения:
4sEsemF.png
4sEsemF.png [ 23.51 КБ | 2374 просмотра ]

_________________
Через тернии к звездам
Вернуться к началу
СообщениеДобавлено: Сб мар 22, 2014 10:55 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Пожалуйста, пофиксите и тогда я гарантирую, что в течении пары дней покажу нечто удивительное.

_________________
Через тернии к звездам


Вернуться к началу
СообщениеДобавлено: Сб мар 22, 2014 11:50 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
В чате же был дан ответ, как в текущем коде не отображать, так зачем лишняя работа?
Спойлер: Показать
Цитата:
0CodErr « Сб мар 22, 2014 9:27 am » Leency: а у скроллбара есть флаг sb_all_redraw. "если поставить 0, то перерисовка происходит только для области бегунка."

Флаг задумывался для другого, но в этом случае это приемлемое решение - оно действительно полностью отключает вывод боковых кнопок. Я как автор кода скроллбара гарантирую это.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Сб мар 22, 2014 11:56 am 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Я так понимаю, речь идет именно о "не рисовать кнопки прокрутки", действительно этот флаг пофиксит?


Вернуться к началу
СообщениеДобавлено: Сб мар 22, 2014 12:14 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Разговор слепого с глухим...

Вместо того чтобы попробовать и сказать "Марио пиздит" или "О, все хорошо придумано" лучше разведем бодягу на пару страниц темы.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Сб мар 22, 2014 12:38 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Я как раз пробовал. О, все хорошо придумано. Спасибо.

_________________
Через тернии к звездам


Вернуться к началу
СообщениеДобавлено: Пн апр 21, 2014 8:25 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 386
Есть ли возможность сделать неизменяемый edit_box? Вариант не вызывать edit_box_key не подходить, так как должна быть возможность выделять текст с помощью SHIFT+ARROW.


Вернуться к началу
СообщениеДобавлено: Пн апр 21, 2014 9:53 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4227
Игнорируй все key, которые не равны Shift+left, shift+right.

_________________
Через тернии к звездам


Вернуться к началу
СообщениеДобавлено: Вс июн 15, 2014 1:24 am 
Не в сети
KSoC/GSoC Student - Auto-build destroyer

Зарегистрирован: Пн мар 10, 2014 12:07 am
Сообщения: 17
Предлагаю запостить сюда готовую обертку и шаблон для языка Си по использованию edit_box, у самого пока готовой нет, поэтому прошу помощи у общественности. Внимание приведенный код может быть не верным, посему прошу указать на ошибки.
Для начала декларация структуры (размер равен 76 байтам, как и положено):
Спойлер: Показать
Код:
typedef struct edit_box edit_box;
struct edit_box
{   
   int width;
   int left;
   int top;
   int color;
   int shift_color;
   int focus_border_color;
   int blur_border_color;
   int text_color;
   int max;
   char *text;
   int mouse_variable;
   int flags;
   int size;
   int pos;
   int offset;
   int cl_curs_x;
   int cl_curs_y;
   int shift;
   int shift_old;
};

//далее в самом коде определяем новые edit_box
edit_box ed_bx1 = {.width=100, .left=50, ...}
или
edit_box ed_bx2;
ed_bx2.width=100;
ed_bx2.left=11 ...



Далее импорт функций из библиотеки:
Спойлер: Показать
Код:
typedef struct __attribute__((packed))
{
   char   *name __attribute__((packed));
   void   *data __attribute__((packed));
} struct_import;



struct_import* lib_load(char *name)        //Для загрузки библиотеки (не только box_lib)
{
        struct_import* val;
        asm volatile ("int $0x40":"=a"(val):"a"(68), "b"(19), "c"(name));
        return val;
}

void* lib_procload (struct_import *imp, char *name)        //Для загрузки необходимой функции.
{
        int i;
        for (i=0;;i++)
                if ( NULL == ((imp+i) -> name))
                        break;
                else
                        if ( 0 == strcmp(name, (imp+i)->name) )
                                return (imp+i)->data;
        return NULL;
}

void load_box_lib(){                                 //эта функция вызывается в main для подключения библиотеки
   struct_import *k;
   k = lib_load("/sys/lib/box_lib.obj");

   edit_box_draw = (__stdcall void (*) (edit_box))lib_procload(k, "edit_box");
   edit_box_key = (__stdcall void (*) (edit_box))lib_procload(k, "edit_box_key");
   edit_box_mouse = (__stdcall void (*) (edit_box))lib_procload(k, "edit_box_mouse");
}

Макеты функций:
Спойлер: Показать
Код:
struct_import* lib_load(char *name);
void* lib_procload (struct_import *imp, char *name);
void load_box_lib();

void (* __stdcall edit_box_draw)(edit_box bx);
void (* __stdcall edit_box_key)(edit_box bx);
void (* __stdcall edit_box_mouse)(edit_box bx);


Вернуться к началу
СообщениеДобавлено: Вс июн 15, 2014 2:04 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
А не проще заливать файлы на SVN по соседству с исходниками самой библиотеки, в соседней директории к примеру?

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Вс июн 15, 2014 1:54 pm 
Не в сети
KSoC/GSoC Student - Auto-build destroyer

Зарегистрирован: Пн мар 10, 2014 12:07 am
Сообщения: 17
Mario_r4 писал(а):
А не проще заливать файлы на SVN по соседству с исходниками самой библиотеки, в соседней директории к примеру?

Как только удостоверюсь что код будет работать. То что я написал содержит ошибки которые я не могу найти. Если люди помогут их локализовать, то 100 пудово работающий код можно будет и на SVN. И потом я теперь 5 раз думаю перед тем как заливать что то на сервер.


Вернуться к началу
СообщениеДобавлено: Вс июн 15, 2014 2:28 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1082
right-hearted, ты привёл не весь код, и не известно, что должно было работать, а что — нет. Пока что не понятно, где именно ты предлагаешь искать ошибки.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 371 сообщение ]  На страницу Пред. 118 19 20 21 2225 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB