M Akihiko
amons****@hotma*****
2006年 2月 20日 (月) 12:55:13 JST
お久しぶりです、門田です。 地道に進めていたせいかかなり時間がかかってしまいましたが とりあえずタスクバーをコミットしました。 モジュールの分離などはまた後で考えます。 GoogleMapアイコンは今回は隠しています。 どうしてもIWindowに機能を追加したかったので一部追加しています。 詳細は差分を確認してください。 もし変更方法を修正したい場合は相談させてください。 動作が安定してきたら背景も表示させるために Cookieでデスクトップ設定を保存させてみます。 それと不具合?らしき動作ですが、 ウィンドウを×で閉じた後再度アイコンで表示しようとすると handler.resizable は Null またはオブジェクトではありません と表示されます。 -------------------------------------------------- 門田 明彦 (Monden Akihiko) has 206 E-Mail amons****@hotma***** TEL 070-5474-8689 http://amsoft.minidns.net/ -------------------------------------------------- >From: 川上真一 <mulcc****@nifty*****> >To: Conga****@lists***** >Subject: [Conga-mail 122] Re: IWindowの状態追加依頼 >Date: Wed, 14 Dec 2005 23:30:21 +0900 > >こんにちは。川上です。 > > >具体的にはタスクバーにIWindowを登録するかどうか判定するため、 > >IWindowが一旦起動してからhideされたものかどうかを動的にIWindowから判断し てい > >ます。 > >このときIWindow#isVisible() で判断していますが、以下の場合でfalseが返って き > >ます。 > >・IWindowを一旦表示して最小化ボタンを押したとき > >・IWindowを一度も表示(起動)していない状態でタスクバーオブジェクトに登録 し > >たとき > > > >つまりアイコン状態のウィンドウもタスクバーに表示されてしまいます。 > >そのため、実際に起動したかどうかを表すActiveフラグが必要です。 > >各イベントでのステートチャートです。 > > > >・IWindow生成時 false > >・IWindow#show true > >・IWindow#hide 変更なし > >・IWindow#close false > >「ウインドウとしてアクティブかどうか」という状態は > >・IWindow生成時 true >・IWindow#show true >・IWindow#hide true >・IWindow#close false > >であるべきだと思います。 >(つまり,ウインドウ生成から close されるまでが「アクティブな状態」) > >上記の状態に関しては,ウインドウがクローズされているかどうかを >調べれば良いだけなので,IWindow.isClosed メソッドで判定できます。 > > >ただし,このままだと,門田さんがおっしゃっているとおり > > >つまりアイコン状態のウィンドウもタスクバーに表示されてしまいます。 > >の扱いが問題となるのですが, >これに関しては, > >「アイコン状態の場合は,IWindow を生成せず, > アイコンダブルクリック時にはじめて IWindow を生成するようにする」 > >という動きをするようにしてみてはいかがでしょうか。 > >もうちょっと具体的に言うと, > 1.メインのHTMLには,デスクトップを表示するための情報のみを記述しておき, > 初期表示時にはその情報のみを読み込む。 > 2.アイコンダブルクリック時に,何らかの形でアプリケーション用の情報を > 読み込み,ウインドウを生成する。 >という形です。 > >現在は,アイコン状態であろうとなかろうと >デスクトップ表示用のHTMLに全てのアプリの情報を埋め込んで, >ウインドウ生成を行なっているので, >初期表示にかなり時間がかかっていますが, >上記の動きにすれば,初期表示時間も短くなるはずなので, >一石二鳥だとおもいます。 > >ただし,上記2.をどういう仕組みで実装するかが, >ちょっと悩ましいところですが。。。 > >一案としては,filer が別ウインドウを表示する時に使っている, >IWindow.setContentByURL を使うというのが >わりと簡単にできそうな方法です。 > > >_______________________________________________ >Conga-mail mailing list >Conga****@lists***** >http://lists.sourceforge.jp/mailman/listinfo/conga-mail