Опубликован: 17.09.2009 | Доступ: свободный | Студентов: 1436 / 103 | Оценка: 3.94 / 3.53 | Длительность: 10:18:00
ISBN: 978-5-9963-0238-3
Лекция 5:

Инструменты проектирования. Виды и назначения

< Лекция 4 || Лекция 5: 12 || Лекция 6 >
Аннотация: В этой лекции рассматриваются инструменты, необходимые для разработки приложения: Объектный Навигатор, Палитра свойств, Редактор разметки.

Цель лекции: ознакомить слушателя с основными инструментами проектирования форм в Forms Developer.

Oracle Forms функционирует в среде графического интерфейса (GUI), например, Microsoft Windows, Linux. Основные инструментальные средства, которые используются для разработки, навигации и изменения свойств формы и элементов, – это Навигатор объектов (Object Navigator), Редактор Разметки (Layout Editor) и Инспектор свойств (Object Properties Sheets). Далее подробнее остановимся на каждом из перечисленных инструментов.

Объектный навигатор (Object Navigator)

Как вы уже смогли убедиться, глядя на рис. 5.1, Объектные Навигаторы концептуально между собой ничем не отличаются. В Объектном Навигаторе отображаются все объекты Oracle Forms: элементы блоков данных, модули, блоки, библиотеки, параметры, меню, объекты БД, стандартные встроенные пакеты Forms. Элементами Объектного Навигатора можно манипулировать при помощи кнопок и элементов главного меню. Навигатор представляет собой иерархическое дерево, поэтому внутри Объектного Навигатора компоненты вашего приложения представлены в виде иерархии, что позволяет разработчику видить сгруппированную и упорядоченную структуру создаваемого приложения.

Объектный навигатор

Рис. 5.1. Объектный навигатор

В Объектном Навигаторе вы можете выполнять следующие действия:

  • Навигатор представляет собой иерархическое дерево, поэтому в нем осуществляются такие действия, как: раскрывать и сворачивать элементы для быстрого поиска объектов, отображать соответствующие иконки напротив выбранных объектов.
  • Выбирать объекты – выбранный вами объект становится выделенным и в редакторе разметки и таблице свойств (если включен режим синхронизации). При выборе любого элемента в навигаторе главное меню Forms Designer будет подсвечивать только те пункты меню, которые будут соответствовать выбранному вами элементу.
  • Создавать и удалять объекты, библиотеки или элементы в вашем приложении.
  • Возможность перенести один элемент (библиотеку, объект) в другой модуль обычным копированием, то есть возможность перемещать объекты, как в модуле, так и между модулями.
  • Быстро находить объекты с помощью "Быстрого поиска", причем поиск ведется без учета регистра и достаточно ввода одной буквы.
  • Двойным щелчком по триггеру или программному модулю вы можете вызвать Редактор PL/SQL.
  • Быстрый доступ к командам и программным модулям элемента – достаточно нажать правой кнопкой мыши для выпадения всплывающего меню, пункты которого будут соответствовать выбранному элементу.
  • Установка меток – используется для пометки элемента в Навигаторе. Для создания метки достаточно выделить объект в Навигаторе, перейти в меню Navigator, а затем выбрать пункт -> Add Bookmark (добавить метку) или перейти к уже созданной метке командой -> Go to Bookmark.
  • Переименование объектов. Для этого нужно выбрать объект для переименования, затем щелкнуть на его имени, после чего появится прямоугольная область с мигающим курсором, в которой вы присваиваете новое имя вашему объекту. По умолчанию при создании объекта ему присваивается имя с последовательным номером, например, BLOCK1, LOV8 и т. д.
  • Множественное выделение – выделение группы элементов. Для этого нужно с нажатой клавишей Control щелкать левой кнопкой мыши по элементам, которые вы хотите выделить. Перемещаться как часть множественного выбора могут только объекты одного и того же типа.
  • Возможность запуска и генерации приложения. Для этого достаточно выделить любой элемент, принадлежащий тому модулю, который вы хотите запустить или сгенерировать в исполняемый файл меню, библиотеки или формы, а затем выбрать нужную вам команду запуска или генерирования в главном меню Forms'a — "Tools" либо меню "Файл->Администратор…".

