Esempio n. 1
0
File: Env.cs Progetto: ikvm/dotless
 /// <summary>
 ///  Finds the first Ruleset matching the selector argument
 /// </summary>
 public IEnumerable<Closure> FindRulesets(Selector selector)
 {
     return Frames.Select(frame => frame.Find(this, selector, null))
         .Select(matchedClosuresList => matchedClosuresList.Where(
                     matchedClosure => !Frames.Any(frame => frame.IsEqualOrClonedFrom(matchedClosure.Ruleset))))
         .FirstOrDefault(matchedClosuresList => matchedClosuresList.Count() != 0);
 }
Esempio n. 2
0
 private bool CanDelete()
 {
     if (Frames != null && Frames.Any(f => f.IsSelected))
     {
         return(true);
     }
     return(false);
 }
Esempio n. 3
0
 private void OutputWatcher_Created(object sender, FileSystemEventArgs e)
 {
     if (e.ChangeType == WatcherChangeTypes.Created)
     {
         string[] fls = Directory.GetFiles(OutputWatcher.Path, OutputWatcher.Filter);
         int      p   = fls.Count(t => Frames.Any(k => k.Filename == Path.GetFileNameWithoutExtension(t)));
         MainWorker.ReportProgress(0, new ProgressChangeEventArgs(p * 100 / Frames.Count, ProgressType.ProcessingImages));
     }
 }
Esempio n. 4
0
 private Frame GetFrame(ushort FrameNumber)
 {
     if (!Frames.Any(x => x.FrameNumber == FrameNumber))
     {
         Frames.Add(new Frame()
         {
             FrameNumber = FrameNumber, FrameId = Guid.NewGuid()
         });
     }
     return(Frames.Single(x => x.FrameNumber == FrameNumber));
 }
Esempio n. 5
0
        /// <summary>
        /// Add a PP3 keyframe
        /// </summary>
        /// <param name="path">Path to the PP3 file</param>
        /// <param name="index">Index where the keyframe is set</param>
        internal override void AddKeyframe(int index, string path)
        {
            if (index < 0 && index >= Frames.Count)
            {
                throw new ArgumentException("Index too high or low");
            }
            PP3 npp3 = new PP3(path);

            if (Frames.Any(t => (((FrameRT)t).PP3File == null) ? false : ((FrameRT)t).PP3File.FileVersion != npp3.FileVersion))
            {
                throw new FileVersionException("Different PP3 version than previously added PP3's");
            }
            ((FrameRT)Frames[index]).PP3File = new PP3(path);
            Frames[index].IsKeyframe         = true;
        }
Esempio n. 6
0
        /// <summary>
        /// Add a XMP keyframe
        /// </summary>
        /// <param name="path">Path to the XMP file</param>
        /// <param name="index">Index where the keyframe is set</param>
        internal override void AddKeyframe(int index, string path)
        {
            if (index < 0 && index >= Frames.Count)
            {
                throw new ArgumentException("Index too high or low");
            }
            XMP nxmp = new XMP(path);

            if (Frames.Any(t => (((FrameACR)t).XMPFile == null) ? false : ((FrameACR)t).XMPFile.FileVersion != nxmp.FileVersion))
            {
                throw new FileVersionException("Different XMP version than previously added XMP's");
            }
            ((FrameACR)Frames[index]).XMPFile = new XMP(path);
            Frames[index].IsKeyframe          = true;
        }
Esempio n. 7
0
File: Env.cs Progetto: xhute/Kooboo
        /// <summary>
        ///  Finds the first Ruleset matching the selector argument that inherits from or is of type TRuleset (pass this as Ruleset if
        ///  you are trying to find ANY Ruleset that matches the selector)
        /// </summary>
        public IEnumerable <Closure> FindRulesets(Selector selector)
        {
            var matchingRuleSets = Frames
                                   .Select(frame => frame.Find <Ruleset>(this, selector, null))
                                   .Select(
                matchedClosuresList => matchedClosuresList.Where(
                    matchedClosure => {
                if (!Frames.Any(frame => frame.IsEqualOrClonedFrom(matchedClosure.Ruleset)))
                {
                    return(true);
                }

                var mixinDef = matchedClosure.Ruleset as MixinDefinition;
                if (mixinDef != null)
                {
                    return(mixinDef.Condition != null);
                }

                return(false);
            }
                    )
                )
                                   .FirstOrDefault(matchedClosuresList => matchedClosuresList.Count() != 0);

            if (matchingRuleSets != null)
            {
                return(matchingRuleSets);
            }

            if (Parent != null)
            {
                matchingRuleSets = Parent.FindRulesets(selector);
            }

            if (matchingRuleSets != null)
            {
                return(matchingRuleSets);
            }

            if (ClosureEnvironment != null)
            {
                return(ClosureEnvironment.FindRulesets(selector));
            }

            return(null);
        }
Esempio n. 8
0
        /// <summary>
        ///  Finds the first Ruleset matching the selector argument
        /// </summary>
        public IEnumerable <Closure> FindRulesets(Selector selector)
        {
            return(Frames.Select(frame => frame.Find(this, selector, null))
                   .Select(matchedClosuresList => matchedClosuresList.Where(
                               matchedClosure => {
                if (!Frames.Any(frame => frame.IsEqualOrClonedFrom(matchedClosure.Ruleset)))
                {
                    return true;
                }

                var mixinDef = matchedClosure.Ruleset as MixinDefinition;
                if (mixinDef != null)
                {
                    return mixinDef.Condition != null;
                }

                return false;
            }))
                   .FirstOrDefault(matchedClosuresList => matchedClosuresList.Count() != 0));
        }
Esempio n. 9
0
        /// <summary>
        ///  Finds the first Ruleset matching the selector argument that inherits from or is of type TRuleset (pass this as Ruleset if
        ///  you are trying to find ANY Ruleset that matches the selector)
        /// </summary>
        public IEnumerable <Closure> FindRulesets(Selector selector)
        {
            var matchingRuleSets = Frames
                                   .Reverse()
                                   .SelectMany(frame => frame.Find <Ruleset>(this, selector, null))
                                   .Where(matchedClosure => {
                if (!Frames.Any(frame => frame.IsEqualOrClonedFrom(matchedClosure.Ruleset)))
                {
                    return(true);
                }

                var mixinDef = matchedClosure.Ruleset as MixinDefinition;
                if (mixinDef != null)
                {
                    return(mixinDef.Condition != null);
                }

                return(false);
            }).ToList();

            if (matchingRuleSets.Any())
            {
                return(matchingRuleSets);
            }

            if (Parent != null)
            {
                var parentRulesets = Parent.FindRulesets(selector);
                if (parentRulesets != null)
                {
                    return(parentRulesets);
                }
            }

            if (ClosureEnvironment != null)
            {
                return(ClosureEnvironment.FindRulesets(selector));
            }

            return(null);
        }
Esempio n. 10
0
 private bool FrameExists(string name)
 {
     return(Frames.Any(f => f.Name == name));
 }