Пример #1
0
        private void dgRules_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try {
                if (busy)
                {
                    return;
                }

                var rule = getRuleByRowIndex(e.RowIndex);
                if (rule == Rules.None)
                {
                    return;
                }

                var vis = Visualizers.Parse(dgRules.Columns[e.ColumnIndex].Name.Replace("Col", ""));

                if (vis == null)
                {
                    return;
                }

                rules[(Visualizers.Types)vis][rule] = dgRules[e.ColumnIndex, e.RowIndex].Value.ToString();
            }
            catch (Exception ex) {
                ex.ShowError(this);
            }
        }
Пример #2
0
        private void CloseTab(int index)
        {
            var tab = VisualizerHost.TabPages[index];

            if (tab == VisualizerHost.SelectedTab)
            {
                //Select the next tab to the right, or the rightmost tab
                if (VisualizerHost.TabPages.Count > index + 1)
                {
                    VisualizerHost.SelectedIndex = index + 1;
                }
                else if (VisualizerHost.TabPages.Count > 1)
                {
                    VisualizerHost.SelectedIndex = VisualizerHost.TabPages.Count - 2;
                }
            }

            //close down the visualizer and its associated tab
            var vis = (IVisualizer)tab.Tag;

            vis.OnClose();
            Visualizers.Remove(vis);
            VisualizerHost.TabPages.Remove(tab);

            Debug.Assert(Visualizers.Count == VisualizerHost.TabPages.Count);

            if (VisualizerHost.TabPages.Count == 0)
            {
                m_closeVisualizerButton.Enabled = false;
            }
        }
Пример #3
0
        public void AddVisualizer(Type visType)
        {
            IVisualizer visualizer = (IVisualizer)Activator.CreateInstance(visType);

            Visualizers.Add(visualizer);
            TabPage page = new TabPage(visualizer.DisplayName);

            page.Tag = visualizer;

            var toolbar = new VisualizerToolbar(ActiveSnapshot, visualizer);

            toolbar.Dock = DockStyle.Top;
            page.Controls.Add(toolbar);

            visualizer.Control.Top    = toolbar.Height;
            visualizer.Control.Left   = 0;
            visualizer.Control.Size   = new System.Drawing.Size(page.Width, page.Height - toolbar.Height);
            visualizer.Control.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
            page.Controls.Add(visualizer.Control);

            VisualizerHost.TabPages.Add(page);

            //We have to initialize here to make sure everything is wired if the visualizer calls back in
            if (!visualizer.Initialize(this, Connection, ActiveSnapshot))
            {
                VisualizerHost.TabPages.Remove(page);
                Visualizers.Remove(visualizer);
                return;
            }

            VisualizerHost.SelectedTab      = page;
            m_closeVisualizerButton.Enabled = true;
        }
Пример #4
0
 public void RemoveAllVisualizers()
 {
     foreach (var vv in Visualizers)
     {
         vv.Item1.Dispose(vv.Item2);
     }
     Visualizers.Clear();
 }
Пример #5
0
 public IDnsDocumentVisualizer GetVisualizerFor(string mimeType)
 {
     return(Visualizers
            .Where(v =>
                   v.Metadata.MimeTypes
                   .Any(m => string.Equals(m, mimeType, StringComparison.InvariantCultureIgnoreCase)))
            .Select(v => v.Value)
            .FirstOrDefault());
 }
Пример #6
0
        /// <inheritdoc />
        public void Dispose()
        {
            Visualizers.RemoveInvalidator(this);
            ((EntityVisualizers)Visualizers).Dispose();
            Components.RemoveInvalidator(this);

            if (UnderlyingGameObject != null)
            {
                UnderlyingGameObject.GetComponent <EntityObjectStorage>().Clear();
            }
        }
Пример #7
0
        internal void VisualizeGeometry(NodeModel node, object geom, string tag, RenderDescription rd)
        {
            var t = geom.GetType();

            var viz = Visualizers.FirstOrDefault(x => x.Key == t || x.Key.IsAssignableFrom(t));

            //draw what's in the container
            if (viz.Value != null)
            {
                viz.Value.Invoke(node, geom, tag, rd, octree);
            }
        }
Пример #8
0
 public bool TryRemoveWatchVisualizer(IVisualizer vis)
 {
     foreach (var vv in Visualizers)
     {
         if (vv.Item2 == vis)
         {
             vv.Item1.Dispose(vv.Item2);
             Visualizers.Remove(vv);
             return(true);
         }
     }
     return(false);
 }
Пример #9
0
        public ProjectItemView(ProjectView projectView, ProjectItem projectItem)
        {
            this.ProjectItem = projectItem;
            this.ProjectView = projectView;
            this.ShowCommand = new DelegateCommand(Show);

            this.Visualizers = new ObservableCollection <VisualizerView>(
                Editor.Extensions.Visualizers.Where(v => v.Value.TargetType.IsAssignableFrom(projectItem.ObjectModel.GetType()))
                .Select(v => new VisualizerView(this, v.Value)));

            this.DefaultVisualizer = Visualizers.SingleOrDefault(v => v.IsDefault) ?? Visualizers.FirstOrDefault();
            this.ActiveVisualizer  = DefaultVisualizer;
        }
