private void AddSortMethod(ITreeSortMethod sort)
 {
     if (!sortMethods.ContainsKey(sort.Name))
     {
         sortMethods.Add(sort.Name, sort);
     }
 }
        public int Compare(object x, object y)
        {
            TreeNode nodeX = (TreeNode)x;
            TreeNode nodeY = (TreeNode)y;

            try
            {
                InventoryBase ibX = (InventoryBase)nodeX.Tag;
                InventoryBase ibY = (InventoryBase)nodeY.Tag;

                if (currentMethod == null)
                {
                    currentMethod = sortMethods[currentMethodName];
                }

                try
                {
                    return(currentMethod.CompareNodes(ibX, ibY, nodeX, nodeY));
                }
                catch (Exception ex)
                {
                    Logger.Log("Inventory error", Helpers.LogLevel.Error, ex);
                    return(0);
                }
            }
            catch
            {
                return(0);
            }
        }
        private void RegisterSortMethods(Assembly assembly)
        {
            foreach (Type type in assembly.GetTypes())
            {
                if (type.GetInterface("ITreeSortMethod") != null)
                {
                    ConstructorInfo info = type.GetConstructor(Type.EmptyTypes);
                    ITreeSortMethod sort = (ITreeSortMethod)info.Invoke(null);

                    sortMethods.Add(sort.Name, sort);
                }
            }
        }
Beispiel #4
0
 private void AddSortMethod(ITreeSortMethod sort)
 {
     sortMethods.Add(sort.Name, sort);
 }
        public int Compare(object x, object y)
        {
            TreeNode nodeX = (TreeNode)x;
            TreeNode nodeY = (TreeNode)y;

            try
            {
                InventoryBase ibX = (InventoryBase)nodeX.Tag;
                InventoryBase ibY = (InventoryBase)nodeY.Tag;

                if (currentMethod == null)
                {
                    currentMethod = sortMethods[currentMethodName];
                }

                try
                {
                    return currentMethod.CompareNodes(ibX, ibY, nodeX, nodeY);
                }
                catch (Exception ex)
                {
                    Logger.Log("Inventory error", Helpers.LogLevel.Error, ex);
                    return 0;
                }
            }
            catch
            {
                return 0;
            }
        }
 private void AddSortMethod(ITreeSortMethod sort)
 {
     if (!sortMethods.ContainsKey(sort.Name))
     {
     sortMethods.Add(sort.Name, sort);
     }
 }