OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2024 10:37

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Временная горячая клавиша
СообщениеДобавлено: Понедельник, 05 Апрель, 2010 17:20 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Изредка бывает нужно какую-то команду выполнять много раз для какой-то конкретной работы.

Info->Menus
открыли нужное меню, повесили команду на свободную кнопку (например, F7)
Info->Update Menus
закрыли изменённое описание меню без сохранения
пользуемся кнопкой до конца сеанса работы с ББ

Вроде бы всё очевидно, но сам, например, сразу не додумался. Поначалу пытался подобрать для команды постоянную клавишу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Понедельник, 05 Апрель, 2010 18:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Евгений Темиргалеев писал(а):
Info->Update Menus
закрыли изменённое описание меню без сохранения
пользуемся кнопкой до конца сеанса работы с ББ
Интересно.
У меня было твердое убеждение, основанное на опыте, что нужно обязательно сохранить менюшный документ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Понедельник, 05 Апрель, 2010 23:30 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Вообще-то это как бы хак, основанный на особенностях кэширования открытых файлов, и т.п. Вроде бы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 00:16 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Это документированное поведение
Views docu писал(а):
PROCEDURE Old (ask: BOOLEAN; VAR loc: Files.Locator; VAR name: Files.Name; VAR conv: Converters.Converter): View
This procedure looks up a file, reads in the document in this file, and then returns the root view of this document. If the file is already opened in a window, the root view of this window's document is returned instead of reading the file...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 01:03 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Т.е. если я открыл документ, изменил его - то открыть следом оригинальный документ я не смогу? :shock:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 04:01 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Иван Горячев писал(а):
Т.е. если я открыл документ, изменил его - то открыть следом оригинальный документ я не смогу? :shock:
В некотором смысле это и правильно. Недавно проблема обсуждалась на форуме Notepad++. Если вы дважды открыли один файл и обе копии редактируете, то рискуете потерять часть изменений. В ББ один и тот же файл можно открыть только "правильным" образом. Если нужна копия оригинала, лучше сделать копию на диске и её открыть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 10:14 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Илья Ермаков писал(а):
Вообще-то это как бы хак, основанный на особенностях кэширования открытых файлов, и т.п. Вроде бы?
Не думаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 11:29 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Александр Ильин писал(а):
В некотором смысле это и правильно.

Ну не знаю... Я часто открываю оригинал несколько раз, по-разному редактирую и сохраняю под разными именами. Или не сохраняю вообще - по ситуации. Лучше бы копии открывать как новые документы - тогда бы при попытке сохранения выскакивал "Save As..."


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 12:29 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Иван Горячев писал(а):
Т.е. если я открыл документ, изменил его - то открыть следом оригинальный документ я не смогу? :shock:
Иван Горячев писал(а):
Лучше бы копии открывать как новые документы - тогда бы при попытке сохранения выскакивал "Save As..."
Оригинал можно открыть через OpenBrowser. Перевести в режим редактирования. Есть только одно но: "Save As..." никто спрашивать не станет - нужно самому нажимать, а "Save" вообще не доступен (т.к. Open для Browse) - поэтому если закрыл, то изменения тю-тю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 12:30 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Info21 писал(а):
У меня было твердое убеждение, основанное на опыте, что нужно обязательно сохранить менюшный документ.
Насчёт компиляции КП-х модулей такое убеждение было?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 12:37 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Евгений Темиргалеев писал(а):
Info21 писал(а):
У меня было твердое убеждение, основанное на опыте, что нужно обязательно сохранить менюшный документ.
Насчёт компиляции КП-х модулей такое убеждение было?
Такая аналогия мне в голову как-то не пришла.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 15:33 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Евгений Темиргалеев писал(а):
Оригинал можно открыть через OpenBrowser.

Нельзя, бо StdCmds.OpenBrowser вызывает StdApi.OpenBrowser -> Views.OldView -> Views.Old.
Можно использовать Converters.Export и приводить полученный объект к Views.View, как это сделано в HostCmds.Open


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 16:57 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
А Вы пробовали? :)
Код:
   PROCEDURE StdApi.OpenBrowser* (file, title: ARRAY OF CHAR; OUT v: Views.View);
      ...   loc.res := 77; v := Views.OldView(loc, name); loc.res := 0; ...
Код:
   PROCEDURE (h: ViewHook) StdDialog.OldView (loc: Files.Locator; name: Files.Name;...
   ...   IF loc.res # 77 THEN
         w := Windows.dir.First(); c := conv; ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Вторник, 06 Апрель, 2010 22:42 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Евгений Темиргалеев писал(а):
А Вы пробовали? :)
Код:
   PROCEDURE StdApi.OpenBrowser* (file, title: ARRAY OF CHAR; OUT v: Views.View);
      ...   loc.res := 77; v := Views.OldView(loc, name); loc.res := 0; ...
Код:
   PROCEDURE (h: ViewHook) StdDialog.OldView (loc: Files.Locator; name: Files.Name;...
   ...   IF loc.res # 77 THEN
         w := Windows.dir.First(); c := conv; ...

И? В StdDialog.OldView как раз и идёт сначала перебор открытых окон, а вот если не нашли...
впрочем, способ программного открывания оригинала найден, а остальное - оффтоп


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Временная горячая клавиша
СообщениеДобавлено: Среда, 07 Апрель, 2010 10:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Info21 писал(а):
Евгений Темиргалеев писал(а):
Насчёт компиляции КП-х модулей такое убеждение было?
Такая аналогия мне в голову как-то не пришла.
Но это неочевидная аналогия.
Компилируем переднее окно.
А тут обновляем все меню.

Ну да ладно. Полезно иметь в виду.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB