Inheritance: System.Windows.Forms.Form
Example #1
0
        public BasicInfoUiThing(CharacterSheet characterSheet)
        {
            this.characterSheet = characterSheet;
            panel = new TableLayoutPanel();
            panel.Dock = DockStyle.Fill;
            panel.AutoSize = true;
            panel.AutoSizeMode = AutoSizeMode.GrowAndShrink;
            panel.ColumnCount = 4;

            Label label = GurpenatorRow.createLabel();
            label.Text = "Name:";
            panel.Controls.Add(label);

            nameTextBox = new TextBox();
            nameTextBox.Width = 167;
            nameTextBox.Text = characterSheet.Character.Name;
            nameTextBox.TextChanged += nameTextBox_TextChanged;
            panel.Controls.Add(nameTextBox);

            Label pointsTotalLabelLabel = GurpenatorRow.createLabel();
            pointsTotalLabelLabel.Text = "Total:";
            panel.Controls.Add(pointsTotalLabelLabel);

            pointsTotalLabel = GurpenatorRow.createLabel();
            pointsTotalLabel.TextAlign = ContentAlignment.MiddleLeft;
            panel.Controls.Add(pointsTotalLabel);

            character_changed();
            characterSheet.Character.changed += character_changed;
        }
Example #2
0
 public override GurpenatorUiElement createUi(CharacterSheet characterSheet)
 {
     return new BasicInfoUiThing(characterSheet);
 }
Example #3
0
 public override GurpenatorUiElement createUi(CharacterSheet characterSheet)
 {
     return new GurpenatorTable(characterSheet, this);
 }
Example #4
0
 public override GurpenatorUiElement createUi(CharacterSheet characterSheet)
 {
     return new GurpenatorLayoutPanel(title, orientation, characterSheet, (from m in members select m.createUi(characterSheet)).ToList());
 }
Example #5
0
        protected Control maybeContainInGroupBox(string title, TableLayoutPanel panel, CharacterSheet characterSheet)
        {
            if (title == null)
                return panel;
            GroupBox groupBox = new GroupBox();
            groupBox.Dock = DockStyle.Fill;
            groupBox.AutoSize = true;
            groupBox.AutoSizeMode = AutoSizeMode.GrowAndShrink;
            Action updateText = delegate()
            {
                IEnumerable<PurchasedProperty> properties = getTables().Select((table) => table.layout.names.Select((name) => characterSheet.Character.getPurchasedProperty(name))).chain();
                int cost = (from property in properties where property.nonDefault select property.getCost()).Sum();
                groupBox.Text = title + " (" + cost + ")";
            };
            updateText();
            characterSheet.Character.changed += updateText;
            groupBox.Controls.Add(panel);

            return groupBox;
        }
Example #6
0
 public abstract GurpenatorUiElement createUi(CharacterSheet characterSheet);
Example #7
0
        public GurpenatorTable(CharacterSheet characterSheet, TraitList layout)
        {
            this.characterSheet = characterSheet;
            this.layout = layout;
            table = new TableLayoutPanel();
            table.Dock = DockStyle.Fill;
            table.AutoSizeMode = AutoSizeMode.GrowAndShrink;
            table.AutoSize = true;
            rootControl = maybeContainInGroupBox(layout.title, table, characterSheet);

            refreshRows();
        }
Example #8
0
 public GurpenatorLayoutPanel(string title, Orientation orientation, CharacterSheet characterSheet, List<GurpenatorUiElement> members)
 {
     this.members = members;
     TableLayoutPanel panel = new TableLayoutPanel();
     panel.Dock = DockStyle.Fill;
     panel.AutoSize = true;
     panel.AutoSizeMode = AutoSizeMode.GrowAndShrink;
     panel.ColumnCount = 1;
     panel.RowCount = 1;
     panel.GrowStyle = orientation == Orientation.Vertical ? TableLayoutPanelGrowStyle.AddRows : TableLayoutPanelGrowStyle.AddColumns;
     foreach (GurpenatorUiElement element in members)
         panel.Controls.Add(element.RootControl);
     panel.Controls.Add(GurpenatorRow.createFiller());
     rootControl = maybeContainInGroupBox(title, panel, characterSheet);
 }