// TODO: size position and size of each widget and store a pointer to its respective object data/property
// TODO: check object property for each widget, calculated values should not be editable
// TODO: wire up a modify listener for inputs that the user can edit
// this thing is the sheet ;)
Canvas sheet = new Canvas(scrolledComp, SWT.NONE);
sheet.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
// TODO: load a suitable character sheet image
// sheet.setBackgroundImage(image)
// Composite sheet = new Composite(scrolledComp, SWT.NONE);
// sheet.setLayout(new GridLayout(3, true));
// // sheet.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 6, 1));
//
// // sheet logo
// Label imageLabel = new Label(sheet, SWT.CENTER);
// imageLabel.setText("logo goes here"); // TODO
//
// // bio
// Composite bioComp = new Composite(sheet, SWT.NONE);
// bioComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 2));
// setupBioComp(bioComp);
//
// // ability scores
// Group scoresComp = new Group(sheet, SWT.NONE);
// scoresComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 2));
// scoresComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.ability_scores.label"));
// setupAbilityScoresComp(scoresComp);
//
// // defenses
// Group defensesComp = new Group(sheet, SWT.NONE);
// defensesComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 2));
// defensesComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.defenses.label"));
// setupDefensesComp(defensesComp);
//
// // hit points
// Group hitPointsComp = new Group(sheet, SWT.NONE);
// hitPointsComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 3));
// hitPointsComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.hit_points.label"));
// setupHitPointsComp(hitPointsComp);
//
// // action points
// Group actionPointsComp = new Group(sheet, SWT.NONE);
// actionPointsComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// actionPointsComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.action_points.label"));
// setupActionPointsComp(actionPointsComp);
//
// // skills
// Group skillsComp = new Group(sheet, SWT.NONE);
// skillsComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 4));
// skillsComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.skills.label"));
// setupSkillsComp(skillsComp);
//
// // senses
// Group sensesComp = new Group(sheet, SWT.NONE);
// sensesComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// sensesComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.senses.label"));
// setupSensesComp(sensesComp);
//
// // initiative
// Group initiativeComp = new Group(sheet, SWT.NONE);
// initiativeComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// initiativeComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.initiative.label"));
// setupInitiativeComp(initiativeComp);
//
// // speed
// Group speedComp = new Group(sheet, SWT.NONE);
// speedComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// speedComp
// .setText(Messages.getString("object.instance.charsheet.editor.page.character_sheet.group.speed.label"));
// setupSpeedComp(speedComp);
//
// // attacks
// Group attacksComp = new Group(sheet, SWT.NONE);
// attacksComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 2));
// attacksComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.attacks.label"));
// setupAttacksComp(attacksComp);
//
// // languages
// Group languagesComp = new Group(sheet, SWT.NONE);
// languagesComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// languagesComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.languages.label"));
// setupLanguagesComp(languagesComp);
//
// // feats
// Group featsComp = new Group(sheet, SWT.NONE);
// featsComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// featsComp
// .setText(Messages.getString("object.instance.charsheet.editor.page.character_sheet.group.feats.label"));
// setupFeatsComp(featsComp);
//
// // equipment
// Group equipmentComp = new Group(sheet, SWT.NONE);
// equipmentComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
// equipmentComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.equipment.label"));
// setupEquipmentComp(equipmentComp);
//
// // race features
// Group raceFeaturesComp = new Group(sheet, SWT.NONE);
// raceFeaturesComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// raceFeaturesComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.race_features.label"));
// setupRaceFeaturesComp(raceFeaturesComp);
//
// // class features
// Group classFeaturesComp = new Group(sheet, SWT.NONE);
// classFeaturesComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 2));
// classFeaturesComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.class_features.label"));
// setupClassFeaturesComp(classFeaturesComp);
//
// // appearance
// Group appearanceComp = new Group(sheet, SWT.NONE);
// appearanceComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// appearanceComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.appearance.label"));
// setupAppearanceComp(appearanceComp);
//
// // wealth
// Group wealthComp = new Group(sheet, SWT.NONE);
// wealthComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// wealthComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.wealth.label"));
// setupWealthComp(wealthComp);
//
// // personality
// Group personalityComp = new Group(sheet, SWT.NONE);
// personalityComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
// personalityComp.setText(Messages
// .getString("object.instance.charsheet.editor.page.character_sheet.group.personality.label"));
// setupPersonalityComp(personalityComp);
scrolledComp.setContent(sheet);
scrolledComp.setExpandHorizontal(true);
scrolledComp.setExpandVertical(true);
scrolledComp.setMinSize(sheet.computeSize(SWT.DEFAULT, SWT.DEFAULT));
}