Difference between revisions of "Wxfred2Contributions"
(Created page with "=Get the source code= * Fork this [https://github.com/scp-fs2open/fs2open.github.com/tree/wxfred2| git repository] * Make changes to the wxfred2 branch * Issue a pull request fo…") |
m (-) |
||
(13 intermediate revisions by 4 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.}} | |
− | * Fork | + | 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 | + | ** 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 | ||
− | {| class="wikitable" | + | ==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 | ||
|- | |- | ||
− | + | | glViewport | |
− | + | | z64555 | |
− | + | | no | |
|- | |- | ||
− | | | + | | docFRED |
| z64555 | | z64555 | ||
− | | | + | | no |
|- | |- | ||
− | | New Mission | + | | File-New Mission |
| ? | | ? | ||
| no | | no | ||
|- | |- | ||
− | | Save | + | | 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
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
Contents
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
- 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 Mantis for bug tracking.