Опубликован: 17.09.2009 | Уровень: специалист | Доступ: платный
Лекция 11:

Элементы Forms Builder. Создание холстов, виды и свойства. Настройка визуальных эффектов

< Лекция 10 || Лекция 11: 12 || Лекция 12 >

Визуальные эффекты в Oracle Forms

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

Атрибуты визуализации – это атрибуты элементов интерфейса, представляющие свойства шрифта, цветов и шаблона заполнения. Исходя из определения, визуальные атрибуты можно классифицировать по свойствам:

  • атрибуты, включающие свойства шрифта ;
  • атрибуты, включающие свойства цветов и шаблонов.

Виды атрибутов визуализации

Создавая внешний вид своего приложения, вы можете использовать три типа атрибутов визуализации:

  • пользовательский (Custom);
  • по умолчанию (Default);
  • именованный объект атрибута визуализации (Named).

Пользовательский Атрибут визуализации (Custom)

Пользовательский атрибут визуализации – это свойства шрифта и цвета, установленные в палитре свойств элемента на этапе проектирования формы. Определяя настройки атрибутов в палитре свойств, вы указываете специфические значения, которые будут установлены для элемента при выводе на экран или заполнении данными. Пользовательский атрибут не создается как таковой, он лишь является набором специфических свойств, установленных для конкретного элемента. Для того чтобы определить пользовательский атрибут, достаточно вызвать палитру свойств какого-либо элемента интерфейса:

  1. Создайте новый элемент интерфейса, например, элемент "Редактируемый текст", и вызовите для него палитру свойств.
  2. Найдите свойства, перечисленные ниже, и установите для них следующие значения:
    • Название шрифта (Font Name): Tahoma;
    • Стиль шрифта (Font Style): курсив (Italic);
    • Цвет отображаемых на экране символов (Foreground color): blue.

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

Атрибут визуализации по умолчанию (Default)

Атрибут визуализации по умолчанию (Default) – это атрибут, который устанавливает значение всех свойств атрибутов на значения по умолчанию, или, как их еще называют, системные настройки. Чтобы определить атрибут визуализации по умолчанию, достаточно изменить свойство "Группа атрибутов визуализации " на DEFAULT. Если атрибут относится к записи, то, соответственно, свойство "Группа визуализации текущей записи" должно быть также установлено на DEFAULT.

Именованный атрибут визуализации (Named)

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

Чтобы создать атрибут визуализации и применить его к объекту, выполните следующие действия:

  1. Находясь в навигаторе объектов, выделите узел " атрибуты визуализации " и нажмите иконку "Создать" или выберите пункт меню Навигатор | Создать.
  2. Запустите палитру свойств созданного атрибута и установите для него следующие свойства:
    • Имя: Item_atr;
    • Цвет отображаемых на экране символов (Foreground color): blue;
    • Цвет фона (Background Color): dark yellow;
    • Шаблон заполнения (Fill Pattern): gray3.3;
    • Название шрифта (Font Name): Tahoma;
    • Размер шрифта (Font Size): 12;
    • Вес шрифта (Font Weight): Полужирный (DemiBold);
    • Стиль шрифта (Font Style): курсив (Italic);
    • Разрядка для шрифта (Font Spacing): Нормальный (Normal).
  3. Находясь в редакторе разметки, начертите на канве элемент "Редактируемый текст" и вызовите для него палитру свойств. Найдите свойство "Группа атрибутов визуализации" и выберите из выпадающего списка именованный атрибут "Item_atr".
  4. Запустите форму и попробуйте ввести текст. Вы также можете назначить именованный атрибут визуализации свойству элемента "Группа атрибутов визуализации текущей записи" – тогда элемент, отображающий текущую запись, будет наследовать свойства ассоциированного с ним атрибута визуализации.

