private void button4_Click(object sender, EventArgs e)
        {
            this.Hide();
            ProgInfo frm = new ProgInfo();

            frm.Show();
        }
 public void IndexProg(ProgInfo prog)
 {
     progData[prog.Prog] = prog;
     Index(artistIndex, prog.Artist, prog.Prog);
     Index(coverIndex, prog.Cover, prog.Prog);
     Index(monthYearIndex, prog.MonthYear, prog.Prog);
     Index(yearIndex, prog.Year, prog.Prog);
 }
 public void IndexProg(ProgInfo prog) => progStore.IndexProg(prog);
 private ProgInfo get_programm_info(ICSharpCode.NRefactory.Ast.CompilationUnit cu, string source)
 {
 	ProgInfo info = new ProgInfo();
 	List<string> usings = new List<string>();
 	foreach (ICSharpCode.NRefactory.Ast.INode node in cu.Children)
 	{
 		if (node is ICSharpCode.NRefactory.Ast.TypeDeclaration)
 		{
 			ICSharpCode.NRefactory.Ast.TypeDeclaration td = node as ICSharpCode.NRefactory.Ast.TypeDeclaration;
 			if (td.Type == ICSharpCode.NRefactory.Ast.ClassType.Module)
 			{
 				foreach (ICSharpCode.NRefactory.Ast.INode node2 in td.Children)
 				{
 					if (node2 is ICSharpCode.NRefactory.Ast.MethodDeclaration)
 					{
 						ICSharpCode.NRefactory.Ast.MethodDeclaration meth = node2 as ICSharpCode.NRefactory.Ast.MethodDeclaration;
 						if (string.Compare(meth.Name,"Main",true)==0 && (meth.Parameters == null || meth.Parameters.Count == 0))
 						{
 							//info = new ProgInfo();
 							info.entry_module = (meth.Parent as ICSharpCode.NRefactory.Ast.TypeDeclaration).Name;
 							//info.entry_method_name_line = meth.StartLocation.Line;
 							//info.entry_method_name_col = meth.StartLocation.Column;
 							info.entry_method_name_pos = find_pos(source,meth.StartLocation.Line,meth.StartLocation.Column,true);
 							if (meth.Body.Children.Count > 0)
 							{
 								for (int i=0; i<meth.Body.Children.Count; i++)
 								{
 									if (!(meth.Body.Children[i] is ICSharpCode.NRefactory.Ast.LocalVariableDeclaration))
 									{
 										info.entry_method_line = meth.Body.Children[i].StartLocation.Line;
 										break;
 									}
 								}
 							}
 							else
 							info.entry_method_line = meth.Body.EndLocation.Line;
 						}
 					}
 				}
 			}
 		}
 		else if (node is ICSharpCode.NRefactory.Ast.UsingDeclaration)
 		{
 			ICSharpCode.NRefactory.Ast.UsingDeclaration using_node = node as ICSharpCode.NRefactory.Ast.UsingDeclaration;
 			
 			foreach (ICSharpCode.NRefactory.Ast.Using us in using_node.Usings)
 				if (!string.IsNullOrEmpty(us.Name))
 				usings.Add(us.Name);
 			if (info.using_pos == -1)
 			info.using_pos = find_pos(source,using_node.EndLocation.Line,using_node.EndLocation.Column,false);
 		}
 	}
 	if (info.entry_module != null)
 	{
 		add_import_info(info,usings);
 		return info;
 	}
 	return null;
 }
 	private void add_import_info(ProgInfo info, List<string> imports)
 	{
 		Hashtable ht = new Hashtable(StringComparer.CurrentCultureIgnoreCase);
 		ht["GraphABC"] = "GraphABC";
 		ht["GraphABCHelper"] = "GraphABCHelper";
 		ht["ABCObjects"] = "ABCObjects";
 		ht["Robot"] = "Robot";
 		ht["Drawman"] = "Drawman";
 		ht["DrawManField"] = "DrawManField";
 		foreach (string s in imports)
 		{
 			string low_s = s.ToLower();
 			//string mod_file = FindSourceFileInDirectories(s+".mod",Path.Combine(this.CompilerOptions.SystemDirectory,"lib"));
 			if (ht[s] != null)
 			{
 				string name = ht[s] as string;
 				if (!info.modules.Contains(name))
 				{
 					info.modules.Add(name);
 					info.addit_imports.Add(name+"."+name);
 				}
 			}
 			/*if (!string.IsNullOrEmpty(mod_file))
 			{
 				switch (low_s)
 				{
 						case "graphabc" : 
 						if (!info.modules.Contains("GraphABC") && !info.modules.Contains("ABCObjects") && !info.modules.Contains("ABCButtons") && !info.modules.Contains("ABCHouse")
 						                     && !info.modules.Contains("ABCSprites") && !info.modules.Contains("RobotField"))
 						{
 							info.modules.Add("GraphABC");
 							info.addit_imports.Add("GraphABC.GraphABC");
 						}
 						else if (!info.addit_imports.Contains("GraphABC.GraphABC"))
 						{
 							info.addit_imports.Add("GraphABC.GraphABC");
 						}
 						break;
 						case "abcobjects" :
 						if (!info.modules.Contains("ABCObjects") && !info.modules.Contains("ABCButtons") && !info.modules.Contains("ABCHouse")
 						                     && !info.modules.Contains("ABCSprites") && !info.modules.Contains("RobotField"))
 						{
 							info.modules.Add("ABCObjects");
 							info.addit_imports.Add("ABCObjects.ABCObjects");
 							if (info.modules.Contains("GraphABC"))
 							{
 								info.modules.Remove("GraphABC");
 								//info.addit_imports.Remove("GraphABC.GraphABC");
 							}
 						}
 						break;
 						default:
 						if (!info.modules.Contains(s))
 						{
 							info.modules.Add(s);
 							info.addit_imports.Add(s+"."+s);
 						}
 						break;
 				}
 			}*/
 			else
 			{
 				string source_file = FindSourceFileInDirectories(s+".vb",Path.GetDirectoryName(CompilerOptions.SourceFileName),Path.Combine(this.CompilerOptions.SystemDirectory,"lib"),
 				                                                 Path.Combine(this.CompilerOptions.SystemDirectory,"LibSource"));
 				if (!string.IsNullOrEmpty(source_file))
 				{
 					if (!info.addit_project_files.Contains(source_file))
 					{
 						info.addit_project_files.Add(source_file);
 					}
 				}
 			}
 		}
 		/*List<string> mods = new List<string>();
 		List<int> inds = new List<int>();
 		for (int i=0; i<info.modules.Count; i++)
 		{
 			switch (info.modules[i])
 			{
 				case "GraphABCHelper" : inds.Add(0); break;
 				case "GraphABC" : inds.Add(1); break;
 				case "ABCObjects" : inds.Add(2); break;
 				case "ABCHouse" : inds.Add(3); break;
 				case "ABCSprites" : inds.Add(3); break;
 				case "ABCButtons" : inds.Add(3); break;
 				case "DMCollect" : inds.Add(0); break;
 				case "DrawManField" : inds.Add(2); break;
 				case "DMZadan" : inds.Add(4); break;
 				case "DMTaskMaker" : inds.Add(3); break;
 				case "RobotField" : inds.Add(2); break;
 				case "RobotTaskMaker" : inds.Add(3); break;
 				case "RobotZadan" : inds.Add(4); break;
 				case "Robot" : inds.Add(5); break;
 			}
 		}*/
 		
 	}
Esempio n. 6
0
 void IProgressReceiver.ReportProgressDetails(ProgInfo info)
 {
     // NA
 }