I'm going to re-try my ConsoleWidgets/ CursesWidgets project from complete scratch. Here are some things I learned and will do better this time with:

- Keep people updated on progress to maintain motivation (Hence this post)

- Centralize drawing, eliminate curses entirely besides in this static class.

- Don't worry about complicated rendering until basic rendering is done. I really got stuck up on text rendering last time.

- Sort out a color system from the very beginning, and make it as simple as possible. Working with curses, it is a good idea to have a color manager.

- Research how to logically render two items - both sized to 50% of the screen - when there are an odd amount of pixels available.

- Only make one type of widget at the beginning. Don't worry about Buttons and Sliders and such until the base Widget class is completed.

- Truly decide if I want to call them Widgets or Controls

- Don't worry about supporting multiple curses windows. Got hung up on that too. stdscr will do for everything I need.

- Cache inflation values so that they need not be re-calculated each render. Re-calculate on resize.

- This is more of a c++ thing, but drop pointers in favor of references. It's 2018. I have already started to do this in other projects but THIS IS THE ONE.

Add Comment