Главная / Action Script 3
Пакетfl.managers
Классpublic class StyleManager
НаследованиеStyleManager Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

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

Посмотреть примеры



Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
Общедоступные методы
 МетодОпределено
  
Создает новый объект StyleManager.
StyleManager
  
[статические] Удаляет стиль из заданного компонента.
StyleManager
  
[статические] Удаляет глобальный стиль для всех компонентов интерфейса пользователя в документе.
StyleManager
  
[статические] Определяет стиль конкретного компонента.
StyleManager
  
[статические] Определяет глобальный стиль по имени.
StyleManager
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
  
[статические] Регистрирует экземпляр компонента в диспетчере стилей.
StyleManager
  
setComponentStyle(component:Object, name:String, style:Object):void
[статические] Задает стиль во всех экземплярах типа компонента, например, во всех экземплярах компонента Button или во всех экземплярах компонента ComboBox.
StyleManager
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
  
setStyle(name:String, style:Object):void
[статические] Задает глобальный стиль для всех компонентов интерфейса пользователя в документе.
StyleManager
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о конструкторе
StyleManager()Конструктор
public function StyleManager()

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Создает новый объект StyleManager.

Сведения о методе
clearComponentStyle()метод
public static function clearComponentStyle(component:Object, name:String):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Удаляет стиль из заданного компонента.

Параметры

component:Object — Имя компонента, с которого удаляется стиль.
 
name:String — Имя стиля для удаления.

См. также

clearStyle()метод 
public static function clearStyle(name:String):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Удаляет глобальный стиль для всех компонентов интерфейса пользователя в документе.

Параметры

name:String — Имя глобального стиля для удаления.

См. также

getComponentStyle()метод 
public static function getComponentStyle(component:Object, name:String):Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Определяет стиль конкретного компонента.

Параметры

component:Object — Имя экземпляра компонента, на котором найден необходимый стиль.
 
name:String — Название стиля для поиска.

Возвращает
Object — Необходимый стиль из определенного компонента. Данная функция возвращает null, если указанный стиль не найден.

См. также

getStyle()метод 
public static function getStyle(name:String):Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Определяет глобальный стиль по имени.

Параметры

name:String — Название стиля для поиска.

Возвращает
Object — Искомое значение глобального стиля.

См. также

registerInstance()метод 
public static function registerInstance(instance:UIComponent):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Регистрирует экземпляр компонента в диспетчере стилей. После создания экземпляра компонента он может регистрироваться диспетчером стилей для получения уведомлений об изменениях в стиле. Экземпляр компонента может регистрироваться для получения уведомлений об изменении стиля компонента или глобального стиля.

Параметры

instance:UIComponent — Данный экземпляр компонента будет зарегистрирован для управления стилями.

setComponentStyle()метод 
public static function setComponentStyle(component:Object, name:String, style:Object):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Задает стиль во всех экземплярах типа компонента, например, во всех экземплярах компонента Button или во всех экземплярах компонента ComboBox.

Параметры

component:Object — Тип компонента, например Button или ComboBox. Данный параметр также принимает экземпляр компонента или класс, используемый для определения всех экземпляров типа компонента.
 
name:String — Название задаваемого стиля.
 
style:Object — Объект стиля, который описывает устанавливаемый стиль.

См. также

setStyle()метод 
public static function setStyle(name:String, style:Object):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9.0.28.0

Задает глобальный стиль для всех компонентов интерфейса пользователя в документе.

Параметры

name:String — Строковое значение, являющееся именем устанавливаемого стиля.
 
style:Object — Устанавливаемый объект стиля. Значение данного свойства зависит от стиля, устанавливаемого пользователем. Например, если для стиля установлено значение textFormat, то для свойства style необходимо установить объект TextFormat. Различие между именем стиля и значением свойства style может привести к некорректной работе компонента.

См. также

Примеры Как пользоваться примерами
StyleManagerExample.as

В этом примере приводится способ динамического создания компонента DataGrid и прослушивания его событий.

