Welcome to Update 4 of the Dicecord project. This week I was able to complete all my goals, resulting in a complete view of a one page Mage character sheet. In addition to showing all content, I incorporated tooltips on various parts of the sheet to allow for the display of additional details. I also made a lot of UI tweaks this week: I changed the box and big dot images to size the final column more consistently with the rest of the sheet, I removed the “Add New” button for merits when edit mdoe was inactive and I incorporated the “delete” button for merits into the merit label by turning the label itself into a hidden button. Here is a sample image of how the sheet looks now:
As always, the latest code can be found here on my github repo.
Hover Text Label
This started out as the widget used to display Aspirations, Obsessions and Conditions on the Character sheet. The idea was for it to be a label which when hovered over it would show a tooltip displaying extra context. Initially it was a simple text label and, like merits, I had a button on the line that you could press to bring up an edit dialog. I didn’t like how this looked in practice and after a bit of extra trial and error I figured out a better approach. Instead of making the text a label I made it into a button and used stylesheet edits to remove the extra formatting. So, now it looks like a normal label, but when you click it the edit method pops up a dialog.
After sorting out the Hover Text Label I decided to use the same approach for merits. So, I turned the merit name into a button, removed the delete button and added a method to bring up a dialog to change the merit. This allows users to put in a tooltip that explains context around the merit. In addition, I noticed a potential bug where using the same title twice would cause problems, so now the add new method will check for dupes and display a warning if an item already exists with the entered name.
After making changes to merits I made changes to the skills widget to allow for skill specialities to be added. This is functionally identical to merits only it will also change the formatting of the skill name. I kept using the custom dialog here as I want to retain a multi-line input. This would allow users to add multiple specialities or any other relevant notes. (for example, skills buffed from merits or summoning pacts)
Big Dot Changes
The final column ended up being far too large due to the size of the dots/square objects in it. I tried experimenting with a different dot size, however I found that the dot looked strange at the relatively small sizes. For now, I made the dots the same size for both skills and the bigger stats in the right hand column. I will look into changing this again later, perhaps making everything a little bigger to allow for larger circle and square objects to be used.
Plans for Next Week
This week I am short on time so I will just focus on the save/import character methods. The plan is to write methods that can read and write XML objects that include a character’s stats. This will allow users to import already created characters.
- Create method to write character object to XML file
- Create method to import character object from XML file
- Incorporate sheet into main Dicecord app
- Start work on inventory screen