Board.KolibriOS.org

Official KolibriOS board
It is currently Thu May 23, 2019 12:05 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 47 posts ]  Go to page Previous 1 2 3 4 Next
Author Message
PostPosted: Fri Jun 14, 2013 9:55 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Для тех, кому нужно, есть "окно без скина". Вообще, я буду рад, если это предложение будет реализовано, но настаивать не очень буду.


Top
   
PostPosted: Fri Jun 14, 2013 10:55 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
А я буду настаивать на появлении кнопок "Развернуть окно" и "Вернуть к обычному размеру".
Окно без скина - ужаснейший пережиток Менуэта. Выпилить его к чертям. Для тех, кому нужно окно без скина пусть просто определяют область и рисуют там что угодно.

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


Top
   
PostPosted: Fri Jun 14, 2013 11:58 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Вообще я это и имел в виду. Есть же определение окна без отрисовки, верно?


Top
   
PostPosted: Fri Jun 14, 2013 12:05 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Есть, но заголовком там всё равно рулит ядро. Что создаёт неприятные эффекты - запускаем FPlay, кликаем на кнопке в заголовке и двигаем мышь.


Top
   
PostPosted: Fri Jun 14, 2013 4:25 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Есть два замечания по поводу кнопок:
1) Если добавлять новые стандартные кнопки в скин, то думаю должна быть возможность при создании окна включать или выключать любые из них, в зависимости от того нужны они в данном окне или нет. Т. е. если какая либо кнопка не нужна то скин рисуется без нее.
2) Еще могу посоветовать добавить стандартную кнопку с вопросиком, по аналогии с виндосовским стилем WS_EX_CONTEXTHELP.


Top
   
PostPosted: Fri Jun 14, 2013 6:49 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Возможно, идея кнопки с вопросиком была инновационной, но, к сожалению, не прижилась. Если пользователя интересуют многие элементы интерфейса, ему придется метаться мышкой туда-сюда; вдобавок, подсказки по вопросику часто бывают слишком тривиальны. Но это не значит, что такое не приживется у нас, с другой стороны. Зависит от реализации.


Top
   
PostPosted: Fri Jun 14, 2013 8:06 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
По моему субъективному оценочному суждению кнопка "?" не нужна. Вешать на дерево табличку с надписью "дерево" не имеет большого смысла.
Насчет персонализации наличия кнопок для конкретного окна - такая вещь нужна и востребована.

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


Top
   
PostPosted: Fri Jun 14, 2013 8:17 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Собственно, было бы здорово, если бы окно:
1) Имело минимально допустимый размер (например, VLC нельзя свернуть сильнее, чем кнопки play+prev+next+громкость)
2) Имело максимально допустимый размер (не все программы могут работать на весь экран)
3) Имело бы в заголовке кнопку распахнуть/свернуть, если это действие возможно для окна (удобно же!)
4) Показывало бы в углу маленький неприметный треугольничек, если размер окна возможно изменять (не всегда ясно, можно ли растягивать окно)
5) При наведении мыши на рамку изменяло курсор мыши на стрелки растягивания - разумеется, в случае, если окно можно растягивать (еще одна наглядная демонстрация того, что размер окна можно изменить)

Наверное, я чего-то заоблачного сейчас от текущей оконной подсистемы прошу :D


Top
   
PostPosted: Fri Jun 14, 2013 8:26 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
1 и 2 реализуются на уровне приложения, абсолютно ничего сложного. Вот только блокировки флага разворота на весь экран для этого случая нет.
5 - я даже собирался делать (помнишь глобус украины курсор с круглыми часиками?), но мне помогли понять, что сей безблагодарный труд никаким почетом для меня пользоваться не будет и его забудут, как сотни других мелких улучшений (кто теперь вспомнит моргавший курсор и вылезающие на передний план иконки?). Все безвозвратно сгорает в ядерной топке ракетного двигателя проекта.

З.Ы. Более того - вот сделаю я автомонтирование дополнительного раздела по файлу-метке, так через пару месяцев тоже никто не вспомнит такую мелочь - такие вещи воспринимаются само собой разумеющимися и не достойными внимания.

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


Last edited by Mario_r4 on Fri Jun 14, 2013 8:30 pm, edited 1 time in total.

Top
   
PostPosted: Fri Jun 14, 2013 8:29 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Собственно, пункт 4 тоже реализуется на уровне приложения.
Насчет пункта 5 - если у тебя вдруг снова возникнет такое желание, то это по крайней мере меня очень обрадует.


Top
   
PostPosted: Fri Jun 14, 2013 9:09 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Для пункта 5 уже есть готовые курсоры. Я их лично рисовал, никаких проблем с копирайтом.
И все 5 пунктов реализуются на уровне приложения, хотя курсорный код ядра нуждается в некоторой чистке и модификации.


