protected override void AddCodeMarkers(FileModel fileModel) { foreach (IForEachStatement item in fileModel.All<IForEachStatement>().Where(v => v.ExistsTextuallyInFile)) { var lineCheck = item.Text.Trim(); if (lineCheck.IndexOf("(") != -1) { var result = whiteSpaceHelper.CheckNoWhiteSpaceAroundCharacter(lineCheck, "("); if (result == true) { item.AddCodeMarker(WarningId, this, FixSpacingForEach, item); } } } foreach (IForStatement item in fileModel.All<IForStatement>().Where(v => v.ExistsTextuallyInFile)) { var lineCheck = item.Text.Trim(); if (lineCheck.IndexOf("(") != -1) { var result = whiteSpaceHelper.CheckNoWhiteSpaceAroundCharacter(lineCheck, "("); if (result == true) { item.AddCodeMarker(WarningId, this, FixSpacingFor, item); } } } }
protected override void AddCodeMarkers(FileModel fileModel) { Dictionary<IMemberDeclaration, List<IVariableDeclaration>> variableDeclarations = new Dictionary<IMemberDeclaration, List<IVariableDeclaration>>(); foreach (IVariableDeclaration variable in fileModel.All<IVariableDeclaration>().Where(v => v.ExistsTextuallyInFile)) { IMemberDeclaration member = variable.EnclosingMember(); if (member.ExistsTextuallyInFile) { if (!variableDeclarations.ContainsKey(member)) { variableDeclarations[member] = new List<IVariableDeclaration>(); } variableDeclarations[member].Add(variable); } } foreach (KeyValuePair<IMemberDeclaration, List<IVariableDeclaration>> pair in variableDeclarations) { if (pair.Value.Count > 64) { pair.Key.AddCodeMarker(CodeMarkerId, this); } } }
private void MoveUsingStatements(FileModel fileModel) { List<IUsingDirectiveSection> innerSections = new List<IUsingDirectiveSection>(); IUsingDirectiveSection mainSection = null; foreach (IUsingDirectiveSection section in fileModel.All<IUsingDirectiveSection>()) { if (section.Enclosing<INamespaceDeclaration>().Exists) { innerSections.Add(section); } else if (mainSection == null) { mainSection = section; } } if (mainSection != null) { foreach (IUsingDirectiveSection section in innerSections) { section.Insert(mainSection.Directives, section.FileModel); } foreach (IUsingDirective directive in mainSection.Directives) { directive.Remove(); } } }
public static IMethodDeclaration CreateEventInvocator(FileModel fileModel, IEventDeclaration eventDeclaration) { IDelegateDeclaration delegateDeclaration = eventDeclaration.TypeName.Type.As<IDelegateType>().DelegateDeclaration; if (delegateDeclaration.Exists) { var language = eventDeclaration.Language; IModifiers modifiers = language.Modifiers(Modifiers.Protected | Modifiers.Virtual); IList<IParameter> parameters = new List<IParameter>(); IList<IArgument> arguments = new List<IArgument>(); arguments.Add(language.Argument(language.New<IThis>())); IParameter lastParameter = delegateDeclaration.Parameters.Parameters.Last(); GenerateSecondParameterAndArgument(eventDeclaration, lastParameter, language, fileModel, arguments, parameters); if (string.Equals(language.Name, LanguageNames.CSharp, StringComparison.Ordinal)) { return CreateCSInvocator(eventDeclaration, modifiers, arguments, parameters, language); } else if (string.Equals(language.Name, LanguageNames.VisualBasic, StringComparison.Ordinal)) { return CreateVBInvocator(eventDeclaration, modifiers, arguments, parameters, language); } } return eventDeclaration.Language.None<IMethodDeclaration>(); }
static string GetInheritedMemberTag(FileModel model, string memberName) { return model.Classes .SelectMany(classModel => classModel.Members.Cast<MemberModel>()) .Where(memberModel => memberModel.Name == memberName) .Select(memberModel => memberModel.Name + "@" + memberModel.LineFrom) .FirstOrDefault(); }
protected override void AddCodeMarkers(FileModel fileModel) { foreach (IAddEventHandlerStatement addEventHandler in fileModel.All<IAddEventHandlerStatement>().Where(x => x.HandlerExpression.Is<IObjectCreation>())) { IObjectCreation objectCreation = addEventHandler.HandlerExpression.As<IObjectCreation>(); objectCreation.TypeName.AddCodeMarker(RemoveNewDelegateCreationMarkerID, this, RemoveUnnecessaryObjectCreation, objectCreation); } }
/// <summary> /// This method is responsible for analyzing a single file and producing warning code markers. /// It gets called whenever the file or its dependencies changes so that reanalysis of the code /// markers is required /// </summary> protected override void AddCodeMarkers(FileModel fileModel) { // you can use fileModel.All<T> to iterate over the construct you are in terested in // you might also use LINQ queries foreach (IComment comment in fileModel.All<IComment>().Where(v => v.ExistsTextuallyInFile)) { var lineCheck = comment.Text.Trim(); CheckForSingleComments(lineCheck, comment); } }
protected override void AddCodeMarkers(FileModel fileModel) { foreach (var memberDeclaration in fileModel.All<IMemberDeclaration>().Where(m => m.ExistsTextuallyInFile && m.IsPublic() && AreAllEnclosingClassesPublic(m))) { if (!memberDeclaration.DocComment.Exists) { memberDeclaration.Identifier.AddCodeMarker(WarningID, this, GenerateDocumentation, memberDeclaration); } } }
public MainWindowViewModel(string customerDataFile) { base.DisplayName = Strings.MainWindowViewModel_DisplayName; //FileView = new FileView(); //Content = FileView; //FileController = new FileController(FileModel, FileView); //_customerRepository = new CustomerRepository(customerDataFile); FileModel = new FileModel(); }
public void CheckUsing(FileModel fileModel) { if (fileModel.FileName != "AssemblyInfo") { foreach (IUsingDirectiveSection section in fileModel.All<IUsingDirectiveSection>()) { if (!section.Enclosing<INamespaceDeclaration>().Exists && section.Directives.Count() > 0) { section.AddCodeMarker(WarningId, this, MoveUsingStatements, fileModel); break; } } } }
protected override void AddCodeMarkers(FileModel fileModel) { var needWarning = false; foreach (IForEachStatement item in fileModel.All<IForEachStatement>().Where(v => v.ExistsTextuallyInFile)) { List<string> keywordSearch = new List<string> { "foreach" }; foreach (var key in keywordSearch) { if (item.Text.WholeWordIndexOf(key) != -1) { needWarning = this.CheckSpacingAroundKeyword(key, item.Text); if (needWarning == true) { item.AddCodeMarker(WarningId, this, FixSpacingAroundKeywordForeach, item); break; } } } } }
private void LoadDummyData() { var folderModel = new FolderModel { Name = "Folder", FullPath = "D:\\Folder", ChangedDate = DateTime.Now }; _content.Add(folderModel); var fileModel = new FileModel { Name = "File", FullPath = "D:\\File", ChangedDate = DateTime.Now, Size = 123, Extension = ".none" }; _content.Add(fileModel); }
protected override void AddCodeMarkers(FileModel fileModel) { var needWarning = false; // Grabs the first two rows of a list foreach (IVariableDeclaration item in fileModel.All<IVariableDeclaration>().Where(v => v.ExistsTextuallyInFile)) { List<string> keywordSearch = new List<string> { "new" }; foreach (var key in keywordSearch) { if (item.Text.Contains(key)) { needWarning = this.CheckSpacingAroundKeyword(key, item.Text.ToString()); if (needWarning == true) { item.AddCodeMarker(WarningId, this, FixSpacingAroundKeywordVarDec, item); } } } } // Grabs everything else foreach (IAssignmentExpression item in fileModel.All<IAssignmentExpression>().Where(v => v.ExistsTextuallyInFile)) { List<string> keywordSearch = new List<string> { "new" }; foreach (var key in keywordSearch) { if (item.Text.Contains(key)) { needWarning = this.CheckSpacingAroundKeyword(key, item.Text.ToString()); if (needWarning == true) { item.AddCodeMarker(WarningId, this, FixSpacingAroundKeywordAsExp, item); } } } } }
/// <summary> /// AS2/AS3 detection /// </summary> /// <param name="doc">Document to check</param> /// <returns>Detected language</returns> private string DetectActionscriptVersion(ITabbedDocument doc) { ASFileParser parser = new ASFileParser(); FileModel model = new FileModel(doc.FileName); parser.ParseSrc(model, doc.SciControl.Text); if (model.Version == 1 && PluginBase.CurrentProject != null) return PluginBase.CurrentProject.Language; else if (model.Version > 2) return "as3"; else if (model.Version > 1) return "as2"; else if (settingObject.LastASVersion != null) return settingObject.LastASVersion; else return "as2"; }
private async Task ExecuteSelectFile(FileModel model) => await PropertiesViewModel.ExecuteSelectFile(model);
private void _processingWorker_DoWork(object sender, DoWorkEventArgs e) { while (_unprocessedMessages.Any()) { Tuple <string, Message> messageTuple = _unprocessedMessages.First(); string conversationId = messageTuple.Item1; Message message = messageTuple.Item2; PersonModel messageSender = _parent.Persons.Find( obj => obj.EmailAddresses.Any(obj2 => obj2.Address == message.From.Address)); EmailAddressModel authorEmailAddress = messageSender.EmailAddresses.Single(obj => obj.Address == message.From.Address); ConversationMessageModel receivedMessage = new ConversationMessageModel(messageSender, message.InternalDate) { ConversationId = conversationId }; ConversationEmailMessageModel emailMessage = new ConversationEmailMessageModel(receivedMessage, authorEmailAddress, message.Subject, message.Body.Html == "" ? message.Body.Text : message.Body.Html); this.Dispatcher.Invoke(() => { BitmapSource previewImage = ImageHelper.GetHtmlImagePreview( message.Body.Html == "" ? message.Body.Text : message.Body.Html, new Size(600, 60), new Size(600, 250)); previewImage.Freeze(); emailMessage.PreviewImage = previewImage; }); if (message.Attachments.Any()) { _parent.AwaitingMessages.Add(emailMessage); foreach (Attachment attachment in message.Attachments) { if (!attachment.Downloaded) { attachment.Download(); } FileModel file = new FileModel(attachment, DateTime.Today); emailMessage.Attachments.Add(file); } _parent.UploadClient.UploadFiles(emailMessage, emailMessage.Attachments); } else { _parent.Client.AddNewMessage(conversationId, emailMessage); } _unprocessedMessages.Remove(messageTuple); } }
public List<FileModel> ViewFiles() { List<FileModel> result = new List<FileModel>(); using (var connection = new SqlConnection(_connectionString)) { var command = new SqlCommand("SELECT FileId,[File],UploadTime,FileName FROM dbo.FileTable", connection); connection.Open(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { FileModel readFile = new FileModel(); readFile.FileID = reader.GetInt32(0); readFile.File = (byte[])reader.GetValue(1); readFile.UploadTime = reader.GetDateTime(2); readFile.FileName = reader.GetString(3); readFile.Grade = GetGrade(readFile.FileID); result.Add(readFile); } } return result; } }
protected virtual void UpdateModelContent(FileModel model) { var apiModel = ApiBuildOutput.FromModel((PageViewModel)model.Content); // Fill in details model.Content = apiModel; }
public async Task <JsonResult> UploadFile(int key, int fileId, int type) { string fileUrl = ""; var _type = string.Empty; string deleteURL = string.Empty; var file = new FileModel(); try { foreach (string f in Request.Files) { var fileContent = Request.Files[f]; if (fileContent != null && fileContent.ContentLength > 0) { Stream stream = fileContent.InputStream; string root = Server.MapPath($"~{Utility.FileUtils._profile_parent_folder}"); stream.Position = 0; file = _bizMedia.GetFileUploadUrl(fileContent.FileName, root, Utility.FileUtils.GenerateProfileFolder()); using (var fileStream = System.IO.File.Create(file.FullPath)) { await stream.CopyToAsync(fileStream); fileStream.Close(); fileUrl = file.FileUrl; } deleteURL = fileId <= 0 ? $"/hoso/delete?key={key}" : $"/hoso/delete/0/{fileId}"; if (fileId > 0) { await _rpTailieu.UpdateExistingFile(new TaiLieu { FileName = file.Name, Folder = file.Folder, FilePath = file.FileUrl, ProfileId = 0, ProfileTypeId = type }, fileId); } _type = System.IO.Path.GetExtension(fileContent.FileName); } } if (_type.IndexOf("pdf") > 0) { var config = new { initialPreview = fileUrl, initialPreviewConfig = new[] { new { caption = file.Name, url = deleteURL, key = key, type = "pdf", width = "120px" } }, append = false }; return(Json(config)); } else { var config = new { initialPreview = fileUrl, initialPreviewConfig = new[] { new { caption = file.Name, url = deleteURL, key = key, width = "120px" } }, append = false }; return(Json(config)); } //return Json(result); } catch (Exception) { Session["LstFileHoSo"] = null; } return(Json(new { Result = fileUrl })); }
public bool CanUnzip(FileModel fileModel) { return(fileModel != null && fileModel.Extension.OrdinalEquals(".zip")); }
private bool CanSelectFile(FileModel model) => true;
public bool CanOpenInNewWindow(FileModel fileModel) { return(fileModel?.IsDirectory == true); }
public bool CanEditImage(FileModel fileModel) { return(ImageEditExtensions.Any(x => x.OrdinalEquals(fileModel?.Extension))); }
public bool CanOpenItem(FileModel fileModel) { return(fileModel != null); }
/// <summary> /// Retrieve/build typed copies of generic types /// </summary> private ClassModel ResolveGenericType(string baseType, string indexType, FileModel inFile) { ClassModel originalClass = base.ResolveType(baseType, inFile); if (originalClass.IsVoid()) { return(originalClass); } ClassModel indexClass = ResolveType(indexType, inFile); if (indexClass.IsVoid()) { return(originalClass); } indexType = indexClass.QualifiedName; FileModel aFile = originalClass.InFile; // is the type already cloned? foreach (ClassModel otherClass in aFile.Classes) { if (otherClass.IndexType == indexType) { return(otherClass); } } // clone the type ClassModel aClass = originalClass.Clone() as ClassModel; aClass.Name = baseType + ".<" + indexType + ">"; aClass.IndexType = indexType; string typed = "<" + indexType + ">"; foreach (MemberModel member in aClass.Members) { if (member.Name == baseType) { member.Name = baseType.Replace("<T>", typed); } if (member.Type != null && member.Type.IndexOf('T') >= 0) { if (member.Type == "T") { member.Type = indexType; } else { member.Type = member.Type.Replace("<T>", typed); } } if (member.Parameters != null) { foreach (MemberModel param in member.Parameters) { if (param.Type != null && param.Type.IndexOf('T') >= 0) { if (param.Type == "T") { param.Type = indexType; } else { param.Type = param.Type.Replace("<T>", typed); } } } } } aFile.Classes.Add(aClass); return(aClass); }
public virtual Task PostUploadAsync(FolderModel folderModel, FileModel fileModel) { return(Task.FromResult(0)); }
public virtual void OverrideAllowedOperations(FileModel fileModel, List <AllowedOperation> allowed, PathIdentifier virtualPathIdentifier) { // This is a NoOp in the base class we're not going to change anything about the allowed operations here. }
public bool CanPinToQuickAccess(FileModel fileModel) { return(IsChildFolder && fileModel != null && fileModel.IsDirectory && !QuickAccess.Folders.Contains(fileModel)); }
private void AddRegionsExtended(TreeNodeCollection tree, FileModel aFile) { int endRegion = 0; int index = 0; MemberModel region = null; MemberList regions = aFile.Regions; int count = regions.Count; for (index = 0; index < count; ++index) { region = regions[index]; MemberTreeNode node = new MemberTreeNode(region, ICON_PACKAGE); tree.Add(node); endRegion = (index + 1 < count) ? regions[index + 1].LineFrom : int.MaxValue; MemberList regionMembers = new MemberList(); foreach (MemberModel import in aFile.Imports) { if (import.LineFrom >= region.LineFrom && import.LineTo <= endRegion) { regionMembers.Add(import); } } foreach (MemberModel fileMember in aFile.Members) { if (fileMember.LineFrom >= region.LineFrom && fileMember.LineTo <= endRegion) { regionMembers.Add(fileMember); } } foreach (ClassModel cls in aFile.Classes) { if (cls.LineFrom <= region.LineFrom) { foreach (MemberModel clsMember in cls.Members) { if (clsMember.LineFrom >= region.LineFrom && clsMember.LineTo <= endRegion) { regionMembers.Add(clsMember); } } } else if (cls.LineFrom >= region.LineFrom && cls.LineTo <= endRegion) { regionMembers.Add(cls); } } AddMembers(node.Nodes, regionMembers); } }
public void PinToQuickAccess(FileModel fileModel) { QuickAccess.Folders.Add(fileModel); SaveQuickAccessFolders(); }
protected abstract void BuildArticle(IHostService host, FileModel model);
private static InternalManifestItem GetManifestItem(DocumentBuildContext context, FileModel model, SaveResult result) { return(new InternalManifestItem { DocumentType = result.DocumentType, FileWithoutExtension = result.FileWithoutExtension, ResourceFile = result.ResourceFile, Key = model.Key, LocalPathFromRoot = model.LocalPathFromRoot, Model = model.ModelWithCache, InputFolder = model.OriginalFileAndType.BaseDir, Metadata = new Dictionary <string, object>((IDictionary <string, object>)model.ManifestProperties), }); }
public async Task InsertAsync(FileModel file) { await _context.Files.AddAsync(file); }
/// <summary> /// 获取文件信息 /// </summary> /// <param name="ownderid"></param> /// <param name="floderid"></param> /// <param name="floderName"></param> /// <returns></returns> public List <FileModel> GetFiles(string ownderid, string ownderName, string floderid = "0") { #region 创建目录 var path = CreateFolder(ownderName); #endregion #region 获取文件 var fileModels = new List <FileModel>(); if (ownderid == "0") { return(fileModels); } var url = $"{IPAddress}/ufInterface?opr=folderfiles&ownerid={ownderid}" + $"&folderid={floderid}&count=2048&sortid=1&sortstyle=1&isfiletx=0" + $"&hash2={HashKey}"; var rst = GetHttp(url, _outtime); var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(rst); var dataNode = xmlDoc.SelectSingleNode("Data"); if (dataNode != null)// 这里是第一次请求获取所有目录,不会涉及文件 { foreach (XmlNode item in dataNode.ChildNodes) { var id = item.Attributes["Id"].Value; var pid = item.Attributes["FatherId"].Value; var name = item.FirstChild.InnerText; var bitem = new FileModel { Id = id, ParentId = pid, Name = name, Type = 0 }; if (id != "0") // 获取下当前目的文件 { bitem.Children.AddRange(GetFiles(ownderid, name, id)); } var child = item.SelectSingleNode("Childs"); var children = child.SelectNodes("Item"); if (children != null) { foreach (XmlNode citem in children) { var cid = citem.Attributes["Id"].Value; if (cid != "0") { var on = Path.Combine(ownderName, citem.SelectSingleNode("Path").InnerText); bitem.Children.AddRange(GetFiles(ownderid, on, cid)); } } } fileModels.Add(bitem); } } else { var folders = xmlDoc.SelectNodes("//Folder"); foreach (XmlNode folder in folders) { var name = folder.Attributes["Name"].Value; var p = new FileModel() { Name = name, Type = 0, }; var fileItems = folder.SelectSingleNode("FileItems"); foreach (XmlNode item in fileItems.ChildNodes) { ProcessOn?.BeginInvoke($"获取文件:{item.Attributes["Name"].Value}", 0, null, null); var fileModel = new FileModel { Id = item.Attributes["FileKey"].Value, Name = item.Attributes["Name"].Value, Type = 1, Size = item.Attributes["Size"].Value, }; System.Diagnostics.Debugger.Log(0, "dwonload", item.Attributes["Name"].Value); fileModel.FilePath = Download(fileModel.Id, path); p.Children.Add(fileModel); } // subfolder var subfolders = folder.SelectSingleNode("SubFolders"); foreach (XmlNode item in subfolders) { var sid = item.Attributes["Id"].Value; var on = Path.Combine(ownderName, item.InnerText); p.Children.AddRange(GetFiles(ownderid, on, sid)); } fileModels.Add(p); } } #endregion return(fileModels); }
private void CreateFileModel(string filePath, FileModel file) { var fileInfo = new FileInfo(filePath); file.Name = filePath.Substring(filePath.LastIndexOf("\\", StringComparison.Ordinal) + 1); file.FullPath = filePath; file.ChangedDate = File.GetLastWriteTime(filePath); file.Size = fileInfo.Length; file.Extension = fileInfo.Extension; //file.Icon = iconBitmapImage; }
private void UpdateTree(FileModel aFile, List<string> modelNames, List<int> newLines) { try { if (aFile == FileModel.Ignore) return; var mapping = new Dictionary<string, string>(); int prevLinesCount = prevLines.Count; for (int i = 0, count = newLines.Count; i < count; i++) { string name = modelNames[i]; string value = name + "@" + newLines[i]; if (i < prevLinesCount) mapping[name + "@" + prevLines[i]] = value; else mapping[value] = value; } var tree = new Stack<TreeNodeCollection>(); tree.Push(outlineTree.Nodes); while (tree.Count > 0) { var nodes = tree.Pop(); foreach (TreeNode node in nodes) { var memberNode = node as MemberTreeNode; string newTag; if (memberNode != null && mapping.TryGetValue((string)memberNode.Tag, out newTag)) memberNode.Tag = newTag; if (node.Nodes.Count > 0) tree.Push(node.Nodes); } } } catch (Exception ex) { ErrorManager.ShowError(/*ex.Message,*/ ex); } }
public async void LoadDirectoryContentAsync(string path) { _content.Clear(); string[] directories; string[] files; try { directories = Directory.GetDirectories(path); files = Directory.GetFiles(path); } catch (Exception) { directories = new string[0]; files = new string[0]; //throw new Exception(e.Message); } foreach (var folderPath in directories) { var folderModel = new FolderModel(); await Task.Run(() => CreateFolderModel(folderPath, folderModel)); _content.Add(folderModel); } foreach (var filePath in files) { //Fixing an odd behaviour. I've got a file: D:\Autorun.inf\lpt1.UsbFix, which I can see in Windows File Explorer, //but which I can't delete. It says, this file does not exist anymore. //And of course such file causes exception, when trying to calculate its size. So, ignore the case. if (!File.Exists(filePath)) continue; var fileModel = new FileModel(); await Task.Run(() => CreateFileModel(filePath, fileModel)); var extractedIcon = Icon.ExtractAssociatedIcon(filePath); if (extractedIcon != null) { var iconBitmap = extractedIcon.ToBitmap(); var iconBitmapImage = Bitmap2BitmapImage(iconBitmap); fileModel.Icon = iconBitmapImage; } //CreateFileModelAsync(file, fileModel); _content.Add(fileModel); } //CalculateFileSizeAsync(); }
private void WriteIntrinsic(FileModel theModel, string filename) { if (filename.EndsWith("$.as")) filename = filename.Replace("$.as", ".as"); // SWC virtual models Directory.CreateDirectory(Path.GetDirectoryName(filename)); File.WriteAllText(filename, theModel.GenerateIntrinsic(false), Encoding.UTF8); }
public FileModel GetFile(int id) { FileModel result = new FileModel(); using (var connection = new SqlConnection(_connectionString)) { var command = new SqlCommand("SELECT FileId,[File],UploadTime,FileName FROM dbo.FileTable WHERE FileId = @FileId", connection); command.Parameters.AddWithValue("@FileId", id); connection.Open(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { result.FileID = reader.GetInt32(0); result.File = (byte[])reader.GetValue(1); result.UploadTime = reader.GetDateTime(2); result.FileName = reader.GetString(3); } } result.Grade = GetGrade(result.FileID); result.Tags = GetTags(id); return result; } }
/// <summary> /// Retrieves a class model from its name /// </summary> /// <param name="cname">Class (short or full) name</param> /// <param name="inClass">Current file</param> /// <returns>A parsed class or an empty ClassModel if the class is not found</returns> public override ClassModel ResolveClass(string cname, FileModel inFile) { ClassModel aClass; if ((cname == null) || (cname.Length == 0)) cname = defaultMethodReturnType; if (inFile != null) DebugConsole.Trace("Find class "+cname+" in "+inFile.FileName); else DebugConsole.Trace("Find class "+cname); // unknown if ((cname == "Void") || (classPath == null)) return ClassModel.VoidClass; string package = ""; if (inFile != null) { // TODO recognize current class /*if (inClass.Extends != null && (inClass.ClassName.IndexOf('.') > 0) && (cname == GetLastStringToken(inClass.ClassName, "."))) { return inClass; }*/ int p = cname.IndexOf("."); // qualify class name if (p < 0) { // search in imported classes foreach(MemberModel import in inFile.Imports) if (import.Name == cname) { package = import.Type.Substring(0, import.Type.Length-cname.Length-1); break; } } else { package = cname.Substring(0, p); cname = cname.Substring(p+1); } } DebugConsole.Trace("Resolve "+package+"."+cname); // retrieve class from cache foreach(PathModel aPath in classPath) { aClass = aPath.Resolve(package, cname); if (aClass != null) return aClass; } DebugConsole.Trace("In classpath "+cname); // search in classpath aClass = ClassModel.VoidClass; string file = cname.Replace(".", dirSeparator)+".as"; string path = ""; FileModel aFile; foreach(PathModel aPath in classPath) try { path = aPath.Path; if (File.Exists(path+file)) { aFile = aPath.GetFile(path+file); aClass = aFile.GetPublicClass(); break; } } catch(Exception ex) { ErrorHandler.ShowError(ex.Message+"\n"+path+file, ex); } // no match return aClass; }
private bool CanOpenFile(FileModel model) => true;
private void RefreshView(FileModel aFile) { findProcTxt.Text = ""; FindProcTxtLeave(null, null); //TraceManager.Add("Outline refresh..."); outlineTree.BeginStatefulUpdate(); try { currentHighlight = null; outlineTree.Nodes.Clear(); TreeNode root = new TreeNode(System.IO.Path.GetFileName(aFile.FileName), ICON_FILE, ICON_FILE); outlineTree.Nodes.Add(root); if (aFile == FileModel.Ignore) return; TreeNodeCollection folders = root.Nodes; TreeNodeCollection nodes; TreeNode node; int img; // imports if (settings.ShowImports && aFile.Imports.Count > 0) { node = new TreeNode(TextHelper.GetString("Info.ImportsNode"), ICON_FOLDER_OPEN, ICON_FOLDER_OPEN); folders.Add(node); nodes = node.Nodes; foreach (MemberModel import in aFile.Imports) { if (import.Type.EndsWith(".*")) nodes.Add(new TreeNode(import.Type, ICON_PACKAGE, ICON_PACKAGE)); else { img = GetIcon(import.Flags, import.Access); //((import.Flags & FlagType.Intrinsic) > 0) ? ICON_INTRINSIC_TYPE : ICON_TYPE; node = new TreeNode(import.Type, img, img); node.Tag = "import"; nodes.Add(node); } } } // class members if (aFile.Members.Count > 0) { AddMembersSorted(folders, aFile.Members); } // regions if (settings.ShowRegions) { if (aFile.Regions.Count > 0) { node = new TreeNode(TextHelper.GetString("Info.RegionsNode"), ICON_PACKAGE, ICON_PACKAGE); folders.Add(node); //AddRegions(node.Nodes, aFile.Regions); AddRegionsExtended(node.Nodes, aFile); } } // classes if (aFile.Classes.Count > 0) { nodes = folders; foreach (ClassModel aClass in aFile.Classes) { img = GetIcon(aClass.Flags, aClass.Access); node = new TreeNode(aClass.FullName, img, img); node.Tag = "class"; nodes.Add(node); if (settings.ShowExtends) AddExtend(node.Nodes, aClass); if (settings.ShowImplements) AddImplements(node.Nodes, aClass.Implements); AddMembersSorted(node.Nodes, aClass.Members); node.Expand(); } } root.Expand(); } catch (Exception ex) { ErrorManager.ShowError(/*ex.Message,*/ ex); } finally { // outline state will be restored/saved from the model data if (aFile.OutlineState == null) aFile.OutlineState = new TreeState(); // restore collapsing state outlineTree.EndStatefulUpdate(aFile.OutlineState); // restore highlighted item if (aFile.OutlineState.highlight != null) { TreeNode toHighligh = outlineTree.FindClosestPath(outlineTree.State.highlight); if (toHighligh != null) SetHighlight(toHighligh); } } }
public bool CanUnpinFromQuickAccess(FileModel fileModel) { return(IsChildFolder && fileModel != null && !FileSystemHelper.UserFolders.Contains(fileModel.FullPath) && QuickAccess.Folders.Contains(fileModel)); }
protected override DirectoryModel GetDirectory(ProviderModel provider, string path = null) { var model = GetFromCache(provider, path); if (model != null) { return(model); } else { model = new DirectoryModel(); } if (string.IsNullOrEmpty(path)) { model.Directories = new List <DirectoryModel>(); foreach (var driveInfo in DriveInfo.GetDrives()) { if (!driveInfo.IsReady) { continue; } var drive = new DirectoryModel(true); drive.Name = driveInfo.Name; drive.Path = driveInfo.RootDirectory.FullName; drive.Size = driveInfo.TotalSize; model.Directories.Add(drive); } AddToCache(provider, model); return(model); } var info = new DirectoryInfo(path); model.Name = info.Name; model.Path = info.FullName; model.Created = info.CreationTime; model.Modified = info.LastWriteTime; model.Accessed = info.LastAccessTime; model.IsHidden = info.Attributes.HasFlag(FileAttributes.Hidden); model.IsSystem = info.Attributes.HasFlag(FileAttributes.System); model.Files = new List <FileModel>(); try { foreach (var fileInfo in info.GetFiles()) { var file = new FileModel(); if (string.IsNullOrEmpty(fileInfo.Extension)) { file.Name = fileInfo.Name; } else { file.Name = fileInfo.Name.Replace(fileInfo.Extension, string.Empty); file.Extension = fileInfo.Extension.Substring(1).ToLowerInvariant(); } file.Path = fileInfo.FullName; file.Size = fileInfo.Length; file.Created = fileInfo.CreationTime; file.Modified = fileInfo.LastWriteTime; file.Accessed = fileInfo.LastAccessTime; file.IsHidden = fileInfo.Attributes.HasFlag(FileAttributes.Hidden); file.IsSystem = fileInfo.Attributes.HasFlag(FileAttributes.System); model.Files.Add(file); } } catch (UnauthorizedAccessException) { } model.Directories = new List <DirectoryModel>(); try { foreach (var directoryInfo in info.GetDirectories()) { var directory = new DirectoryModel(); directory.Name = directoryInfo.Name; directory.Path = directoryInfo.FullName; directory.Created = directoryInfo.CreationTime; directory.Modified = directoryInfo.LastWriteTime; directory.Accessed = directoryInfo.LastAccessTime; directory.IsHidden = directoryInfo.Attributes.HasFlag(FileAttributes.Hidden); directory.IsSystem = directoryInfo.Attributes.HasFlag(FileAttributes.System); model.Directories.Add(directory); } } catch (UnauthorizedAccessException) { } AddToCache(provider, model); return(model); }
public override void ExecuteCodeCleaningStep(CodeCleaningStep step, FileModel fileModel, CodeSpan span) { fileModel.All<IPreProcessorDirectiveLine>() .Where(line => line.IsRegion()) .ForEach(region => region.Delete()); }
public void UnpinFromQuickAccess(FileModel fileModel) { QuickAccess.Folders.Remove(fileModel); SaveQuickAccessFolders(); }
/// <summary> /// Update outline view /// </summary> /// <param name="aFile"></param> internal void UpdateView(FileModel aFile) { try { // files "checksum" StringBuilder sb = new StringBuilder().Append(aFile.FileName).Append(aFile.Version).Append(aFile.Package); var lines = new List<int>(); var names = new List<string>(); if (aFile != FileModel.Ignore) { sb.Append(settings.ShowExtends).Append(settings.ShowImplements).Append(settings.ShowImports).Append( settings.ShowRegions); foreach (MemberModel import in aFile.Imports) { sb.Append(import.Type); lines.Add(import.LineFrom); names.Add(import.Name); } foreach (MemberModel member in aFile.Members) { sb.Append(member.Flags).Append(member); lines.Add(member.LineFrom); names.Add(member.Name); } foreach (ClassModel aClass in aFile.Classes) { if (string.IsNullOrEmpty(aClass.ExtendsType)) aClass.ResolveExtends(); sb.Append(aClass.Flags).Append(aClass.FullName); sb.Append(aClass.ExtendsType); if (aClass.Implements != null) foreach (string implements in aClass.Implements) sb.Append(implements); lines.Add(aClass.LineFrom); names.Add(aClass.Name); foreach (MemberModel member in aClass.Members) { sb.Append(member.Flags).Append(member); lines.Add(member.LineFrom); names.Add(member.Name); } } foreach (MemberModel region in aFile.Regions) { sb.Append(region.Name); lines.Add(region.LineFrom); names.Add(region.Name); } } string checksum = sb.ToString(); if (checksum != prevChecksum) { prevChecksum = checksum; prevLines = lines; RefreshView(aFile); } else { int prevLinesCount = prevLines.Count; for (int i = 0, count = lines.Count; i < count; i++) { if (i < prevLinesCount && lines[i] == prevLines[i]) continue; UpdateTree(aFile, names, lines); prevLines = lines; break; } } } catch (Exception ex) { ErrorManager.ShowError(/*ex.Message,*/ ex); } }
public bool CanRename(FileModel fileModel) { return(IsChildFolder && fileModel != null); }
/// <summary> /// Create node for a type (class or interface) /// - defer subnodes population to user selection /// </summary> /// <param name="nodes">In package</param> /// <param name="model">Model information</param> private void AddModel(TreeNodeCollection nodes, FileModel model) { if (model.Members != null) PluginUI.AddMembers(nodes, model.Members); if (model.Classes != null) foreach (ClassModel aClass in model.Classes) if (aClass.IndexType == null) { TypeTreeNode node = new TypeTreeNode(aClass); AddExplore(node); allTypes.Add(node); nodes.Add(node); } }
/// <summary> /// Comprueba si un archivo es hijo de otro /// </summary> private bool IsChild(FileModel fileParent, FileModel file, bool isRecursive) { return(!fileParent.FullFileName.EqualsIgnoreCase(file.FullFileName) && (fileParent.Path.EqualsIgnoreCase(Path.GetDirectoryName(file.Path)) || (isRecursive && file.Path.StartsWith(fileParent.Path, StringComparison.CurrentCultureIgnoreCase)))); }
private IConstructEnumerable<IFieldDeclaration> FindFields(FileModel fileModel, CodeSpan selection) { return from declaration in fileModel.InnerMost<IClassDeclaration>(selection).ContainedDeclarations where declaration.Is<IFieldDeclaration>() && declaration.ExistsTextuallyInFile && !declaration.As<IFieldDeclaration>().IsReadOnly() && declaration.CodeSpan.Intersects(selection) select declaration.As<IFieldDeclaration>(); }
public JsonResult Save([FromBody] AssetDto pAsset) { var loUser = HttpContext.Session.GetObject <UserDto>("User"); var loAssetFiles = new List <AssetPhoto>(); var loFileListToSave = new List <FileModel>(); if (Directory.Exists(_environment.WebRootPath + "\\" + "Uploads\\Temp\\" + loUser.session_id)) { string[] filePaths = Directory.GetFiles(_environment.WebRootPath + "\\" + "Uploads\\Temp\\" + loUser.session_id); foreach (var file in filePaths) { var loFileModel = new FileModel { FileContent = System.IO.File.ReadAllBytes(file), FileName = Path.GetFileName(file), FilePath = loUser.session_id }; var loAssetFile = new AssetPhoto { file_path = loFileModel.FilePath + "\\" + loFileModel.FileName }; if (loFileModel.FileName.Contains("thumb_")) { pAsset.thumb_path = loAssetFile.file_path; loAssetFile.is_thumb = true; } loFileListToSave.Add(loFileModel); loAssetFiles.Add(loAssetFile); } } if (!loFileListToSave.Any() || HelperMethods.SaveFilesToFileServer(_environment.WebRootPath + "\\" + "Uploads\\", loFileListToSave)) { if (pAsset.asset_photos != null && pAsset.asset_photos.Any()) { pAsset.asset_photos.AddRange(loAssetFiles); } else { pAsset.asset_photos = loAssetFiles; } pAsset.asset_photos.ForEach(x => x.file_path = x.file_path.Replace(",", "\\")); HelperMethods.DeleteFiles(pAsset.asset_photos.FindAll(x => x.is_deleted), _environment.WebRootPath + "\\" + "Uploads\\"); //var loAsset = RestCalls.UpdateAsset(pAsset, loUser.token); var loAsset = RestCalls.SaveAsset(pAsset, loUser.token); if (!string.IsNullOrEmpty(loAsset.message) || loAsset.id <= 0) { return(Json(loAsset)); } try { if (loFileListToSave.Any()) // yeni kayıt varsa sil templeri! { Directory.Delete(Path.Combine(_environment.WebRootPath, "Uploads\\Temp\\" + loUser.session_id), true); // temp resimleri sil } } catch (Exception) { //ignored; } return(Json(loAsset)); } return(Json(new AssetDto())); }
/// <summary> /// Prepare AS2 intrinsic known vars/methods/classes /// TODO Parse MM top-level class / FileModel? /// </summary> protected override void InitTopLevelElements() { topLevel = new FileModel(""); // // search top-level class // if (useMtascClasses) { ClassModel tlClass = ResolveClass("TopLevel",null); if (!tlClass.IsVoid()) { topLevel.FileName = tlClass.InFile.FileName; foreach(MemberModel member in tlClass.Members) { topLevel.Members.Add(member); } } } /*else { topLevel = new ClassModel(); topLevel.FileName = MMClassPath+"toplevel.as"; topLevel.OutOfDate = true; string src; // read file content try { StreamReader sr = new StreamReader(topLevel.FileName); src = sr.ReadToEnd(); sr.Close(); } catch (System.IO.FileNotFoundException) { // ignore files that don't exist (i.e. "Untitled.as") return; } catch(Exception ex) { ErrorHandler.ShowError(ex.Message+"\n"+topLevel.FileName, ex); return; } // make it look like a valid class src = "class toplevel {"+src+"}"; // parse ASFileParser.ParseClass(topLevel, src); }*/ // not found if (topLevel.FileName.Length == 0) { //ErrorHandler.ShowInfo("Top-level elements class not found. Please check your Program Settings."); //return; } // // init top-level elements // // special vars MemberModel special; if (topLevel.Members.Search("_root",0) == null) { special = new MemberModel(); special.Name = "_root"; special.Flags = FlagType.Variable; special.Type = "MovieClip"; topLevel.Members.Add(special); } if (topLevel.Members.Search("_global",0) == null) { special = new MemberModel(); special.Name = "_global"; special.Flags = FlagType.Variable; special.Type = "Object"; topLevel.Members.Add(special); } if (topLevel.Members.Search("this",0) == null) { special = new MemberModel(); special.Name = "this"; special.Flags = FlagType.Variable; special.Type = "Object"; topLevel.Members.Add(special); } if (topLevel.Members.Search("super",0) == null) { special = new MemberModel(); special.Name = "super"; special.Flags = FlagType.Variable; special.Type = "Object"; topLevel.Members.Add(special); } // pre-sort topLevel.Members.Sort(); // all intrinsic methods/vars foreach(MemberModel member in topLevel.Members) member.Flags |= FlagType.Intrinsic; // TODO list instrinsic classes /*string package; MemberModel newImport; string path; foreach(PathModel aPath in classPath) { path = aPath.Path; try { string[] files = System.IO.Directory.GetFiles(path, "*.as"); if (files == null) continue; // add classes found string iname; int plen = path.Length; foreach(string file in files) { package = file.Substring(plen,file.Length-3-plen).Replace(dirSeparator, "."); iname = GetLastStringToken(package, "."); newImport = new MemberModel(); newImport.Name = iname; newImport.Type = package; newImport.Flags = FlagType.Intrinsic; if (!iname.Equals("TopLevel") && !iname.Equals("StdPresent") && (iname.IndexOf(' ') < 0) && (topLevel.Imports.Search(iname, 0) == null)) topLevel.Imports.Add(newImport); } // special case newImport = new MemberModel(); newImport.Name = "Void"; newImport.Type = "Void"; newImport.Flags = FlagType.Intrinsic; topLevel.Imports.Add(newImport); topLevel.Imports.Sort(); } catch(Exception ex) { ErrorHandler.ShowError(ex.Message+"\n"+path, ex); continue; } }*/ }
public ModelWrapper(ItemViewModel item, FileModel fileModel) { PrimaryItem = item; FileModel = fileModel; }
/// <summary> /// Update outline view /// </summary> /// <param name="aFile"></param> internal void UpdateView(FileModel aFile) { try { // files "checksum" StringBuilder sb = new StringBuilder().Append(aFile.FileName).Append(aFile.Version).Append(aFile.Package); if (aFile != FileModel.Ignore) { foreach (MemberModel import in aFile.Imports) sb.Append(import.Type).Append(import.LineFrom); foreach (MemberModel member in aFile.Members) sb.Append(member.Flags.ToString()).Append(member.ToString()).Append(member.LineFrom); foreach (ClassModel aClass in aFile.Classes) { sb.Append(aClass.Flags.ToString()).Append(aClass.FullName).Append(aClass.LineFrom); sb.Append(aClass.ExtendsType); if (aClass.Implements != null) foreach (string implements in aClass.Implements) sb.Append(implements); foreach (MemberModel member in aClass.Members) sb.Append(member.Flags.ToString()).Append(member.ToString()).Append(member.LineFrom); } foreach (MemberModel region in aFile.Regions) { sb.Append(region.Name).Append(region.LineFrom); } } string checksum = sb.ToString(); if (checksum != prevChecksum) { prevChecksum = checksum; RefreshView(aFile); } } catch (Exception ex) { ErrorManager.ShowError(/*ex.Message,*/ ex); } }
private void File_Close(FileModel fileModel) { //Remove Files.Remove(fileModel); }
private Tuple <List <FileModel>, List <TreeItemRestructure> > SplitModelToOperationGroup(FileModel model) { if (model.Type != DocumentType.Article) { return(null); } var content = (RestApiRootItemViewModel)model.Content; if (content.Children.Count == 0) { return(null); } var treeItems = new List <TreeItem>(); var splittedModels = new List <FileModel>(); foreach (var operationModel in GenerateOperationModels(content)) { operationModel.Metadata["_isSplittedToOperation"] = true; var newModel = GenerateNewFileModel(model, operationModel); splittedModels.Add(newModel); treeItems.Add(ConvertToTreeItem(operationModel, newModel.Key)); } // Reset children content.Children = new List <RestApiChildItemViewModel>(); content.Metadata["_isSplittedByOperation"] = true; content.Tags = new List <RestApiTagViewModel>(); model.Content = content; // Reset uid definition model.Uids = new[] { new UidDefinition(content.Uid, model.LocalPathFromRoot) }.ToImmutableArray(); // Support both restructure by TopicHref and TopicUid var treeItemRestructions = new List <TreeItemRestructure> { new TreeItemRestructure { ActionType = TreeItemActionType.AppendChild, Key = model.Key, TypeOfKey = TreeItemKeyType.TopicHref, RestructuredItems = treeItems.OrderBy(s => s.Metadata[Constants.PropertyName.Name]).ToImmutableList(), SourceFiles = new FileAndType[] { model.OriginalFileAndType }.ToImmutableList(), }, new TreeItemRestructure { ActionType = TreeItemActionType.AppendChild, Key = content.Uid, TypeOfKey = TreeItemKeyType.TopicUid, RestructuredItems = treeItems.OrderBy(s => s.Metadata[Constants.PropertyName.Name]).ToImmutableList(), SourceFiles = new FileAndType[] { model.OriginalFileAndType }.ToImmutableList(), } }; return(Tuple.Create(splittedModels, treeItemRestructions)); }
private bool IsInRawFolder(FileModel model) => IsInRawFolder(model.FullName);
/// <summary> /// AS2/AS3 detection /// </summary> /// <param name="doc">Document to check</param> /// <returns>Detected language</returns> private string DetectActionscriptVersion(ITabbedDocument doc) { ASFileParser parser = new ASFileParser(); FileModel model = new FileModel(doc.FileName); parser.ParseSrc(model, doc.SciControl.Text); if (model.Version == 1 && PluginBase.CurrentProject != null) { String lang = PluginBase.CurrentProject.Language; if (lang == "*") return "as2"; else return lang; } else if (model.Version > 2) return "as3"; else if (model.Version > 1) return "as2"; else if (settingObject.LastASVersion != null && settingObject.LastASVersion.StartsWithOrdinal("as")) { return settingObject.LastASVersion; } else return "as2"; }
public async Task ExecuteSelectFile(FileModel model) { if (model == null) { return; } if (State is DockState.AutoHidden or DockState.Hidden) { return; } if (canShowPrev) { PE_SelectedItem = model; } else { return; } PE_MeshPreviewVisible = false; IsAudioPreviewVisible = false; IsImagePreviewVisible = false; IsVideoPreviewVisible = false; // check additional changes if (model.IsDirectory) { return; } if (PE_SelectedItem == null) { return; } // string.Equals(model.GetExtension(), ERedExtension.bk2.ToString(), StringComparison.OrdinalIgnoreCase) || if (!(string.Equals(model.GetExtension(), ERedExtension.mesh.ToString(), StringComparison.OrdinalIgnoreCase) || string.Equals(model.GetExtension(), ERedExtension.wem.ToString(), StringComparison.OrdinalIgnoreCase) || string.Equals(model.GetExtension(), ERedExtension.xbm.ToString(), StringComparison.OrdinalIgnoreCase) || Enum.TryParse <EConvertableOutput>(PE_SelectedItem.GetExtension(), out _) || Enum.TryParse <EUncookExtension>(PE_SelectedItem.GetExtension(), out _) ) ) { return; } if (PE_SelectedItem != null) { if (PE_SelectedItem.GetExtension().Length > 0) { //if (string.Equals(PE_SelectedItem.GetExtension(), ERedExtension.bk2.ToString(), // System.StringComparison.OrdinalIgnoreCase)) //{ // IsVideoPreviewVisible = true; // SetExeCommand?.Invoke("test.exe | test2.bk2 /J /I2 /P"); //} if (Enum.IsDefined(typeof(EConvertableOutput), PE_SelectedItem.GetExtension())) { PE_MeshPreviewVisible = true; LoadModel(PE_SelectedItem.FullName); } if (string.Equals(PE_SelectedItem.GetExtension(), ERedExtension.mesh.ToString(), System.StringComparison.OrdinalIgnoreCase)) { PE_MeshPreviewVisible = true; var q = _meshTools.ExportMeshWithoutRigPreviewer(PE_SelectedItem.FullName, Path.Combine(ISettingsManager.GetManagerCacheDir(), "Temp_OBJ")); if (q.Length > 0) { LoadModel(q); } } if (string.Equals(PE_SelectedItem.GetExtension(), ERedExtension.wem.ToString(), System.StringComparison.OrdinalIgnoreCase)) { IsAudioPreviewVisible = true; AddAudioItem(PE_SelectedItem.FullName); } // textures if (Enum.TryParse <EUncookExtension>(PE_SelectedItem.GetExtension(), out _)) { IsImagePreviewVisible = true; var q = await ImageDecoder.RenderToBitmapSource(PE_SelectedItem.FullName); if (q != null) { var g = BitmapFrame.Create(q); LoadImage(g); } } // xbm if (string.Equals(PE_SelectedItem.GetExtension(), ERedExtension.xbm.ToString(), System.StringComparison.OrdinalIgnoreCase)) { IsImagePreviewVisible = true; var man = ServiceLocator.Default.ResolveType <ModTools>(); // convert xbm to dds stream await using var ddsstream = new MemoryStream(); await using var filestream = new FileStream(PE_SelectedItem.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, 4096, FileOptions.SequentialScan); man.ConvertXbmToDdsStream(filestream, ddsstream, out _); // try loading it in pfim try { var qa = await ImageDecoder.RenderToBitmapSourceDds(ddsstream); if (qa != null) { LoadImage(qa); } } catch (Exception) { } } } } DecideForMeshPreview(); }