Esempio n. 1
0
        public void AddField(IListViewField Field)
        {
            ListViewFieldAdapter Adapter = new ListViewFieldAdapter();

            Adapter.Field       = Field;
            Adapter.Column      = new ColumnHeader();
            Adapter.Column.Text = Field.DisplayName;
            Adapter.Column.Name = Field.GetType().Name;

            int                    field_width    = Field.InitialWidth;
            FieldWidthStyle        width_style    = Field.InitialWidthStyle;
            ListViewColumnSettings field_settings = null;

            if (mSettings != null)
            {
                field_settings = mSettings.GetColumnSettings(
                    Adapter.Column, Field.InitialWidthStyle, Field.InitialWidth);
                field_width = field_settings.Width;
                width_style = field_settings.WidthStyle;
            }

            Adapter.Column.Width = ComputeColumnWidth(width_style, field_width);

            mFields.Add(Adapter);
            if (field_settings == null || field_settings.Visible)
            {
                Adapter.Column.DisplayIndex = mFields.Count + 1;
                Columns.Add(Adapter.Column);
            }
        }
Esempio n. 2
0
 protected TrivialField(
     string DisplayName,
     Converter <T, U> Getter,
     FieldWidthStyle WidthStyle,
     int Width)
     : base(DisplayName, WidthStyle, Width)
 {
     this.mGetter = Getter;
 }
Esempio n. 3
0
        public ListViewColumnSettings GetColumnSettings(
            ColumnHeader Header, FieldWidthStyle DefaultStyle, int DefaultWidth)
        {
            ListViewColumnSettings settings;
            if (Columns.TryGetValue(Header.Name, out settings))
                return settings;

            settings = new ListViewColumnSettings();
            settings.WidthStyle = DefaultStyle;
            settings.Width = DefaultWidth;
            settings.Visible = true;
            Columns.Add(Header.Name, settings);
            return settings;
        }
Esempio n. 4
0
        public ListViewColumnSettings GetColumnSettings(
            ColumnHeader Header, FieldWidthStyle DefaultStyle, int DefaultWidth)
        {
            ListViewColumnSettings settings;

            if (Columns.TryGetValue(Header.Name, out settings))
            {
                return(settings);
            }

            settings            = new ListViewColumnSettings();
            settings.WidthStyle = DefaultStyle;
            settings.Width      = DefaultWidth;
            settings.Visible    = true;
            Columns.Add(Header.Name, settings);
            return(settings);
        }
Esempio n. 5
0
        private int ComputeColumnWidth(FieldWidthStyle Style, int Magnitude)
        {
            switch (Style)
            {
            case FieldWidthStyle.Absolute:
                return(Magnitude);

            case FieldWidthStyle.AutoSize:
                return(-2);

            case FieldWidthStyle.Percent:
                float pct = (float)Magnitude / 100.0f;
                return((int)(this.Width * pct));

            default:
                return(Magnitude);
            }
        }
Esempio n. 6
0
 public ItemDungeonField(string DisplayName, FieldWidthStyle WidthStyle, int Width)
     : base(DisplayName, (Converter <BasicItemDropStats, string>)(x => x.EffectiveDungeonName), WidthStyle, Width)
 {
 }
Esempio n. 7
0
 public ItemWorldField(string DisplayName, FieldWidthStyle WidthStyle, int Width)
     : base(DisplayName, x => x.WorldName, WidthStyle, Width)
 {
 }
Esempio n. 8
0
 public ItemBattleField(string DisplayName, FieldWidthStyle WidthStyle, int Width)
     : base(DisplayName, x => x.BattleName, WidthStyle, Width)
 {
 }
Esempio n. 9
0
 public ItemDungeonField(string DisplayName, FieldWidthStyle WidthStyle, int Width)
     : base(DisplayName, x => x.EffectiveDungeonName, WidthStyle, Width)
 {
 }
Esempio n. 10
0
 private int ComputeColumnWidth(FieldWidthStyle Style, int Magnitude)
 {
     switch (Style)
     {
         case FieldWidthStyle.Absolute:
             return Magnitude;
         case FieldWidthStyle.AutoSize:
             return -2;
         case FieldWidthStyle.Percent:
             float pct = (float)Magnitude / 100.0f;
             return (int)(this.Width * pct);
         default:
             return Magnitude;
     }
 }
Esempio n. 11
0
 public ItemNameField(string DisplayName, FieldWidthStyle WidthStyle, int Width)
     : base(DisplayName, (Converter <BasicItemDropStats, string>)(x => x.ItemName), WidthStyle, Width)
 {
 }
Esempio n. 12
0
 protected ListViewField(string DisplayName, FieldWidthStyle WidthStyle, int InitialWidth)
 {
     this.mDisplayName  = DisplayName;
     this.mWidthStyle   = WidthStyle;
     this.mInitialWidth = InitialWidth;
 }
Esempio n. 13
0
 protected ListViewField(string DisplayName)
 {
     this.mDisplayName  = DisplayName;
     this.mWidthStyle   = FieldWidthStyle.AutoSize;
     this.mInitialWidth = 0;
 }