Last edited by Serge on Fri Jun 14, 2013 9:14 pm, edited 2 times in total.

Top
   
PostPosted: Fri Jun 14, 2013 9:11 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Супер, ребята, вы молодцы. Курсоры мне очень понравились еще в fplay!


Top
   
PostPosted: Sat Jun 15, 2013 10:50 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
1) реализовывать на уровне приложения лишний код и костыли по большому счёту. Это должно быть в параметрах окна.

Опен сорс вообще вещь неблагодарная и если кто-то пришёл сюда за славой и памятью в веках, то он наверно пришёл не по адресу.

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


Top
   
PostPosted: Sat Jun 15, 2013 11:27 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Leency
Это в ядре как раз лишний код с кнопками и заголовками. Ядру достаточно области отрисовки контролировать и события в правильном порядке раздавать.


Top
   
PostPosted: Sat Jun 15, 2013 2:07 pm 
Offline
KSoC/GSoC Student

Joined: Wed Jul 11, 2012 3:17 am
Posts: 224
Leency wrote:
Окно без скина - ужаснейший пережиток Менуэта. Выпилить его к чертям.

окно без скина позволяет аботаль с полнооконными приложениями как в видеоиграх проще чем окно со скином, учитывая бордюр и прочее. Собственно да это пережиток, и выкинуть его можно)

Соглашусь с serge
Quote:
Это в ядре как раз лишний код с кнопками и заголовками. Ядру достаточно области отрисовки контролировать и события в правильном порядке раздавать.

вынести работу по окнам в библиотеку, библиотеке тоже ни что не помешает подгружать скин и отрисовывать, но смущает вопрос о производительности такой отрисовки...

Ну а пока спрошу сам, являются ли в текущем положении актуальными такие параметры как:
Code:
WINDOW_CAPTION   - Фон полосы заголовка.
WINDOW_INACTCAPTION    - Фон полосы заголовка при неактивном окне.

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

Пока текущая таблица системных цветов такая, сейчас работаю над описаниями каждого контрола и каждого значения из таблицы, чтобы это не вызывало сомнений, поэтому собственно если у кого есть вопросы о необходимости я отвечу, но кратко.
Spoiler: Show
Code:
1   WINDOW_FACE   Фон активного окна.
2   WINDOW_INACTFACE   Фон неактивного окна.
3   WINDOW_FRAME   Цвет рамки активного окна.
4   WINDOW_INACTFRAME   Цвет рамки неактивного окна.
5   WINDOW_CAPTION   Фон полосы заголовка.
6   WINDOW_INACTCAPTION   Фон полосы заголовка при неактивном окне.
7   WINDOW_TITLE   Цвет текста полосы заголовка.
8   WINDOW_TEXT   Цвет текста в рабочей области окна.
9   WINDOW_APPWORKSPACE   Фон панелей и дочерних окон приложения.
10   WINDOW_GRAYTEXT   Цвет неактивного текста.
11   BTN_FACE   Фон выпуклого элемента (кнопки).
12   BTN_INACTFACE   Фон неактивного выпуклого элемента.
13   BTN_FOCUSFACE   Фон выпуклого элемента при наведении.
14   BTN_FRAME   Цвет рамки кнопки.
15   BTN_INACTFRAME   Цвет рамки неактивной кнопки.
16   BTN_FOCUSFRAME   Цвет рамки кнопки при наведении.
17   BTN_TEXT   Цвет текста кнопки.
18   BTN_INACTTEXT   Цвет текста неактивной кнопки.
19   BTN_FOCUSTEXT   Цвет текста кнопки при наведении.
20   3D_FACE   Полоса просмотра.
21   3D_DARK   Теневая обводка 3D.
22   3D_LIGHT   Световая обводка 3D.
23   ELEMENT_FACE   Фон input элементов (edit, listbox).
24   ELEMENT_INACTFACE   Фон неактивных input элементов.
25   ELEMENT_FRAME   Цвет рамки input элементов.
26   ELEMENT_INACTFRAME   Цвет рамки неактивных input элементов
27   ELEMENT_VOLUME   Цвет выделения и заполнения.
28   ELEMENT_TEXT   Цвет текста input элементов.
29   ELEMENT_INACTTEXT   Цвет текста неактивных input элементов.
30   ELEMENT_SHADOW   Цвет тени для неактивных input элементов.
31   RESERVED   Зарезервировано.
32   RESERVED   Зарезервировано.

Элементы к которым будет описание в спецификации с визуальным отображением.
Spoiler: Show
Code:
Window
ChildWindow (??? возможно и будет)
Edit
CheckBox
ListBox
ComboBox
ProgressBar
PopupMenu
Label
Panel
Button
TreeViewer
TabSet
TrackBar
ScrollBar
StatusBar
Hint


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 47 posts ]  Go to page Previous 1 2 3 4 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 3 guests


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