[offtop]
>С 19 августа 2009 - Вантус на домашнем ПК более не используется...
Поздравляю. А KDE зря старый.
[/offtop]
box_lib.obj - библиотека gui компонентов
Leency, vkos и все кто еще хочет продолжить оффтоп - просьба здесь не продолжать. Если есть вопрос по теме пишите, все остальное в личку.vkos wrote:А KDE зря старый.
Mario
Хорошая работа. У FileBrowser'а достаточно большие иконки, что не может не радовать. Рекомендую оставлять слева от иконки немного свободного места (белого пространства).
Хорошая работа. У FileBrowser'а достаточно большие иконки, что не может не радовать. Рекомендую оставлять слева от иконки немного свободного места (белого пространства).
Сделайте, пожалуйста, пример использования скролла и меню на Си.
Из хаоса в космос
Leency
Я не достаточно знаю синтаксис Си чтобы писать переходные части, "обертки". Может кто и напишет.
В принципе оно должно быть аналогично используемым для Editbox, также передается просто указатель на структуру блока данных.
Я не достаточно знаю синтаксис Си чтобы писать переходные части, "обертки". Может кто и напишет.
В принципе оно должно быть аналогично используемым для Editbox, также передается просто указатель на структуру блока данных.
Я понимаю нужны обертки для С-- ? Или может Leency переведет свои проекты на MSVC++, или GCC ?Leency wrote:Сделайте, пожалуйста, пример использования скролла и меню на Си.
Я могу постараться и написать обертки для нужного компилятора.
Спасибо что откликнулся. Хотя бы для MSVC.
Из хаоса в космос
Моя работа над компонентом FileBrowser близка к завершению, однако хотел поинтересоваться - может кому нужно отображение компонента без подгрузки файла иконок? Т.е. все вместо иконок могут отрисовываться три рисунка: папка, файл, кнопка выхода. Навроде как у Опера под Linux:
Из плюсов такого подварианта:
1) Не нужны иконки
2) Экономия памяти
3) Теоретически быстрее отрисовка, хотя не сильно.
4) Не нужно морочиться с дополнительным кодом.
Спрашиваю потому, что прикручивать вызов LibImg для иконок в примере использования контрола не буду, поскольку пользуюсь своими библиотеками, входящими в состав zSea, а разбираться с неиспользуемой библиотекой имеющей другой RAW формат желания и времени не имею. Если кто захочет использовать LibImg - ему придется прикручивать самому.
Однако реализовывать лишний код для вывода без картинок, без отсутсвия потребности в нем со стороны других программистов, тоже желания не имею.
Ну, и на закуску текущий вид компонента. Это не диалоговое окно, окно тоже будет как доделаю компонент.
Конечно нарисованные с помощью функций Kolibri кнопки будут не так красивы, как натуральные иконки. Из плюсов такого подварианта:
1) Не нужны иконки
2) Экономия памяти
3) Теоретически быстрее отрисовка, хотя не сильно.
4) Не нужно морочиться с дополнительным кодом.
Спрашиваю потому, что прикручивать вызов LibImg для иконок в примере использования контрола не буду, поскольку пользуюсь своими библиотеками, входящими в состав zSea, а разбираться с неиспользуемой библиотекой имеющей другой RAW формат желания и времени не имею. Если кто захочет использовать LibImg - ему придется прикручивать самому.
Однако реализовывать лишний код для вывода без картинок, без отсутсвия потребности в нем со стороны других программистов, тоже желания не имею.
Ну, и на закуску текущий вид компонента. Это не диалоговое окно, окно тоже будет как доделаю компонент.
PhoSor
Как мы заботимся о судьбе ближнего своего! (смайлика валяющегося на спине к сожалению на форуме нету)
Приведи для начала, хоть одну ссылку на такой патент или авторское право зарегистрированное в Российской Федерации.
Как аргументы:
1) Иконки идут под лцензией LGPL2.
2) Мой код для BoxLib идет под лицензией BSD, которая вполне себе совместима с LGPL2.
3) Если даже возникнут вопросы - кто сказал, что я буду выкладывать код именно с этими иконками
З.Ы. А если я, не дай Бог, возьму и выложу скриншот с иконками от Виндовс 7 - меня наверное вообще будут пытать перед смертью. О Господи страшно то как! А кстати автор иконок нарушил священное право Мелкософта на их флаг! Нет он сделал хуже - он выложил изображение похожее на их флаг под лицензией LGPL2!!!!! Святотатство!!!!
И о БОЖЕони убили Кенни один из логотипов подозрительно похож по оформлению на флаг одной нации, повернутый на 45 градусов... о майн гат! нас засудят!!! ааааа!!!!
З.З.Ы. Чето уважемый не похож ты на заинтересованного программиста, скорее на тролля.
Как мы заботимся о судьбе ближнего своего! (смайлика валяющегося на спине к сожалению на форуме нету)
Приведи для начала, хоть одну ссылку на такой патент или авторское право зарегистрированное в Российской Федерации.
Как аргументы:
1) Иконки идут под лцензией LGPL2.
2) Мой код для BoxLib идет под лицензией BSD, которая вполне себе совместима с LGPL2.
3) Если даже возникнут вопросы - кто сказал, что я буду выкладывать код именно с этими иконками
З.Ы. А если я, не дай Бог, возьму и выложу скриншот с иконками от Виндовс 7 - меня наверное вообще будут пытать перед смертью. О Господи страшно то как! А кстати автор иконок нарушил священное право Мелкософта на их флаг! Нет он сделал хуже - он выложил изображение похожее на их флаг под лицензией LGPL2!!!!! Святотатство!!!!
И о БОЖЕ
З.З.Ы. Чето уважемый не похож ты на заинтересованного программиста, скорее на тролля.
фиг с ними иконками... можно прикрутить потом...
а за работу спасибо...
з.ы. можно примерный эскиз как примерно будет выглядить окончательный вариант FileBrowser???
а за работу спасибо...
з.ы. можно примерный эскиз как примерно будет выглядить окончательный вариант FileBrowser???
s1n
FileBrowser это компонент, а не законченная вещь навроде OpenDialog. На основе его можно сделать OpenDialog, SaveDialog, применить для построения файлового менеджера. Компонент обрабатывает события перерисовки, мышки и клавиатуры.
В текущем виде это прямоугольник (как на скришоте) со списком файлов и иконками. Практически все размеры регулируются, кроме разве размеров шрифта, но когда будет закончена Font_Lib от <Lrz>, со временем прикручу, так что шрифты тоже будут меняться.
Пока вид только такой как на скришоте (один столбец файлов), со временем можно сделать отображение в несколько столбцов (как в стандартных Виндовс и Линукс диалогах открытия и сохранения). Много опционально и многое настравиваемо:
Вот текущий блок данных:
;---------------------------------------------------------------------
и т.д.
FileBrowser это компонент, а не законченная вещь навроде OpenDialog. На основе его можно сделать OpenDialog, SaveDialog, применить для построения файлового менеджера. Компонент обрабатывает события перерисовки, мышки и клавиатуры.
В текущем виде это прямоугольник (как на скришоте) со списком файлов и иконками. Практически все размеры регулируются, кроме разве размеров шрифта, но когда будет закончена Font_Lib от <Lrz>, со временем прикручу, так что шрифты тоже будут меняться.
Пока вид только такой как на скришоте (один столбец файлов), со временем можно сделать отображение в несколько столбцов (как в стандартных Виндовс и Линукс диалогах открытия и сохранения). Много опционально и многое настравиваемо:
Вот текущий блок данных:
Code: Select all
macro use_file_browser
{
file_browser:
fb_type equ dword [edi] ;dword
fb_size_x equ [edi+4] ;word
fb_start_x equ [edi+6] ;word
fb_size_y equ [edi+8] ;word
fb_start_y equ [edi+10] ;word
fb_icon_size_y equ word [edi+12] ;word
fb_icon_size_x equ word [edi+14] ;word
fb_line_size_x equ word [edi+16] ;word
fb_line_size_y equ word [edi+18] ;word
fb_type_size_x equ word [edi+20] ;word
fb_size_size_x equ word [edi+22] ;word
fb_date_size_x equ word [edi+24] ;word
fb_attributes_size_x equ word [edi+26] ;word
fb_icon_assoc_area equ dword [edi+28] ;dword
fb_icon_raw_area equ dword [edi+32] ;dword
fb_resolution_raw equ dword [edi+36] ;dword
fb_palette_raw equ dword [edi+40] ;dword
fb_directory_path_area equ dword [edi+44] ;dword
fb_file_name_area equ dword [edi+48] ;dword
fb_select_flag equ dword [edi+52] ;dword
fb_background_color equ dword [edi+56] ;dword
fb_select_color equ dword [edi+60] ;dword
fb_seclect_text_color equ dword [edi+64] ;dword
fb_text_color equ dword [edi+68] ;dword
fb_reduct_text_color equ dword [edi+72] ;dword
fb_marked_text_color equ dword [edi+76] ;dword
fb_max_panel_line equ dword [edi+80] ;dword
fb_select_panel_counter equ dword [edi+84] ;dword
fb_folder_block equ dword [edi+88] ;dword
fb_start_draw_line equ dword [edi+92] ;dword
fb_start_draw_cursor_line equ word [edi+96] ;word
fb_folder_data equ dword [edi+98] ;dword
fb_temp_counter equ dword [edi+102] ;dword
fb_file_name_length equ dword [edi+106] ;dword
fb_marked_file equ dword [edi+110] ;dword
fb_extension_size equ dword [edi+114] ;dword
fb_extension_start equ dword [edi+118] ;dword
fb_type_table equ dword [edi+122] ;dword
fb_ini_file_start equ dword [edi+126] ;dword
fb_ini_file_end equ dword [edi+130] ;dword
fb_draw_scroll_bar equ dword [edi+134] ;dword
fb_font_size equ word [edi+138] ;dword
fb_mouse_keys equ dword [edi+140] ;dword
fb_mouse_keys_old equ dword [edi+144] ;dword
fb_mouse_pos equ dword [edi+148] ;dword
fb_mouse_keys_delta equ dword [edi+152] ;dword
fb_mouse_key_delay equ dword [edi+156] ;dword
fb_mouse_keys_tick equ dword [edi+160] ;dword
fb_start_draw_cursor_line_2 equ word [edi+164] ;dword
fb_all_redraw equ dword [edi+166] ;dword
fb_selected_BDVK_adress equ dword [edi+170] ;dword
fb_key_action equ dword [edi+174] ;dword
и т.д.
В опен и сейв диалогах может пригодиться такая функциональность файл-браузера, как отображение определенного списка расширений, т.е файлов только с этими расширениями. Например графическому просмотрщику и редактору совершенно неинтересны, например, исполнимые файлы. Также этот список может меняться во время работы компонента - во многих вендовых прогах есть отдельный селект со списком поддерживаемых форматов (на самом деле это очень удобно в случаях когда прога поддерживает кучу форматов, и куча же файлов разных форматов в папке лежит. но это уже оффтоп наверное).
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Mario
понятно все.. а скроллинг есть??
з.ы. фильтр по имени и правда очень полезная штука..
понятно все.. а скроллинг есть??
з.ы. фильтр по имени и правда очень полезная штука..
s1n: "а скроллинг есть??"
- судя по строчке
"fb_draw_scroll_bar equ dword [edi+134] ;dword"
либо есть, либо планируется
- судя по строчке
"fb_draw_scroll_bar equ dword [edi+134] ;dword"
либо есть, либо планируется
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Мде... чувствуется мало кто, кроме меня и Алексея, понял идеологию BoxLib.
Gluk
Задача FileBrowser как компонента - отображать информацию полученную в формате функции 70.1, с какого по какой слот, каким шрифтом, какими размерами, а уж что в ней будет не его забота - это забота дополнительного кода, подать то что нужно. Это задача макроса, через который будет реализован OpenDialog, или просто файла подключаемого через include 'xxxxx'. Также как подготовить область с иконками, загружать выбираемые папки через функцию 70.1, выделять и освобождать память, запихивать в блок данных нужные параметры.
Однако согласен функциональность полезная и реализовать предстоит еще дохрена и больше.
s1n
З.Ы. Мы похоже говорим о разных вещах немножко: я о про "белки", "жиры", "углеводы", а вы мне - "а вот курятина питательней салата". Кто бы спорил, но курицу то сначала надо: вырастить, зарезать, ощипать, разделать, термически обработать и приправить вкусовыми добавками вроде соли и специй.
Gluk
Задача FileBrowser как компонента - отображать информацию полученную в формате функции 70.1, с какого по какой слот, каким шрифтом, какими размерами, а уж что в ней будет не его забота - это забота дополнительного кода, подать то что нужно. Это задача макроса, через который будет реализован OpenDialog, или просто файла подключаемого через include 'xxxxx'. Также как подготовить область с иконками, загружать выбираемые папки через функцию 70.1, выделять и освобождать память, запихивать в блок данных нужные параметры.
Однако согласен функциональность полезная и реализовать предстоит еще дохрена и больше.
s1n
Есть возможность отобразить с определенного слота БДВК по определенный слот БДВК, структуру данных полученную в формате функции 70.1, а выводить скроллбар или не выводить решает дополнительный код который будет связывать между собой компонеты FileBrowser и ScrollBar и который находится за пределами библиотеки BoxLib.а скроллинг есть??
З.Ы. Мы похоже говорим о разных вещах немножко: я о про "белки", "жиры", "углеводы", а вы мне - "а вот курятина питательней салата". Кто бы спорил, но курицу то сначала надо: вырастить, зарезать, ощипать, разделать, термически обработать и приправить вкусовыми добавками вроде соли и специй.
Who is online
Users browsing this forum: No registered users and 5 guests