Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.02.2011, 00:32
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 1  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
По умолчанию индуизм

Встала тут задача написать кастомный NumericStepper.
Открыл исходный код
Код:
/**
     *  Maximum value of the NumericStepper.
     *  The maximum can be any number, including a fractional value.
     *
     *  @default 10
     */
    public function get maximum():Number
    {
        return _maximum;
    }

    public function set maximum(value:Number):void
    {
        _maximum = value;
        
        // To validate the value as min/max/stepsize has changed.
        if (!valueChanged)
        {
            this.value = this.value;
            valueSet = false;
        }
        
        dispatchEvent(new Event("maximumChanged"));
    }
Это индуизм или все таки описка, а в swc все норм?Строка 693
Flex 3
__________________
Я просто добрый шутник.


Последний раз редактировалось scarbo; 22.02.2011 в 00:38.
Старый 22.02.2011, 00:57
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Отсюда не видно. value может быть сеттером и его захотели дёрнуть.

Старый 22.02.2011, 02:30
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 3  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
сеттер конечно, но this.value = this.value, это берут данные из геттера и присваивают сеттеру
__________________
Я просто добрый шутник.

Старый 22.02.2011, 04:10
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 4  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
сам так писал иногда.
например в сеттере у меня отсылалось оповещение об изменении.
Код AS3:
public function someMethod(value)
{
// по каким то причинам надо присвоить именно аксцессору, например используется в дальнейших вычислениях
this._value=value;
doSmthWith_value();
// а тут вычисления закончились и можем спокойно вызвать диспатч изменения
this.value = this.value;
}
Криво немного, но зависит от контекста . Так что я бы не дал такому коду звание индусского.. не тянет.
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 22.02.2011 в 04:13.
Старый 22.02.2011, 10:43
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Нормальный компилятор должен такой код вырезать еще на этапе чтения исходников. Почти наверняка этот сеттер нужно "дернуть" чтобы биндинги сработали. Т.е. чтобы продиспатчить событие, но решили замазать дырку, вместо того, чтобы сделать по-человечески.
__________________
Hell is the possibility of sanity

Старый 22.02.2011, 12:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
У меня такое тоже есть. Практическая цель — «передёрнуть» сеттер для валидации.

Старый 22.02.2011, 14:28
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 7  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
Цитата:
Сообщение от etc Посмотреть сообщение
У меня такое тоже есть. Практическая цель — «передёрнуть» сеттер для валидации.
А вы чего не делаете if (_prop == value) return; ?

Старый 22.02.2011, 14:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от fljot Посмотреть сообщение
А вы чего не делаете if (_prop == value) return; ?
Делаю, конечно. История долгая, но суть примерна та же, что и в оп-посте: устанавливается максимум некоторого значения, потом происходит валидация этого значения путём «передёргивания» сеттера. В нём же стоит проверка:

Код AS3:
if (value > this._maximum) value = this._maximum;
if (this._value == value) return;
...
Поэтому если изначально значение было больше, оно отвалидируется.

Неочевидный приём и за него надо давать по рукам, если есть кому
Ну и потом, иногда полезен для on-demand геттеров.

Старый 22.02.2011, 20:06
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 9  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Неочевидный приём и за него надо давать по рукам, если есть кому
Видимо так и поступили, в четвертой ветке этот финт ушами переделали.
В третьей ветке это "решение" служило одной единственной цели, проверить, в конце-концов, value на валидность после изменения диапазона. Так что решение более чем неочевидное

Старый 24.02.2011, 21:47
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 10  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
Я вот не так давно использовал в коде строчку:
Код AS3:
simpleItemRenderer.data=simpleItemRenderer.data;
Сама по себе она выглядит странно, но в такой связке:
Код AS3:
simpleItemRenderer.data.text="Text";
simpleItemRenderer.data=simpleItemRenderer.data;
смысл ее становится понятен)))))

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:28.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.