public RuntimeUnityEditorCore(GameObject pluginObject, ILoggerWrapper logger)
        {
            if (Instance != null)
            {
                throw new InvalidOperationException("Can only create one instance of the Core object");
            }

            PluginObject = pluginObject;
            Logger       = logger;
            Instance     = this;

            Inspector  = new Inspector.Inspector(targetTransform => TreeViewer.SelectAndShowObject(targetTransform));
            TreeViewer = new ObjectTreeViewer(items =>
            {
                Inspector.InspectorClear();
                foreach (var stackEntry in items)
                {
                    Inspector.InspectorPush(stackEntry);
                }
            });

            if (Utils.UnityFeatureHelper.SupportsCursorIndex &&
                Utils.UnityFeatureHelper.SupportsXml)
            {
                Repl = new ReplWindow();
            }
        }
Exemple #2
0
 private void btnReloadTree_Click(object sender, EventArgs e)
 {
     root = new TreeNode();
     TreeViewer.GetTree(richTextBox1.Text, root);
     treeViewer.Nodes.Clear();
     treeViewer.Nodes.Add(root);
 }
Exemple #3
0
        private void AddAttribute(object sender, EventArgs e)
        {
            TreeNode  treeNode  = TreeViewer.SelectedNode;
            Element   parent    = (Element)treeNode.Tag;
            Attribute attribute = new Attribute("class", "value");

            parent.Attributes.Add(attribute);

            int index = 0;

            foreach (TreeNode child in treeNode.Nodes)
            {
                if (child.ImageIndex != 1)
                {
                    break;
                }
                index++;
            }

            treeNode.Nodes.Insert(index, $"{attribute.Name}=");
            treeNode.Nodes[index].Tag                = attribute;
            treeNode.Nodes[index].ImageIndex         = 1;
            treeNode.Nodes[index].SelectedImageIndex = 1;
            treeNode.Nodes[index].Nodes.Add($"\"{attribute.Value}\"");
            treeNode.Nodes[index].Nodes[0].Tag                = attribute;
            treeNode.Nodes[index].Nodes[0].ImageIndex         = 2;
            treeNode.Nodes[index].Nodes[0].SelectedImageIndex = 2;

            treeNode.Expand();
            treeNode.Nodes[index].Expand();
            TreeViewer.SelectedNode = treeNode.Nodes[index];
            TreeViewer.Select();
        }
Exemple #4
0
 private void UpdateTree()
 {
     TreeViewer.Nodes.Clear();
     AddToTreeView(root);
     TreeViewer.ExpandAll();
     TreeViewer.Select();
     TreeViewer.SelectedNode = TreeViewer.Nodes[0];
 }
 public void OnGUI()
 {
     if (Show)
     {
         Inspector.DisplayInspector();
         TreeViewer.DisplayViewer();
         Repl?.DisplayWindow();
     }
 }
Exemple #6
0
 public void SubjChanged(TreeViewer tree)
 {
     Set_current_first();
     foreach (TreeNode i in tree.TreeView.Nodes[0].Nodes)
     {
         ProcessNode(i);
         Step_forward();
     }
 }
Exemple #7
0
 private void EditEnter(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Enter)
     {
         editBox.Text = editBox.Text.Replace("\n", "");
         EditValue();
         TreeViewer.Select();
     }
 }
Exemple #8
0
 protected void OnGUI()
 {
     if (Show)
     {
         Inspector.DisplayInspector();
         TreeViewer.DisplayViewer();
         Repl.DisplayWindow();
     }
 }
Exemple #9
0
        public TreeViewer_WinformsHost()
        {
            this.BackColor = System.Drawing.Color.White;

            dv = new TreeViewer();

            this.BackColorTransparent = true;

            base.Child = dv;
        }
Exemple #10
0
        private void richTextBox1_SelectionChanged(object sender, EventArgs e)
        {
            var node = TreeViewer.FindNode(root, richTextBox1.SelectionStart);

            if (node != null)
            {
                node.EnsureVisible();
                node.Checked            = true;
                treeViewer.SelectedNode = node;
            }
        }
