Line 69: |
Line 69: |
| Marbles is the pygtk GUI builder tool for pygtk almost like glade, but would be optimized for sugar environment. | | Marbles is the pygtk GUI builder tool for pygtk almost like glade, but would be optimized for sugar environment. |
| | | |
− | #:'''Python''' Python is powerful,easy and fun. It is an excellent choice both for development and usages for children,students as well for professionals for writing complex applications. if GUI builder is to be compared with RAD, I would say R(Rapid) in RAD stands for python. | + | #:'''Python''' Python is powerful,easy and fun. It is an excellent choice both for development and usages for children,students as well for professionals for writing complex applications.<br> if GUI builder is to be compared with RAD, I would say R(Rapid) in RAD stands for python. |
| #:'''GTK+''' A face for GNOME, Sugar and other desktop managers. | | #:'''GTK+''' A face for GNOME, Sugar and other desktop managers. |
| The python bindings (PyGTK) of this toolkit are elegant and both GTK+ and PYGTK have excellent documentation. | | The python bindings (PyGTK) of this toolkit are elegant and both GTK+ and PYGTK have excellent documentation. |
Line 78: |
Line 78: |
| Where input is a UI canvas which shows widgets with its correct alignment. Processing is the program generator which takes the information of widgets from the canvas and output is a code generated from program generated ( Python, C/C++ or XRC source ) | | Where input is a UI canvas which shows widgets with its correct alignment. Processing is the program generator which takes the information of widgets from the canvas and output is a code generated from program generated ( Python, C/C++ or XRC source ) |
| | | |
− | ''':Input''' | + | :'''Input''' |
| # It contains "Visual UI representations", UI builder tool showing the widgets | | # It contains "Visual UI representations", UI builder tool showing the widgets |
| # Visual Authoring tool: It contains a canvas on which widgets can be placed. It also contains a tree structure in it's side view to view a tree strucuture to view UI application. | | # Visual Authoring tool: It contains a canvas on which widgets can be placed. It also contains a tree structure in it's side view to view a tree strucuture to view UI application. |
| | | |
| | | |
− | ''':Processing''' | + | :'''Processing''' |
| | | |
| #Program Generator: Main spinal cord for the whole system. It takes the input as widget information from canvas and builds a UI code according to it. | | #Program Generator: Main spinal cord for the whole system. It takes the input as widget information from canvas and builds a UI code according to it. |
Line 90: |
Line 90: |
| #Function Library: It associates the scripts or accelarator tags with widgets to give life to widgets. It would be responsible for "action" in UI application. | | #Function Library: It associates the scripts or accelarator tags with widgets to give life to widgets. It would be responsible for "action" in UI application. |
| | | |
− |
| + | Output of processing will be a python code ( for now, but can be modified to other programming languages too ). |
− | Output of processing will be a python code ( for now, but can be modified to other programming languages too ). | |
| | | |
− | ''':Output''' | + | :'''Output''' |
| #Python Source Code for UI application | | #Python Source Code for UI application |
| #UI application will be launched as a seperated pid to view the UI design. | | #UI application will be launched as a seperated pid to view the UI design. |
Line 100: |
Line 99: |
| | | |
| | | |
− | ''':Foundations''' | + | :'''Foundations''' |
| | | |
| #Good design<br> | | #Good design<br> |
Line 111: |
Line 110: |
| Mouse input is more preferrable than Keyboard input. | | Mouse input is more preferrable than Keyboard input. |
| | | |
− | ''':And a final set of considerations''' | + | :'''And a final set of considerations''' |
| | | |
| Here are the final considerations for Marbles. | | Here are the final considerations for Marbles. |
Line 118: |
Line 117: |
| #Modularity: Design will allow extending to other target languages and other GUI toolkits. | | #Modularity: Design will allow extending to other target languages and other GUI toolkits. |
| | | |
− |
| |
− |
| |
− |
| |
| ==== Technical Approach ==== | | ==== Technical Approach ==== |
| | | |