AIMP Forum

Разное => Предложения (архив) => Архив => Реализовано в AIMP v4.0 => Topic started by: Tarik on September 05, 2013, 13:55:50

Title: [Запланировано] Изменение размеров двух взаимосвязанных контейнеров одновременно
Post by: Tarik on September 05, 2013, 13:55:50
Предлагаю добавить новый тип элементов фона - сплиттер.

Что это и зачем нужно?
Например, есть у нас скин. Рядом расположены плейлист и вкладки плейлистов. Сейчас размеры контейнеров фиксированы, и, к примеру, немного увеличить ширину контейнера вкладок нельзя. Вот как раз для возможности изменения размеров двух контейнеров и предлагаю сделать сплиттер.

Еще яркий пример - окно проводника. Без сплиттера нельзя было бы изменить к примеру размер дерева папок слева.
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=41479.0;attach=37749)

Создается новый тип элемента фона на основе группы (SplitterContainer). Внутри - две группы (или контейнеры) с выравниванием Client, которые и будут в себе содержать другие любые элементы фона.
Тип (горизонтальный/вертикальный) я думаю, достаточно будет указывать через свойство Orientation к примеру (или как у вкладок - VerticalLayout: true/false).

По умолчанию размеры двух внутренних групп при создании делят пространство сплиттерконтейнера пополам, в дальнейшем все размеры можно откорректировать через свойства внутренних групп (SizeMinimal / SizeMaximal) или в зависимости от назначенных текстур в дочерних контейнерах.
В каждой группе (панели) действуют все те же правила по созданию и отображению элементов фона, как и везде (в т.ч. полное отключение панелей).

Сам же разделитель - так же можно сделать в виде свойства (напр., SplitterSkin).

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

Что в итоге это даст?
Можно будет создавать более динамичные скины с более дружелюбным интерфейсом, возможность подстроить размеры контейнеров под себя.
Title: Re: Сплиттер (изменение размеров двух взаимосвязанных контейнеров одновременно)
Post by: ZeoN7 on October 02, 2013, 16:04:58
Конечно ЗА!
Title: Re: Сплиттер (изменение размеров двух взаимосвязанных контейнеров одновременно)
Post by: Zhenya on April 20, 2014, 22:54:55
За (проголосовал уже давно).
Неохота плодить контейнеры для разных размеров панели вкладок и панели с обложкой альбома.

Плюс ещё и дублировать с каждой стороны все контейнеры нужно, для того чтобы, можно было менять местами панель вкладок и панель с обложкой альбома, - жуть.
Title: Re: Сплиттер (изменение размеров двух взаимосвязанных контейнеров одновременно)
Post by: Zigar on April 21, 2014, 00:43:58
За (проголосовал уже давно).
Аналогично.
Title: Re: Сплиттер (изменение размеров двух взаимосвязанных контейнеров одновременно)
Post by: ScrollUnLock on April 21, 2014, 14:35:34
Всеми руками за!
Title: Split pane element.
Post by: baram on May 18, 2014, 12:26:57
I suggest a split pane which is resizable by mouse.

The split pane is like this.

(https://www.aimp.ru/forum/index.php?action=dlattach;topic=44214.0;attach=39996)

I want to make my playlist like that.

(https://www.aimp.ru/forum/index.php?action=dlattach;topic=44214.0;attach=39997)