SF.net SVN: geany:[4659] branches/bs2/scripts/build_dialog_prototype.py

elextr at users.sourceforge.net elextr at xxxxx
Fri Feb 12 10:37:00 UTC 2010


Revision: 4659
          http://geany.svn.sourceforge.net/geany/?rev=4659&view=rev
Author:   elextr
Date:     2010-02-12 10:37:00 +0000 (Fri, 12 Feb 2010)

Log Message:
-----------
Commit version with details sub-dialog

Modified Paths:
--------------
    branches/bs2/scripts/build_dialog_prototype.py

Modified: branches/bs2/scripts/build_dialog_prototype.py
===================================================================
--- branches/bs2/scripts/build_dialog_prototype.py	2010-02-10 21:54:23 UTC (rev 4658)
+++ branches/bs2/scripts/build_dialog_prototype.py	2010-02-12 10:37:00 UTC (rev 4659)
@@ -96,6 +96,111 @@
 			else:
 				w.hide_all()
 
+class detail_dialog:
+	def resp(self, widget, respid ):
+		print respid
+		if respid != gtk.RESPONSE_APPLY :
+			self.dl.hide_all()
+	
+	def __init__(self, parent, name, wingrp):
+		self.dl = gtk.Dialog(name, parent, gtk.DIALOG_DESTROY_WITH_PARENT,
+			( gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,
+			  gtk.STOCK_APPLY,  gtk.RESPONSE_APPLY,
+			  gtk.STOCK_OK,     gtk.RESPONSE_OK))
+		vbl = gtk.VBox()
+		vbr = gtk.VBox()
+		vbl.pack_start(gtk.Label("Type:        "))
+		self.ic = gtk.combo_box_new_text()
+		self.ic.append_text("External")
+		self.ic.append_text("Next Error")
+		self.ic.append_text("Prev Error")
+		self.ic.append_text("Show Config")
+		vbr.pack_start(self.ic)
+		vbl.pack_start(gtk.Label("Label:       "))
+		self.lb = gtk.Entry()
+		vbr.pack_start(self.lb)
+		vbl.pack_start(gtk.Label("Command:"))
+		self.cm = gtk.Entry()
+		vbr.pack_start(self.cm)
+		vbl.pack_start(gtk.Label("Working Dir:"))
+		self.wd = gtk.Entry()
+		vbr.pack_start(self.wd)
+		vbl.pack_start(gtk.Label("Output:"))
+		self.op = gtk.combo_box_new_text()
+		self.op.append_text("Parsed")
+		self.op.append_text("Terminal")
+		self.op.append_text("Shell")
+		vbr.pack_start(self.op)
+		vbl.pack_start(gtk.Label("Regex:"))
+		self.rs = gtk.combo_box_new_text()
+		self.rs.append_text("Local")
+		self.rs.append_text(name)
+		self.rs.append_text("From filetype")
+		hb = gtk.HBox()
+		hb.pack_start(self.rs)
+		self.rv = gtk.Entry()
+		hb.pack_start(self.rv)
+		vbr.pack_start(hb)
+		self.st = gtk.CheckButton("Stopable")
+		vbl.pack_start(self.st)
+		self.slab = gtk.Label("Stop Label:")
+		hb = gtk.HBox()
+		hb.pack_start(self.slab)
+		self.sl = gtk.Entry()
+		hb.pack_start(self.sl)
+		vbr.pack_start(hb)
+		self.glab = gtk.Label("Group:")
+		vbl.pack_start(self.glab)
+		self.sg = gtk.combo_box_entry_new_text()
+		self.sg.append_text("Parsed")
+		self.sg.append_text("Single")
+		vbr.pack_start(self.sg)
+		hb = gtk.HBox()
+		hb.pack_start(vbl)
+		hb.pack_start(vbr)
+		self.dl.vbox.pack_start(hb)
+		self.dl.connect("response", self.resp)
+		wingrp.add_window(self.dl)
+		self.dl.show_all()
+
+class simple_data:
+	def show_detail(self, widget, data):
+		if self.ddialog == None:
+			self.ddialog = detail_dialog(data, self.name, self.wingrp)
+		else:
+			self.ddialog.show_all()
+
+	def __init__(self, name, ft, sens, parent, wingrp ):
+		xp = 6 #padding
+		yp = 6
+		self.name = name+ft
+		self.wingrp = wingrp
+		self.frame = gtk.Frame( self.name )
+		self.tab = gtk.Table(4, 5, False)
+		self.llab = gtk.Label("Label:")
+		self.tab.attach(self.llab, 0,1, 0, 1,0,0)
+		self.lb = gtk.Entry()
+		self.tab.attach(self.lb, 1,5,0,1)
+		self.clab = gtk.Label("Command:")
+		self.tab.attach(self.clab, 0,1, 1,2,0,0)
+		self.cm = gtk.Entry()
+		self.tab.attach(self.cm, 1,5, 1,2)
+		self.wlab = gtk.Label("Working Dir:")
+		self.tab.attach(self.wlab, 0,1, 2,3,0,0)
+		self.wd = gtk.Entry()
+		self.tab.attach(self.wd, 1,5, 2,3)
+		self.sens = sens
+		if sens :
+			self.clr = gtk.Button(stock=gtk.STOCK_CLEAR)
+			self.tab.attach(self.clr, 4,5,3,4,0,0)
+			self.detail = gtk.Button("Advanced Settings")
+			self.tab.attach(self.detail, 0,1,3,4,0,0)
+			self.ddialog = None
+			self.detail.connect("clicked", self.show_detail, parent)
+		else:
+			self.frame.set_sensitive(False)
+		self.frame.add(self.tab)
+				
 class menu_list:
 	def is_separator(self, model, iter, data=None):
 		return model.get_value(iter,1)<0