Пример #10
0
        protected VisualizationManager()
        {
            dynSettings.Controller.DynamoModel.ConnectorDeleted += new ConnectorHandler(DynamoModel_ConnectorDeleted);
            dynSettings.Controller.EvaluationCompleted          += new EventHandler(Controller_EvaluationCompleted);
            dynSettings.Controller.RequestsRedraw += new EventHandler(Controller_RequestsRedraw);
            DynamoSelection.Instance.Selection.CollectionChanged += new NotifyCollectionChangedEventHandler(Selection_CollectionChanged);
            dynSettings.Controller.DynamoModel.ModelCleared      += new EventHandler(DynamoModel_ModelCleared);
            dynSettings.Controller.DynamoModel.CleaningUp        += new CleanupHandler(DynamoModel_CleaningUp);
            dynSettings.Controller.DynamoModel.NodeDeleted       += new NodeHandler(DynamoModel_NodeDeleted);

            Visualizers.Add(typeof(GraphicItem), VisualizationManagerASM.DrawLibGGraphicItem);

            octree = new Octree.OctreeSearch.Octree(10000, -10000, 10000, -10000, 10000, -10000, 10000000);
        }
Пример #11
0
        public override ToolStrip GetToolStrip(IVisualizer visualizer)
        {
            int index = Visualizers.IndexOf(visualizer);

            if (index < 0)
            {
                return(null);
            }

            var page    = VisualizerHost.TabPages[index];
            var toolbar = page.Controls[0] as VisualizerToolbar;

            return(toolbar.ToolStrip);
        }
Пример #12
0
        private void fillData()
        {
            busy = true;

            dgRules.Columns.Clear();
            dgRules.Columns[dgRules.Columns.Add("rulesCol", "Rules")].ReadOnly = true;

            var needNames = new Dictionary <Visualizers.Types, string>()
            {
                { Visualizers.Code_swarm, @"C:\actions.xml" },
                { Visualizers.Gource, @"C:\actions.log" },
                { Visualizers.Logstalgia, @"C:\actlogs.log" },
                { Visualizers.Gephi, @"C:\gephidata.db" }
            };

            foreach (var key in rules.Keys)
            {
                var name = Visualizers.GetName(key);
                dgRules.Columns.Add(name + "Col", name);

                var control = new OutFilePanel()
                {
                    Title    = name,
                    FileName = needNames[key],
                    Checked  = true,
                    Dock     = DockStyle.Top,
                    Tag      = key
                };
                control.CheckedChanged += new System.EventHandler(cb_CheckedChanged);
                groupBox1.Controls.Add(control);
            }

            foreach (var item in rulesName)
            {
                item.Row = dgRules.Rows.Add(item.Name, "none", "none");
            }

            foreach (var item in rules)
            {
                foreach (var rule in rulesName)
                {
                    if (item.Value.Keys.Contains(rule.Rule))
                    {
                        dgRules[item.Key.ToString() + "Col", rule.Row].Value = item.Value[rule.Rule];
                    }
                }
            }

            busy = false;
        }
Пример #13
0
 private void AddPlugin(IJsonViewerPlugin plugin)
 {
     //_plugins.Add(plugin);
     if (plugin is ICustomTextProvider provider)
     {
         TextVisualizers.Add(provider);
     }
     if (plugin is IJsonVisualizer visualizer)
     {
         if (DefaultVisualizer == null)
         {
             DefaultVisualizer = visualizer;
         }
         Visualizers.Add(visualizer);
     }
 }
Пример #14
0
            public int TryRemoveWatchVisualizer(string visualizerName)
            {
                int count = 0;

                for (int i = 0; i != Visualizers.Count;)
                {
                    var vv = Visualizers[i];
                    if (vv.Item1.GetName() == visualizerName)
                    {
                        vv.Item1.Dispose(vv.Item2);
                        Visualizers.RemoveAt(i);
                        ++count;
                    }
                    else
                    {
                        ++i;
                    }
                }
                return(count);
            }
Пример #15
0
        private void TraceExtensions()
        {
            Trace.TraceInformation("Factories {0}:", Factories.Count);
            Factories.ForEach(x => Trace.TraceInformation(x.ToString()));

            Trace.TraceInformation("Importers {0}:", Importers.Count);
            Importers.ForEach(x => Trace.TraceInformation(x.ToString()));

            Trace.TraceInformation("Exporters: {0}", Exporters.Count);
            Exporters.ForEach(x => Trace.TraceInformation(x.ToString()));

            Trace.TraceInformation("Visualizers: {0}", Visualizers.Count);
            Visualizers.ForEach(x => Trace.TraceInformation(x.ToString()));

            Trace.TraceInformation("Settings: {0}", Settings.Count);
            Settings.ForEach(x => Trace.TraceInformation(x.ToString()));

            Trace.TraceInformation("AttributeProviders: {0}", AttributeProviders.Count);
            AttributeProviders.ForEach(x => Trace.TraceInformation(x.ToString()));
        }
