pub fn make_path(&mut self, selected_item_name: &str, mut p: &[String])->Vec<String> {
		//select: IDD_ABOUT_DLG, p: [Root,IDD_MAIN_DLG]
		//println!("direct parent path:{:?}", p);
		// pop "root" first
		assert!(p[0] == "Root");
		p = &p[1..];

		//the selected dlg in listbox,so remove it from rc_root first
		let mut selected_dlg = self.root.delete_child(selected_item_name);
		
		// return children of the selected container
		let ret = selected_dlg.direct_child_container();

		// container where inserted to
		let direct_parent_dlg = self.root.from_path(p).expect("container shold exist");
		direct_parent_dlg.add_child(selected_dlg);
		ret
	}
/// construct a tree structure as the given path,and return all it's container

construct a tree structure as the given path,and return all it's container
construct a tree structure as the given path and return all it ' s container
pub fn make_path(&mut self, selected_item_name: &str, mut p: &[String])->Vec<String> {
		//select: IDD_ABOUT_DLG, p: [Root,IDD_MAIN_DLG]
		//println!("direct parent path:{:?}", p);
		// pop "root" first
		assert!(p[0] == "Root");
		p = &p[1..];
		//the selected dlg in listbox,so remove it from rc_root first
		let mut selected_dlg = self.root.delete_child(selected_item_name);
		// return children of the selected container
		let ret = selected_dlg.direct_child_container();
		// container where inserted to
		let direct_parent_dlg = self.root.from_path(p).expect("container shold exist");
		direct_parent_dlg.add_child(selected_dlg);
		ret
	}
pub fn make_path ( & mut self , selected_item_name : & str , mut p : & [ String ] ) -> Vec < String > { //select: IDD_ABOUT_DLG, p: [Root,IDD_MAIN_DLG]
 //println!("direct parent path:{:?}", p);
 // pop "root" first
 assert ! ( p [ 0 ] " " ) ; p = & p [ 1 .. ] ; //the selected dlg in listbox,so remove it from rc_root first
 let mut selected_dlg = self . root . delete_child ( selected_item_name ) ; // return children of the selected container
 let ret = selected_dlg . direct_child_container ( ) ; // container where inserted to
 let direct_parent_dlg = self . root . from_path ( p ) . expect ( " " ) ; direct_parent_dlg . add_child ( selected_dlg ) ; ret }
construct a tree structure as the given path,and return all it's container
construct a tree structure as the given path and return all it ' s container
&mut self
selected_item_name
&str
p
&[String]
&mut self
selected_item_name
&str
p
&[String]