Ejemplo n.º 1
0
        public void Build(object root)
        {
            this.root = root;
            //create set of selected and checked nodes
            var selected = new HashSet <object>();
            var check    = new HashSet <object>();

            foreach (var i in SelectedItemIndex)
            {
                selected.Add(nodes[i]);
            }

            foreach (var i in CheckedItemIndex)
            {
                check.Add(nodes[i]);
            }

            //
            nodes.Clear();
            levels.Clear();
            SelectedItemIndex.Clear();
            CheckedItemIndex.Clear();

            //build list of expanded nodes
            if (ShowRootNode)
            {
                AddNode(root, 0);
            }
            else
            {
                AddNodeChildren(root, 0);
            }
            //restore indexes of selected and checked nodes
            var newExpanded = new HashSet <object>();

            hasChildren = new BitArray(nodes.Count);

            for (int i = 0; i < nodes.Count; i++)
            {
                var node = nodes[i];
                if (selected.Contains(node))
                {
                    SelectedItemIndex.Add(i);
                }
                if (check.Contains(node))
                {
                    CheckedItemIndex.Add(i);
                }
                if (expandedNodes.Contains(node))
                {
                    newExpanded.Add(node);
                }
                hasChildren[i] = GetNodeChildren(nodes[i]).Cast <object>().Any();
            }

            expandedNodes = newExpanded;
            ItemCount     = nodes.Count;
            base.Build();
        }
Ejemplo n.º 2
0
 public FastList()
 {
     if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
     {
         ItemCount       = 100;
         ItemTextNeeded += (o, a) => a.Result = "Item " + a.ItemIndex;
         SelectedItemIndex.Add(0);
     }
 }
Ejemplo n.º 3
0
        public FastTree()
        {
            AutoCollapse      = true;
            ShowRootNode      = false;
            ShowExpandBoxes   = true;
            ItemIndentDefault = 16;

            if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
            {
                Build(new object[] { "Node 1", "Node 2", "Node 3" });
                SelectedItemIndex.Add(0);
            }
        }
 public Schema()
     : base()
 {
     InstanceType = typeof(__Radiolis__);
     ClassName    = "RadiolistPage";
     Properties.ClearExposed();
     Html = Add <__TString__>("Html");
     Html.DefaultValue = "/KitchenSink/RadiolistPage.html";
     Html.SetCustomAccessors((_p_) => { return(((__Radiolis__)_p_).__bf__Html__); }, (_p_, _v_) => { ((__Radiolis__)_p_).__bf__Html__ = (System.String)_v_; }, false);
     MenuOptions = Add <__TArray__>("MenuOptions");
     MenuOptions.SetCustomGetElementType((arr) => { return(__MenuOpti__.DefaultTemplate); });
     MenuOptions.SetCustomAccessors((_p_) => { return(((__Radiolis__)_p_).__bf__MenuOptions__); }, (_p_, _v_) => { ((__Radiolis__)_p_).__bf__MenuOptions__ = (__Arr__)_v_; }, false);
     SelectedItemIndex = Add <__TLong__>("SelectedItemIndex$");
     SelectedItemIndex.DefaultValue = 0L;
     SelectedItemIndex.Editable     = true;
     SelectedItemIndex.SetCustomAccessors((_p_) => { return(((__Radiolis__)_p_).__bf__SelectedItemIndex__); }, (_p_, _v_) => { ((__Radiolis__)_p_).__bf__SelectedItemIndex__ = (System.Int64)_v_; }, false);
     SelectedItemIndex.AddHandler((Json pup, Property <Int64> prop, Int64 value) => { return(new Input.SelectedItemIndex()
         {
             App = (RadiolistPage)pup, Template = (TLong)prop, Value = value
         }); }, (Json pup, Starcounter.Input <Int64> input) => { ((RadiolistPage)pup).Handle((Input.SelectedItemIndex)input); });
     SelectedItemLabel = Add <__TString__>("SelectedItemLabel");
     SelectedItemLabel.DefaultValue = "";
     SelectedItemLabel.SetCustomAccessors((_p_) => { return(((__Radiolis__)_p_).__bf__SelectedItemLabel__); }, (_p_, _v_) => { ((__Radiolis__)_p_).__bf__SelectedItemLabel__ = (System.String)_v_; }, false);
 }
Ejemplo n.º 5
0
 public virtual bool IsNodeSelected(object node)
 {
     return(SelectedItemIndex.Contains(nodes.IndexOf(node)));
 }