@@ -122,7 +227,89 @@
 		self.view.set_row_separator_func(self.is_separator)
 		self.col = gtk.TreeViewColumn("Menu", gtk.CellRendererText(), text=0)
 		self.view.append_column(self.col)
-				
+
+class dialog2:
+	def __init__(self):
+		self.proj = True
+		self.win = gtk.Dialog("Build Menu Configuration",
+			None,
+			gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
+			( gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,
+			  gtk.STOCK_OK, gtk.RESPONSE_ACCEPT,
+			  gtk.STOCK_APPLY, gtk.RESPONSE_ACCEPT))
+		self.win.set_size_request(800,600)
+		self.panes = gtk.HPaned()
+		self.left = menu_list()
+		self.panes.pack1(self.left.view)
+		self.right = gtk.VBox()
+		self.d = []
+		self.wingrp = gtk.WindowGroup()
+		self.dif = simple_data("Internal Preferences", " for Filetype XXX", False, self.win, self.wingrp)
+		self.right.pack_start(self.dif.frame,False,False)
+		self.d.append(self.dif)
+		self.di = simple_data("Internal Preferences", " Filetype Independent", False, self.win, self.wingrp)
+		self.right.pack_start(self.di.frame,False,False)
+		self.d.append(self.di)
+		self.dpf = simple_data("Project Preferences", " for Filetype XXX", True, self.win, self.wingrp)
+		self.right.pack_start(self.dpf.frame,False,False)
+		self.d.append(self.dpf)
+		self.dp = simple_data("Project Preferences", " Filetype Independent", True, self.win, self.wingrp)
+		self.right.pack_start(self.dp.frame,False,False)
+		self.d.append(self.dp)
+		self.duf = simple_data("User Preferences", " for Filetype XXX", True, self.win, self.wingrp)
+		self.right.pack_start(self.duf.frame,False,False)
+		self.d.append(self.duf)
+		l = self.duf.frame.get_label_widget()
+		x = pango.AttrWeight(pango.WEIGHT_BOLD,0,len(l.get_label()))
+		a = pango.AttrList(); a.insert(x)
+		l.set_attributes(a)
+		self.du = simple_data("User Preferences", " Filetype Independent", True, self.win, self.wingrp)
+		self.right.pack_start(self.du.frame,False,False)
+		self.d.append(self.du)
+		self.dsf = simple_data("System", " for Filetype XXX", False, self.win, self.wingrp)
+		self.right.pack_start(self.dsf.frame,False,False)
+		self.d.append(self.dsf)
+		self.df = simple_data("System", " Filetype Independent", False, self.win, self.wingrp)
+		self.right.pack_start(self.df.frame,False,False)
+		self.d.append(self.df)
+		self.swin = gtk.ScrolledWindow()
+		self.swin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+		self.swin.add_with_viewport(self.right)
+		self.rt = gtk.VBox()
+		self.rt.pack_start(self.swin)
+		self.ba = gtk.HBox()
+		self.shall = gtk.ToggleButton("Show all Sources")
+		self.shall.connect("toggled", self.show_sources)
+		self.ba.pack_end(self.shall, False, False)
+		self.rt.pack_start(self.ba, False, False)
+		self.panes.pack2(self.rt)
+		self.panes.show_all()
+		self.win.vbox.pack_start(self.panes)
+		self.win.connect("destroy", the_end)
+		self.shall.set_active(False)
+		self.show_sources(self.shall)
+
+	def show_sources(self, widget, data=None):
+		val = widget.get_active()
+		for d in self.d:
+			if not d.sens:
+				if val:
+					d.frame.show_all()
+				else:
+					d.frame.hide_all()
+
+	def show_as(self, proj):
+		self.proj = proj
+		if proj:
+			self.dpf.frame.show_all()
+			self.dp.frame.show_all()
+		else:
+			self.dpf.frame.hide_all()
+			self.dp.frame.hide_all()
+		ret = self.win.run()
+		self.win.hide()
+		return ret
+					
 class dialog:
 	def show_sources(self, widget, data=None):
 		val = widget.get_active()
@@ -228,7 +415,7 @@
 def show_dialog(widget, val):
 	global the_dialog
 	if the_dialog == None:
-		the_dialog = dialog()
+		the_dialog = dialog2()
 	print the_dialog.show_as(val)
 
 def main():


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list