OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 23 Октябрь, 2018 00:14

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Четверг, 17 Январь, 2013 09:31 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4485
Откуда: Россия, Орёл
Info21 в viewtopic.php?p=77199#p77199 писал(а):
для прыжка по гиперссылке неплохо бы иметь команду возврата, как в браузере.

У кого-нить есть представление, как это сбацать?
1) Сохранять в момент клика-выполнения loc = (w: Window.Window, StdLinks.par) в Xxx.list. Xxx даёт и команду "возврата" --- показа loc... Если документ был закрыт (в Windows.dir.First() отсутствует) и не временный, его можно переоткрыть по (w.loc, w.name, w.conv)... Отдельно думать о якорях на закрытые документы в Xxx.list...

2) Сохранять loc глобально для всех кликов --- нужно ковырять обработку клика в StdLinks. Сохранять "локально" без ковыряния StdLinks --- ковырять команды "перехода" (открытия документов) или делать для них специальную обёртку Xxx.Open...
---
Код:
   PROCEDURE GetStoreWindow* (s: Stores.Store; OUT res: Windows.Window);
      VAR    domain: Stores.Domain; w: Windows.Window;
   BEGIN
      domain := s.Domain(); ASSERT(domain # NIL, 20);
      IF Windows.dir # NIL THEN w := Windows.dir.First() ELSE w := NIL END;
      WHILE (w # NIL) & ~(w.doc.Domain() = domain) DO
         w := Windows.dir.Next(w)
      END;
      res := w
   END GetStoreWindow;
---
StdLinks.Link --- не гиперссылка, а аналог коммандера, позволяющий выполнить произвольную последовательность операторов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 17 Январь, 2013 09:40 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
Евгений Темиргалеев писал(а):
StdLinks.Link --- не гиперссылка, а аналог коммандера, позволяющий выполнить произвольную последовательность операторов.

Ну, значит ли это, что для гиперссылки ББ можно ввести понятия, аналогичные do и undo? При этом, частным случаем такого undo для ссылки в документе будет команда возврата фокуса в окрестности гиперссылки, а для ссылки не изменяющей фокус - ну не знаю - работа в виде переключателя, раскрытие/схлопывание прилежащего фолда или прочие плюшки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 17 Январь, 2013 09:59 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4485
Откуда: Россия, Орёл
Пётр Кушнир писал(а):
Ну, значит ли это, что для гиперссылки ББ можно ввести понятия, аналогичные do и undo?
Вопрос не понял.
Пётр Кушнир писал(а):
работа в виде переключателя, раскрытие/схлопывание прилежащего фолда или прочие плюшки.
У Вашей процедуры, вызванной при тычке по вьюшке v: StdLinks.Link, есть StdLinks.par = (text, v context pos). Что мешает выполнять любые манимуляции с text --- хоть около pos, хоть где ещё? Делайте что надо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 17 Январь, 2013 12:09 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
Ну, если мы нажали на ссылку, то перешли куда-то, сделали Do, соответственно, чтобы перейти обратно (не говорим пока, что для этого надо запомнить окна), надо совершить обратное действие, сделать unDo, но так как переход по документам это частный случай обобщённых команд интерпретатора, то и команд у ссылки должно быть две, одна чтобы "перейти", а вторая чтобы "вернуться".
Ну а в случае с открытием документа по ссылке реализация процедуры undo может быть встроенной в модуль реализации ссылок (ну и процедуру открытия документа по ссылке тоже туда можно воткнуть, для контроля).


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

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


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

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


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

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