delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to geda-user-bounces using -f |
X-Recipient: | geda-user AT delorie DOT com |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
d=gmail.com; s=20120113; | |
h=date:from:to:subject:message-id:mail-followup-to:references | |
:mime-version:content-type:content-disposition:in-reply-to | |
:user-agent; | |
bh=Vfg85mYE8eK3//90NIWg/KL3+r5h0wB9YJftjxlJcJE=; | |
b=fzk8BjfUkB1ycjx0c8B3dbJObTxqNecwKSkik/qFGCYh22pcidss/vn0/WKTBnb3+m | |
4QbM87EhQVC5vfsY92gPWjS4j+5B5aRSlweoSFI7f6t0mzkT0CVczYF/EsFK4VmdVYZ6 | |
TyYf2Z40/SBhqOma4Q4DNgtuFopFNE/MitLAW7gxA35Et4VYKVjZ8ipxY6emi5h/5qZX | |
ggPuO/F6AWIaRGfhGT7eu9RjredemVo0jfve1qKSxW3V14sQDAiL3S+kH0LqCWs81BXD | |
8Gdn58dtPVcMabGdgy3cXcGlT3NOuq0dCVvKQ6s9dsqfRw2QqWng3YpdE/QogRLUTrW0 | |
g2NQ== | |
Date: | Mon, 29 Oct 2012 20:49:46 +0400 |
From: | Vladimir Zhbanov <vzhbanov AT gmail DOT com> |
To: | geda-user AT delorie DOT com |
Subject: | Re: [geda-user] Can custom dialogs be created with guile? |
Message-ID: | <20121029164946.GA28209@localhost.localdomain> |
Mail-Followup-To: | geda-user AT delorie DOT com |
References: | <CAGde_xMM5jN9NY5De6y8wyRH7crQUKFEN1OZFHwVX1aTE3RgHA AT mail DOT gmail DOT com> |
MIME-Version: | 1.0 |
In-Reply-To: | <CAGde_xMM5jN9NY5De6y8wyRH7crQUKFEN1OZFHwVX1aTE3RgHA@mail.gmail.com> |
User-Agent: | Mutt/1.5.21 (2010-09-15) |
Reply-To: | geda-user AT delorie DOT com |
Errors-To: | nobody AT delorie DOT com |
X-Mailing-List: | geda-user AT delorie DOT com |
X-Unsubscribes-To: | listserv AT delorie DOT com |
--PNTmBPCT7hxwcZjr Content-Type: text/plain; charset=utf-8 Content-Disposition: inline On Sun, Oct 28, 2012 at 12:36:51AM +0200, Svenn Are Bjerkem wrote: > I guess no, but I have to ask. I suspect you're right, there are only predefined dialogs. However... > >From wiki and pcb.scm I find that there are a few types of predefined > dialogs callable from guild already. > I want to place a couple of entry boxes and an OK/Cancel button pair > to send user input to a script which does the gory details. > I could also be happy with one entry box repeatedly popping up called > from inside a guile loop. ... However, there is a chance to use an external tool to make a dialog, e.g. tcl or xdialog. I have prepared a simple example files (see attachments). Put them into any directory, cd into it and launch gschem. In gschem you need to hit ":" and enter the command (load "simple.scm") You will see a new dialog. Try to enter any data into the entries and see what's happening. The scripts are apparently very rough, but they could be a base to derive your work from. The log window will show you feedback in the case of problems with the scripts. -- http://vzhbanov.byethost33.com --PNTmBPCT7hxwcZjr Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="simple.scm" ;; we need popen to work with pipes (use-modules (ice-9 popen)) ;; open pipe (define port (open-input-pipe "./simple.tcl")) ;; read a string from port (define str (read port)) ;; close pipe (close-pipe port) ;; test string (gschem-msg str) --PNTmBPCT7hxwcZjr Content-Type: application/x-tcl Content-Disposition: attachment; filename="simple.tcl" Content-Transfer-Encoding: quoted-printable #!/bin/sh=0A# I like Tcl!!!=0A#The next line executes wish - wherever it is= \=0Aexec wish "$0" "$@"=0Aset ok ok=0Alabel .hello -text "Hello"=0Apack .he= llo=0A=0Alabel .msg -font courierfont -wraplength 4i -justify left -text "A= simple form where you can type in the various entries and use tabs to move= circularly between the entries."=0Apack .msg -side top=0A=0Aframe .f1 -bd = 2=0Alabel .f1.label=0Aentry .f1.entry -relief sunken -width 40 -textvariabl= e myname=0Apack .f1.entry -side right=0Apack .f1.label -side left=0A=0Afram= e .f2 -bd 2=0Alabel .f2.label=0Aentry .f2.entry -relief sunken -width 40 -t= extvariable myvalue=0Apack .f2.entry -side right=0Apack .f2.label -side lef= t=0A=0A.f1.label config -text Name:=0A.f2.label config -text Value:=0Apack = =2Emsg .f1 .f2 -side top -fill x=0Afocus .f1.entry=0A=0Aset quote {"}=0Afra= me .buttons=0Apack .buttons -side bottom -fill x -pady 2m=0Abutton .buttons= =2Eadd -text "Add" -command "puts \$quote\$myname=3D\$myvalue\$quote; exit"= =0Abutton .buttons.dismiss -text Dismiss -command "exit"=0Apack .buttons.ad= d .buttons.dismiss -side left -expand 1=0A --PNTmBPCT7hxwcZjr--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |