У меня нет машины с SSL для проверки, но с openssl s_client -connect 192.168.0.1:port
вы можете увидеть, обрабатывается ли фактическое рукопожатие. Я не знаю, какой порт использует db2cli.
UIComponent.visible не обязательно допустим для детей объекта где visible=false. Из документов:
"Или в случае дети объекта не испустят шоу или скроют событие, если объект конкретно не записал реализацию, чтобы сделать так".
Я записал пример приложения, который подтверждает это, чтобы быть верным. То, что можно сделать, идут по проверке дисплейного списка видимый, чтобы быть ложью на родителе. В основном "видимый" дает ложные положительные стороны, но не должен давать ложные отрицательные стороны. Вот быстрая утилита, которую я соединил:
package
{
import flash.display.DisplayObject;
import mx.core.Application;
public class VisibilityUtils
{
public static function isDisplayObjectVisible(obj : DisplayObject) : Boolean {
if (!obj.visible) return false;
return checkDisplayObjectVisible(obj);
}
private static function checkDisplayObjectVisible(obj : DisplayObject) : Boolean {
if (!obj.parent.visible) return false;
if (obj.parent != null && !(obj.parent is Application))
return checkDisplayObjectVisible(obj.parent);
else
return true;
}
}
}
Я не сделал чего-то большего чем тривиальных тестов на этом, но это должно запустить Вас.
... или предотвращение рекурсии:
public static function isVisible(obj:DisplayObject):Boolean
{
while (obj && obj.visible && obj !== Application.application)
{
obj = obj.parent;
}
return obj && obj.visible;
}
Вы хотите проверить, верно ли видимое свойство компонента, и это для всех родителей Вашего компонента в DisplayList, я корректен?
public static function isVisible(c : UIComponent) : Boolean {
if (c == null) return false;
if (c is Application) return c.visible;
return c.visible && isVisible(c.parent);
}
Странный, как это кажется, теперь, когда Вы упоминаете это, я не полагаю, что существует простой тест, чтобы определить, на самом деле ли компонент видим на экране в смысле, который подразумевает Component.isShowing ().
Это также верно шоу, и скройтесь, события не пузырятся по умолчанию, поэтому если Вы захотите быть уведомленными относительно изменений видимости в потомке контейнера ViewStack, то необходимо будет прислушаться к ним явно. Детали реализации варьировались бы в зависимости от того, каким поведением Вы были после, но взять простой пример:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:VBox>
<mx:HBox>
<mx:Button id="btn1" click="vs.selectedIndex = 0" label="Show 1" />
<mx:Button id="btn2" click="vs.selectedIndex = 1" label="Show 2" />
</mx:HBox>
<mx:ViewStack id="vs" selectedIndex="0">
<mx:Panel id="panel1">
<mx:Label id="label1" text="Label 1" show="trace('showing label 1')" hide="trace('hiding label 1')" visible="{panel1.visible}" />
</mx:Panel>
<mx:Panel id="panel2">
<mx:Label id="label2" text="Label 2" show="trace('showing label 2')" hide="trace('hiding label 2')" visible="{panel2.visible}" />
</mx:Panel>
</mx:ViewStack>
</mx:VBox>
</mx:Application>
... Вы будете видеть шоу и скрывать события для каждого огня маркировки, после того как их свойства видимости были связаны с их родительскими панелями. Надо надеяться, это иллюстрирует тезис; можно расширить его однако лучшие иски приложение.Удачи!