Абриаль 2.1 Назад Начало Выше Дальше29/09/04 А.И.Пацкин [packin.ru]
Строение гипертаблиц ] Интерфейс гипертаблиц ] Навигация в таблицах ] [ Изменение данных в таблицах ] Дополнительные возможности таблиц ]

Изменение данных в таблицах


В этом разделе описывается

Изменение данных через таблицы.

Редактирование значений.

Чтобы начать редактирование значения в некоторой ячейке, нужно щелкнуть по ней мышью или нажать клавишу Enter, когда эта ячейка активна. Можно сразу же начинать ввод текста, но тогда старое значение может пропасть. Подтверждением изменения значения является нажатие на Enter, а отказом от изменения послужит нажатие на Esc.

Ввод новых объектов.

Способ ввода новых объектов зависит от категории класса объекта.

Создать новую сущность проще всего в таблице представителей данного класса - в первой ячейке строки ввода (т.е. самой нижней строки). Если в эту строку попадать неудобно, можно нажать клавишу Insert в первой ячейке любой строки и ввести имя нового объекта в отдельном окне. Это может выглядеть так:

Для создания новых сущностей не обязательно попадать в таблицу представителей. Ввод новых имен возможен в любой ячейке (в том числе пустой), предназначенной для списка имен или для одного имени. Однако, это возможно только если класс объектов заранее известен. Т.е. везде, где следует вводить или выбирать имя существующего объекта, можно также вводить и новое имя.

Ввод новой структур совместно с владеющей связью, производит нажатие клавиши Enter. Затем, вторичным нажатием на Enter можно "войти" в новый объект, и присвоить ему нужные свойства.

Ввод новых значений осуществляется простым заполнением соответствующих пустых ячеек. Попутно создаются связи этих значений с владеющими ими объектами.

Ввод новых связей.

Метод ввода новых связей зависит от их размерности. Ввод унарных связей осуществляется путем переключения унарных признаков в соответствующих ячейках с состояния "нет связи" на состояние "есть связь" (см. ниже). Бинарные связи, которые видны в ячейках таблиц как имена или изображения объектов, добавляются простым добавлением новых имён объектов. Для создания многоместных связей существует строка ввода - т.е. последняя строка таблицы.

Выбор из списка.

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

Это может выглядеть например так:

При работе со списком открывается поле редактирования. В этом поле можно ввести первые символы искомого имени для быстрой установки активной позиции в списке на это имя. Здесь также можно ввести новое имя объекта, контролируя факт новизны по развернутому списку.

Описанный способ выбора считается "простым" и применяется к случаям, когда множество возможных объектов заранее известно. Если же в ячейке может быть введено или выбрано имя объекта из нескольких классов, выбор делается в два приема.

Выбор для полиморфных аспектов.

Если ячейка соответствует полиморфному аспекту, в ней могут находиться имена представителей разных классов. И тогда за один шаг выбрать объект не удается, и после нажатия на Insert сначала раскрывается список допустимых классов, откуда выбирается класс объекта, а уже затем открывается список объектов этого класса.

Чтобы можно было отличить список классов от списка объектов - представителейимена классов в списке содержат префикс - знак двоеточия ":". Например (:Личность, :Событие, :Факт).

Переключение унарных признаков.

Унарные, т.е. связанные с единственным объектом связи, образуют двоичные признаки этого объекта. В аспектных столбцах таблиц для таких признаков показываются имя аспекта, если связь есть, или ничего, если связи нет. Переключает между этими двумя состояниями нажатие клавиши Enter или щелчок мышью в соответствующей ячейке.

Удаление объектов.

Всякое удаление в таблицах осуществляется нажатием клавиши Delete, эквивалент которой - пункт Удалить в контекстном меню.

Удаление сущности достигается в первом столбце таблицы представителей. Здесь сущность удаляется безусловно. Если же имя сущности будет удалено в любой другой ячейке, это будет значить не удаление самой сущности а удаление только связи с ней, а сама сущность останется. Сущности удаляются вслед за связями только если сущность соединена со связью через владеющий аспект.

Значения и структуры удаляются только путем удаления связей, от которых эти объекты зависят (через владеющий аспект).

Удаление связей.

Унарные связи удаляются путем переключения соответствующего унарного признака с состояния "есть связь" на состояние "нет связи".

Все остальные связи удаляются клавишей Delete.

Если клавиша Delete нажата в объектном столбце таблицы, то удаляется только одна связь, соответствующая текущей строке.

Если клавиша Delete нажата в аспектном столбце таблицы, то удаляются все связи данного аспекта у данного объекта, это можно назвать удалением аспекта объекта.

Удаление связей влечет за собой удаление всех зависимых от них объектов. Поскольку удаление объекта влечет безусловное удаление всех его связей, то этот процесс может оказаться каскадным.

Табличный интерфейс обычно препятствует такому удалению связей, которое должно повлечь за собой удаление заглавного объекта таблицы.

 


Все права защищены. © 2000-2004 РосНИИ ИИ
http://artint.ru
Copyright. © 2000-2004 by RRIAI
Александр Иосифович Пацкин [mailto:aleksandr@tochka.ru].
29/09/04

К началу документа.