Some initial work on graphics2
This commit is contained in:
		
							parent
							
								
									bf8dbeade5
								
							
						
					
					
						commit
						f6a93fd8e9
					
				| @ -72,6 +72,14 @@ def _start_xephyr(): | ||||
|     os.environ['DISPLAY'] = ":%d" % (display) | ||||
|     os.environ['SUGAR_EMULATOR_PID'] = str(pid) | ||||
| 
 | ||||
| def _start_matchbox(): | ||||
|     cmd = ['matchbox-window-manager'] | ||||
| 
 | ||||
|     cmd.extend(['-use_titlebar', 'no']) | ||||
|     cmd.extend(['-theme', 'olpc']) | ||||
| 
 | ||||
|     gobject.spawn_async(cmd, flags=gobject.SPAWN_SEARCH_PATH) | ||||
| 
 | ||||
| def _setup_env(): | ||||
|     os.environ['SUGAR_EMULATOR'] = 'yes' | ||||
|      | ||||
| @ -97,6 +105,7 @@ os.environ['GTK2_RC_FILES'] = env.get_data_path(gtkrc_filename) | ||||
| if len(sys.argv) == 1: | ||||
|     program = 'sugar-shell' | ||||
| else: | ||||
|     _start_matchbox() | ||||
|     program = sys.argv[1] | ||||
| 
 | ||||
| os.execlp('dbus-launch', 'dbus-launch', '--exit-with-session', program) | ||||
|  | ||||
							
								
								
									
										5
									
								
								sugar/graphics2/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								sugar/graphics2/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| sugardir = $(pythondir)/sugar/graphics2 | ||||
| sugar_PYTHON =		\
 | ||||
| 	__init__.py	\
 | ||||
| 	window.py	\
 | ||||
| 	toolbox.py | ||||
							
								
								
									
										0
									
								
								sugar/graphics2/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								sugar/graphics2/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										31
									
								
								sugar/graphics2/toolbox.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								sugar/graphics2/toolbox.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,31 @@ | ||||
| # Copyright (C) 2007, Red Hat, Inc. | ||||
| # | ||||
| # This library is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU Lesser General Public | ||||
| # License as published by the Free Software Foundation; either | ||||
| # version 2 of the License, or (at your option) any later version. | ||||
| # | ||||
| # This library is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
| # Lesser General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU Lesser General Public | ||||
| # License along with this library; if not, write to the | ||||
| # Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
| # Boston, MA 02111-1307, USA. | ||||
| 
 | ||||
| import gtk | ||||
| 
 | ||||
| class Toolbox(gtk.VBox): | ||||
|     __gtype_name__ = 'SugarToolbox' | ||||
|     def __init__(self): | ||||
|         gtk.VBox.__init__(self) | ||||
|          | ||||
|         self._notebook = gtk.Notebook() | ||||
|         self._notebook.set_tab_pos(gtk.POS_BOTTOM) | ||||
|         self.pack_start(self._notebook) | ||||
|         self._notebook.show() | ||||
|          | ||||
|     def add_toolbar(self, name, toolbar): | ||||
|         self._notebook.append_page(toolbar, gtk.Label(name)) | ||||
							
								
								
									
										38
									
								
								sugar/graphics2/window.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								sugar/graphics2/window.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | ||||
| # Copyright (C) 2007, Red Hat, Inc. | ||||
| # | ||||
| # This library is free software; you can redistribute it and/or | ||||
| # modify it under the terms of the GNU Lesser General Public | ||||
| # License as published by the Free Software Foundation; either | ||||
| # version 2 of the License, or (at your option) any later version. | ||||
| # | ||||
| # This library is distributed in the hope that it will be useful, | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||
| # Lesser General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU Lesser General Public | ||||
| # License along with this library; if not, write to the | ||||
| # Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||
| # Boston, MA 02111-1307, USA. | ||||
| 
 | ||||
| import gtk | ||||
| import hippo | ||||
| 
 | ||||
| from sugar.graphics2.toolbox import Toolbox | ||||
| 
 | ||||
| class Window(gtk.Window): | ||||
|     def __init__(self): | ||||
|         gtk.Window.__init__(self) | ||||
|          | ||||
|         vbox = gtk.VBox() | ||||
|         self.add(vbox) | ||||
|          | ||||
|         self.toolbox = Toolbox() | ||||
|         vbox.pack_start(self.toolbox, False) | ||||
|         self.toolbox.show() | ||||
|          | ||||
|         self.canvas = hippo.Canvas() | ||||
|         vbox.pack_start(self.canvas) | ||||
|         self.canvas.show() | ||||
|          | ||||
|         vbox.show() | ||||
| @ -17,32 +17,28 @@ | ||||
| # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA | ||||
| 
 | ||||
| import gtk | ||||
| import hippo | ||||
| 
 | ||||
| from sugar.graphics2.window import Window | ||||
| 
 | ||||
| class Toolbar(gtk.Toolbar): | ||||
| class TextToolbar(gtk.Toolbar): | ||||
|     def __init__(self): | ||||
|         gtk.Toolbar.__init__(self) | ||||
| 
 | ||||
|         icon = gtk.ToolButton() | ||||
|         icon.set_icon_name('text-format-bold') | ||||
|         self.insert(icon, -1) | ||||
|         icon.show() | ||||
| 
 | ||||
| class Window(gtk.Window): | ||||
|     def __init__(self): | ||||
|         gtk.Window.__init__(self) | ||||
|         self.set_default_size(800, 600) | ||||
|          | ||||
|         box = gtk.VBox() | ||||
|         self.add(box) | ||||
|         box.show() | ||||
|          | ||||
|         toolbar = Toolbar() | ||||
|         box.pack_start(toolbar, False) | ||||
|         toolbar.show() | ||||
|         button = gtk.ToolButton() | ||||
|         button.set_icon_name('text-format-bold') | ||||
|         self.insert(button, -1) | ||||
|         button.show() | ||||
| 
 | ||||
| window = Window() | ||||
| window.connect("destroy", lambda w: gtk.main_quit()) | ||||
| 
 | ||||
| text_toolbar = TextToolbar() | ||||
| window.toolbox.add_toolbar('Text', text_toolbar) | ||||
| text_toolbar.show() | ||||
| 
 | ||||
| window.canvas.set_root(hippo.CanvasBox(background_color=0)) | ||||
| 
 | ||||
| window.show() | ||||
| 
 | ||||
| gtk.main() | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Marco Pesenti Gritti
						Marco Pesenti Gritti