OberonCore https://forum.oberoncore.ru/ |
|
i21sysDesktop - сохранялка конфигурации окон https://forum.oberoncore.ru/viewtopic.php?f=90&t=2791 |
Страница 2 из 3 |
Автор: | Иван Кузьмицкий [ Пятница, 19 Ноябрь, 2010 13:37 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
У меня тоже всегда выход с сохранением. Лучше выход "без сохранения" был бы отдельной операцией, а сохранение нужно всегда, почти. |
Автор: | Info21 [ Пятница, 19 Ноябрь, 2010 14:49 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
Коллеги, выражайтесь яснее. Предложение поменять умолчания в базовой версии -- или что? (Думаете, я помню, что там?) |
Автор: | Иван Кузьмицкий [ Пятница, 19 Ноябрь, 2010 14:58 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
Закрыть ББ так, чтобы сохранялка сработала всегда, невозможно, насколько я знаю. Поэтому приходится закрывать через меню. |
Автор: | Евгений Темиргалеев [ Пятница, 19 Ноябрь, 2010 16:45 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
Info21 писал(а): Коллеги, выражайтесь яснее. Предложение поменять умолчания в базовой версии -- или что? (Думаете, я помню, что там?) Иван Кузьмицкий писал(а): Закрыть ББ так, чтобы сохранялка сработала всегда, невозможно, насколько я знаю. Поэтому приходится закрывать через меню. я предложил к рассмотрению вопрос об изменении наоборот текущего поведения. В меню поставить пункт "Выйти без сохранения десктопа" в дополнение к просто "Выйти (с сохранением)". Последнее, чтобы срабатывало всегда (по кресту, Alt+F4,...), нужно вделывать в хост.
|
Автор: | Иван Денисов [ Пятница, 19 Ноябрь, 2010 20:40 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
А куда надо в делывать в хост не подскажите с налету? Тоже мечтаю о таком функционале |
Автор: | Александр Ильин [ Пятница, 19 Ноябрь, 2010 20:53 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
Я тоже думал вделывать в хост, а сейчас вот подумал, что можно сохранять десктоп просто при выгрузке модуля Config. Всё равно этот модуль больше нигде не используется при разработке, а значит, выгружается только при выходе из ББ. Чтобы НЕ сохранять конфигурацию, можно просто в модуле Desktop предусмотреть глобальный флаг AutoSave (по умолчанию = TRUE), который и сбрасывать из специального пункта меню перед выходом без сохранения. Я гений. |
Автор: | Иван Денисов [ Пятница, 19 Ноябрь, 2010 21:42 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
Проверил, так получается вроде, что он выгружается, когда все окна уже закрылись, такую конфигурацию и сохраняет. |
Автор: | Александр Ильин [ Пятница, 19 Ноябрь, 2010 21:57 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
divan писал(а): Проверил, так получается вроде, что он выгружается, когда все окна уже закрылись, такую конфигурацию и сохраняет. Значит, я не гений.
|
Автор: | Евгений Темиргалеев [ Суббота, 20 Ноябрь, 2010 06:38 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
divan писал(а): А куда надо в делывать в хост не подскажите с налету? Тоже мечтаю о таком функционале Правки для сохранения всегда при старом десктопе: viewtopic.php?p=50772#p50772. На их базе, думаю, сделаете. Старый --- до варианта viewtopic.php?p=52717#p52717.
|
Автор: | Info21 [ Суббота, 20 Ноябрь, 2010 09:59 ] |
Заголовок сообщения: | Re: Сохранялка конфигурации окон i21sysDesktop |
Я просто посадил выход с сохранением на Ctrl+Shift+W. На фиг хост. Не нравится мне это. |
Автор: | Евгений Темиргалеев [ Понедельник, 25 Июль, 2011 22:22 ] |
Заголовок сообщения: | Re: i21sysDesktop - охранялка конфигурации окон |
У меня появилась проблема: использование одного и того же (файла) десктопа (синхронизируется) на машинах с разным разрешением экрана (использовать одинаковое не возможно физически). Вкупе с отделившейся веткой про выравнивание окон по левой/правой границе появилась идея: добавить к окну статус "выровнено по левому | правому краю", который будет храниться в десктопе. При восстановлении окна с таким статусом будут позиционироваться и принимать высоту согласно размеру главного окна (которое обычно развёрнуто и соответствует размеру экрана). Этот костыль будет хотя бы по минимуму имитировать размещение окон в ОС Оберон. |
Автор: | Info21 [ Вторник, 26 Июль, 2011 05:13 ] |
Заголовок сообщения: | Re: i21sysDesktop - охранялка конфигурации окон |
Евгений Темиргалеев писал(а): У меня появилась проблема: использование одного и того же (файла) десктопа (синхронизируется) на машинах с разным разрешением экрана (использовать одинаковое не возможно физически). ... Да, есть такая проблема. И указанное решение -- наиболее естественое. Может, подпилите Desktop и пришлете мне? |
Автор: | Евгений Темиргалеев [ Среда, 16 Май, 2012 11:56 ] |
Заголовок сообщения: | Re: i21sysDesktop - сохранялка конфигурации окон |
Код: PROCEDURE ReadConverter ( VAR rd: Stores.Reader; OUT conv: Converters.Converter ); Енто дело плодит конвертеры, поскольку Register добавляет новый в конец списка буквально --- создаёт новый и добавляет. Поэтому тут проверять --- не повредит:VAR imp, exp: Dialog.String; ... c: Converters.Converter; BEGIN ... rd.ReadSet( opts ); ---> Converters.Register( imp, exp, storeType, fileType, opts ); c := Converters.list; WHILE ( c # NIL ) & ~( ( c.imp = imp ) & ( c.exp = exp ) & ( c.storeType = storeType ) & ( c.fileType = fileType ) & ( c.opts = opts ) ) DO c := c.next END; conv := c END ReadConverter; Код: PROCEDURE ReadConverter ( VAR rd: Stores.Reader; OUT conv: Converters.Converter );
VAR imp, exp: Dialog.String; ... c: Converters.Converter; BEGIN ... rd.ReadSet( opts ); c := Converters.list; WHILE ( c # NIL ) & ~( ( c.imp = imp ) & ( c.exp = exp ) & ( c.storeType = storeType ) & ( c.fileType = fileType ) & ( c.opts = opts ) ) DO c := c.next END; IF c = NIL THEN Converters.Register( imp, exp, storeType, fileType, opts ); c := Converters.list; WHILE ( c # NIL ) & ~( ( c.imp = imp ) & ( c.exp = exp ) & ( c.storeType = storeType ) & ( c.fileType = fileType ) & ( c.opts = opts ) ) DO c := c.next END END; conv := c END ReadConverter; |
Автор: | Александр Ильин [ Среда, 16 Май, 2012 13:41 ] |
Заголовок сообщения: | Re: i21sysDesktop - сохранялка конфигурации окон |
Вам явно нужна функция FindConverter. |
Автор: | Info21 [ Среда, 16 Май, 2012 14:42 ] |
Заголовок сообщения: | Re: i21sysDesktop - сохранялка конфигурации окон |
Сложновато на первый взгляд... |
Автор: | Евгений Темиргалеев [ Понедельник, 04 Март, 2013 19:51 ] |
Заголовок сообщения: | Re: i21sysDesktop - сохранялка конфигурации окон |
Интересно, можно ли сделать конвертер для файла десктопа? В том смысле, что его действие будет не совсем вписываться в логику Converters.Converter и могут быть подводные камни... А то можно получить: 1) Загрузка заданного десктопа при пуске: ./BlackBox.exe xxx.i21 2) Отказаться от спец. команд "сохранить декстоп" и пр. |
Автор: | Пётр Кушнир [ Понедельник, 04 Март, 2013 20:13 ] |
Заголовок сообщения: | Re: i21sysDesktop - сохранялка конфигурации окон |
Механизм интернализации вроде как должен возвращать ненулевое отображение, иначе будет постоянно возникать сообщение об ошибке. А при экстернализации тоже свои особенности нельзя просто взять и сохранить сущность, которая не является отображением, и не инкапсулирована в него. Всё равно что в форме открыть какой-то свой "проект" для редактирования (обычная форма, с интеракторами и гридом, например), а потом попытаться сохранить её стандартными средствами. Хотя, если для десктопа будет постоянно открыто родное "отображение", например, в виде маленькой иконки в окне (а окно будет мешать, вероятно), то сохранение/загрузка этой иконки в принципе может инициировать и остальные операции по загрузке десктопа. Получается, вроде как, якорь десктопа. |
Автор: | Евгений Темиргалеев [ Пятница, 05 Сентябрь, 2014 22:13 ] |
Заголовок сообщения: | Re: i21sysDesktop - сохранялка конфигурации окон |
Товарищи, проверьте: 1) Открыть любой кодовый файл 2) Сохранить десктоп 3) Открыть десктоп Возникает ли при загрузке трап? |
Автор: | Евгений Темиргалеев [ Вторник, 07 Октябрь, 2014 14:35 ] |
Заголовок сообщения: | Re: i21sysDesktop - сохранялка конфигурации окон |
Причина: viewtopic.php?t=2853 |
Автор: | Евгений Темиргалеев [ Вторник, 25 Октябрь, 2016 18:13 ] |
Заголовок сообщения: | Re: i21sysDesktop - сохранялка конфигурации окон |
Код: PROCEDURE Close*;
... BEGIN IF Unsaved() # NIL THEN Dialog.ShowMsg('#i21sys:CannotExit'); <---- должно быть CannotClose ... ELSE ... END END Close; |
Страница 2 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |