Wxfred2Contributions

From FreeSpace Wiki
Revision as of 07:09, 18 October 2022 by TopAce (talk | contribs) (-)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Note: wxFRED has been abandoned in favor of qtFRED. This page has been left as a testament to efforts put into wxFRED as it laid the foundation for qtFRED.

First off, thanks for stopping by!

If you've found this page, it probably means that you or someone you know is interested in the development of the upcoming wxFRED2, a port of the FreeSpace 2 Editor to use the wxWidgets GUI library. Here we'll post some useful links as well as a guideline or two.

If you have not done so already, please skim over this forum topic: The "Read Me First" Posts

Getting the source code

We'll be starting off by using the GitHub repository for the wxFRED2, so as to achieve familiarity with the GitHub workflow.

  • Download and install the latest version of git
  • Sign Up on or Log Into GitHub
  • Fork the wxFRED2 branch from the GitHub repository
  • Make changes to the wxfred2 branch
    • Verify the changes are compilable and buildable
  • Commit your changes to your local repo, then push your local repo onto your forked repo on GitHub
  • Issue a Pull Request, and a badged SCP member (probably z64555) will review & commit your changes

Mission statement of the wxFRED2 project

Trash the MFC UI elements, Use wxWidgets UI elements, use as much of the existing code as possible (while not screwing over future development)

Coding Gudelines

"The Golden Rule"

  • No business logic be located in the UI elements
  • UI stuff is strictly UI
  • Any operations in the UI that do actual work must go through an API provided by wxfred2.h and wxfred2.cpp

Coding Style

  • Any coding style is permitted, just be sure to follow the existing style if you are editing a file
  • "Allman" is the most prevalent brace and spacing style
  • wxWidgets class names are camel case, and have a lowercase prefix of 2 to 4 letters. ex: "frmFRED" for frame, "glcVieport" for a glCanvas, etc.
    • All other class names are camel case and have no prefix, and first letter is capitalized. ex: ViewSettings
  • wxWidgets Handler methods/functions are camel case, and have the first letter capitalized ex: OnPaint()
    • All other methods/functions may have their own style, but please be sure to follow existing style if present

Features and Bugs

Maintainers: Please be sure to mark the date this was last edited by using --~~~~----

Updated by: --Z64555 11:13, 23 October 2013 (UTC)----

Component or Feature Active Developer(s) Completed
create all windows z64555 yes
glViewport z64555 no
docFRED z64555 no
File-New Mission ? no
File-Save Mission niffiwan? no

Some Pastebins for reference/discussion

Please use Mantis for bug tracking.