По умолчанию в Oracle Forms опция Synchronize включена, а это значит, что все открытые Layout Editor, Table Properties и Menus Editor поддерживают одни и те же выбранные объекты. То есть при выборе какого-либо элемента в Навигаторе или Редакторе Разметки он становится текущим везде. Если элемент выбран в Редакторе Разметки, то он также будет выделен в Навигаторе, и наоборот.

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

Элементы, которые не принадлежат ни одной вид-картинке (Canvas), отображаются на Null-канве; точно так же и Canvas, не имеющий своего окна, отображается в Null Window.

Правила принадлежности копирования и перемещения объектов в пределах одного модуля или между несколькими модулями:

  • При копировании или перемещении объекта вы также перемещаете (копируете) принадлежащие ему объекты. К примеру, при копировании блока копируются также и триггеры, подсоединенные к этому блоку, и все элементы, принадлежащие этому блоку, и триггеры, подсоединенные к этим элементам.
  • Принадлежность объекта и простые связи, которые могут существовать между объектами, нужно отличать, т. к. при создании окна ему назначается вид-картинка, но эта вид-картинка не будет однозначно принадлежать этому окну, т. к. и окно, и Canvas принадлежат форме. Отношения между окном и Canvas – это просто связь, которую вы определяете установкой свойства Canvas Window, можете поменять и переназначить в любой момент и любому окну, и любому блоку.
  • Правила принадлежности для объектов в модулях формы могут быть просто установлены следующим образом: элементы и отношения принадлежат блокам; триггеры могут принадлежать элементам, блокам или формам; все остальные объекты принадлежат формам. Причем при копировании нужно соблюдать согласованность элементов – это значит, что элемент, принадлежащий блоку, нельзя переместить в узел, в котором находятся программные модули, или в узел Parameters.
  • Правила принадлежности для модулей меню: элементы Menu принадлежат меню; меню принадлежат модулям меню; все остальные объекты принадлежат модулям меню.
  • Модули библиотек содержат только подпрограммы и пакеты, которые все принадлежат модулю библиотеки и не могут содержать больше никаких других элементов.

Теперь кратко рассмотрим все элементы Навигатора.

Триггеры (Triggers)

Триггеры Oracle Forms – это функции, программные блоки PL/SQL, которые выполняются при возникновении какого-либо действия или условия в форме. Например, при запуске формы срабатывает триггер WHEN_NEW_FORM_INSTANCE ("при запуске формы"), что дает вам возможность выполнять какие-либо действия до запуска формы: изменить размеры формы, извлечь данные и т. д. Поэтому эти действия называются событиями, т. к. возникают в ответ на какое-либо действие. Чаще всего триггеры используют для отключения или запрета (запрет на выполнения DML), модификации или расширения значения по умолчанию. Триггеры определяются для формы, блока, записи или для каждого поля в отдельности, причем триггер, созданный для данного элемента, будет срабатывать только для этого элемента. Триггер в Forms'e могут вызывать друг друга, поэтому нужно учитывать приоритеты срабатывания триггера в зависимости от уровня его определения.

Предупреждения (Alerts)

Предупреждения используются для вывода дополнительной информации или сообщения, написанного разработчиком для обработки исключительной ситуации, а также различных предупреждений перед выполнением какой-нибудь операции, которая требует ответа или подтверждения от пользователя. Изменять или присваивать какие-либо функции предупреждениям вы можете с помощью таблицы свойств этого компонента, где вам будет предложено выбрать тип предупреждения, количество кнопок в его окне и т. д. Окно свойств этого объекта можно вызвать двойным щелчком мыши, выбрав пункт главного меню Tools->Property Pallete, клавишей F4 или через всплывающее меню. Создается также двойным щелчком по узлу Alerts, через Навигатор или меню Navigator-> Create.

Библиотеки (Attached Libraries)

Attached Libraries (подсоединяемые библиотеки) – это очень удобные специальные модули Oracle Forms, в которые вы можете "засунуть" часто используемые вами процедуры и функции. При двойном щелчке мышью по этому объекту будет вызвано окно Attache Library ( рис. 5.2).

Attche Library

Рис. 5.2. Attche Library

