Difference between revisions of "Wxfred2Contributions"

From FreeSpace Wiki
Jump to: navigation, search
(Features to work on)
m (-)
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
=Get the source code=
+
{{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.}}
  
* Fork this [https://github.com/scp-fs2open/fs2open.github.com/tree/wxfred2| git repository]
+
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: [http://www.hard-light.net/forums/index.php?topic=82688.0 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 [http://git-scm.com/downloads latest version of git]
 +
* Sign Up on or Log Into [http://github.com GitHub]
 +
* Fork the [https://github.com/scp-fs2open/fs2open.github.com/tree/wxfred2 wxFRED2 branch] from the GitHub repository
 
* Make changes to the wxfred2 branch
 
* Make changes to the wxfred2 branch
* Issue a pull request for someone (z64555?) to review & commit your changes
+
** 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
  
=Features to work on=
+
==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
  
{| class="wikitable" style="color:green"
+
==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==
 +
<nowiki>Maintainers: Please be sure to mark the date this was last edited by using --~~~~----</nowiki>
 +
 
 +
Updated by: --[[User:Z64555|Z64555]] 11:13, 23 October 2013 (UTC)----
 +
 
 +
{| class="wikitable" style="color:red"
 +
|- style="color:black"
 +
! Component or Feature
 +
! Active Developer(s)
 +
! Completed
 +
|- style="color:green"
 +
| create all windows
 +
| z64555
 +
| yes
 
|-
 
|-
! Feature name
+
| glViewport
! Who is working on it?
+
| z64555
! Is it done?
+
| no
 
|-
 
|-
| create all windows
+
| docFRED
 
| z64555
 
| z64555
| yes
+
| no
 
|-
 
|-
| New Mission
+
| File-New Mission
 
| ?
 
| ?
 
| no
 
| no
 
|-
 
|-
| Save mission file
+
| File-Save Mission
 
| niffiwan?
 
| niffiwan?
 
| no
 
| no
 
|}
 
|}
 +
 +
Some Pastebins for reference/discussion
 +
* http://pastebin.com/qBSATeP2 Early API for UI/backend
 +
* http://pastebin.com/BWXamnrf viewport header
 +
* http://pastebin.com/uu87vurg viewport source
 +
* http://pastebin.com/v9Sh58v9 mission frame (context) header
 +
* http://pastebin.com/z8nADzxt mission frame (context) source
 +
 +
Please use [http://scp.indiegames.us/mantis/set_project.php?project_id=1;2 Mantis] for bug tracking.

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.