All pastes #13397 Raw Edit

venox

public python v1 · immutable
#13397 ·published 2005-06-04 21:43 UTC
rendered paste body
#!/usr/bin/pythonimport pygtkpygtk.require('2.0')import gobjectimport gtkimport gtk.gladeclass MyTree:	(		COLUMN_NAME,		COLUMN_EMAIL,	) = range(2)		def __init__(self, treeview):		self.model = gtk.TreeStore(gobject.TYPE_STRING, \				gobject.TYPE_STRING)		self.treeview = treeview		self.add_columns()		def add_data(self, data):		iter = None		for item in data:			iter = self.model.append(iter)			self.model.set(iter, \					self.COLUMN_NAME, item[0], \					self.COLUMN_EMAIL,item[1])		def add_columns(self):		renderer = gtk.CellRendererText()		column = gtk.TreeViewColumn('Name', renderer, text=self.COLUMN_NAME, editable=False)		column.set_clickable(True)		column.set_sizing(gtk.TREE_VIEW_COLUMN_AUTOSIZE)		self.treeview.append_column(column)				column = gtk.TreeViewColumn('E-mail', renderer, text=self.COLUMN_EMAIL, editable=False)		column.set_clickable(True)		column.set_sizing(gtk.TREE_VIEW_COLUMN_AUTOSIZE)		self.treeview.append_column(column)class HelloWorld:	def __init__(self):		gladefile="project1.glade"		windowname="window1"		self.wTree = gtk.glade.XML(gladefile, windowname)		dic = { "on_button1_clicked" : self.button1_clicked, \				"on_window1_destroy" : (gtk.main_quit) }		self.wTree.signal_autoconnect(dic)		tree = MyTree(self.wTree.get_widget('treeview1'))		data = [['luiz', 'luizribeiro@gmail.com'], \				['ana', 'ananutripuc@bol.com.br']]		tree.add_data(data)		return	def button1_clicked(self, widget):		data = [self.wTree.get_widget('entry1').get_text(), \				self.wTree.get_widget('entry2').get_text()]		# inserir		return	def main(self):		gtk.main()if __name__ == "__main__":	hello = HelloWorld()	hello.main()"""The contents of project1.glade:<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--><!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"><glade-interface><widget class="GtkWindow" id="window1">  <property name="border_width">10</property>  <property name="visible">True</property>  <property name="title" translatable="yes">Names</property>  <property name="type">GTK_WINDOW_TOPLEVEL</property>  <property name="window_position">GTK_WIN_POS_NONE</property>  <property name="modal">False</property>  <property name="resizable">False</property>  <property name="destroy_with_parent">False</property>  <property name="decorated">True</property>  <property name="skip_taskbar_hint">False</property>  <property name="skip_pager_hint">False</property>  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>  <property name="focus_on_map">True</property>  <signal name="destroy" handler="on_window1_destroy" last_modification_time="Sat, 04 Jun 2005 19:48:28 GMT"/>  <child>    <widget class="GtkFixed" id="fixed1">      <property name="visible">True</property>      <child>	<widget class="GtkEntry" id="entry1">	  <property name="width_request">184</property>	  <property name="height_request">16</property>	  <property name="visible">True</property>	  <property name="can_focus">True</property>	  <property name="editable">True</property>	  <property name="visibility">True</property>	  <property name="max_length">0</property>	  <property name="text" translatable="yes"></property>	  <property name="has_frame">True</property>	  <property name="invisible_char">*</property>	  <property name="activates_default">False</property>	</widget>	<packing>	  <property name="x">56</property>	  <property name="y">0</property>	</packing>      </child>      <child>	<widget class="GtkEntry" id="entry2">	  <property name="width_request">184</property>	  <property name="height_request">16</property>	  <property name="visible">True</property>	  <property name="can_focus">True</property>	  <property name="editable">True</property>	  <property name="visibility">True</property>	  <property name="max_length">0</property>	  <property name="text" translatable="yes"></property>	  <property name="has_frame">True</property>	  <property name="invisible_char">*</property>	  <property name="activates_default">False</property>	</widget>	<packing>	  <property name="x">56</property>	  <property name="y">24</property>	</packing>      </child>      <child>	<widget class="GtkLabel" id="label1">	  <property name="width_request">56</property>	  <property name="height_request">16</property>	  <property name="visible">True</property>	  <property name="label" translatable="yes">Name:</property>	  <property name="use_underline">False</property>	  <property name="use_markup">False</property>	  <property name="justify">GTK_JUSTIFY_LEFT</property>	  <property name="wrap">False</property>	  <property name="selectable">False</property>	  <property name="xalign">0</property>	  <property name="yalign">0.5</property>	  <property name="xpad">0</property>	  <property name="ypad">0</property>	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>	  <property name="width_chars">-1</property>	  <property name="single_line_mode">False</property>	  <property name="angle">0</property>	</widget>	<packing>	  <property name="x">0</property>	  <property name="y">0</property>	</packing>      </child>      <child>	<widget class="GtkLabel" id="label2">	  <property name="width_request">56</property>	  <property name="height_request">16</property>	  <property name="visible">True</property>	  <property name="label" translatable="yes">E-mail:</property>	  <property name="use_underline">False</property>	  <property name="use_markup">False</property>	  <property name="justify">GTK_JUSTIFY_LEFT</property>	  <property name="wrap">False</property>	  <property name="selectable">False</property>	  <property name="xalign">0</property>	  <property name="yalign">0.5</property>	  <property name="xpad">0</property>	  <property name="ypad">0</property>	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>	  <property name="width_chars">-1</property>	  <property name="single_line_mode">False</property>	  <property name="angle">0</property>	</widget>	<packing>	  <property name="x">0</property>	  <property name="y">24</property>	</packing>      </child>      <child>	<widget class="GtkTreeView" id="treeview1">	  <property name="width_request">304</property>	  <property name="height_request">192</property>  	  <property name="visible">True</property>	  <property name="can_focus">True</property>	  <property name="headers_visible">True</property>	  <property name="rules_hint">True</property>	  <property name="reorderable">True</property>	  <property name="enable_search">True</property>	</widget>	<packing>	  <property name="x">0</property>	  <property name="y">48</property>	</packing>      </child>      <child>	<widget class="GtkButton" id="button1">	  <property name="width_request">56</property>	  <property name="height_request">40</property>	  <property name="visible">True</property>	  <property name="can_focus">True</property>	  <property name="label" translatable="yes">Insert</property>	  <property name="use_underline">True</property>	  <property name="relief">GTK_RELIEF_NORMAL</property>	  <property name="focus_on_click">True</property>	  <signal name="clicked" handler="on_button1_clicked" last_modification_time="Sat, 04 Jun 2005 20:04:00 GMT"/>	</widget>	<packing>	  <property name="x">248</property>	  <property name="y">0</property>	</packing>      </child>    </widget>  </child></widget></glade-interface>"""