Вы можете управлять именованным атрибутом визуализации программно, используя процедуру SET_ITEM_PROPERTY.

  1. Продолжая предыдущий пример, начертите кнопку на канве и создайте для нее триггер WHEN-BUTTON-PRESSED. В теле триггера напишите следующий код:
    IF Name_IN('Bl_atr.t_item')=5
      THEN
    set_item_property('t_item', visual_attribute, 'item_atr');
    Message('5 -Слишком большое значение для этого элемента!',
    ACKNOWLEDGE);
    END IF;
  2. Запустите форму на выполнение и попробуйте ввести значение 5. После того как вы нажмете кнопку, вид элемента поменяется в соответствии с назначенными ему свойствами. Вы также можете управлять атрибутом визуализации программно, используя процедуру DISPLAY_ITEM:
    IF Name_IN('Bl_atr.t_item')=5
      THEN
    Display_Item('Bl_atr.t_item','item_atr');
    Message('5 - Слишком большое значение для этого элемента!',
    ACKNOWLEDGE);
    END IF;

DISPLAY_ITEM (ITEM_NAME IN varchar2, DISPLAY_ATTRIBUTE_NAME IN varchar2) модифицирует способ, которым элемент выводится на экран или терминал, и назначает указанный атрибут вывода этому элементу. Названия возможных атрибутов вывода хранятся в карте Oracle*Terminal (с которой форма запускается) для терминального режима и в узле " Атрибут визуализации " навигатора объектов для GUI. Если вы определили неверный атрибут вывода, Forms назначает атрибут вывода по умолчанию для данного элемента. Любое изменение, сделанное встроенной процедурой DISPLAY_ITEM, действительно до тех пор, пока аналогичная процедура не обратится к этому элементу или текущая форма не завершится.

Классы свойств

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

Класс свойств – это именованный объект, который содержит список свойств и их значений, заданных разработчиком. Чтобы создать класс свойств, выполните следующие действия:

  1. Находясь в Навигаторе Объектов, выделите узел " Классы свойств " и нажмите иконку "Создать" или выберите пункт меню Навигатор|Создать. Назовите созданный объект "TFONT".

    Запустив палитру свойств этого объекта, вы увидите всего три свойства. Чтобы добавить атрибут в список свойств класса, нужно нажать кнопку "Добавить свойство" ("Add property") ( рис. 11.2) на панели инструментов палитры свойств. После нажатия кнопки на экране появится окно "Свойства".

    Панель инструментов палитры свойств

    Рис. 11.2. Панель инструментов палитры свойств
  2. Выберите свойства Font Name, Font Size, Font Style и Font Weight и установите для них значения. Чтобы выбрать атрибут в список класса свойств, выделите его и нажмите кнопку "ОК" ( рис. 11.3).
    Добавление атрибута в объект класса свойств

    Рис. 11.3. Добавление атрибута в объект класса свойств

Теперь, когда класс свойств создан, можно попробовать базировать на нем какой-либо объект.

  1. Находясь в редакторе разметки, начертите на канве элемент "Редактируемый текст" и вызовите для него палитру свойств. Найдите свойство "Информация о подклассе" и нажмите кнопку "Найти" для вызова окна "Информация о подклассе" ( рис. 11.4).
    Окно "Информация о подклассе"

    Рис. 11.4. Окно "Информация о подклассе"
  2. В появившемся окне выберите радиокнопку " Класс свойств ", затем перейдите в поле "Имя класса свойств" и выберите из выпадающего списка созданный нами ранее класс TFONT. Подтвердите выбор и запустите форму на выполнение для просмотра результатов.

Триггеры классов свойств

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

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

  • если в элементе определен именованный атрибут визуализации и класс свойств, то предпочтение будет отдано именованному атрибуту ;
  • классами свойств нельзя управлять программно.
< Лекция 10 || Лекция 11: 12 || Лекция 12 >
Вячеслав Легостин
Вячеслав Легостин
Казахстан, Алматы, Технический лицей №165, 2010
Олег Живов
Олег Живов
Россия, Москва, МАИ, 2008