. Gnome on Rails (Mentor : ?)
- Student : Surendran
- IRC nick :nuke_serge
- Idea : Taken from one Gnome-love/previous SOC ideas list
Aim
- The aim of this Gnome on Rails is to create a python based wrapper/framework using Pygtk for developers to create an GTK application writing as much Minimal code as possible as that of Ruby on rails. The stress for the developers would be shifted from the GUI to the functionality of their application.
- Anybody who wants to create a GUI in 5 min , provided the GUI is simple , should be feeling home with gnome on rails
Sample With gnome on rails , people will be writing code in python like
- one method
from GnomeOnRails import * window = Window() menuItems = [ 'file' , 'edit' , 'view' , 'Help'] window.menu = Menu(menuItems) panelItems = ['new','save','print','close'] window.panel = Panel(panelItems) window.mainview = TextWidget() window.sideview = FileBrowserWidget() window.statusbar = StatusBar() window.pack()
other method
class application(GnomeOnRails): def __init__(self): self.menu = NULL self.panel = NULL self.mainWindow = NULL return def createMenu : //TO do : create menu Instance pass def createPanel: //To do: create panel instance pass def createMainWindow: //To do: create main Window widget instance pass app = application() app.pack()
- This is just a sample code. This should give an idea of how the wrapper is going to work. Actually I am intending to implement this using either oops or functionally.
The user will have a wide variety of predefined generic widgets from which he can chose to use. And to create widgets outside the default GnomeOnRails list one can create it normally using glade and then use it here.
Deliverables
- The basic framework would be simple , thats the prime aim
- the code will just be wrapper above pyGTK. So at any place normal PyGTK code can be used
The basic widgets will include
a generic widget that will hold any other widget -> scrollable,dividable
Buttons -> radio,toggle,push and checkbox
Text -> Label,link,general text ,GTkSourceview text and Browser widgets
menu ,panel,ToolBar,expandable/contractable boxes,tabs
- Table and trees
- progress bars, sliders,statusbars,spinners,tooltips
- Standard widgets like fileopen/save dialogs,print dialog,clocks,calendars,text formatter, color chooser etc
- image,opengl,audio, video widgets
- While almost all of the widgets are already available in the PYGTK toolkit, what would be in Gnome on rails is that the wrapper for all of them, to use them with minimum code with most of the parameters already predefined but configurable and all the developer has to mention would be the widget he/she would like to use and few more lines on how he/she wants it to be implemented
Additional deliverables
These are few additional deliverables that I would like to add. If time permits within SOC , else outside it !
- screenlets , desklets
- panel/system tray dialogs etc
- miscellaneous ???
Benefits
- lots of applications can be created in small time
- people dont have to spend time on creating GUI part.
- Will suit applications of both small and large scale !
Things to be addressed
- translation
- documentation and tutorials
- testing
- for advanced developers who want the GUI to be more as they want, there should be enough facilities
About Me
- I am suren, Third year student at NIT Trichy. My areas of interests include LAMP ,application development and python.
My skill set includes C,C++,Python related to the project. You can see my profile here
- I have just put my ideas into words here. I would like to improve and fine tune or even scale down few of the deliverables(if need be) of my proposal. Looking for a mentor and lots of suggestions/comments !