Difference between revisions of "Wxfred2Contributions"

From FreeSpace Wiki
Jump to: navigation, search
m (Reflect source code hosting via Git)
m (-)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{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!
 
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'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: [http://www.hard-light.net/forums/index.php?topic=82688.0 The "Read Me First" Posts]
 
If you have not done so already, please skim over this forum topic: [http://www.hard-light.net/forums/index.php?topic=82688.0 The "Read Me First" Posts]
  
=Getting the source code=
+
==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.
 
We'll be starting off by using the GitHub repository for the wxFRED2, so as to achieve familiarity with the GitHub workflow.
  
Line 16: Line 18:
 
* Issue a Pull Request, and a badged SCP member (probably z64555) will review & commit your changes
 
* Issue a Pull Request, and a badged SCP member (probably z64555) will review & commit your changes
  
=Mission statement of the wxFRED2 project=
+
==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)
 
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=
+
==Coding Gudelines==
 
"The Golden Rule"
 
"The Golden Rule"
 
* No business logic be located in the UI elements
 
* No business logic be located in the UI elements
Line 25: Line 27:
 
* Any operations in the UI that do actual work must go through an API provided by wxfred2.h and wxfred2.cpp
 
* Any operations in the UI that do actual work must go through an API provided by wxfred2.h and wxfred2.cpp
  
=Coding Style=
+
==Coding Style==
 
* Any coding style is permitted, just be sure to follow the existing style if you are editing a file
 
* 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
 
* "Allman" is the most prevalent brace and spacing style
Line 33: Line 35:
 
** All other methods/functions may have their own style, but please be sure to follow existing style if present
 
** All other methods/functions may have their own style, but please be sure to follow existing style if present
  
=Features and Bugs=
+
==Features and Bugs==
 
<nowiki>Maintainers: Please be sure to mark the date this was last edited by using --~~~~----</nowiki>
 
<nowiki>Maintainers: Please be sure to mark the date this was last edited by using --~~~~----</nowiki>
  

Latest revision as of 07:09, 18 October 2022

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.