| 
									
										
										
										
											2006-08-19 11:12:25 +02:00
										 |  |  | import random | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-08-19 02:00:04 +02:00
										 |  |  | import goocanvas | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-09-15 13:23:21 +02:00
										 |  |  | from view.home.IconLayout import IconLayout | 
					
						
							|  |  |  | from view.home.MyIcon import MyIcon | 
					
						
							|  |  |  | from view.FriendIcon import FriendIcon | 
					
						
							| 
									
										
										
										
											2006-09-14 15:12:34 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | class FriendsGroup(goocanvas.Group): | 
					
						
							| 
									
										
										
										
											2006-09-15 12:40:22 +02:00
										 |  |  | 	def __init__(self, shell_model): | 
					
						
							| 
									
										
										
										
											2006-09-14 15:12:34 +02:00
										 |  |  | 		goocanvas.Group.__init__(self) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-09-15 12:40:22 +02:00
										 |  |  | 		self._shell_model = shell_model | 
					
						
							| 
									
										
										
										
											2006-09-14 15:12:34 +02:00
										 |  |  | 		self._icon_layout = IconLayout(1200, 900) | 
					
						
							| 
									
										
										
										
											2006-09-15 12:40:22 +02:00
										 |  |  | 		self._friends = shell_model.get_friends() | 
					
						
							| 
									
										
										
										
											2006-09-14 15:12:34 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		me = MyIcon(100) | 
					
						
							|  |  |  | 		me.translate(600 - (me.get_property('size') / 2), | 
					
						
							|  |  |  | 					 450 - (me.get_property('size') / 2)) | 
					
						
							|  |  |  | 		self.add_child(me) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		for friend in self._friends: | 
					
						
							|  |  |  | 			self.add_friend(friend) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-09-15 12:40:22 +02:00
										 |  |  | 		self._friends.connect('friend-added', self._friend_added_cb) | 
					
						
							| 
									
										
										
										
											2006-09-14 15:12:34 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	def add_friend(self, friend): | 
					
						
							| 
									
										
										
										
											2006-09-15 12:40:22 +02:00
										 |  |  | 		icon = FriendIcon(self._shell_model, friend) | 
					
						
							| 
									
										
										
										
											2006-09-14 15:12:34 +02:00
										 |  |  | 		self.add_child(icon) | 
					
						
							|  |  |  | 		self._icon_layout.add_icon(icon) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	def _friend_added_cb(self, data_model, friend): | 
					
						
							|  |  |  | 		self.add_friend(friend) |