Loading...
Logo
Processing Forum
Hello!

I am Ritisha Laungani, a pre-final year student, currently persuing Information Systems MSc Tech. at BITS Goa, India.

I would like to work for the Button Creator Project with Processing. I have just checked out the software, and it's indeed very fascinating! It would be a great honor and fun to work for it.

Mentioning more about myself- I am comfortable coding in Java and C as i have done 2 major projects in each. I have been working with the OpenGL library(C) since 8 months now and i am currently the Technical Assistant for the Computer Graphics course at BITS Goa. Apart from this, i have worked with Socket Programming, Graph Algorithms, Prolog, Verilog(HDL) etc.

Taking an overview of what the project requires- We basically need a CreateButton function with parameters as-

CreateButton( double xPos, double yPox, color Color, int ScaleTo, style Style);

Where xPos, yPos define the location of the button. style will basically include a certain number of predefined button shapes from which the user can choose. All these styles will be present at size, say, x as default. ScaleTo will let the user to increase the size by a factor of x.

Do let me know if i am on the right track, so that i can start working on the first draft of my proposal. Also, apart from the source code, if there are any other resources anyone could suggest, please do so. :)

Thanks!

Ritisha.

Replies(12)

I am an ordinary bystander, having no decisional power, nor knowledge of GSoC processes, but if you are speaking about the button tool mentioned in the http://wiki.processing.org/w/Create_Tools page, it looks like a modest goal for such project (compared to the other proposals, perhaps too ambitious?). Beside, it is a bit limited (only buttons?) compared to the existing GUI libraries existing in Processing, although covering a common case / need and avoiding the need for an extra library for this simple need.
True about the limitation! But i thought the things mentioned in the todo are project ideas. The thing is, there are no other todos' on similar lines which i can club as 1 project.

I am not sure, but if Processing requires an implementation for the following, i can club these as "Interface Tools Project"-

Button creator
Drop Down creator
Check box creator
Text field creator
Menu creator

Basically, an implementation of the whole Swing GUI. Does this sound like a good project? Let me know.

If not, could someone here please suggest me some project i can take up based on my skills(Strong in Java)? It would be of great help!

Thanks! :)
Thanks Ritisha.  Expanding the PDE's capabilities with Tools is exactly what we are looking for this summer with GSOC. There are number of issues with integrating Swing with Processing, if you are thinking about making a GUI library for Processing you might want to research other options or think about custom developing something.
Hello!

Thank you for your reply. Based on that, i propose the following-

A Widget Toolkit for PDE

I have made a list of 22 items/widgets which i plan to implement for PDE during my project. It consists of all the standard widgets present in any GUI Library. I have referred to many open source GUI Libraries, and i found this-

http://enchantia.com/software/graphapp/

appropriate for our reference. It's a C based library providing fairly apt ideas and code pieces.

I have been extremely comfortable working in C since 2 years now- have dealt with Socket Programming, OpenGL library, POSIX functions and advanced Data Structures and Algorithms in C. Thus, it'll be very convenient for me to do implement this project in C. However, if Java is required, i can easily do that too and refer the above link for ideas.

Since it is a little difficult to discuss ideas in detail on forums, i would request one of the potential mentors to leave their mail-id and/or skype-id here. 

Eagerly awaiting a reply.

Ritisha | ritishalaungani@gmail.com

Processing is java-based so developing tools and libraries in Java is the standard.

Thanks!
Dan
I didn't know GrapApp, but it looks a bit old-fashioned. Why choose this instead of FLTK or IUP, for example?
Beside, indeed, Java is rather mandatory for programming for Processing (except for low-level code like sound / video stuff, for example).

I am not sure what you mean as "A widget toolkit for PDE". Is is another library, like those listed at the Graphic Interface section?
Developing in Java will be perfectly fine aswell. Infact, in that case, i can use all the above three- FLTK, IUP and GraphApp for reference. I suggested GraphApp when i was suggesting doing the library in C. But now that it is in Java and the rest are anyway in C++, C and LUA, it doesn't matter so much because all we get from them is ideas.

And yes, i am referring to another library in the Graphic Interface section. The thing with Interfascia and G4P is that they are not that extensive and complete- donot provide all the widgets for use. There a lot many widgets like Tabs, Spinners, Split Buttons, Pie Menus, Tree Views, List Box, Context Menus, Menu bars, Icons, Scroll bars, Ballon Helps, Frames, Tool tips, Ribbons etc, which can be implemented to make PDE more diverse. I can either make an entirely new Library starting from the scratch, or work with the developers of Interfascia and/or G4P to improve upon these libraries.

It all depends on the need of Processing for such tools.

Awaiting your reply.

Ritisha.
+1 for extending an existing library. No need to re-invent the wheel for the already implemented components, and yet another library is both lot of work, and would confuse even more users wondering which one to use...
So then should i propose this as the final idea for GSoC?

Also, if yes, what all should i include in the proposal to make it strong enough? And is there any place i can share the proposal with you so that you can review it and chip in your suggestions? Let me know.

Thanks!

Ritisha.
As I wrote, I am just an ordinary guy offering some suggestions, from the point of view of a Processing user. I have no idea if the idea is OK for GSoC... But I hope Mr. Shiffman will offer his advice here.
A GUI library is an excellent area for a proposal for GSOC.  As you've noted there are several that exist already with pros and cons for each library.   One key element for Processing is that while a library of GUI elements available "for free" would be incredibly useful for Processing, thinking about a clever way to give the users GUI functionality while still allowing users to design the look and feel of the elements (fonts, colors, weights, etc.) is key.  You might look at Box2D as a model.  It does all the physics for you, but you must design and draw the objects themselves.  This I think would be the strongest GUI library -- one that takes care of all the mouse/keyboard interaction, states of elements, etc. but allows the end user to be in control of design.

Good luck!
That's something I am thinking about for quite some time: the behavior of a control, particularly with regard to keyboard (Home, End, Ctrl+left arrow, Shift+down arrow in a list) and mouse (like Ctrl+click, Shift+click, Ctrl+Shift+click in a list) is something quite standard across various toolkits, but that must be re-created each time. A framework offering such facilities independently of the graphical rendering would be awesome!

Relying on a MVC architecture, like Swing and its Look & Feel implementation, would probably be the key. Except you would provide the feel (interaction), while the users would provide the look.

Such library would come with a base implementation of the look, both to be usable immediately and to provide an example of implementation, something to get inspiration from to implement our own.