Marbles: Difference between revisions
No edit summary |
|||
| (One intermediate revision by the same user not shown) | |||
| Line 77: | Line 77: | ||
Below is the technical abstract for Marbles: | Below is the technical abstract for Marbles: | ||
:[[Image:marbles-flowchart.png|left| Marlbes-development environment.]] | |||
Thanks to '''James Henstridge''' and for his wonderful work on libglade which makes it easier to store the UI widget information and it's actions in xml file called GLADE. Using libglade will not only save the time of development but also makes the Marbles-output as platform independent. We can share the glade file for UI over network and recreate or edit the current glade file to make it more complex. It gives an option for children to play with it. | |||
I have also made a design without libglade library using database storage but after getting suggestions from sugar members, I removed that in my technical approach. Whole design is thus made very simple. Mentors can read that approach in my original GSOC proposal submitted to google. | |||
===== With LibGlade library ===== | ===== With LibGlade library ===== | ||
Libglade is a library designed to dynamically load a user interface from an XML file on disk. These UI description files can be created using the Glade UI builder. It provides several options for connecting callbacks up to the interface including an `autoconnect' option that scans the program's symbol table for callback functions. | |||
#Choosing UI widgets and dropping on canvas ( view ) | | #Choosing UI widgets and dropping on canvas ( view ) | | ||
| Line 85: | Line 96: | ||
#Option for Activity creation, Exporting to xo bundle, Debugging tool for Developers, sharing of code etc. | - Post building activities | #Option for Activity creation, Exporting to xo bundle, Debugging tool for Developers, sharing of code etc. | - Post building activities | ||
Creating GTK UI that can show various widgets icons and gives an option to select with the mouse, dragging and then dropping on canvas. It will | Creating GTK UI that can show various widgets icons and gives an option to select with the mouse, dragging and then dropping on canvas. It will be saved in glade-format file. this temporary glade file will then be read using libglade library in python and output can be shown on canvas. | ||
After completion of dragging and dropping, User can build the application using build activity in Marbles which takes input a glade file and outputs a python source code ( PyGTK framework ) capable of producing same output as glade does. | After completion of dragging and dropping, User can build the application using build activity in Marbles which takes input a glade file and outputs a python source code ( PyGTK framework ) capable of producing same output as glade does. | ||
Post-building activities like activity creation from python source code, sharing source code using xo bundle can be done later. | Post-building activities like activity creation from python source code, sharing source code using xo bundle can be done later. | ||
==== Design Goals ==== | ==== Design Goals ==== | ||