Exemple #11
0
        public void OnGUI()
        {
            if (Show)
            {
                Cursor.lockState = CursorLockMode.None;
                Cursor.visible   = true;

                Inspector.DisplayInspector();
                TreeViewer.DisplayViewer();
                Repl?.DisplayWindow();
            }
        }
Exemple #12
0
        private void AddText(object sender, EventArgs e)
        {
            TreeNode treeNode = TreeViewer.SelectedNode;
            Element  parent   = (Element)treeNode.Tag;
            Text     text     = new Text("Text");

            parent.Children.Add(text);

            treeNode.Expand();
            TreeViewer.SelectedNode = AddToTreeView(text, treeNode);
            TreeViewer.Select();
        }
Exemple #13
0
        private void AddComment(object sender, EventArgs e)
        {
            TreeNode treeNode = TreeViewer.SelectedNode;
            Element  parent   = (Element)treeNode.Tag;
            Comment  comment  = new Comment("Comment");

            parent.Children.Add(comment);

            treeNode.Expand();
            TreeViewer.SelectedNode = AddToTreeView(comment, treeNode);
            TreeViewer.Select();
        }
        internal RuntimeUnityEditorCore(MonoBehaviour pluginObject, ILoggerWrapper logger, string configPath)
        {
            if (Instance != null)
            {
                throw new InvalidOperationException("Can only create one instance of the Core object");
            }

            CompositeResolver.RegisterAndSetAsDefault(GeneratedResolver.Instance, BuiltinResolver.Instance, PrimitiveObjectResolver.Instance);

            PluginObject = pluginObject;
            Logger       = logger;
            Instance     = this;

            InitNativeGUI();

            Inspector = new Inspector.Inspector(targetTransform => TreeViewer.SelectAndShowObject(targetTransform));

            TreeViewer = new ObjectTreeViewer(pluginObject);
            TreeViewer.InspectorOpenCallback = items =>
            {
                Inspector.InspectorClear();
                foreach (var stackEntry in items)
                {
                    Inspector.InspectorPush(stackEntry);
                }
            };

            if (UnityFeatureHelper.SupportsVectrosity)
            {
                GizmoDrawer = new GizmoDrawer(pluginObject);
                TreeViewer.TreeSelectionChangedCallback = transform => GizmoDrawer.UpdateState(transform);
            }

            if (UnityFeatureHelper.SupportsCursorIndex &&
                UnityFeatureHelper.SupportsXml)
            {
                try
                {
                    Repl = new ReplWindow(Path.Combine(configPath, "RuntimeUnityEditor.Autostart.cs"));
                    Repl.RunAutostart();
                }
                catch (Exception ex)
                {
                    Logger.Log(LogLevel.Warning, "Failed to load REPL - " + ex.Message);
                }
            }
        }
Exemple #15
0
        protected void Awake()
        {
            new XmlDocument().CreateComment("Test if System.XML is available (REPL fails with no message without it)");

            Instance = this;

            Inspector  = new Inspector.Inspector(targetTransform => TreeViewer.SelectAndShowObject(targetTransform));
            TreeViewer = new ObjectTreeViewer(items =>
            {
                Inspector.InspectorClear();
                foreach (var stackEntry in items)
                {
                    Inspector.InspectorPush(stackEntry);
                }
            });

            Repl = new ReplWindow();
        }
        internal void OnGUI()
        {
            if (Show)
            {
                var originalSkin = GUI.skin;
                GUI.skin = InterfaceMaker.CustomSkin;

                Cursor.lockState = CursorLockMode.None;
                Cursor.visible   = true;

                Inspector.DisplayInspector();
                TreeViewer.DisplayViewer();
                Repl?.DisplayWindow();

                // Restore old skin for maximum compatibility
                GUI.skin = originalSkin;
            }
        }
