Beispiel #1
0
        // Json 버튼은 JsonTreeViewItem.Header.children 에 존재
        protected override void OnClick()
        {
            base.OnClick();
            JsonTreeViewItem this_jtvi = (this.Parent as Grid).Parent as JsonTreeViewItem;

            if (this_jtvi == null)
            {
                return;
            }

            if (this_jtvi.value_token_type == JTokenType.Array)
            {
                JsonTreeViewItem child_tvi = new JsonTreeViewItem();
                KeyTextBox       tb_key    = new KeyTextBox(this_jtvi.Actual_child_count.ToString(), false);
                child_tvi.Header.AddItem(tb_key);
                KeyTextBox tb_type = new KeyTextBox("object", false);
                child_tvi.Header.AddItem(tb_type);
                child_tvi.value_token_type = JTokenType.Object;

                this_jtvi.ChildAddItem(child_tvi);
            }
            else
            {
                // window_addJson showdialog()
                Window_AddJsonItem wnd_add = new Window_AddJsonItem();
                Point pt = this.PointToScreen(new Point(0, 0));
                wnd_add.Left = pt.X;
                wnd_add.Top  = pt.Y;

                // cancel return
                if (wnd_add.ShowDialog() != true)
                {
                    return;
                }

                JsonTreeViewItem.convertToTreeView_recursive(this_jtvi, new JProperty(wnd_add.key, wnd_add.value));
            }
        }