DaGaAr ___________________________080609_________________

[タイトル]:legendが消えるのが問題でして

[内容]:ユーザーがリストオプション操作をし続けることでlegendのindexがずれてどの変数とも対応しなくなるのが問題。

[目的] @plot_files, @del_files, @legendのindexを@r_filesのindexに合わせるようにする。

legendの動きのテスト>>

        index:   r_files:      plot_files:     del_files:      legend:
	0       _MP.dat        _MP.dat         CEMP_RGB.dat    MP    
	1       _EMP_RGB.dat   _EMP_RGB.dat                    EMP,RGB
	2       _EMP_MS.dat    _EMP_MS.dat                     EMP,MS 
	3       _Crich_RGB.dat _Crich_RGB.dat                  Crich,RGB
	4       _Crich_MS.dat  _Crich_MS.dat                   Crich,MS
	5       _CEMP_RGB.dat  _CEMP_RGB.dat                   CEMP,RGB 
	6       _CEMP_MS.dat   _CEMP_MS.dat                    CEMP,MS
        index:   r_files:      plot_files:     del_files:      legend:
	0       _MP.dat        _MP.dat                         MP    
	1       _EMP_RGB.dat   _EMP_RGB.dat                    EMP,RGB
	2       _EMP_MS.dat    _EMP_MS.dat                     EMP,MS 
	3       _Crich_RGB.dat _Crich_RGB.dat                  Crich,RGB
	4       _Crich_MS.dat  _Crich_MS.dat                   Crich,MS
	5       _CEMP_RGB.dat  _CEMP_RGB.dat  CEMP_RGB.dat     CEMP,RGB 
	6       _CEMP_MS.dat   _CEMP_MS.dat                    CEMP,MS
        index:   r_files:      plot_files:     del_files:      legend:
	0       _MP.dat        _MP.dat         _Crich_RGB.dat  MP    
	1       _EMP_RGB.dat   _EMP_RGB.dat                    EMP,RGB
	2       _EMP_MS.dat    _EMP_MS.dat                     EMP,MS 
	3       _Crich_RGB.dat _Crich_RGB.dat                  Crich,RGB
	4       _Crich_MS.dat  _Crich_MS.dat                   Crich,MS
	5       _CEMP_RGB.dat  _CEMP_MS.dat                    CEMP,MS 
	6       _CEMP_MS.dat                     
        index:   r_files:      plot_files:     del_files:      legend:
	0       _MP.dat        _MP.dat                         MP    
	1       _EMP_RGB.dat   _EMP_RGB.dat                    EMP,RGB
	2       _EMP_MS.dat    _EMP_MS.dat                     EMP,MS 
	3    _Crich_RGB.dat _Crich_RGB.dat   _Crich_RGB.dat    Crich,RGB
	4       _Crich_MS.dat  _Crich_MS.dat                   Crich,MS
	5       _CEMP_RGB.dat                       
	6       _CEMP_MS.dat    _CEMP_MS.dat                   CEMP,MS
                                   
        index:   r_files:      plot_files:     del_files:      legend:
	0       _MP.dat        _MP.dat                         MP    
	1       _EMP_RGB.dat   _EMP_RGB.dat                    EMP,RGB
	2       _EMP_MS.dat    _Crich_MS.dat                   EMP,MS 
	3       _Crich_RGB.dat _CEMP_MS.dat                   Crich,MS
	4       _Crich_MS.dat                                 CEMP,MS
	5       _CEMP_RGB.dat                      
	6       _CEMP_MS.dat                     

[対策]:

[感想] メンドクサイ。。。 月曜朝一作業はテンションが上がらない。

_____________________________________

書き込んでみる。

___________________________080120_________________

___________________________080128_________________

_______________080303____________________________

[問題]: ファイルアップロード<input type="file">タグがあるとページの有効期限切れになる

[対策1]:ページ更新切れのページを検索した。

[結論]:「ファイルフィールド(<input type="file">がある場合は、次のページがキャッシュされません。」とのことで基本的解決になっていない。 」

_______________080316____________________________

[問題]: ファイルアップロード<input type="file">タグがあるとページの有効期限切れになる

[対策2]: ファイルアップロードフォームへのリンクを張ってそのアップロードフォームでplotボタンを押すと、元のフォームでplotボタンを押すのと同じ状態することができた。これでページ有効期限切れは回避できるか?

具体的には、ファイルアップロードフォーム(upload.html)は以下のように実装した。

	<?xml version="1.0" encoding="Shift_JIS"?>
	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
	  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
	  <head>
	    <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
	    <title>アップロード用フォーム</title>
	  </head>
	  <body>
	    <h1>アップロード用フォーム</h1>
		
	    <form action="db.cgi?#plot" method="post" enctype="multipart/form-data">
	      <input type="file" name="uploaded_file">
	      <input type="submit" name="button" value="plot" >
	      <!--<input type="submit" value="送信">-->
	    </form>
	
	  </body>
	</html>

[注意点]: upload.htmlでplotをおすと同時にupload.htmlを閉じるよう実装する必要がある。又、リンク元ページでプロット情報はすでにsessionに保存されている必要がある(そうしないと、プロットでその情報だけ抜け落ちる)。

[結論]:できない

[理由]:upload.htmlでplotを押すリンク元のページが更新されず、新たにdb.cgi#plotページが生成されてしまう。から、javaなどで元のページを操作する必要あり?javaはわからない。

_______________080414____________________________

[作業]:使えそうなjavascriptを作ってみた。

http://astro3.sci.hokudai.ac.jp/~yamada/sample_select_radio2.html

[説明]:

セレクトメニュー => radioボタンの切り替え or radioボタン => セレクトメニュー切り替え

[アルゴリズム]:

A1 + B1 = 0, A1 + B2 = 1, A2 + B1 = 2, A2 + B2 = 3, ここで、ラジオグループA(A1, A2), B(B1,B2)であり、和の値はセレクトメニューのindex番号に対応している。      

              	A1     A2      B1     B2
	A1       ×     ×       0      1
	A2       ×     ×       2      3
	B1       0      2        ×     ×
	B2       1      3        ×     ×

これから、

	|A1      A2 |  =  | 0   2| 
	|B1      B2 |     | 0   1| 

であることがわかる。

(注)行列の要素は A? + B? の値 

今の場合、セレクトメニューのoptionの数=4,の場合(4×4行列) これを、任意のN×N行列に拡張するようにすれば、使えるのでは?

_______________080518____________________________

[作業]:UpLoad機能の実装

[経過]:List OptionにUpload Filesの表示、および、プロットは実装できた。

[残りの作業]:List OptionにおけるUpload FilesのLinestyle, Linetype, del, show機能の実装をする。

[名言]:ADSを制する者は宇宙を制する?

_______________080525____________________________

[本日の作業]:upload filesとlinesize,type,styleの対応づけまでをした。

[バグを発見]:Plot OptionのLegendを変更すると表示されなくなる。 そのときのplotコマンドをみると、title "" pt ps となっている ので、pointype, pointsizeがカラに設定されているのが原因とみられる。 たぶん、_allocate_indexが問題だと思われる。

[バグの原因]:_allocate_legend_indexのif ($r_files->[$i] =~ /.+_$dum1[$j]\.dat/) の部分が問題。@dum1=@legendで、defaultではr_filesの一部に@legendが入っているが、書き換えてしまったらこのif文は意味がない。

   my @dum1 = @legend; 
   my @dum2 = @linetype;
   my @dum3 = @linesize;
   @legend = ();
   @linetype = ();
   @linesize = ();
   
   foreach my $i (0..$#{$r_files}){
      foreach my $j (0.. $#dum1){
              $dum1[$j] =~ s/,/_/;
         if ($r_files->[$i] =~ /.+_$dum1[$j]\.dat/){
   #$lg->Debug("\$r_files->[$i] : $r_files->[$i] | \$legend[$j] : $dum1[$j] | \$linetype[$j] : $dum2[$j] | \$linesize[$j] : $dum3[$j]");
              $dum1[$j] =~ s/_/,/;
              $legend[$i] = $dum1[$j];
              $linetype[$i] = $dum2[$j];
              $linesize[$i] = $dum3[$j];
         }

[バグ対策案]:legend,linetype,linesizeのindexを上のようにするのではなく、plot_filesのindexに合わせるようにすればいいと思う。つまり、allocate_index_oneの

     foreach my $i(0..$#{$r_files}){
        $dummy[$i] = $r_files->[$i] if grep(/$r_files->[$i]/, @{$r_list});
     }

$dummy[$i] = $r_files->[$i] if ($r_files->[$i] = $r_list->[$j]); とかして, @dum_leg = @legend; @legend=(); $legend[$i] = $dem_leg[$j]; などとすればいいのかも。。

[Next 作業]:上のバグ修正。Upload List Optionのdel, show機能実装。メソッドの整理。Upload filesにセッションIDをつける。あと、_setup_defaultに書いたUpload filesのsetup部分は 違うメソッド_setup_default_uploadなどに書いて呼び出すようにしないといつかエラーになる。

[感想]:日曜作業は自由がないし、精神的にツライ...

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

[Freeメモを取ることにした]:

★Gnuplot::Plot->_setup_default()

★Gnuplot::List_Option

★[行番号]


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS