Возня с диаграммами и снова проблемы прОклятым контролом - ListEditor
Как я надеялся, большой возни с контролом для отображения диаграмм не будет. Реализую окно для настроек диаграмм и на этом с ними будут окончено. Конечно, с окном настроек пришлось немного повозиться. И тут у меня снова большую часть времени заняла работа рутина по переносу языковых локализаций из старой версии программы в новую. Всё спешил перенести эти локализации, чтобы поскорее проверить, как работает редактирование данных по диаграммам в контроле ContentBox. Было предчувствие, что тут я столкнусь с какими-то косяками. И предчувствие меня не обмануло: с косяками в контроле диаграмм я действительно столкнулся. Так что вот так. Сразу три косяка там было. Один пустяшный, дизайнерский. С ним я легко справился. Два других - с ними было сложнее.
Видите на верхнем скриншоте диаграмму, которая разделена на 3 поддиаграммы. Ну так вот, такой фигни не должно было быть. И я далеко не сразу разобрался что тут к чему. И причина была там, где я по началу и не мог предположить. Но понятно всё-же стало. Что это дело в механизме кэширования моделей-представлений окон, который сохранял ненужный кэш. В частности этих параметров диаграмм. Который их плодил при каждом открытии окна с настройками диаграмм, где каждый раз создавалась из-за этого поддиаграмма. Во как. Что ж, эта проблема была устранена.
И третья проблема - ListEditor. Да, снова он. Поправлять какие-либо вновь и вновь возникающие косяки в этом контроле я так задолбался, что я теперь называю этот контрол прОклятым контролом, с ударением на О. Вот такие пироги. Там не срабатывало обновление состояние при загрузке данных, в результате чего открытие диалогового окна, содержащего этот контрол, при наличии данных, переданных в этот контрол, приводило к тому, что никакие данные в контроле не отображались. Мне пришлось внутри ListEditor делать обновление данных по таймеру. Да, снова чертова задержка выполнения какого-то кода! Я не любитель таймеров, так как она создают дополнительную нагрузку при работе программы. Я стараюсь от них избавляться. Но тут пришлось добавить, к моему немалому негодованию. Так что вот такие несладкие пироги.
Ну и вот, что в результате получилось. С диаграммами я наконец закончил. И уже пора переходить к оформлению компоновки главного окна. Для этого послужит недавно созданный контрол компоновки. Ну а старый, навороченный (с ненужной навороченностью) контрол компоновки будет пока лежать в старой версии программы. Вдруг, в будущем, понадобиться. А пока будет всё по более простому. Но и зато по более надежному. Так что вот так.
Ну и на этом я бы хотел окончить сей пятничный день. Так что теперь уже как обычно, до новых постов и до новых свершений.


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