コード例 #1
0
        private void button_Add_Click(object sender, EventArgs e)
        {
            BufferConfig     vBufferConfig = getBufferConfig(treeView_FeatureLayers.SelectedNode.Name);
            ComboBoxListItem vSelectedItem = (ComboBoxListItem)comboBox_Layers.SelectedItem;

            foreach (ListViewItem vTempItem in vBufferConfig.SelectedLayers)
            {
                if (vTempItem.Name == vSelectedItem.Value)
                {
                    MessageBox.Show("已存在相同的图层请重新选择", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }

            ListViewItem vNewItem = new ListViewItem()
            {
                Name = vSelectedItem.Value,
                Text = vSelectedItem.Name,
            };

            vBufferConfig.SelectedLayers.Add(vNewItem);
            listView_Layers.Clear();
            listView_Layers.Items.AddRange(vBufferConfig.SelectedLayers.ToArray());
            listView_Layers.Refresh();
        }
コード例 #2
0
 void OnClientAccepted(IAsyncResult ia)
 {
     try
     {
         TcpClient clientAccepted = ((TcpListener)ia.AsyncState).EndAcceptTcpClient(ia);
         //================================================================================\\
         BufferConfig BufferConfig = new BufferConfig();
         //================================================================================\\
         BufferConfig.tcpClient     = clientAccepted;
         BufferConfig.networkStream = BufferConfig.tcpClient.GetStream();
         //================================================================================\\
         Player nPlayer = new Player(GetUniqueID((IPEndPoint)BufferConfig.tcpClient.Client.RemoteEndPoint), BufferConfig.tcpClient);
         if (AddPlayer(nPlayer))
         {
             Logger($"Client Connected -> [{BufferConfig.tcpClient.RemoteEndPoint()}]");
             //=========================================
             BufferConfig.networkStream.BeginRead(BufferConfig.buffer, 0, BufferConfig.BUFFER_SIZE, OnTCPReceived, BufferConfig);
         }
         else
         {
             Logger("Fail to client accept");
         }
     }
     catch (SocketException ex) { LoggerError($"Failed to Client Accept {ex.Message} {ex.ErrorCode}"); }
     TCPListen(); // Wait for new connenction.
 }
コード例 #3
0
        private void treeView_FeatureLayers_AfterCheck(object sender, TreeViewEventArgs e)
        {
            BufferConfig vBufferConfig = getBufferConfig(e.Node.Name);

            vBufferConfig.IsSelect = e.Node.Checked;
            if (vBufferConfig.BufferLayerName != null && vBufferConfig.BufferLayerName != "")
            {
                VMainForm.ChangeLayerVisible(vBufferConfig.BufferLayerName, vBufferConfig.IsSelect);
            }
        }
コード例 #4
0
        private void button_Remove_Click(object sender, EventArgs e)
        {
            if (listView_Layers.SelectedItems.Count == 0)
            {
                MessageBox.Show("请选择需要删除的图层", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            BufferConfig vBufferConfig = getBufferConfig(treeView_FeatureLayers.SelectedNode.Name);

            vBufferConfig.SelectedLayers.Remove(listView_Layers.SelectedItems[0]);
            listView_Layers.Items.Remove(listView_Layers.SelectedItems[0]);
        }
コード例 #5
0
 private void listView_Buffer_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (listView_Buffer.SelectedItems.Count > 0)
     {
         ListViewItem vSelectedItem = (ListViewItem)listView_Buffer.SelectedItems[0];
         BufferConfig vBufferConfig = getBufferConfig(treeView_FeatureLayers.SelectedNode.Name);
         foreach (DataTable vTable in vBufferConfig.AnalyzeLayers_Detail)
         {
             if (vTable.TableName == vSelectedItem.Name)
             {
                 dataGridView_Analyze.DataSource = vTable;
                 break;
             }
         }
     }
 }
コード例 #6
0
        public IRouteBranchEnd Buffer()
        {
            if (source.attributes.length() <= 0)
            {
                throw new IllegalRouteOperationException("Cannot buffer null data");
            }

            DataTypeBase processor = new IntegralDataType(source, DATA_PROCESSOR, DataProcessor.NOTIFY, new DataAttributes(new byte[] { }, 0, 0, false));
            var          config    = new BufferConfig(source.attributes.length());

            state.dataProcessors.AddLast(Tuple.Create(
                                             source.dataProcessorStateCopy(source, source.attributes),
                                             new NullEditor(config, processor, state.bridge) as EditorImplBase
                                             ));
            return(new RouteBranchEnd(this));
        }
コード例 #7
0
        void showLayerData(TreeNode node)
        {
            BufferConfig vBufferConfig = getBufferConfig(node.Name);
            string       vLayerName    = string.Format("{0}_Buffer", node.Name);

            textBox_Name.Text            = vBufferConfig.LayerName;
            textBox_Type.Text            = CommonUnit.ConvertLayerType(getLayerType(vBufferConfig.LayerName));
            numericUpDown_Distance.Value = vBufferConfig.Distance;

            listView_Layers.Items.Clear();
            listView_Layers.Items.AddRange(vBufferConfig.SelectedLayers.ToArray());

            listView_Buffer.Items.Clear();
            listView_Buffer.Items.AddRange(vBufferConfig.AnalyzeLayers.ToArray());
            //listBox_Buffer.Items.AddRange(vBufferConfig.AnalyzeLayers.ToArray());

            dataGridView_Analyze.DataSource = null;
        }
コード例 #8
0
    void OnTCPReceived(IAsyncResult ia)
    {
        BufferConfig BufferConfig = (BufferConfig)ia.AsyncState;

        try
        {
            int dataLength = BufferConfig.networkStream.EndRead(ia);
            //==============================================================================================\\
            if (!BufferConfig.tcpClient.IsConnected())
            {
                HandleDisconnect(BufferConfig.tcpClient); // Disconnects a client and frees up its resources.
            }
            else
            {
                BufferConfig.networkStream.BeginRead(BufferConfig.buffer, 0, BufferConfig.BUFFER_SIZE, OnTCPReceived, BufferConfig);
                //==================================================================================================================\\
                if (dataLength > 0)
                {
                    byte[] stateBuffer = BufferConfig.buffer;
                    //==================================================================================
                    byte[] decompressedBuffer = stateBuffer.Decompress(COMPRESSION_MODE, dataLength);
                    //==================================================================================
                    byte[] bufferCopy = new byte[decompressedBuffer.Length];
                    //==================================================================================
                    Buffer.BlockCopy(decompressedBuffer, 0, bufferCopy, 0, decompressedBuffer.Length);
                    //==================================================================================
                    ProcessClientData(BufferConfig.tcpClient, bufferCopy, bufferCopy.Length, null);
                }
                else
                {
                    HandleDisconnect(BufferConfig.tcpClient);
                }
            }
        }
        catch (SocketException ex)
        {
            HandleDisconnect(BufferConfig.tcpClient);
            //==========================================================//
            LoggerError($"Failed to Receive Message {ex.Message}");
        }
    }
コード例 #9
0
        private void numericUpDown_Distance_ValueChanged(object sender, EventArgs e)
        {
            BufferConfig vBufferConfig = getBufferConfig(treeView_FeatureLayers.SelectedNode.Name);

            vBufferConfig.Distance = Convert.ToInt32(numericUpDown_Distance.Value);
        }