Завершение реализации механизма стыковки макета
Работа над макетом продолжается. Уже который день. Или уже надо говорить уже какую неделю. Если мне не изменяет память, то уже где-то третья неделя пошла. Правда, много дней у меня из этих недель были зависания, так что не все эти дни сплошь были в работе. Ну а что я сегодня завершил в этом макете - так это реализацию механизма стыковки. Тут всё сносно работает. Вкладки можно сортировать, панели можно перетаскивать и стыковать, панели можно сортировать, группировать и разгруппировать. И панели можно ещё открывать в отдельных окошках (сегодня этот функционал я так же поправил и дополнил, то есть в окнах можно было открывать только панели, а теперь ещё и целые группы с панелями). Добавил функциональности к самим панелям. Вот, в контекстных меню стало больше пунктов. Добавил туда команды с сохраняемыми настройками. И теперь всё выглядит и работает круто. Не идеально, конечно. В некоторых случаях встречаются и косяки, но не столь критичные.
Как же я утомился делать этот весьма непростой контрол. Но вот что в итоге вышло. А что-то вышло. На первых этапах я иногда бывало впадал в отчаяние, мол, скорее всего, ничего не получится. Но напряг извилин сделал дело и результат перед глазами.
Да, группировать и расставлять панели теперь можно как угодно. Тут ограничений таких нет, как в моей черновой версии программы. Там всё было довольно скудно на функционал. Перетаскивать панели можно было лишь только по горизонтали либо по вертикали. А здесь можно с четырех сторон любую панель пристыковать к любой другой панели. При этом, если сторона стыковки не совпадает с ориентацией панели в группе, то создается новая группа с данной ориентацией и панель вместе с опорной панелью перемещаются в новую группу. Во как. И выглядит все довольно неплохо, по-современному. И без этих раздражающих и съедающих место на клиентской области окна промежутки между панелями, как было в этой готовой версии для авалонии "Dock.Avalonia". Так что вот так. Но, увы, работа пока не закончена. Меня ещё ожидает работа над реализацией механизма сериализации настроек панелей макета с возможностью восстановления вида макета из ранее сохраненных настроек. Надо ожидать, что это тоже непростая работа. Но мне осталось сделать лишь один рывок к финишу завершения этой нескончаемой работы над самым пожалуй сложным контролом программы. Так что вот так.
Ну и вот, на этом я заканчиваю работу сего дня и перехожу к другим делам. Когда ничто тебя не отвлекает, то можно что-то сделать. Ну и на этом у меня пока всё. И как всегда, до новых постов, до новых свершений.


Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.