Exemple #17
0
        public RuntimeUnityEditorCore(MonoBehaviour pluginObject, ILoggerWrapper logger)
        {
            if (Instance != null)
            {
                throw new InvalidOperationException("Can only create one instance of the Core object");
            }

            PluginObject = pluginObject;
            Logger       = logger;
            Instance     = this;

            Inspector = new Inspector.Inspector(targetTransform => TreeViewer.SelectAndShowObject(targetTransform));

            TreeViewer = new ObjectTreeViewer(pluginObject);
            TreeViewer.InspectorOpenCallback = items =>
            {
                Inspector.InspectorClear();
                foreach (var stackEntry in items)
                {
                    Inspector.InspectorPush(stackEntry);
                }
            };

            if (Utils.UnityFeatureHelper.SupportsVectrosity)
            {
                GizmoDrawer = new GizmoDrawer(pluginObject);
                TreeViewer.TreeSelectionChangedCallback = transform => GizmoDrawer.UpdateState(transform);
            }

            if (Utils.UnityFeatureHelper.SupportsCursorIndex &&
                Utils.UnityFeatureHelper.SupportsXml)
            {
                try
                {
                    Repl = new ReplWindow();
                }
                catch (Exception ex)
                {
                    Logger.Log(LogLevel.Warning, "Failed to load REPL - " + ex.Message);
                }
            }
        }
        public MainForm(Core core)
        {
            _core = core;

            InitializeComponent();
            Icon = Resources.Icon;
            Font = SystemFonts.DefaultFont;

            Text = $@"{Application.ProductName} v.{Application.ProductVersion}.";

            _treeViewer = new TreeViewer(_trvImages);

            _treeViewer.ImagedataRequred  += TreeViewerOnImagedataRequred;
            _treeViewer.DirectorySelected += TreeViewerOnDirectorySelected;
            _treeViewer.ImageSelected     += OnSelectedImageNode;

            _widgetPlateAdapter = new ControlWidgetAdapter(_imgPlate)
            {
                RootWidget = _imagePlateWidget = new ImageWidget(_imgPlate)
                {
                    ShowVertices       = false,
                    IsEnabled          = false,
                    HandlesMouseEvents = false,
                },
            };

            _stencilsProvider = new StencilsProvider();

            _image.PlateChanged    += OnImageWidgetPlateChanged;
            _image.PrevButtonClick += OnPrevButtonClick;
            _image.NextButtonClick += OnNextButtonClick;

            _imgPlate.Smooth = true;

            _cmbCountries.Sorted = true;
            _cmbStencils.Sorted  = true;
        }
Exemple #19
0
        protected void Awake()
        {
            Instance = this;

            DnSpyPath = new ConfigWrapper <string>(nameof(DnSpyPath), this);
            DnSpyPath.SettingChanged += (sender, args) => DnSpyHelper.DnSpyPath = DnSpyPath.Value;
            DnSpyHelper.DnSpyPath     = DnSpyPath.Value;

            Inspector  = new Inspector.Inspector(targetTransform => TreeViewer.SelectAndShowObject(targetTransform));
            TreeViewer = new ObjectTreeViewer(items =>
            {
                Inspector.InspectorClear();
                foreach (var stackEntry in items)
                {
                    Inspector.InspectorPush(stackEntry);
                }
            });

            Repl = new ReplWindow();

            DnSpyPath = new ConfigWrapper <string>(nameof(DnSpyPath), this);
            DnSpyPath.SettingChanged += (sender, args) => DnSpyHelper.DnSpyPath = DnSpyPath.Value;
            DnSpyHelper.DnSpyPath     = DnSpyPath.Value;
        }
Exemple #20
0
 public Application(Process process, ViewerMode mode = ViewerMode.RawView)
 {
     CurrentWindow = new Window(AutomationElement.FromHandle(process.MainWindowHandle));
     Viewer        = new TreeViewer(AutomationElement.FromHandle(process.MainWindowHandle), mode);
 }
Exemple #21
0
 public Application(string name, ViewerMode mode = ViewerMode.RawView)
 {
     CurrentWindow = new TreeViewer(AutomationElement.RootElement).FindByName <Window>(name);
     Viewer        = new TreeViewer(AutomationElement.FromHandle((IntPtr)CurrentWindow.WindowHandle), mode);
 }
Exemple #22
0
 public void AddObservers(TreeViewer t)
 {
     observers = t;
 }
Exemple #23
0
        private void showTreeButton_Click(object sender, EventArgs e)
        {
            TreeViewer viewer = new TreeViewer();

            viewer.ShowDialog();
        }