Board.KolibriOS.org
http://board.kolibrios.org/

Кнопки "Развернуть окно" и "Вернуть к обычному размеру"
http://board.kolibrios.org/viewtopic.php?f=26&t=2331
Page 2 of 4

Author:  SoUrcerer [ Fri Jun 14, 2013 9:55 am ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

Для тех, кому нужно, есть "окно без скина". Вообще, я буду рад, если это предложение будет реализовано, но настаивать не очень буду.

Author:  Leency [ Fri Jun 14, 2013 10:55 am ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

А я буду настаивать на появлении кнопок "Развернуть окно" и "Вернуть к обычному размеру".
Окно без скина - ужаснейший пережиток Менуэта. Выпилить его к чертям. Для тех, кому нужно окно без скина пусть просто определяют область и рисуют там что угодно.

Author:  SoUrcerer [ Fri Jun 14, 2013 11:58 am ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

Вообще я это и имел в виду. Есть же определение окна без отрисовки, верно?

Author:  Serge [ Fri Jun 14, 2013 12:05 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

Есть, но заголовком там всё равно рулит ядро. Что создаёт неприятные эффекты - запускаем FPlay, кликаем на кнопке в заголовке и двигаем мышь.

Author:  IgorA [ Fri Jun 14, 2013 4:25 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

Есть два замечания по поводу кнопок:
1) Если добавлять новые стандартные кнопки в скин, то думаю должна быть возможность при создании окна включать или выключать любые из них, в зависимости от того нужны они в данном окне или нет. Т. е. если какая либо кнопка не нужна то скин рисуется без нее.
2) Еще могу посоветовать добавить стандартную кнопку с вопросиком, по аналогии с виндосовским стилем WS_EX_CONTEXTHELP.

Author:  SoUrcerer [ Fri Jun 14, 2013 6:49 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

Возможно, идея кнопки с вопросиком была инновационной, но, к сожалению, не прижилась. Если пользователя интересуют многие элементы интерфейса, ему придется метаться мышкой туда-сюда; вдобавок, подсказки по вопросику часто бывают слишком тривиальны. Но это не значит, что такое не приживется у нас, с другой стороны. Зависит от реализации.

Author:  Mario_r4 [ Fri Jun 14, 2013 8:06 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

По моему субъективному оценочному суждению кнопка "?" не нужна. Вешать на дерево табличку с надписью "дерево" не имеет большого смысла.
Насчет персонализации наличия кнопок для конкретного окна - такая вещь нужна и востребована.

Author:  SoUrcerer [ Fri Jun 14, 2013 8:17 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

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

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

Author:  Mario_r4 [ Fri Jun 14, 2013 8:26 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

1 и 2 реализуются на уровне приложения, абсолютно ничего сложного. Вот только блокировки флага разворота на весь экран для этого случая нет.
5 - я даже собирался делать (помнишь глобус украины курсор с круглыми часиками?), но мне помогли понять, что сей безблагодарный труд никаким почетом для меня пользоваться не будет и его забудут, как сотни других мелких улучшений (кто теперь вспомнит моргавший курсор и вылезающие на передний план иконки?). Все безвозвратно сгорает в ядерной топке ракетного двигателя проекта.

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

Author:  SoUrcerer [ Fri Jun 14, 2013 8:29 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

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

Author:  Serge [ Fri Jun 14, 2013 9:09 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

Для пункта 5 уже есть готовые курсоры. Я их лично рисовал, никаких проблем с копирайтом.
И все 5 пунктов реализуются на уровне приложения, хотя курсорный код ядра нуждается в некоторой чистке и модификации.

Author:  SoUrcerer [ Fri Jun 14, 2013 9:11 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

Супер, ребята, вы молодцы. Курсоры мне очень понравились еще в fplay!

Author:  Leency [ Sat Jun 15, 2013 10:50 am ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

1) реализовывать на уровне приложения лишний код и костыли по большому счёту. Это должно быть в параметрах окна.

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

Author:  Serge [ Sat Jun 15, 2013 11:27 am ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

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

Author:  Akyltist [ Sat Jun 15, 2013 2:07 pm ]
Post subject:  Re: Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

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

Page 2 of 4 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/