Пример #1
0
 public unsafe void SetVariable(GClass *type, void *var, GMeasures *measures)
 {
     this.PropTreeCore.SetVariable(type, var, measures);
     this.PropTreeCore.SelectedIndex = 0;
     this.PropTreeCore.EnsureSelectedVisible();
     this.PropTreeCore.Refresh();
 }
Пример #2
0
        public unsafe void SetVariableNoReset(GClass *type, void *var, GMeasures *measures)
        {
            this.PropTreeCore.SetVariable(type, var, measures, false);
            PropertyTreeCore propTreeCore = this.PropTreeCore;

            if (propTreeCore.SelectedIndex >= this.PropTreeCore.Items.Count)
            {
                propTreeCore.SelectedIndex = 0;
            }
            this.PropTreeCore.EnsureSelectedVisible();
            this.PropTreeCore.Refresh();
        }
Пример #3
0
        protected unsafe override void SetValue(long ival)
        {
            GArrayHeader *var  = (GArrayHeader *)this.Var;
            int           num  = *(int *)(var + 4 / sizeof(GArrayHeader));
            long          num2 = (long)num;

            if (num2 != ival)
            {
                if (num2 < ival)
                {
                    if ((long)(*(int *)(var + 8 / sizeof(GArrayHeader))) < ival)
                    {
                        void *ptr = < Module >.realloc(*(int *)var, (uint)((int)((long)(*(int *)(this.Type + 48 / sizeof(GClass))) * ival)));
                        *(int *)var = ptr;
                        int num3 = *(int *)(this.Type + 48 / sizeof(GClass));
                        int num4 = *(int *)(var + 8 / sizeof(GArrayHeader));
                        initblk(num3 * num4 + (byte *)ptr, 0, (int)((ival - (long)num4) * (long)num3));
                        *(int *)(var + 8 / sizeof(GArrayHeader)) = (int)ival;
                    }
                    *(int *)(var + 4 / sizeof(GArrayHeader)) = (int)ival;
                }
                else if (num2 > ival)
                {
                    if (*(*(int *)(this.Type + 52 / sizeof(GClass)) + 40) != 0)
                    {
                        int num5 = num;
                        if ((long)num5 < ival)
                        {
                            do
                            {
                                GClass *type = this.Type;
                                calli(System.Void modopt(System.Runtime.CompilerServices.CallConvCdecl)(System.Void *), *(int *)(type + 48 / sizeof(GClass)) * num5 + *(int *)var, *(*(int *)(type + 52 / sizeof(GClass)) + 40));
                                num5++;
                            }while ((long)num5 < ival);
                        }
                    }
                    long num6 = (long)(*(int *)(this.Type + 48 / sizeof(GClass)));
                    initblk((int)(num6 * ival) + *(int *)var, 0, (int)(((long)(*(int *)(var + 4 / sizeof(GArrayHeader))) - ival) * num6));
                    *(int *)(var + 4 / sizeof(GArrayHeader)) = (int)ival;
                }
                this.Host.RegenerateSubtree(this.Index);
                this.Host.RaiseItemChanged();
                this.Host.InvalidateViewControl();
            }
        }
Пример #4
0
        public unsafe override ArrayList Expand()
        {
            ArrayList     arrayList     = new ArrayList();
            GArrayHeader *var           = (GArrayHeader *)this.Var;
            float         default_value = 0f;
            float         min_value     = -3.40282347E+38f;
            float         max_value     = 3.40282347E+38f;
            float         step_value    = 0.5f;
            int           num           = 0;
            int           num2          = *(int *)(var + 4 / sizeof(GArrayHeader));

            if (0 < num2)
            {
                do
                {
                    if (num2 > 10)
                    {
                        GBaseString <char>  gBaseString <char>;
                        GBaseString <char> *ptr = < Module >.Format(&gBaseString <char>, (sbyte *)(& < Module >.?? _C@_04OGKJMPGK@?$CF02d?$AA@), num);
                        try
                        {
                            uint   num3 = (uint)(*(int *)ptr);
                            sbyte *value;
                            if (num3 != 0u)
                            {
                                value = num3;
                            }
                            else
                            {
                                value = < Module >.?EmptyString@?$GBaseString@D@@1PBDB;
                            }
                            GClass *type = this.Type;
                            arrayList.Add(PropertyItem.MakeProperty(new string((sbyte *)value), null, *(int *)(type + 52 / sizeof(GClass)), *(int *)(type + 48 / sizeof(GClass)) * num + *(int *)var, default_value, min_value, max_value, step_value));
                        }
                        catch
                        {
                            < Module >.___CxxCallUnwindDtor(ldftn(GBaseString <char> .{ dtor }), (void *)(&gBaseString <char>));