А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Завершение работы над вкладочной лентой главного окна

 

Сегодня у меня прямо был день ударника какой-то. Довольно продуктивный день с девяти утра и до девяти вечера. Давно так уже не работал. Ведь я задался целью доделать эту вкладочную ленту окна и не растягивать эту работу ещё на один день. И вот, как видно на скриншотах, лента вкладок полностью готова, скомпонована. И скомпонована гораздо лучше, чем в прошлой версии программы. Ну так в этом же смысл глобального рефакторинга. Делать с каждым разом всё лучше и лучше, до тех пор, пока результат тебя окончательно не устроит. Так вот, результат (пока) меня окончательно устраивает. Но не могу сказать, что будет через пару месяцев. За пеленой грядущих дней не могу ни зги я разглядеть. Так что вот так. Ну а лента получилась славная. Несмотря на то, что команд окна по сравнению с предыдущим проектом прибавилось, мне удалось скомпоновать элементы управления довольно компактно. Вот что значит, когда действительно всё хорошо продумываешь...

0 + 0 -

Вёрстка вкладок ленты главного окна

 

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

Новость отредактировал: alexeypalagin - 27-11-2024, 19:53
Причина: Внесено дополнение к посту

0 + 0 -

Вёрстка ленты вкладок

 

Итак, началась работа по наполнению интерфейса главного окна. Уже в который раз. Но зато от раза к разу всё лучше. Как говориться, нет предела совершенству. К нему можно лишь стремиться, но по-настоящему его достичь невозможно. Ну а начал я сегодня с расстановки компонентов на статусной строку. Тут ничего нового не появилось. Всё как и в предыдущем проекте. Иконку с надписью о текущем основном состоянии программы, хлебные крошки к выбранному объекту базы данных справа и список выбора объекта базы данных исходя из выбранного контекста по пути к текущему объекту базы данных...

0 + 0 -

Начало вёрстки главного окна программы

 

Ну вот, наконец-то (снова) что-то прорисовывается. Вид главного окна. Снова начал работать над вёрсткой главного окна. Но с утра я работал не над этим. С утра я занимался рефакторингом и оптимизацией архитектуры C#-классов программы. Снова. Снова решил попробовать по-иному. Только бы это не привело к косякам в будущем. Но я думаю, что не приведёт. Потому что тесты SQLite прошли успешно. А что я поменял конкретно, так это объектную структуру в C#-классов параметров объектов базы данных SQLite. Произвел логическое разделение по контекстам. До этого у меня там всё было свалено в кучу в классах объектов БД. 

Так что теперь я тут навёл порядок. Все свойства объектов БД сложены в классах этих свойств, все мета-данные я поместил в классы для мета-данных. Ну и все прочие контексты параметров таблиц и отображения таблиц логически теперь разделены по своим ветвям. Да, в том числе и параметры для визуального отображения таблиц и столбцов - теперь они находятся в своих классах...

0 + 0 -

Добавление констант локализаций и перенос контролов

 

Скучнейшая и рутинная работа. Даже писать посты об этом смысла особого не было. Все эти два дня я делал почти только то, что переносил локализационные константы из старой версии проекта в новый. Почти два дня. Перенёс сотни констант с записями. И ещё их там много сотен. Если не тысячи. Но не всё сразу. А только то, что нужно в данный момент. Так что вот так. Вот, на скриншоте константы локализации для модели-представления главного окна. Они будут привязаны к контролу вкладочной ленты окна. Константа названа теми же именами, что и команды этой модели. То есть главные функции программы. Теперь путаницы не будет, как раньше. Имя команды и к нему одноименная локализация. Нужно было так давно сделать. Но увы, всё приходит лишь с годами...

0 + 0 -

Озеро спокойствия

 

Ну вот, после продолжительного перерыва у меня наконец-то появилась свежая 3D видео-композиция. Озерная тема и тема природных пейзажей увлекла меня. Ведь меня и в правду тудя тянет. На красивые природные места. Жизнь в большом городе отягощает меня. Она мне приелась до самого "поперёк горла". И возможно я сделаю ещё одну вариацию этого видео с добавлением каких-нибудь дополнительных элементов. Ну а так смотреть на спокойное озеро с едва колышущимися камышами, травой и листьями деревьев - истинное удовольствие для души...

0 + 0 -

Реализация обработчиков событий модели-представления главного окна

 

Работа над главной моделью-представлением продолжается. Пока реализованы (перенесены из старого проекта) обработчики событий: открытия проекта, соединения с базой данных, выполнения запроса в базу данных, синхронизации объектов базы данных, разрыва соединения с базой данных, а также закрытия и удаления проекта. Пока что работа выполнялась вслепую. Без проверки работоспособности всего этого. Был копипаст из старого проекта в новый (на что уже потрачены годы) с некоторым рефакторингом. Так что сегодня не было ничего интересного. Но основа этой модели-представления уже есть. И далее уже можно переходить к вёрсте вкладок главного окна. Снова. И по новой. Так всё расставлено, как в прошлом проекте, уже не будет. Там будут существенные переделки. Так что здесь копипаст работу не ускорит...

0 + 0 -

Реализация диалоговых окон. В который раз

 

Понедельник - тяжёлый день подходит в концу. И он отметился приемлемой продуктивностью. Но не блестящей. Что же было сегодня реализовано? Или, что же было уже в который раз перенесено из старого проекта в новый? Да вот, все диалоговые окна, используемые в программе. Тут существенных изменений не произошло. Всё, что было в чистовике-черновике, перенесено сюда, в новый проект. Почти весь день на это ушел. Но всё же, чуть не забыл, кое-что и поменялось. Создан был новый контрол. Создан, а не скопирован из старого проекта. Но об этом чуть дальше...

0 + 0 -

Завершение работы над контролом пользовательского окна

 

Вот, наконец-то, кроме скриншотов C#-кода теперь есть что-то визуальное. Правда, пока только в зачаточном состоянии. Пустое, чистое окно. Снова. Только что закончил работу над контролом пользовательского окна. Но, точнее, контролов два. Второй расширяет первый. То есть это ленточное окно, расширяющее контрол обычного пользовательского окна. Уже который раз это переделываем. Уже со счёта сбился. Ну вот и очередной раз поспел. Снова продолжаю производить оптимизации и различные улучшения. И всё-же результат становится лучше. О стилях библиотеки контролов "Semi.Avalonia". Я в этот раз не стал их сильно исправлять. Исправил только базовые свойства. Некоторые, не все. И не стал на этот раз переопределять XAML-шаблоны контролов. Ладно, решил на это раз оставить скругления углов в контролах. Пусть, думаю. А в прошлый раз мне казалось, что не нужны эти скругления...

2 + 0 -

Работа над главным окном программы

 

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

2 + 0 -
  • Яндекс.Метрика