Q: How to get familiar with wxWidgets and wyoGuide?

A: Nothing helps you against reading through any information you can get. So the best way is (don't forget to make notes about possible improvement!):

  1. Read every docs on the websites and eventually look into the wiki
  2. Build the wxWidgets samples on your target platform
  3. Try to fix some bugs or annoyances and/or add missing features within the samples
  4. Build the Demo sample at wyoGuide and figure out what does
  5. Submit your experience to the appropriate users mailing list
  6. Don't forget to look at wxCode since more an more public code can be found there

Keep in mind the best way to get used is to look into the code and try to enhance it.


Q: Why did I start this project?

A: I didn't start this project because I think I'm the expert in defining general guidelines for GUI design. No I started it only because I think it's necessary (if not essential) to bring some minimal functionality and quality to the GUI of OpenSource (or others) projects. And because it's essential for any project to finally become cross-platform.

Q: Why aren't the already existing guidelines (i.e. Gnome, KDE) sufficient?

A: None of the existing ones are very usable outside of their context. They aren't guidelines which can be used cross-platform. wyoGuide tries to solve this by taking the best of the all others and combines them with some enhancements. And wyoGuide doesn't only give advice what should be done it also shows sample code how these guidelines can be implemented.


Q: Why is this or that feature not implemented?

A: First of all the editor was created as a sample implementation of the guidelines. Second it should be as simple as possible to just work out of the box without reading the help more than once. And third it's OpenSource, take it as your base and build something better. Or much better help improve it so it may have what you wish.

Q: Class browser does not behave as I think it should?

A: Well the current implementation of the class browser is though as a "prove of concept". It needs a rather complex scanning and lexing of text which should be done by the Scintilla editing control. Unfortunately Scintilla can't be easily changed to accomplish this.

The class browser handles only single lines, so if you distribute the needed information to two or more lines, your pity. Also if several occurrence of a name is discovered only the first class name and only the last function name is shown. Only class and function information are collected and shown. After all, the main task of a class browser in an editor is to allow for fast jumping to the needed position.

If you think your source is correct but no class info is shown, than most probably the fold level isn't correct. Due to the line restriction only lines with fold level == 0 (!) are analyzed. If your class info is on a line with fold level above 0, your pity.