示例#1
0
        private void ICConstructerLstVw_ItemActivate(object sender, EventArgs e)
        {
            if (ICConstructerLstvw.SelectedItems.Count < 1)
            {
                return;
            }

            object       chunk = null;
            ListViewItem item  = ICConstructerLstvw.SelectedItems[0];

            switch (item.SubItems[0].Text)
            {
            case "Integer": chunk = ""; break;

            case "String": chunk = false; break;

            case "Boolean": chunk = 0; break;

            default: return;
            }
            ICValueTxt.TextChanged -= ICValueTxt_TextChanged;
            ICValueTxt.Text         = chunk.ToString();
            ICValueTxt.TextChanged += ICValueTxt_TextChanged;

            ICConstructerLstvw.ReplaceItem(chunk);
            ICValueTxt.Focus();
        }
示例#2
0
        private void Contractor_CommandReceived(object sender, InvokedEventArgs e)
        {
            try
            {
                switch (e.Command)
                {
                case "Construct":
                {
                    ICClearBtn_Click(this, e);
                    ICHeaderTxt.Text = e.Args[0].ToString();
                    if (e.Args.Length < 2)
                    {
                        return;
                    }

                    ICConstructerLstvw.BeginUpdate();
                    for (int i = 1; i < e.Args.Length; i++)
                    {
                        ICConstructerLstvw.Append(e.Args[i]);
                    }
                    ICConstructerLstvw.EndUpdate();
                    break;
                }
                }
                e.Result = true;
            }
            catch { e.Result = false; }
        }
示例#3
0
        private void ICRemoveBtn_Click(object sender, EventArgs e)
        {
            ICConstructerLstvw.RemoveSelectedItem();

            ICChunkCountLbl.Text = string.Format(CHUNK_COUNT_FORMAT,
                                                 ICConstructerLstvw.ChunksWritten.Count);
        }
示例#4
0
        private void ICValueTxt_TextChanged(object sender, EventArgs e)
        {
            if (ICConstructerLstvw.SelectedItems.Count < 1)
            {
                return;
            }
            string typeName = ICConstructerLstvw.SelectedItems[0].SubItems[0].Text;

            object chunk = null;

            switch (typeName)
            {
            case "Integer":
            {
                int value = 0;
                chunk = int.TryParse(ICValueTxt.Text, out value) ? value : 0;
                break;
            }

            case "String": chunk = ICValueTxt.Text; break;

            case "Boolean": chunk = (!string.IsNullOrEmpty(ICValueTxt.Text) && (ICValueTxt.Text[0] == 't' || ICValueTxt.Text[0] == '1')); break;

            default: return;
            }
            ICConstructerLstvw.ReplaceItem(chunk);
        }
示例#5
0
        private void ICClearBtn_Click(object sender, EventArgs e)
        {
            ICConstructerLstvw.ClearItems();
            ICRemoveBtn.Enabled = ICMoveDownBtn.Enabled = ICMoveUpBtn.Enabled = false;

            ICChunkCountLbl.Text = string.Format(CHUNK_COUNT_FORMAT,
                                                 ICConstructerLstvw.ChunksWritten.Count);
        }
示例#6
0
        private void ICAppendBtn_Click(object sender, EventArgs e)
        {
            object value = null;
            int    count = (int)ICCountTxt.Value;

            switch (((Control)sender).Text.Split(' ')[1])
            {
            case "String": value = ICValueTxt.Text; break;

            case "Integer":
            {
                int outcome = 0;
                int.TryParse(ICValueTxt.Text, out outcome);
                value = outcome;
                break;
            }

            case "Boolean":
            {
                if (string.IsNullOrWhiteSpace(ICValueTxt.Text))
                {
                    value = false;
                }
                else
                {
                    char start = ICValueTxt.Text[0];
                    value = (start == 't' || start == '1');
                }
                break;
            }
            }

            var values = new object[count];

            for (int i = 0; i < values.Length; i++)
            {
                values[i] = value;
            }

            ICConstructerLstvw.Append(values);

            ICChunkCountLbl.Text = string.Format(CHUNK_COUNT_FORMAT,
                                                 ICConstructerLstvw.ChunksWritten.Count);
        }
示例#7
0
 private void ICCopyPacketBtn_Click(object sender, EventArgs e)
 {
     Clipboard.SetText(ICConstructerLstvw.GetString());
 }
示例#8
0
 private void ICPrimitiveBtn_Click(object sender, EventArgs e)
 {
     IPacketTxt.Text = ICConstructerLstvw.GetString();
     IInjectionTabs.SelectTab(IPrimitiveTab);
 }
示例#9
0
 private void ICInjectionBtn_Click(object sender, EventArgs e)
 {
     IPacketTxt.Text = ICConstructerLstvw.GetString();
 }
示例#10
0
 private void ICSchedulerBtn_Click(object sender, EventArgs e)
 {
     IInjectionTabs.SelectTab(ISchedulerTab);
     ISPacketTxt.Text = ICConstructerLstvw.GetString();
 }
示例#11
0
 private void ICMoveDownBtn_Click(object sender, EventArgs e)
 {
     ICConstructerLstvw.MoveSelectedItemDown();
 }