void ControllerFadeAlpha::prepareItem(WidgetPtr _widget)
	{
		// подготовка виджета, блокируем если только нужно
		if (!mEnabled) _widget->setEnabledSilent(mEnabled);

		if ((ALPHA_MIN != mAlpha) && (false == _widget->isVisible())) {
			_widget->setAlpha(ALPHA_MIN);
			_widget->setVisible(true);
		}

		// отписываем его от ввода
		if (false == mEnabled) InputManager::getInstance()._unlinkWidget(_widget);

		// вызываем пользовательский делегат для подготовки
		eventPreAction(_widget);
	}
void UiTooltipWorker::update( unsigned int time, Widget& rootWidget, bool showTooltips,
                              WidgetPtr hovered, Point cursor )
{
  // launch tooltip
  if( element.isNull()
      && hovered.isValid() && hovered.object() != &rootWidget
      && (time - enterTime >= launchTime
      || (time - lastTime >= relaunchTime && time - lastTime < launchTime))
      && hovered->tooltipText().size()
    )
  {
    if( hovered.isValid() )
    {
      NEvent e;
      hovered->onEvent( e );
    }

    element = standart( rootWidget, hovered.object(), cursor );
    element->addProperty( "tooltip", 1 );
    element->setGeometry( element->relativeRect() + Point( 1, 1 ) );
    if( element->screenBottom() > (int)rootWidget.height() ||
        element->screenLeft() < (int)0 )
    {
      Rect geom = element->absoluteRect();
      geom.constrainTo( rootWidget.absoluteRect() );
      element->setGeometry( geom );
      element->setVisible( showTooltips );
    }
  }

  if( element.isValid() && element->visible() )	// (isVisible() check only because we might use visibility for ToolTip one day)
  {
    lastTime = time;

    // got invisible or removed in the meantime?
    if( hovered.isNull()
        || !hovered->visible()
        || !hovered->parent() )
    {
      element->deleteLater();
      element = WidgetPtr();
    }
  }
}
	void ComboBox::actionWidgetHide(WidgetPtr _widget)
	{
		_widget->setVisible(false);
		_widget->setEnabled(true);
	}
		void actionWidgetShow(WidgetPtr _widget)
		{
			_widget->setVisible(true);
		}
		void actionWidgetHide(WidgetPtr _widget)
		{
			_widget->setVisible(false);
		}