Proposal: Class Creation Wizard for PDE

edited March 2015 in Summer of Code 2015

Hi, this is Qi Wang. Here comes my proposal and I'm looking forward to your comments.

1. Abstract

Processing community has built a system allowing the Processing Development Environment (PDE) to be extended the action of programming. Checking the extensive list of potential tools on Processing Wiki that are waiting to be programmed, the Class Creation Wizard catches my eyes. In this project, I’d like to develop a class creation wizard for PDE, instructing users to create/customize classes.

2. What does it look like and how does it function

The mock-up design of what this wizard might look like could be seen in Figure 1. There is no doubt the GUI of this wizard will turn to friendlier and prettier in the future.


Figure 1. The mock-up design for the Class Creation Wizard

The scenario of its functions is pretty simple and useful:

  1. Press Ctrl/Cmd+N to open this wizard

  2. Type in the name for the new class, PDE will proceed the duplicate detection making sure there is no naming conflict between the new class and old classes.

  3. Select the modifiers for the new class

  4. Select the superclass you would like to extend

  5. Select the methods you would like to override

  6. Select the interfaces you would like to implement

  7. Select the method stubs you would like to create

  8. Click Finish button to create the new class. The new tab containing the desired class will be seen in the tab bar.

3. Benefits

We could image the usefulness for adding such a class creation wizard.

First of all, having such a wizard matches the habits of most users. A lots of popular IDE, like Visual Studio, use class creation wizards to help users to create the class they want.

Second, it maintain the most features of Eclipse’s class creation wizard, which could support users to customize the modifiers, superclass, interfaces and method stubs of the new class.

Last but not least, ‘cause overriding functions is typical behavior of Processing user, imaging when a class extends PApplet, it also allow users to select the specific functions the new class will override and create “@Override” stubs for the wanted functions.

It could save the time for users’ development of the projects with auto-generating code. And it’s also able to generate some annotations, like @Override, for users make sure they do override certain functions. In a word, it’s a user-friendly tool for most Processing developers.

4. About me

My name is Qi Wang. I’m a student of Zhejiang University, China and a member of Visual Analytics Group. My time zone is UTC+08:00. I program in Java for at least 3 years and code with Processing over half year.

At the last semester, I used Processing to visualize the mini problem of the VAST Challenge 2014 and got 93/100 in the course of Information Visualization. Besides, I’m developing a software targeting for intelligence analysis, whose interface implemented by Processing could be seen in Figure 2,3,4 in the reference. The above two prove that that I am familiar with Processing indeed.

I’ve been exchanged to Simon Fraser University, Canada for one semester and got the highest score in CMPT470 (Team project for Web-based Information System), which clarifies I’m capable of communicating in English and coding for a good project.

I prefer written English by email and my email is

5. Reference

5.1 The wiki for Visual Analytic Group:

5.2 Figures for my Intelligence Analytic Software Those figures could been seen via GSoC:

P.S. I probably will add a milestone section to this proposal.

Thanks for your reply!

Sign In or Register to comment.