示例#1
0
        private void Watcher_Created(object sender, FileSystemEventArgs e)
        {
            _fileTreeView.BeginInvoke((MethodInvoker) delegate
            {
                var solcProjectFileType = SolcProjectFileType.Sol;

                var fileInfo = new FileInfo(e.FullPath);

                switch (fileInfo.Extension)
                {
                case ".abi":
                    solcProjectFileType = SolcProjectFileType.Abi;
                    break;

                case ".bin":
                    solcProjectFileType = SolcProjectFileType.Bin;
                    break;

                case ".sol":
                    solcProjectFileType = SolcProjectFileType.Sol;
                    break;
                }


                AddFile(fileInfo, solcProjectFileType);

                TreeNodeManager.UpsertSolcFiles();
                HtmlTabManager.RefreshHtmlEditor();

                if (solcProjectFileType == SolcProjectFileType.Abi)
                {
                    var abiFile = GetFile(SolcProjectFileType.Abi);

                    if (abiFile != null)
                    {
                        _fpAbi.Controls.Clear();
                        var abiDef = abiFile.AbiDefinition;

                        var functions = abiDef.Where(x => x.Type == "function");
                        foreach (var function in functions)
                        {
                            var ethFunction = new EthFunction(function, _txtConsoleOut);
                            _fpAbi.Controls.Add(ethFunction);
                            ethFunction.Width = _fpAbi.Width - 10;
                        }
                    }
                    else
                    {
                        //MessageBox.Show("Doesnt exist");
                    }
                }
                else if (solcProjectFileType == SolcProjectFileType.Bin)
                {
                    EstimateGas();
                }
            });
        }
示例#2
0
        private void LoadNode(TreeNodeCollection nodes, INiHierarchy item)
        {
            var treeNode = new TreeNodeManager(this, item).TreeNode;

            nodes.Add(treeNode);

            foreach (var child in item.GetChildren())
            {
                LoadNode(treeNode.Nodes, child);
            }
        }
示例#3
0
        private void WorkerAttemptConnection(object sender, DoWorkEventArgs e)
        {
            var values           = (dynamic)e.Argument;
            var connectionNode   = (ConnectionNode)values.connectionNode;
            var rememberText     = values.rememberText;
            var connectionStatus = BlockStudioProjectService.BlockStudioProject.Connection.GetConnectionProperties();

            if (connectionStatus == ConnectionStatus.CouldNotConnect)
            {
                BeginInvoke((MethodInvoker) delegate
                {
                    var result = MessageBoxEx.Show(this, string.Format("Could not connect, is Ethereum running on port {0}?", BlockStudioProjectService.BlockStudioProject.Connection.RpcPort), "Block Studio", MessageBoxButtons.RetryCancel,
                                                   MessageBoxIcon.Error);

                    if (result == DialogResult.Retry)
                    {
                        AttemptConnection(connectionNode);
                    }
                });
            }
            else if (connectionStatus == ConnectionStatus.ConnectedButPersonalNotSuppored)
            {
                BeginInvoke((MethodInvoker) delegate
                {
                    MessageBoxEx.Show(this, string.Format(@"Connected but account creation not supported.{0}{0}Run geth with --rpcapi ""eth,web3,personal"" parameter", Environment.NewLine), "Block Studio", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                });
            }
            else
            {
                BeginInvoke((MethodInvoker) delegate
                {
                    TreeNodeManager.ExpandConnectionProperties(connectionNode);

                    if (!connectionNode.HasConnected)
                    {
                        connectionNode.HasConnected = true;
                        connectionPanel1.BindControls();
                    }
                });
            }

            BeginInvoke((MethodInvoker) delegate
            {
                connectionNode.Text       = rememberText;
                connectionNode.ForeColor  = Color.Black;
                connectionNode.ImageIndex = 1;
            });
        }
示例#4
0
        private void LoadProject()
        {
            if (BlockStudioProjectService.BlockStudioProject != null)
            {
                TreeNodeManager.RefreshProject();

                var runningPort = BlockStudioProjectService.BlockStudioProject.Connection.RpcPort;

                var gethInstanceState = GethService.GetPortAndInstanceUse(runningPort);
                if (gethInstanceState == GethInstanceState.NoInstanceRunning)
                {
                    // run geth
                    //GethService.RunGethInstance(BlockStudioProjectService.BlockStudioProject.Connection);
                    //Thread.Sleep(1000);
                    //AttemptConnection(TreeNodeManager.GetConnectionNode());
                    //connectionPanel1.BindControls();
                }

                tabControl1.Visible = true;
            }
        }
示例#5
0
 public Listener(TreeNodeManager manager)
     : base(manager.Item)
 {
     _manager = manager;
 }
示例#6
0
        private void LoadNode(TreeNodeCollection nodes, INiHierarchy item)
        {
            var treeNode = new TreeNodeManager(this, item).TreeNode;

            nodes.Add(treeNode);

            foreach (var child in item.GetChildren())
            {
                LoadNode(treeNode.Nodes, child);
            }
        }
示例#7
0
 private void InitTreeNodeManage()
 {
     this.m_TreeNodeManage = new TreeNodeManager("NE_Site");
     this.m_TreeNodeManage.RootNode = this.m_SiteNode;
     this.m_TreeNodeManage.GroupByMenuStrip = this.ctxtMenuGroupBy;
     this.m_TreeNodeManage.NodeMenuStrip = this.ctxMenuSite;
 }
示例#8
0
 public Listener(TreeNodeManager manager)
     : base(manager.Item)
 {
     _manager = manager;
 }