В строке Library нужно указать имя и размещение библиотеки, которую вы хотите подсоединить. Для этого вам необходимо выполнить следующие действия:

  1. С помощью кнопки Browse вызвать окно PL/SQL Library File (размещение библиотеки PL/SQL) и выбрать нужную вам библиотеку либо самостоятельно набрать путь к библиотеке и ее имя с расширением *.pll.
  2. С помощью радиокнопок выбрать, откуда будет подсоединена библиотека: в нашем случае это File System, то есть из вашей файловой системы, соответственно, Database — из вашей БД, Either – из другого источника.
  3. После этого нажмите кнопку Attach – выполнить подсоединение, Cancel – отменить присоединения библиотеки и Help – вызов справки по данному объекту.

Блоки (Blocks)

Блоки – этот узел содержит созданные вами "Блоки данных"; по умолчанию Oracle Forms в качестве названия блока берет имя таблицы (представления), на основе которой он строился. Причем блоки необязательно должны быть привязаны к объекту базы данных (таблице, представлению), поэтому могут быть созданы и при этом не относиться ни к одной таблице – так, например, объект Tree View всегда требует одиночного размещения в блоке данных, а также такие блоки используются для содержания какой-либо временной информации, вспомогательных элементов, могут быть обычным отображателем информации (например "Об авторе"), различных индикаторов и т. д. Базовыми или основными блоками таблицы называются блоки, которые относятся к объекту (таблице, снимку, представлению).

Элементы блоков (Items)

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

Связи блоков (Relationships)

Связи блоков определяют реляционную взаимосвязь между блоками данных формы. Реляционная связь в Oracle Forms рассматривается как объект и имеет свои настраиваемые свойства. Связи, созданные в Forms, существуют только в пределах данного приложения и не распространяются на другие.

Раскладки объектов (Canvas-Views)

Раскладка объектов (canvas, от англ. "холст") – структура, предназначенная для размещения объектов формы. Существует 4 типа раскладок: содержательный ( content ), стековый ( stacked ), горизонтальная и вертикальная панель инструментов ( Horizontal/Vertical Toolbar Canvas-Views ). В большинстве случаев используется один из двух типов раскладок – либо содержательный, либо стековый.

  • Содержательная раскладка не предполагает наличия еще каких-либо раскладок, она занимает все окно формы.
  • Стековую раскладку можно размещать поверх других раскладок окна формы.
  • Горизонтальная и вертикальная панель инструментов – набор кнопок-иконок с определенными для них пользовательскими командами.
  • Есть еще один специальный тип раскладки – пустой ( null ). Пустая раскладка используется для размещения объектов, не требующих отображения в окне формы.

Редактор (Editor)

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

Списки значений (LOVs)

Списки значений (LOVslists of values ) предназначены для выбора возможных значений некоторого поля. Списки значений представляют собой данные, содержащиеся в именованном объекте. Список значений может использоваться и как проверка правильности ввода данных пользователем.

Группы объектов (Object Groups)

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

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

Параметры (Parameters)

Параметры можно определить для обеспечения начального ввода данных в форму. Обычно параметры используются для передачи значений из одной формы в другую (в приложениях со многими формами). В ранних версиях Developer/2000 единственным методом передачи значений между формами было применение глобальных переменных, которые очень неэффективно использовали доступную память. Использование глобальных переменных возможно и сейчас, но рекомендуется применять параметры в случаях, когда структура передаваемых данных специфична для конкретных форм (не носит универсальный характер для всех форм приложения).

Программные модули (Program Units)

Программные модули – это PL/SQL-процедуры, пакеты или функции, которые можно вызывать из триггеров формы. Программный модуль – понятие, полностью эквивалентное понятию подпрограммы в языках 3-го поколения. Типичным кандидатом в программные модули является фрагмент кода, который используется более чем в одном триггере. Программные модули также могут применяться для разбиения больших программ на логически независимые части.

Классы свойства (Property Classes)

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

Группы записей (Record Groups)

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

Визуальные атрибуты (Visual Attributes)

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

Окна (Windows)

Окно – это рамка, в пределах которой форма появляется на экране пользователя. Каждый холст привязан к определенному окну в форме, и несколько холстов могут быть привязаны к одному окну. Простая форма может содержать несколько окон или состоять из одного окна.

< Лекция 4 || Лекция 5: 12 || Лекция 6 >