annotate extra/tk_octave/tk_busy.m @ 0:6b33357c7561 octave-forge

Initial revision
author pkienzle
date Wed, 10 Oct 2001 19:54:49 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
1 ## Copyright (C) 1998, 1999, 2000 Joao Cardoso.
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
2 ##
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
3 ## This program is free software; you can redistribute it and/or modify it
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
4 ## under the terms of the GNU General Public License as published by the
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
5 ## Free Software Foundation; either version 2 of the License, or (at your
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
6 ## option) any later version.
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
7 ##
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
8 ## This program is distributed in the hope that it will be useful, but
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
9 ## WITHOUT ANY WARRANTY; without even the implied warranty of
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
10 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
11 ## General Public License for more details.
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
12 ##
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
13 ## This file is part of tk_octave.
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
14
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
15 ## tk_busy (text)
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
16 ##
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
17 ## Opens a new window with 'text' printed end with a flashing hourglass.
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
18 ##
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
19 ## If called with no arguments, close the window.
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
20 ## If the window already exists, 'text' is updated
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
21 ## Only one tk_busy window is allowed at one time.
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
22 ##
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
23 ## Octave can continue processing while the hourglass is flashing.
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
24
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
25 ## 2001-09-14 Paul Kienzle <pkienzle@users.sf.net>
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
26 ## * convert to pthreads version of octave
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
27 ## * fix grammar in documentation
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
28
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
29 function tk_busy (text)
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
30
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
31 eval("tk_interp","");
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
32
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
33 if (nargin == 0)
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
34 tk_cmd( "foreach i [after info] {after cancel $i}" );
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
35 tk_cmd( sprintf("proc rep {} {}") );
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
36 tk_cmd( "destroy .top_tk_busy" );
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
37 elseif (tk_cmd( "winfo exists .top_tk_busy" ) == "1")
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
38 tk_cmd ( sprintf("set tk_busy_message \"%s\"", text) );
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
39 tk_cmd( sprintf( "wm title .top_tk_busy {%s}", text) );
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
40 else
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
41 tk_cmd( "toplevel .top_tk_busy -borderwidth 2 -relief groove" );
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
42 tk_cmd( sprintf( "wm title .top_tk_busy {%s}", text) );
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
43 #tk_cmd( "wm withdraw .top_tk_busy" );
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
44 tk_cmd( "label .top_tk_busy.l1 -textvar tk_busy_message -relief ridge -padx 10 -pady 5");
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
45 tk_cmd (sprintf("set tk_busy_message \"%s\"", text));
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
46 tk_cmd ("button .top_tk_busy.b1 -bitmap hourglass");
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
47
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
48 #tk_cmd("wm overrideredirect .top_tk_busy 1");
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
49
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
50 tk_cmd("pack .top_tk_busy.l1 .top_tk_busy.b1 \
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
51 -ipadx 2 -ipady 2 -padx 10 -pady 10");
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
52
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
53 #tk_cmd("wm deiconify .top_tk_busy");
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
54
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
55 tk_cmd("proc rep {a b} { .top_tk_busy.b1 configure \
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
56 -foreground $a -background $b; after 1000 rep $b $a}");
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
57 tk_cmd("rep salmon green4");
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
58 endif
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
59
6b33357c7561 Initial revision
pkienzle
parents:
diff changeset
60 endfunction