示例#1
0
		public NSObjectProjectInfo (TypeSystemService.ProjectContentWrapper dom, NSObjectInfoService infoService, IAssembly lookinAssembly)
		{
			this.infoService = infoService;
			this.dom = dom;
			this.lookinAssembly = lookinAssembly;
			needsUpdating = true;
		}
示例#2
0
 public NSObjectProjectInfo(TypeSystemService.ProjectContentWrapper dom, NSObjectInfoService infoService, IAssembly lookinAssembly)
 {
     this.infoService    = infoService;
     this.dom            = dom;
     this.lookinAssembly = lookinAssembly;
     needsUpdating       = true;
 }
		public XcodeSyncBackContext (FilePath projectDir, Dictionary<string,DateTime> syncTimes,
			NSObjectInfoService infoService, DotNetProject project)
			: base (projectDir, syncTimes)
		{
			InfoService = infoService;
			Project = project;
		}
示例#4
0
		public XcodeProjectTracker (DotNetProject dnp, NSObjectInfoService infoService)
		{
			if (dnp == null)
				throw new ArgumentNullException ("dnp");
			this.dnp = dnp;
			this.infoService = infoService;
			AppleSdkSettings.Changed += DisableSyncing;
		}
示例#5
0
 bool TryResolveCliToObjc(string cliType, out NSObjectTypeInfo resolved)
 {
     if (cliTypes.TryGetValue(cliType, out resolved))
     {
         return(true);
     }
     foreach (var r in dom.References)
     {
         var rDom = NSObjectInfoService.GetProjectInfo(r);
         if (rDom != null && rDom.cliTypes.TryGetValue(cliType, out resolved))
         {
             return(true);
         }
     }
     resolved = null;
     return(false);
 }
示例#6
0
		public XcodeSyncBackContext GetChanges (IProgressMonitor monitor, NSObjectInfoService infoService, DotNetProject project)
		{
			var ctx = new XcodeSyncBackContext (projectDir, syncTimeCache, infoService, project);
			var needsSync = new List<XcodeSyncedItem> (items.Where (i => i.NeedsSyncBack (monitor, ctx)));
			var knownFiles = GetKnownFiles ();
			
			if (Directory.Exists (projectDir)) {
				monitor.BeginTask ("Scanning for newly-added files in the Xcode project...", 0);
				ScanForAddedFiles (monitor, ctx, knownFiles, projectDir, null);
				monitor.EndTask ();
			}
			
			if (needsSync.Count > 0) {
				monitor.BeginStepTask (GettextCatalog.GetString ("Synchronizing changes made to known files in Xcode back to MonoDevelop..."), needsSync.Count, 1);
				for (int i = 0; i < needsSync.Count; i++) {
					var item = needsSync [i];
					item.SyncBack (monitor, ctx);
					monitor.Step (1);
				}
				monitor.EndTask ();
			}
			
			return ctx;
		}
示例#7
0
		public XcodeSyncBackContext GetChanges (IProgressMonitor monitor, NSObjectInfoService infoService, DotNetProject project)
		{
			var ctx = new XcodeSyncBackContext (projectDir, syncTimeCache, infoService, project);
			var needsSync = new List<XcodeSyncedItem> (items.Where (i => i.NeedsSyncBack (ctx)));
			var knownFiles = GetKnownFiles ();
			
			ScanForAddedFiles (ctx, knownFiles, projectDir, null);
			
			if (needsSync.Count > 0) {
				monitor.BeginStepTask (GettextCatalog.GetString ("Synchronizing Xcode project changes"), needsSync.Count, 1);
				for (int i = 0; i < needsSync.Count; i++) {
					var item = needsSync [i];
					item.SyncBack (ctx);
					monitor.Step (1);
				}
				
				monitor.Log.WriteLine (GettextCatalog.GetPluralString ("Synchronized {0} file", "Synchronized {0} files", needsSync.Count), needsSync.Count);
				monitor.EndTask ();
			}
			
			return ctx;
		}
示例#8
0
		public XcodeSyncBackContext GetChanges (NSObjectInfoService infoService, DotNetProject project)
		{
			var ctx = new XcodeSyncBackContext (projectDir, syncTimeCache, infoService, project);
			var needsSync = new List<XcodeSyncedItem> (items.Where (i => i.NeedsSyncBack (ctx)));
			if (needsSync.Count > 0) {
				Ide.IdeApp.Workbench.StatusBar.BeginProgress (GettextCatalog.GetString ("Synchronizing external project changes..."));
				for (int i = 0; i < needsSync.Count; i++) {
					var item = needsSync [i];
					item.SyncBack (ctx);
					Ide.IdeApp.Workbench.StatusBar.SetProgressFraction ((i + 1.0) / needsSync.Count);
				}
				Ide.IdeApp.Workbench.StatusBar.EndProgress ();
				Ide.IdeApp.Workbench.StatusBar.ShowMessage (string.Format (GettextCatalog.GetPluralString ("Synchronized {0} file", "Synchronized {0} files", needsSync.Count), needsSync.Count));
			}
			return ctx;
		}
示例#9
0
		public NSObjectProjectInfo (ProjectDom dom, NSObjectInfoService infoService)
		{
			this.infoService = infoService;
			this.dom = dom;
			needsUpdating = true;
		}
 public NSObjectProjectInfo(ProjectDom dom, NSObjectInfoService infoService)
 {
     this.infoService = infoService;
     this.dom         = dom;
     needsUpdating    = true;
 }
		public XcodeProjectTracker (DotNetProject dnp, NSObjectInfoService infoService)
		{
			this.dnp = dnp;
			this.infoService = infoService;
			AppleSdkSettings.Changed += DisableSyncing;
		}
示例#12
0
		public XcodeSyncBackContext GetChanges (NSObjectInfoService infoService, DotNetProject project)
		{
			var ctx = new XcodeSyncBackContext (projectDir, syncTimeCache, infoService, project);
			foreach (var item in items) {
				if (item.NeedsSyncBack (ctx)) {
					item.SyncBack (ctx);
				}
			}
			return ctx;
		}
示例#13
0
		public XcodeProjectTracker (DotNetProject dnp, NSObjectInfoService infoService)
		{
			this.dnp = dnp;
			this.infoService = infoService;
		}