Пример #16
0
        private void InitializeRendering()
        {
            // Set default visualizer
            ActiveVisualizer = Visualizers.First(vd => vd.VisualType == VisualDescription.VisualTypeEnumeration.PeakMeter);

            _outputWriteableBitmap = new WriteableBitmap((int)outputImage.Width, (int)outputImage.Height);
            outputImage.Source     = _outputWriteableBitmap;

            _clearShape = new Rectangle
            {
                Width  = _outputWriteableBitmap.PixelWidth,
                Height = _outputWriteableBitmap.PixelHeight,
                Fill   = new SolidColorBrush(Color.FromArgb(32, 0, 0, 0))               // the less opaque it is, the longer the blur effects lasts
            };

            _clearBuffer  = ArrayHelper.Instantiate(_outputWriteableBitmap.Pixels.Length, _clearColour);
            _lastPeaks    = InitializeArray(FourierTransform.FREQUENCYSLOTCOUNT, byte.MaxValue);
            _maximumPeaks = InitializeArray(FourierTransform.FREQUENCYSLOTCOUNT, byte.MaxValue);

            _widthWithoutMarginRight = Convert.ToInt32(outputImage.Width - marginLeft);
        }
Пример #17
0
        public VisualizationManagerRevit()
        {
            if (dynSettings.Controller.Context == Context.VASARI_2014)
            {
                AlternateDrawingContextAvailable = true;
                DrawToAlternateContext           = true;

                AlternateContextName = "Vasari";
            }
            else
            {
                AlternateDrawingContextAvailable = false;
            }

            Visualizers.Add(typeof(Element), DrawElement);
            Visualizers.Add(typeof(Transform), DrawTransform);
            Visualizers.Add(typeof(XYZ), DrawXyz);
            Visualizers.Add(typeof(ParticleSystem), DrawParticleSystem);
            Visualizers.Add(typeof(TriangleFace), DrawTriangleFace);
            Visualizers.Add(typeof(GeometryObject), DrawGeometryObject);
            Visualizers.Add(typeof(Autodesk.Revit.DB.CurveLoop), DrawCurveLoop);
        }
Пример #18
0
        internal void Load(Editor editor, string path)
        {
            Verify.DirectoryExists(path, "path");

            Trace.TraceInformation("Loading default editor extensions at folder {0}", Path.GetFullPath(path));

            var extensions = Directory.GetFiles(path, "*.DLL").Concat(Directory.GetFiles(path, "*.EXE"))
                             .SelectMany(file => LoadExportedTypes(file))
                             .Select(type => new { Export = type.GetCustomAttributes(typeof(ExportAttribute), false).SingleOrDefault(), Type = type })
                             .Where(pair => pair.Export != null)
                             .ToLookup(pair => ((ExportAttribute)pair.Export).ContractType, pair => pair.Type);

            AttributeProviders.AddRange(from type in extensions[typeof(IAttributeProvider)] where !AttributeProviders.Any(x => x.GetType() == type) select(IAttributeProvider) Activator.CreateInstance(type));
            Factories.AddRange(from type in extensions[typeof(IFactory)] where !Factories.Any(x => x.Value.GetType() == type) select new Extension <IFactory>(editor, (IFactory)Activator.CreateInstance(type)));
            Visualizers.AddRange(from type in extensions[typeof(IVisualizer)] where !Visualizers.Any(x => x.Value.GetType() == type) select new Extension <IVisualizer>(editor, (IVisualizer)Activator.CreateInstance(type)));
            Tools.AddRange(from type in extensions[typeof(ITool)] where !Tools.Any(x => x.Value.GetType() == type) select new Extension <ITool>(editor, (ITool)Activator.CreateInstance(type)));
            Importers.AddRange(from type in extensions[typeof(IImporter)] where !Importers.Any(x => x.Value.GetType() == type) select new Extension <IImporter>(editor, (IImporter)Activator.CreateInstance(type)));
            Exporters.AddRange(from type in extensions[typeof(IExporter)] where !Exporters.Any(x => x.Value.GetType() == type) select new Extension <IExporter>(editor, (IExporter)Activator.CreateInstance(type)));
            Settings.AddRange(from type in extensions[typeof(ISettings)] where !Settings.Any(x => x.Value.GetType() == type) select new Extension <ISettings>(editor, (ISettings)Activator.CreateInstance(type)));

            TraceExtensions();

            Trace.TraceInformation("Extensions Loaded.");
        }
Пример #19
0
 internal Extension <IVisualizer> FindVisualizer(Type type)
 {
     return(Visualizers.SingleOrDefault(e => e.IsDefault && e.Value.TargetType == type)
            ?? Visualizers.FirstOrDefault(e => e.Value.TargetType == type));
 }