Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "SWT/Devel/Gtk"

< SWT‎ | Devel
(SWT GTK Development Articles)
Line 12: Line 12:
 
== Coding ==  
 
== Coding ==  
 
* [[SWT/Devel/Gtk/PI | Prototyping GTK snippets via Program Interface (PI) Snippets ]]
 
* [[SWT/Devel/Gtk/PI | Prototyping GTK snippets via Program Interface (PI) Snippets ]]
 +
 +
== Wayland development ==
 +
* [[SWT/Devel/Gtk/Wayland | Getting started with Wayland development]]
  
 
== Testing ==
 
== Testing ==

Revision as of 15:12, 30 May 2016

SWT GTK Development Articles

Compilation

Compilation Issues

Coding

Wayland development

Testing

Miscellaneous

CSS

Launching Eclipse with SWT source code

To test SWT snippets, it's useful to launch a child Eclipse with your patch to see how it looks and feels. To do so, under run-configurations, right click on "Eclipse Application" and select "new".

Eclipse Application

Common troubleshooting

Often Eclipse won't launch with various errors. Below are common steps to troubleshoot.

  • API Baseline: Make sure API Base line is set. If you updated Eclipse (e.g Luna to Mars), you may need to re-create the baseline.
  • Enable Execution Environments: Make sure that relevant Execution Environments are enabled. (1.5, 1.6 etc..)
Eclipse Execution Environments
  • Target Platform: Make sure to have an Target Platform set. Try re-creating it with Default for running platform.
  • Validate Plugins: In the run-time configuration for a Child Eclipse, under the 'Plug-ins' tab, instead of launching all plugins, try to select only SWT and it's binaries. Try to Validate the setup to see if there are missing dependencies.
  • re-create new run-time configuration: Often after updating Eclipse version, I have to create new "Eclipse Application" run time configurations for the child Eclipse to launch propertly

Tips

  • Choice of child Eclipse Workspace: Instead of using a blank workspace, copy your exiting workspace, append '-runtime' and use that for your child Eclipse.

Patch submission guidelines

When submitting patches, you should consider the following:

Formatting

Your patches must:

  • Avoid re-factoring code in the same patch as a bug-fix. Instead split it up into two commits. [1]
  • Please avoid removing white spaces in the same commit as a bug fix. [2]
  • Do not introduce any trailing white space into the code base.
  • Your code should follow SWT code style. See the code in other widgets for guidance. [3]
  • Avoid introducing methods that are only called once. But if you see the same code many times, it makes sense to add a method for it.
  • When removing code that calls internal functions, check that those functions are actually still called else where. Avoid leaving dead methods in the code.
  • Not contain non-ASCII characters. See SWT/Devel/Gtk/NonAsciiCharacters

Building/Compiling

  • Compile/build on both GTK2 and GTK3
  • Be sure to commit all files necessary for native building, i.e. os_stats.h, etc...

Testing

  • Any testing should happen across multiple versions of GTK3, and the current release of GTK2. For example, at the time of this writing, any snippets/test cases/child Eclipse instances should be tested for versions. Please see the JUnit testing page for more info.
    • GTK3.20
    • GTK3.18
    • GTK3.16
    • GTK3.14
    • GTK2.24
  • If the initial bug report contains a snippet that reproduces the issue, please test using this snippet as well
  • Please run the JUnit test suites on your patch for the GTK versions listed above

General etiquette

  • Description : It's recommended to mention how you tested your patch at the end of the description. [4]
  • When you submit new patch sets, in the comment please describe what you improved on (unless it's a trivial thing). Often when reviewing multiple patch sets it's easy to loose track what was done in each patch set.

See also Eclipse Wiki Pages

These are pages mostly for special interest.

See Also External


Cite error: <ref> tags exist, but no <references/> tag was found

Back to the top