Чтобы применить этот пример на практике, выполните следующие действия.

  1. Добавьте в библиотеку компоненты DataGrid, Button, Label и TextArea.
  2. Сохраните этот код под именем StyleManagerExample.as в том же каталоге, что и FLA-файл.
  3. Присвойте классу Document в FLA-файле значение StyleManagerExample.
package
{
    import fl.controls.Button;
    import fl.controls.DataGrid;
    import fl.controls.Label;
    import fl.controls.TextArea;
    import fl.core.UIComponent;
    import fl.managers.FocusManager;
    import fl.managers.StyleManager;
    import flash.display.InteractiveObject;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;
    
    public class StyleManagerExample extends Sprite 
    {
        private var btn:Button;
        private var ta1:TextArea;
        private var ta2:TextArea;
        private var ta3:TextArea;
        private var ta4:TextArea;
        private var description:Label;
        private var dg:DataGrid;
        private var formatForInstance:TextFormat;
        private var formatForGlobal:TextFormat;
        
        private var testStringHTML:String = "<body><span class='heading'>Hello </span>World...</body>";
        private var testString:String = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce vitae turpis id nibh suscipit tincidunt. Quisque nulla dui, elementum eget, rutrum in, ultricies nec, erat. Donec ante turpis, lacinia eget, semper ac, consequat eget, neque. Maecenas eleifend pharetra quam. Quisque suscipit nibh a ipsum. Donec sit amet mi eu ligula volutpat imperdiet. Ut quis velit quis lectus laoreet eleifend. Aliquam pulvinar lorem. Cras ultrices felis sit amet urna. Cras viverra porttitor est. Nulla justo. Sed scelerisque."
        
        public function StyleManagerExample() {
            setupComponents();
            setupUI();
            setupStyles();
        }
        private function setupUI():void {
            var setInstanceStyleBtn:Button = new Button();
            var clearInstanceStyleBtn:Button = new Button();
            var setClassStyleBtn:Button = new Button();
            var clearClassStyleBtn:Button = new Button();
            var setGlobalStyleBtn:Button = new Button();
            var clearGlobalStyleBtn:Button = new Button();
            
            setInstanceStyleBtn.label = "Set Instance Style";
            clearInstanceStyleBtn.label = "Clear Instance Style";
            setClassStyleBtn.label = "Set Class Style";
            clearClassStyleBtn.label = "Clear Class Style";
            setGlobalStyleBtn.label = "Set Global Style";
            clearGlobalStyleBtn.label = "Clear Global Style";
            setInstanceStyleBtn.focusEnabled = false;
            clearInstanceStyleBtn.focusEnabled = false;
            setClassStyleBtn.focusEnabled = false;
            clearClassStyleBtn.focusEnabled = false;
            setGlobalStyleBtn.focusEnabled = false;
            clearGlobalStyleBtn.focusEnabled = false;
            
            setInstanceStyleBtn.move(10,310);
            clearInstanceStyleBtn.move(10,340);
            setClassStyleBtn.move(140,310);
            clearClassStyleBtn.move(140,340);
            setGlobalStyleBtn.move(270,310);
            clearGlobalStyleBtn.move(270,340);
            setInstanceStyleBtn.setSize(120,24);
            clearInstanceStyleBtn.setSize(120,24);
            setClassStyleBtn.setSize(120,24);
            clearClassStyleBtn.setSize(120,24);
            setGlobalStyleBtn.setSize(120,24);
            clearGlobalStyleBtn.setSize(120,24);
            
            setInstanceStyleBtn.addEventListener(MouseEvent.CLICK,setInstanceStyle);
            clearInstanceStyleBtn.addEventListener(MouseEvent.CLICK,clearInstanceStyle);
            setClassStyleBtn.addEventListener(MouseEvent.CLICK,setClassStyle);
            clearClassStyleBtn.addEventListener(MouseEvent.CLICK,clearClassStyle);
            setGlobalStyleBtn.addEventListener(MouseEvent.CLICK,setGlobalStyle);
            clearGlobalStyleBtn.addEventListener(MouseEvent.CLICK,clearGlobalStyle);

            description = new Label();
            description.move(10, 370);
            description.autoSize = TextFieldAutoSize.LEFT;
            description.text = "";

            addChild(setInstanceStyleBtn);
            addChild(clearInstanceStyleBtn);
            addChild(setClassStyleBtn);
            addChild(clearClassStyleBtn);
            addChild(setGlobalStyleBtn);
            addChild(clearGlobalStyleBtn);
            addChild(description);
        }
        private function setupComponents():void {
            dg = new DataGrid();
            dg.addItem( { Name:"John Alpha",     Number:"555-123-0101" } );
            dg.addItem( { Name:"Mary Bravo",     Number:"555-372-3322" } );
            dg.addItem( { Name:"Trevor Gamma", Number:"555-485-1212" } );
            dg.addItem( { Name:"Susan Delta",     Number:"555-987-3434" } );        
            dg.move(10,10);
            dg.setSize(200,290);
            dg.columns = ["Name","Number"];
            addChild(dg);
            
            ta1 = new TextArea();
            ta1.move(220,10);
            ta1.setSize(150,140);
            ta1.text = testString;
            ta1.tabEnabled = true;
            addChild(ta1);
            
            ta2 = new TextArea();
            ta2.move(380,10);
            ta2.setSize(150,140);
            ta2.text = testString;
            ta2.tabEnabled = true;
            addChild(ta2);
            
            ta3 = new TextArea();
            ta3.move(220,160);
            ta3.setSize(150,140);
            ta3.text = testString;
            ta3.tabEnabled = true;
            addChild(ta3);
            
            ta4 = new TextArea();
            ta4.move(380,160);
            ta4.setSize(150,140);
            ta4.text = testString;
            ta4.tabEnabled = true;
            addChild(ta4);
        }
        private function setupStyles():void {
            formatForGlobal = new TextFormat();
            formatForGlobal.font = "Georgia";
            formatForGlobal.size = 10;
            formatForInstance = new TextFormat();
            formatForInstance.underline = true;            
        }
        private function setInstanceStyle(e:MouseEvent):void {
            var fm:FocusManager = new FocusManager(this);
            var uiComponent:UIComponent = fm.getFocus() as UIComponent;
            if(uiComponent is TextArea) {
                uiComponent.setStyle("textFormat",formatForInstance);    
                description.text = "The TextArea object with focus is now underlined.";            
            }
        }
        private function clearInstanceStyle(e:MouseEvent):void {
            var fm:FocusManager = new FocusManager(this);
            var uiComponent:UIComponent = fm.getFocus() as UIComponent;
            if(uiComponent is TextArea) {
                uiComponent.clearStyle("textFormat");
                description.text = "The TextArea object with focus is no longer underlined.";
            }
        }
        private function setClassStyle(e:MouseEvent):void {
            var c:Class = TextArea;
            var styleName:String = "textPadding";
            var value:Number = 10;
            StyleManager.setComponentStyle(c,styleName,value);    
            description.text = "Padding for all TextArea instances is now 10.";
        }
        private function clearClassStyle(e:MouseEvent):void {
            var styleName:String = "textPadding";
            var c:Class = TextArea;
            StyleManager.clearComponentStyle(c,styleName);                    
            description.text = "TextArea padding has been reset to the default.";
        }
        private function setGlobalStyle(e:MouseEvent):void {            
            var styleName:String = "textFormat";
            var value:Object = formatForGlobal;
            StyleManager.setStyle(styleName,value);
            description.text = "All components now use font Georgia size 10.";
        }
        private function clearGlobalStyle(e:MouseEvent):void {
            var styleName:String = "textFormat";
            StyleManager.clearStyle(styleName);    
            description.text = "Font style for all components has been cleared.";
        }
    }
}