//监视资源管理器 changeNotification

import win.ui;
/*DSG{{*/
var winform = ..win.form(text="请拖动需要监视的文件到下面的文件列表内";right=599;bottom=399;max=false;parent=...)
winform.add(
btnWatch={cls="button";text="开始监视";left=332;top=166;right=484;bottom=203;z=2};
lvChange={cls="listview";left=16;top=212;right=579;bottom=384;acceptfiles=1;bgcolor=16777215;edge=1;z=3};
lvFile={cls="listview";left=18;top=12;right=581;bottom=160;acceptfiles=1;bgcolor=16777215;edge=1;z=1}
)
/*}}*/

import win.util.changeNotification;
changeNotification = win.util.changeNotification(winform);

changeNotification.onMakeDir = function(srcPath,dstPath){
	 winform.lvChange.addItem( {srcPath;"创建目录"} )
}
changeNotification.onCreate = function(srcPath,dstPath){
	 winform.lvChange.addItem( {srcPath;"创建文件"} )	
}
changeNotification.onRenameItem = function(srcPath,dstPath){
	 winform.lvChange.addItem( {srcPath;"重命名文件"} )	
}
changeNotification.onRenameFolder = function(srcPath,dstPath){
	 winform.lvChange.addItem( {srcPath;"重命名目录"} )	
}
changeNotification.onDelete = function(srcPath,dstPath){
	 winform.lvChange.addItem( {srcPath;"删除文件"} )	
} 
changeNotification.onRemoveDir = function(srcPath,dstPath){
	 winform.lvChange.addItem( {srcPath;"删除目录"} )	 
} 
changeNotification.onUpdateDir = function(srcPath,dstPath){
	 winform.lvChange.addItem( {srcPath;"目录下的文件已被改动"} )		
}

winform.btnWatch.oncommand = function(id,event){
	if( winform.btnWatch.text == "开始监视"){
		changeNotification.deregister();
		changeNotification.register();
		winform.btnWatch.text = "停止监视";
	}
	else {
		changeNotification.deregister()
		winform.btnWatch.text = "开始监视";
	} 
} 

winform.lvFile.wndproc = {
	[0x233/*_WM_DROPFILES*/] = function(hwnd,message,wParam,lParam){
		var files = win.getDropFile(wParam)
		for(i=1;#files;1){
			winform.lvFile.addItem(files[i]) 
			changeNotification.watch(files[i],true);
		} 
	}
} 
 
winform.lvFile.insertColumn("文件",-1)   
winform.lvChange.insertColumn("文件",100) 
winform.lvChange.insertColumn("状态",100) 
winform.lvChange.fillParent(1);

winform.show() 
win.loopMessage();
