разные файлы в кадрах редактора
разные файлы в кадрах редактора
Поскольку при одновременном просмотре ярм и мршм у них общее (почти совпадающее) дерево и общий список ошибок компиляции, а один из них открыт только для чтения, всё же кажется правильным смотреть не в двух окнах редактора, а в двухкадровом режиме. Попробую покопать редактор. Хотя, конечно, с точки зрения спирального движения надо сначала делать как проще.
Re: разные файлы в кадрах редактора
Как ни странно, удалось подсунуть другой текст.
Теперь целая куча новых подзадач:
* ✓ команда ИСР.ПереоткройТекМршм - пытается открыть Мршм для текущего ярм/Mod. При этом (пока) открывается
новая вкладка с Мршм. В будущем такая вкладка должна быть либо недоступной, либо невидимой. И, видимо, должна сообщать,
если он не найден? - не сообщает
* ✓ Мршм должен открываться только на чтение
* ✓ починить работу клавиатуры в режиме "только чтение"
* ✓ синхронизированный просмотр
* переоткрытие МРШМ, когда он нужен.
Теперь целая куча новых подзадач:
* ✓ команда ИСР.ПереоткройТекМршм - пытается открыть Мршм для текущего ярм/Mod. При этом (пока) открывается
новая вкладка с Мршм. В будущем такая вкладка должна быть либо недоступной, либо невидимой. И, видимо, должна сообщать,
если он не найден? - не сообщает
* ✓ Мршм должен открываться только на чтение
* ✓ починить работу клавиатуры в режиме "только чтение"
* ✓ синхронизированный просмотр
* переоткрытие МРШМ, когда он нужен.
Последний раз редактировалось БудДен 10.01.22 22:26, всего редактировалось 1 раз.
Re: разные файлы в кадрах редактора
Синхронизированный просмотр на уровне прототипа заработал - при движении курсора в главном окне серый немигающий курсор движется во вспомогательном.
Re: разные файлы в кадрах редактора
Ну вот, лоханулся. Т.к. один мршм имеет исходниками несколько файлов, то дело никак не ограничится только двойным редактором... Хотя, конечно, можно все остальные файлы открывать какой-то кнопкой в отдельном окне, но тогда не будет синхронной навигации. В принципе можно считать, что это слишком жирно. Может быть, надо ввести понятие "окно номер 1" и "окно номер 2" и в явном виде начинать всегда с окна номер 1, а неосновные исходники открывать в окне номер 2. Тогда будет, по сути, 3 окна, два из которых - мршм и ярм - всегда жёстко связаны, а остальные - по надобности.
Re: разные файлы в кадрах редактора
В режиме прототипа сделал просмотр макрорасширенного и исходного кода вместе. Но как всё же уныло программировать на Обероне после лиспа... А ведь сам сегодня объяснял человеку, что язык системного программирования только таким многословным и может быть.
Re: разные файлы в кадрах редактора
Возникла не весьма приятная ситуация с ИСР - вроде невинные изменения, и сыпется куча ошибок.
Явно что-то пошло не так. Стал разбираться, как итог получился такой документ:
https://gitlab.com/budden/ja-o-s/-/blob ... тка-гпи.md
Т.е. стал ясен ландшафт, на котором нужно делать, а что делать? То неведомо. Главное, что это сложная и отдельная задача,
которая отвлекает от макросов. Но работать в ИСР, которая постоянно зависает - тоже не дело.
Явно что-то пошло не так. Стал разбираться, как итог получился такой документ:
https://gitlab.com/budden/ja-o-s/-/blob ... тка-гпи.md
Т.е. стал ясен ландшафт, на котором нужно делать, а что делать? То неведомо. Главное, что это сложная и отдельная задача,
которая отвлекает от макросов. Но работать в ИСР, которая постоянно зависает - тоже не дело.
Re: разные файлы в кадрах редактора
Сложно отладить, но похоже, сообщения клавиатуры не всплывают от компонента к его владельцам, а обрабатываются только в самом компоненте.
Re: разные файлы в кадрах редактора
С обработкой клавиатуры вроде разобрался (это было нелегко), теперь выясняю, почему зависает. Похоже, что текст кратковременно захватывается
при мигании курсора. Попробую выяснить это.
при мигании курсора. Попробую выяснить это.
Re: разные файлы в кадрах редактора
Прекрасно то, что блокировка объекта текст показывает, ради кого он заблокирован. Так легко удалось понять, что происходит спор между совершенно левым исполнителем команды и диспетчером сообщений формы ИСР. Я брал за образец команду "Открой", и теперь возникает уже почти уверенность, что команда неправильная. Неведомо кто оперирует над окном и формой, хотя и у окна, и у формы есть свои диспетчеры сообщений. Это ещё можно было бы понять для случая, когда окно только строится и соответственно некому строить себя самостоятельно. Но когда мы открываем новый документ в уже существующем окне, окно должно само управлять процессом. Т.е. возникает опять же, почти уверенность, что в ИСР есть серьёзные ошибки. Однако, поскольку оно работало, пока я не стал добавлять функционал, возможно, что проблема на моей стороне.
В общем, вроде я более-менее разобрался что к чему, однако с точки зрения решения поставленной задачи продвинулся не особо: похоже, что всё же придётся создавать какие-то механизмы скоординированной работы между внешним заказчиком, окном и формой, поскольку нужно, чтобы при попытке перейти к ошибке автоматически определялось бы, нужен ли мршм, при необходимости он подгружался бы и только после этого происходил переход на нужное место в мршм или в исходном модуле. Избавиться от этого как-то не выходит, хотя код команды Открой создавал иллюзию, что так можно.
В общем, вроде я более-менее разобрался что к чему, однако с точки зрения решения поставленной задачи продвинулся не особо: похоже, что всё же придётся создавать какие-то механизмы скоординированной работы между внешним заказчиком, окном и формой, поскольку нужно, чтобы при попытке перейти к ошибке автоматически определялось бы, нужен ли мршм, при необходимости он подгружался бы и только после этого происходил переход на нужное место в мршм или в исходном модуле. Избавиться от этого как-то не выходит, хотя код команды Открой создавал иллюзию, что так можно.
Re: разные файлы в кадрах редактора
В общем, я понял, что мне не нравится, как устроен UI в A2/ЯОС с точки зрения его внутреннего устройства. Наверное, сложность адекватна сложности задачи отрисовки UI, однако уровень документированности явно критично недостаточен. Определённый прогресс в направлении решения задачи есть, удалось пройти через одно сложное место, но пока что всё равно всё зависает на каждом шагу. Будем продолжать копать в этом направлении, и по ходу дела, видимо, придётся пополнять документацию о программировании ГПИ в ЯОС.
Re: разные файлы в кадрах редактора
Конкретно сейчас проблема, что зависает попытка компиляции макрорасширенного текста. Текст является общим между двумя видимыми окнами отрисовки, видимо, это было ошибкой с моей стороны. Попробую вернуться к варианту, где этот текст для нужд просмотра загружается отдельно.