Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Dec 08, 2019 9:43 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 400 posts ]  Go to page Previous 118 19 20 21 2227 Next
Author Message
PostPosted: Mon Jan 06, 2014 6:04 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Да, мы не ищем легких путей. :wink:

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


Top
   
PostPosted: Mon Jan 06, 2014 10:19 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5067
punk_joker wrote:
По поводу edit'а
Так понимаю:
shift - позиция после начала выделения
shift_old - позиция до выделения

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

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

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

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


Top
   
PostPosted: Sat Mar 01, 2014 10:43 pm 
Offline
Kernel Developer

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

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


Top
   
PostPosted: Sat Mar 22, 2014 2:07 am 
Offline
Designer
User avatar

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


Attachments:
4sEsemF.png
4sEsemF.png [ 23.51 KiB | Viewed 3117 times ]

_________________
Через тернии к звездам
Top
   
PostPosted: Sat Mar 22, 2014 10:55 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5067
Пожалуйста, пофиксите и тогда я гарантирую, что в течении пары дней покажу нечто удивительное.

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


Top
   
PostPosted: Sat Mar 22, 2014 11:50 am 
Offline
Kernel Developer

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

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

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


Top
   
PostPosted: Sat Mar 22, 2014 11:56 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Я так понимаю, речь идет именно о "не рисовать кнопки прокрутки", действительно этот флаг пофиксит?


Top
   
PostPosted: Sat Mar 22, 2014 12:14 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Разговор слепого с глухим...

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

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


Top
   
PostPosted: Sat Mar 22, 2014 12:38 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5067
Я как раз пробовал. О, все хорошо придумано. Спасибо.

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


Top
   
PostPosted: Mon Apr 21, 2014 8:25 pm 
Offline
User avatar

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


Top
   
PostPosted: Mon Apr 21, 2014 9:53 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5067
Игнорируй все key, которые не равны Shift+left, shift+right.

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


Top
   
PostPosted: Sun Jun 15, 2014 1:24 am 
Offline
KSoC/GSoC Student - Auto-build destroyer

Joined: Mon Mar 10, 2014 12:07 am
Posts: 17
Предлагаю запостить сюда готовую обертку и шаблон для языка Си по использованию edit_box, у самого пока готовой нет, поэтому прошу помощи у общественности. Внимание приведенный код может быть не верным, посему прошу указать на ошибки.
Для начала декларация структуры (размер равен 76 байтам, как и положено):
Spoiler: Show
Code:
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 ...



Далее импорт функций из библиотеки:
Spoiler: Show
Code:
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");
}

Макеты функций:
Spoiler: Show
Code:
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);


Top
   
PostPosted: Sun Jun 15, 2014 2:04 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
А не проще заливать файлы на SVN по соседству с исходниками самой библиотеки, в соседней директории к примеру?

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


Top
   
PostPosted: Sun Jun 15, 2014 1:54 pm 
Offline
KSoC/GSoC Student - Auto-build destroyer

Joined: Mon Mar 10, 2014 12:07 am
Posts: 17
Mario_r4 wrote:
А не проще заливать файлы на SVN по соседству с исходниками самой библиотеки, в соседней директории к примеру?

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


Top
   
PostPosted: Sun Jun 15, 2014 2:28 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
right-hearted, ты привёл не весь код, и не известно, что должно было работать, а что — нет. Пока что не понятно, где именно ты предлагаешь искать ошибки.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 400 posts ]  Go to page Previous 118 19 20 21 2227 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited