
import win.ui;
import web.form;
import win.util.popup
import process;
import win.util.tray;

//这是一个显示web窗体的函数
showDict =function( word,...){
    word = string.trim(word);
/*DSG{{*/
var winform = win.form(parent=...; min=false;bottom=226;max=false;right=305;scroll=1;text="AAuto Form";exmode="toolwindow";mode="popup" )
winform.add(  )
/*}}*/

//创建web窗体
    var wb = web.form( winform 
        ,//可输入_UIFLAG_ 前缀的常量自定义外观
        ,//可输入_DLCTL_ 前缀的常量以控制下载行为
        );
      
    //自动点击读单词
    clickAudio = function(){
        for(k,ele in wb.eachLinks()){ 
            ele.click()  
            break ;;
        }
    }
    
    //准备打开网页前触发
    wb.BeforeNavigate2=function( pDisp, url, Flags, TargetFrameName, PostData, Headers, Cancel ) { 
        
        if( ! string.find(url,"@mini.php?q=" ) ){
            //禁止打开广告页,最后一个返回值为true就行了
            return url, Flags, TargetFrameName, PostData, Headers, true;
        }
    } 
    
    //网页下载完成触发
    wb.DocumentComplete=function( pDisp, url) {  
        clickAudio();//读单词
    } 
    
    //弹出窗口前触发
    wb.NewWindow2=function( ppDisp, Cancel) { 
        return ppDisp, true;  //禁止弹窗
    } 
    
    //打开目标网站
    wb.go("http://dict.cn/mini.php?q=" + word)
    //等待页面下载
    wb.wait();
    
    //在屏幕右下角显示弹窗
    winform.transparent(180)
    pop = win.util.popup(winform,,false)
    
    //弹窗关闭倒计时触发
    pop.countdown=function(remaintime){
        var ele = wb.getEle("remaintime")
        winform.text =  "自动背单词    "+ remaintime + "秒"
        if(remaintime==5)
            clickAudio()
    } 
    
    //进入消息循环
    win.loopMessage();
    return wb,winform;
     
}

//载入字典文件,每行一个单词
dic = string.load("/dic.txt");
if(!dic){
    dic = "good"
    string.save("/dic.txt",dic) 
    win.util.tray.pop("请添加新单词,每行一个,关闭保存然后继续","未找到字典文件")
    
    //自动打开字典文件,并等待用户编辑完成
    process.execute_wait("/dic.txt");
    dic = string.load("/dic.txt");
}

//拆分为table数组
var tdic = string.split(dic,'<\r\n>');

//遍历数组
for(i=1;#tdic;1){
    showDict( tdic[ i ] ) //显示单词
    win.delay( 60 * 1000) //60秒一次
}
