Skip to search.

Breaking News Visit Yahoo! News for the latest.

×Close this window

gui4cli · Open Source script language

The Yahoo! Groups Product Blog

Check it out!

Group Information

  • Members: 423
  • Category: Development
  • Founded: Aug 14, 1998
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Messages

Advanced
Messages Help
Messages 92 - 121 of 5834   Oldest  |  < Older  |  Newer >  |  Newest
Messages: Show Message Summaries Sort by Date ^  
#92 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Tue Nov 10, 1998 11:28 pm
Subject: gui4cli
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello gui4cli fans,
you will find herewith my first baby. It still needs toiletting; suggestions
are welcome.
It should allow you to create a new gui with nicely aligned gadgetbanks(with
spaces between if you like) within seconds. Split the files up under the names
given. Put it all in one drawer named GuiCreator and make the assigns &
startup as
explained in GuiCreat.gc.

I hope you like it
Joseph

===  button.rexx   ================

  /* We get a description of a gadget  (L T W H) ; Type
We get the number wanted in row(NrRow) & in column (NrColumn)
and we write into the file with path/name = FullName.  The given gadget
is the upperleft one of thegadgetbank added to the file
*/
; TRACE A
Parse Arg L T W H dW dH Type NrColumn NrRow FullName
FullName = Compress(FullName, )/* strip a blank arexx adds to the last
argument  in the Parse Arg command*/
say Type
Wo = W
Ho = H
SELECT
  WHEN Type = 'But' THEN
   DO
   But = "xBUTTON"; Tail = 'Title'
   END
  WHEN Type = 'TxIn' THEN
   DO
   But = "xTEXTIN"; Tail = '"Title" TxInVar "?" 59'
   END
  WHEN Type = 'Tx'  THEN
   DO
   But = "TEXT"   ; Tail = ' "Text" 25 BOX'
   END
  WHEN Type = 'Ic' THEN
   DO
   Wo = ''
   Ho = ''
   But = "xICON"; Tail = 'Icon'
   END
  WHEN Type = 'CTx' THEN
   DO
   Wo = ''
   Ho = ''
   But = "CTEXT"; Tail = '"Edit your text" times.font 11 2 -1 01032'
   END
  WHEN Type = 'CBx' THEN
   DO
   But = "xCHECKBOX"; Tail = '"Title" OnOffVar "EditOntext" "EditOffText" ON'
   END
  WHEN Type = 'Cy' THEN
   DO
   But = "xCYCLER";
   Tail1 = '"Title" CyclVar '
   Tail2 = 'CSTR "Title1" 0'
   Tail3 = 'CSTR "Title2" 1'
   Tail =  Tail1 '0a'x||Tail2 '0a'x||Tail3
   END
  WHEN Type = 'Ra' THEN
   DO
   But = "xRADIO"
   Tail1 = "RaVar 9"
   Tail2 = "RSTR Title Value"
   Tail = Tail1 "0a"x||Tail2 "0a"x||Tail2
   END
  WHEN Type = 'VSl' THEN
   DO
   But = "xVSLIDER"; Tail = '"Title" VSlVar 0 100 30 %5d '
   END
  WHEN Type = 'HSl' THEN
   DO
   But = "xHSLIDER"; Tail = '"Title" HSlVar 0 100 30 %5d '
   END
  WHEN Type = 'Bx' THEN
   DO
   But = "BOX"; Tail = 'IN RIDGE'
   END

  OTHERWISE EXIT
END
/* EXIT   */
Buttonbank = ""
Lf = 0
To = 0
I = 0
J = 0
/*Button.0.0 = But Lf To W H Tail  */

DO I = 1 FOR NrRow

    To = (I-1)*(H+dH) + T
    DO J = 1  FOR  NrColumn
     Lf = (J-1)*(W+dW) + L
    Button.I.J =But Lf To Wo Ho Tail
    Buttonbank = Buttonbank||'0a0a'x||Button.I.J
    End/*ForLoop J */

END/*FORLOOP I*/
/* TRACE A  */
IF EXISTS(FullName)  THEN
DO
rt = Open(Writln, FullName, 'A')
END
ELSE rt = Open(Writln, FullName, 'W')
rw = writeln(Writln, Buttonbank)
rg = Close(Writln)
EXIT Buttonbank

========== Colortext.lr ========
G4C

WINBIG 0 0 300 120 ColorText.lr

WinType 11110001
; gui to choose a CTEXT gadgets parameters
; the intention is to input the longest text of the CTEXT bank and to
; calculate W from this, H may be deduced from the font size chosen
; This is not implemented yet. W & H are to be chosen manually in
; GuiCreat.gc (AddGadget button)
; Gadget Specific gui's'of the type "ColRw.lr" may be developed, or
; ColRw.lr may be modified to get the W & H parameters from gui's like
; ColorText.lr ; for xIcon events a filerequester to choose the icons may be
; added, as well as the detection of the largest W & H of those icons.
; Suggestions how to get these from different icon structures are welcome.


xOnLoad
GuiOpen #this
Gosub #this Default

xRoutine Default
Text = "Input Text?"
Txt = '"Input Text?"'
Font = topaz.font
Size = 8
FGPen = 1
BGPen = -1
Mask = '00000'
SetGad #this 100 OFF

xOnReload
GuiOpen #this
Gosub #this Default

xOnClose
Gosub #this BackToGC
GuiQuit #this
; It would be nice to dispose of  buttons  with 2 faces (ON/OFF)+-
; checkbox??
; & or to have horizontal radio buttons
; also to be able to change all the arguments of CText (Mask, Fonts, sizes)
;


TEXT 0 14 60 14  "Font" 25 BOX
GadId 40
TEXT 0 28 60 14  "Size" 25 BOX
GadId 41
TEXT 0 42 60 14  "FGPen" 25 BOX
GadId 42
TEXT 0 56 60 14  "BGPen" 25 BOX
GadId 43
TEXT 0 70 60 14  "Mask"  25 BOX
GadId 44

xTEXTIN 60 0 120 14 "" Text "Text Input ?" 59
GadId 100
say $Text
Txt = '"$Text"'
say $Txt
SetGad #this 100 OFF

xBUTTON 0 0 60 14  "New"
GadId 1
SetGad #this 100 ON
Update #this 100 ""
Redraw #this


xBUTTON 60 14 30 14 Tpz
GadId 2
Font = 'topaz.font'
Itxt = 'Topaz'
Rge = "2/5"
GId = 40
Gosub #this Freeze

xBUTTON 90 14 30 14 Tim
GadId 3
Font = 'times.font'
Itxt = 'Times'
Rge = "2/5"
GId = 40
Gosub #this Freeze


xBUTTON 120 14 30 14 Mon
GadId 4
Font = '#MONO'
Itxt = 'Mono'
Rge = "2/5"
GId = 40
Gosub #this Freeze

xBUTTON 150 14 30 14 Scr
GadId 5
Font = '#SCREEN'
Itxt = 'Screen'
Rge = "2/5"
GId = 40
Gosub #this Freeze

xROUTINE Freeze
SetGad #this $Rge HIDE
Update #this $GId $Itxt
Redraw #this


xBUTTON 60 28 30 14  '8'
GadId 50
Size = '8'
Itxt = $Size
Rge = "50/54"
GId = 41
Gosub #this Freeze

xBUTTON 90 28 30 14  '10'
GadId 51
Size = '10'
Itxt = $Size
Rge = "50/54"
GId = 41
Gosub #this Freeze

xBUTTON 120 28 30 14 '11'
GadId  52
Size = '11'
Itxt = $Size
Rge = "50/54"
GId = 41
Gosub #this Freeze

xBUTTON 150 28 30 14 '14'
GadId  53
Size = '14'
Itxt = $Size
Rge = "50/54"
GId = 41
Gosub #this Freeze

xTEXTIN 180 28 30 14 "" Size "?" 2
GadId 54
say $Size
SetGad #this 101 HIDE
Itxt = $Size
Rge = "50/54"
GId = 41
Gosub #this Freeze

xBUTTON 60 46 30 10 ''
GadId 10
FGPen = 1
Gosub #this FreezFG
xBUTTON 90 46 30 10 ''
GadId 11
FGPen = 2
Gosub #this FreezFG  ;
xBUTTON 120 46 30 10 ''
GadId 12
FGPen = 3
Gosub #this FreezFG
xBUTTON 150 46 30 10 ''
GadId 13
FGPen = 4
Gosub #this FreezFG
xBUTTON 180 46 30 10 ''
GadId 14
FGPen = 5
Gosub #this FreezFG
xBUTTON 210 46 30 10 ''
GadId 15
FGPen = 6
Gosub #this FreezFG
xBUTTON 240 46 30 10 ''
GadId 16
FGPen = 7
Gosub #this FreezFG
xBUTTON 270 46 30 10 ''
GadId 17
FGPen = 8
Gosub #this FreezFG

xRoutine FreezFG
Itxt = $FGPen
Rge = "10/17"
GId = 42
Gosub #this Freeze

xBUTTON 60 60 30 10 ''
GadId 18
BGPen = 1
Gosub #this FreezBG     ;
xBUTTON 90 60 30 10 ''
GadId 19
BGPen = 2
Gosub #this FreezBG
xBUTTON 120 60 30 10 ''
GadId 20
BGPen = 3
Gosub #this FreezBG
xBUTTON 150 60 30 10 ''
GadId 21
BGPen = 4
Gosub #this FreezBG
xBUTTON 180 60 30 10 ''
GadId 22
BGPen = 5
Gosub #this FreezBG
xBUTTON 210 60 30 10 ''
GadId 23
BGPen = 6
Gosub #this FreezBG
xBUTTON 240 60 30 10 ''
GadId 24
BGPen = 7
Gosub #this FreezBG
xBUTTON 270 60 30 10 ''
GadId 25
BGPen = 8
Gosub #this FreezBG

xROUTINE FreezBG
Itxt = $BGPen
Rge = "18/25"
GId = 43
Gosub #this Freeze

SQUARE 60 42 30 4 1 FILL

SQUARE 90 42 30 4 2 FILL

SQUARE 120 42 30 4 3 FILL

SQUARE 150 42 30 4 4 FILL

SQUARE 180 42 30 4 5 FILL

SQUARE 210 42 30 4 6 FILL

SQUARE 240 42 30 4 7 FILL

SQUARE 270 42 30 4 8 FILL


SQUARE 60 56 30 4 1 FILL

SQUARE 90 56 30 4 2 FILL

SQUARE 120 56 30 4 3 FILL

SQUARE 150 56 30 4 4 FILL

SQUARE 180 56 30 4 5 FILL

SQUARE 210 56 30 4 6 FILL

SQUARE 240 56 30 4 7 FILL

SQUARE 270 56 30 4 8 FILL



xBUTTON 60 70 30 14 UL
GadId 26
Offset = 1
Gosub #this Masking


xBUTTON 90 70 30 14 Bd
GadId 27
Offset = 2
Gosub #this Masking

xBUTTON 120 70 30 14 It
GadId 28
Offset = 3
Gosub #this Masking

xBUTTON 150 70 30 14 Sh
GadId 29
Offset = 4
Gosub #this Masking

xBUTTON 180 70 30 14 Os
GadId 30
Offset = 5
Gosub #this Masking

xROUTINE Masking
CutVar Mask CUT CHAR $Offset Hd
CutVar Hd CUT CHAR -1 Old
AppVar Hd '1'
.Hd = $Hd
Append ENV:.Hd '$Mask'
ReadVar ENV:.Hd 0 5 Mask
Mask = '$Mask'
Update #this 44 $Mask



xBUTTON 165 90 45 30 Free
GadId 31
Gosub #this Free

xRoutine Free
SetGad #this 2/5 Show
SetGad #this 50/54 Show
SetGad #this 10/25 Show
Redraw #this


xBUTTON 210 90 45 30 Show
GadId 32
GuiPath = '"ram:"'
GuiName = '"CTextShow"'
CLI "rx 'guic:GuiFramS.rexx $GuiPath $GuiName"
Append ram:CTextShow "CTEXT 5 20 $Txt $Font $Size $FGPen $BGPen $Mask"
Gosub #this ReloadCTextShow

xBUTTON 255 90 45 30 OK
GadId 33
Gosub #this BackToGC
GuiQuit #this

xRoutine BacktoGC
TxtCC = "£'$Text'"
GuiCreat.gc/TxtC = "£ $Text"
GuiCreat.gc/FntC = $Font
GuiCreat.gc/SzC = $Size
GuiCreat.gc/FgpC = $FGPen
GuiCreat.gc/BgpC = $BGPen
GuiCreat.gc/MskC = $Mask


GuiCreat.gc/CallC = "£ $Font $Size $FGPen $BGPen $Mask "

xBUTTON 120 90 45 30 Dflt
GadId 34
Gosub #this Free
Gosub #this Default




xROUTINE ReloadCTextShow
GuiRename CTextShow CTextShw
GuiLoad 'ram:CTextShow'
GuiQuit CTextShw
Return

======= ColRw.lr ===========
G4C

WINBIG 0 0 270 135 ColRw.lr

WinType 11110001
; gui to select the L T W H parameters of the upperleft gadget of the bank
; as well as the Nr of Columns & Rows
; in future versions W & H might be imported eg from ColorText.lr
xOnLoad
GuiOpen #this
SetGadValues #this
SetGad #this 1 ON    ; You are compelled to give the parameters in the
SetGad #this 2 OFF   ; sequence of appearance on the screen.
SetGad #this 3 OFF   ; Maybe an other sequence is better, maybe a "Free"
SetGad #this 4 OFF   ; button could be added such as in ColorText.lr
SetGad #this 5 OFF   ; Suggestions are welcome.
SetGad #this 6 OFF   ;
SetGad #this 7 OFF   ;
SetGad #this 8 OFF   ;

xOnReload
GuiOpen #this
SetGadValues #this


xOnClose
Gosub #this BackToGC


TEXT 0 0 240 14 "Enter L T W H of Gadget" 30 NOBOX

TEXT 0 14 60 14 "Left" 10 BOX

TEXT 60 14 60 14 "Top" 10 BOX

TEXT 120 14 60 14 "Width" 10 BOX

TEXT 180 14 60 14 "Height" 10 BOX

xTEXTIN 0 28 60 14 "" Left "0" 100
GadId 1
SetGad #this 2 ON

xTEXTIN 60 28 60 14 "" Top "0" 100
GadId 2
SetGad #this 3 ON

xTEXTIN 120 28 60 14 "" Width "60" 100
GadId 3
SetGad #this 4 ON

xTEXTIN 180 28 60 14 "" Height "14" 100
GadId 4
SetGad #this 5 ON


TEXT 0 42 60 14 "dWidth" 10 BOX

TEXT 60 42 60 14 "dHight" 10 BOX


xTEXTIN 0 56 60 14 "" dWidth "0" 100
GadId 5
SetGad #this 6 ON

xTEXTIN 60 56 60 14 "" dHight "0" 100
GadId 6
SetGad #this 7 ON





TEXT 0 70 120 14 "Enter nr Colums & Rows" 25 NOBOX

xBUTTON 200 100 60 30 " OK "
Gosub #this BackToGC

xRoutine BackToGC
GuiCreat.gc/L = $Left
GuiCreat.gc/T = $Top
GuiCreat.gc/W = $Width
GuiCreat.gc/H = $Height
GuiCreat.gc/C = $NrCol
GuiCreat.gc/R = $NrRow
GuiCreat.gc/dW = $dWidth
GuiCreat.gc/dH = $dHight
Gosub GuiCreat.gc GetGadgParam
GuiQuit #this


TEXT 0 84 60 14 "Columns" 10 BOX

TEXT 60 84 60 14 "Rows" 10 BOX


xTEXTIN 0 98 60 14 "" NrCol  "1" 100
GadId 7
SetGad #this 8 ON

xTEXTIN 60 98 60 14 "" NrRow "1" 100
GadId 8
Gosub #this BackToGC
GuiQuit #this

====== CTextFine.rexx ========
/* CTextFine.rexx is the rexx routine in which we get the number of columns &
rows
L T W H, dW, dH  the text to appear in Txt & fine edition parameters of CText
:
size,font, etc in Call, and we produce
a file saved under FullName with the given CTEXT gadget LT as
the upperleft gadget of the bank. It is a variant of Button.rexx
This routine & button.rexx might be merged in the future
It could be expanded to care for ICON & xICON gadgets: W & H should be
deduced from the icon file. I don't know how
*/
/* ===================================================================*/
Parse Arg L T W H dW dH NrColumn NrRow FullName "£" Txt "£" Call
FullName = translate(FullName, ":", "µ",)
Txt = '"'||Txt||'"'
Call = " "||Call
say "NC NrRw" NrColumn NrRow
say "FName" FullName
FullName = Compress(FullName, )/* strip a blank arexx adds to the last
argument  in the Parse Arg command, not needed any more*/
Parse Var Call Font Size FGPen BGPen Mask
Say "Size =" Size
LTxt = Length(Txt)
Say LTxt
W = LTXt*Size/1.4 /* this could be optimized. For 1 font the gap changes
with Size; probably not in the same way for all fonts*/

H = Size
But = 'CTEXT'
Wo = ''
Ho = ''

/* the SELECT beneath will be used when & if this routine becomes a generic
one that handles the fine edition of all or more than one gadget. Presently
it is ,not used */
/*;SELECT
  ;WHEN Type = 'But' THEN
  ;DO
;  But = "xBUTTON"; Tail = 'Title'
;  END
; WHEN Type = 'TxIn' THEN
;  DO
  ; But = "xTEXTIN"; Tail = '"Title" TxInVar "?" 59'
   ;END
; WHEN Type = 'Tx'  THEN
  ; DO
   ;But = "TEXT"   ; Tail = ' "Text" 25 BOX'
  ; END
; WHEN Type = 'Ic' THEN
  ; DO
   ;Wo = ''
   ;Ho = ''
   ;But = "xICON"; Tail = 'Icon'
   ;END
  WHEN Type = 'CTx' THEN
  DO
  Wo = ''
  Ho = ''
   ;But = "CTEXT"; Tail = '"Edit your text" times.font 11 2 -1 01032'
   ;END
  ;WHEN Type = 'CBx' THEN
   ;DO
   ;But = "xCHECKBOX"; Tail = '"Title" OnOffVar "EditOntext" "EditOffText" ON'
   ;END
  ;WHEN Type = 'Cy' THEN
   ;DO
   ;But = "xCYCLER"; Tail = '"Title" CyclVar '
   ;END
  ;WHEN Type = 'VSl' THEN
  ; DO
   ;But = "xVSLIDER"; Tail = '"Title" VSlVar 0 100 30 %5d '
   ;END
  ;WHEN Type = 'HSl' THEN
   ;DO
   ;But = "xHSLIDER"; Tail = '"Title" HSlVar 0 100 30 %5d '
   ;END
  ;WHEN Type = 'Bx' THEN
   ;DO
   ;But = "BOX"; Tail = 'IN RIDGE'
   ;END

  ;OTHERWISE EXIT
;END*/
Tail = Txt||Call
Buttonbank = ""
Lf = 0
To = 0
I = 0
J = 0

DO I = 1 FOR NrRow

    To = (I-1)*(H+dH) + T
    DO J = 1  FOR  NrColumn
     Lf = (J-1)*(W+dW) + L
    Button.I.J =But Lf To Wo Ho Tail
    Buttonbank = Buttonbank||'0a0a'x||Button.I.J
    End/*ForLoop J */

END/*FORLOOP I*/
/* TRACE A  */
IF EXISTS(FullName)  THEN
DO
rt = Open(Writln, FullName, 'A')
END
ELSE rt = Open(Writln, FullName, 'W')



rw = writeln(Writln, Buttonbank)
rg = Close(Writln)
EXIT Buttonbank

========== GadgType.lr ========
/* CTextFine.rexx is the rexx routine in which we get the number of columns &
rows
L T W H, dW, dH  the text to appear in Txt & fine edition parameters of CText
:
size,font, etc in Call, and we produce
a file saved under FullName with the given CTEXT gadget LT as
the upperleft gadget of the bank. It is a variant of Button.rexx
This routine & button.rexx might be merged in the future
It could be expanded to care for ICON & xICON gadgets: W & H should be
deduced from the icon file. I don't know how
*/
/* ===================================================================*/
Parse Arg L T W H dW dH NrColumn NrRow FullName "£" Txt "£" Call
FullName = translate(FullName, ":", "µ",)
Txt = '"'||Txt||'"'
Call = " "||Call
say "NC NrRw" NrColumn NrRow
say "FName" FullName
FullName = Compress(FullName, )/* strip a blank arexx adds to the last
argument  in the Parse Arg command, not needed any more*/
Parse Var Call Font Size FGPen BGPen Mask
Say "Size =" Size
LTxt = Length(Txt)
Say LTxt
W = LTXt*Size/1.4 /* this could be optimized. For 1 font the gap changes
with Size; probably not in the same way for all fonts*/

H = Size
But = 'CTEXT'
Wo = ''
Ho = ''

/* the SELECT beneath will be used when & if this routine becomes a generic
one that handles the fine edition of all or more than one gadget. Presently
it is ,not used */
/*;SELECT
  ;WHEN Type = 'But' THEN
  ;DO
;  But = "xBUTTON"; Tail = 'Title'
;  END
; WHEN Type = 'TxIn' THEN
;  DO
  ; But = "xTEXTIN"; Tail = '"Title" TxInVar "?" 59'
   ;END
; WHEN Type = 'Tx'  THEN
  ; DO
   ;But = "TEXT"   ; Tail = ' "Text" 25 BOX'
  ; END
; WHEN Type = 'Ic' THEN
  ; DO
   ;Wo = ''
   ;Ho = ''
   ;But = "xICON"; Tail = 'Icon'
   ;END
  WHEN Type = 'CTx' THEN
  DO
  Wo = ''
  Ho = ''
   ;But = "CTEXT"; Tail = '"Edit your text" times.font 11 2 -1 01032'
   ;END
  ;WHEN Type = 'CBx' THEN
   ;DO
   ;But = "xCHECKBOX"; Tail = '"Title" OnOffVar "EditOntext" "EditOffText" ON'
   ;END
  ;WHEN Type = 'Cy' THEN
   ;DO
   ;But = "xCYCLER"; Tail = '"Title" CyclVar '
   ;END
  ;WHEN Type = 'VSl' THEN
  ; DO
   ;But = "xVSLIDER"; Tail = '"Title" VSlVar 0 100 30 %5d '
   ;END
  ;WHEN Type = 'HSl' THEN
   ;DO
   ;But = "xHSLIDER"; Tail = '"Title" HSlVar 0 100 30 %5d '
   ;END
  ;WHEN Type = 'Bx' THEN
   ;DO
   ;But = "BOX"; Tail = 'IN RIDGE'
   ;END

  ;OTHERWISE EXIT
;END*/
Tail = Txt||Call
Buttonbank = ""
Lf = 0
To = 0
I = 0
J = 0

DO I = 1 FOR NrRow

    To = (I-1)*(H+dH) + T
    DO J = 1  FOR  NrColumn
     Lf = (J-1)*(W+dW) + L
    Button.I.J =But Lf To Wo Ho Tail
    Buttonbank = Buttonbank||'0a0a'x||Button.I.J
    End/*ForLoop J */

END/*FORLOOP I*/
/* TRACE A  */
IF EXISTS(FullName)  THEN
DO
rt = Open(Writln, FullName, 'A')
END
ELSE rt = Open(Writln, FullName, 'W')



rw = writeln(Writln, Buttonbank)
rg = Close(Writln)
EXIT Buttonbank

============ GuiCreat.gc ======
G4C

WINBIG 360 0 240 84 GuiCreat.gc

WinType 11110001
; Version: V1.0   19 oct 98
; Author(s) : First author & initial ideas: Joseph Duchâtelet
jduchatelet@...
; ========  This program is freeware and you may patch & edit it as you wish
; for your own use. In distributing this program the content of the
; GuiCreator drawer as described beneath
; will remain unchanged.
; If you want to distribute your own version or add-ons you also agree to
; distribute the original GuiCreator drawer from which you started at the same
; time. You can put this drawer into your own one, or vice versa.
; You will have the same attitude for the distribution of your work as
; described here.
; You agree to acknowledge the initial authors, ideas & work from which you
; started.  You will send a copy of your work to the mentioned authors.
; No commercial use allowed without the agreement of the mentioned authors..
; Any help in furthering this project will be acknowledged along those lines
in this
; in future versions.

; What it does, composition and how it could evolve
; ==================================================
; Permits to create, add "gadgetbanks" & view really fast the resulting gui.
; -1-presently with standard dimensions & Wintype=> window.lr to be created
; to define non-standard gui-windows; use of fractions of full screen: Pri 1
; You can load into it 2 dimensional gadgetbanks
; -2- presently a selection (12) of most used gadgets =>full set ? Pri 2
; Text  Gadgets
; It uses 1)Guiframe.rexx to create the Gui frame and 2)Button.Rexx
; to create a buttonbank.
; The type of bank is specified with the 3)GadgType.lr gui. The 4)Colrw.lr
; gui is used to specify the position & dimension of the upper left
; corner of the bank & the Nr of columns & rows, the space between gadgets
; (dW dH)
; -3- presently no automatic adaption of window dimensions to banks or vice
; versa: Pri 2
; -4- presently fine editing of gadgets (color, font,text, variables)
;  gadgets only for CTEXT it uses 5)ColorTxt.lr
; 6) CTextFine.rexx (color, font,text, variables) and 7) GuiFramS.lr
;  You can use ed or similar => Adding more fine editing gui : Pri 2
;
; -5- presently no global editing of a bank: delete a buttonbank, change its
; change its parameters,  move a bank globally: Pri 3
; -6- Presently no option to edit (= adding gadgets ) an existing gui
; you can however create a gui (with GuiCreat.gc )  with similar name in
; say Ram:, overwrite it & then add gadgets with GuiCreat.gc: Pri 1
; -7- Do all the above on an existing guiin development: Pri 4
; -8- Done; Change the name to something meaningfull.
; I reserve the name "GuiCreator.gc" & the name GuiCreator for the drawer in
; which to put it all Pri 1
; -9- Protect input of GuiPathe & GuiName : Joinfile does a good job here
; -10- More easy start $ installation: Startscript Pri 5
; -11- Localisation:  Pri 6 (Principles ?)
; -12- Style guide improvements: Pri 2 : Your suggestions ? I may have the
; style guide,
; Remark: buttonbanks or (recursive) sets of gadgets
; are not supported yet(?) in Gui4CLI : you can of course make use of gui's
; on gui's)
; Starting the program
;=====================
;
; The program needs Gui4CLI installed & running and launched in the well
; known way from the Tools/Gui4CLI AppMenu
; In order to work however gui has to be started from a shell with guic:
; as cd. It can be started directly from the shell (same cd) with "gui
; GuiCreat.gc"
; All components of the program described, are supposed to be in guic:
; In order to work gui has to be started from a shell with guic: as cd
; You can edit this of course. I did not remove all debugging statements
; They may prove usefull if you edit the components.
;
; Request for help comments & suggestions
; =======================================
; thanks for any comment or suggestion :
; I am in search for usefull commands, Gui4CLI enhancements, approaches
; for the project (the Pri 3 enhancement):
; 1. Commands i will look ateventually: SetGadvalues GuiName (to simplify
; GuiCreat ? xArea : Is it possible to  superpose an area on a bank ?
; superpose an area on a bank ? Use xOnRMB & area sensing to identify a bank??
;  Middle button click event ??used for editing gui's
; ???   xPipe Would I have a use for it :eg interacting with an editor (ed,
; ..)  Launch & xOnReturn => multitasking ??  xOnJump (CTl-J) & Setscreen
; xOnRMB & area sensing; xOnactive ; xOnInactive;xOndoubleclick (window out
; of gadgets ; xBefore (central set of commands executed > gadget commands)
; Use the internal variables to setup the program ? (installation)
; 2. Gui4CLI enhancements to be used for editing guic: Middle button click
; event; Right Mouse double click; Buttonbanks , recursive sets of gadgets;
; Saving a loaded gui modified from an external direct editor (type
; GuiCreat.gc) with the existing gadget modifiers (GADxxx) commands
; 3. approaches: (a) (Pri 3 & above) Create a compact file or (b) compound
variable in Arexx)
; with only "core" informations about the bare gui (all except the commands)
and
; a mapping mechanism to the bare gui (full recomposing of the bare gui
; after an editing session)
; (c) work on the full gui using the Fastread principle (offset file)
; (d) work directly on the full gui
;



xOnLoad
GuiOpen GuiCreat.gc
SetGad GuiCreat.gc 1 OFF
SetGad GuiCreat.gc 2 OFF
SetWinTitle GuiCreat.gc 'GuiCreat.gc                              '
;Type = '"But"' ; default  gadget type = Buttons
;This is set in xRoutine GetGadgParam => on load & on reload
GuiPth = 'ram:'
GuiPath = '"ram:"'; appears in TextIn next to GUIName. Edit this to your work
; drawer also under xOnReload
Counter = 0  ; only for debugging
AddCntr = 0  ; only for debuggin

xOnReload
GuiPth = 'ram:'
GuiPath = '"ram:"'
Counter = 0
AddCntr = 0

xOnClose
GuiQuit GuiCreat.gc
GuiQuit Colortext.lr
GuiQuit ColRw.lr
GuiQuit GadgType.lr
GuiQuit $GuiNm
GuiQuit 'Tmp$GuiNm'
TEXT 0 0 240 14 "Enter Path & Name of New Gui" 40 NOBOX


XBUTTON 0 14 60 14 "NewGui"
;get the Name of the Gui using the TextIn gadget 1
SetGad GuiCreat.gc 1 ON
;presently does nothing much


xTEXTIN 61 14 60 14 "" GuiPath "ram:" 60
GadId 1
SetWinTitle GuiCreat.gc $GuiPath
GuiPth = $GuiPath
GuiPath = '"$GuiPath"'
SetGad GuiCreat.gc 2 ON

xTEXTIN 122 14 60 14 "" GuiName "?" 60
GadId 2
GuiNm = $GuiName
GuiName = '"$GuiNm"'
joinFile $GuiPath $GuiName FullName ; =>
FullNm = $FullName
FullName = '"$FullNm"'; i don't use all of these
FllName = "'$FullNm'" ; but i may need them
FlName = '""$FullNm""'
FlNm = "''$FullNm''"
FllNme = '""$FullNm""'
SetWinTitle GuiCreat.gc $FllName

CLI "rx 'guic:GuiFrame.rexx $GuiPath $GuiName'"
; this command gives you more feedback than the sendRexx Arexx command
; at least you can see what the exact string was that you sent
; The rexxroutine will assemble a string representing a bare gui
; and save it under $FullName

GuiLoad $FullName
SetGad GuiCreat.gc 1 OFF
SetGad GuiCreat.gc 2 OFF

XBUTTON 0 28 60 14 "GadType"
; launch a gui with difft types to select from
GuiLoad guic:GadgType.lr
;Guiquit $GuiNm


XROUTINE GetGadgType
;this routine is called by the GadgType.lr gui after setting the Gadget ty
; variables, presently only the type & Fine parameters; Maybe is not needed ?
RETURN


XBUTTON 0 42 60 14 "AddGads"
If $Fine = 'N'
Comptr = 0
GuiLoad guic:ColRw.lr
Else
GuiLoad guic:ColRw.lr ; to remind me that gadget type specific "AddGadds"
; may be designed later
EndIf

XROUTINE GetGadgParam
;this routine is called by the Colrw.lr gui after setting the variables
; needed by the call on  button.rexx below
IF $Type = ''
Type = '"But"'
Else
;STOP
EndIf

IF $Fine = 'N'
CLI "rx 'guic:button.rexx $L $T $W $H $Type $C $R $FullName'"

ELSEIF $Fine = 'Y'
CalcVar AddCntr $AddCntr + 1
CalcVar Counter $Counter + 1
;Say "AddCntr = "
;Say $AddCntr
FµllNm = $FullNm            ; I had much problems in getting my parameters
RepVar FµllNm ':' 'µ' CS    ; recognized properly by the Arexx routines
RepVar FµllNm '/' '[' CS    ; This solved that.

AddCntr = 0
Tokens = " '$L $T $W $H $dW $dH $C $R $FµllNm $TxtC $CallC'"
CLI ' rx "CTextFine.Rexx $Tokens"'
ELSE
STOP
ENDIF

Gosub #this ReloadGui
Return

xROUTINE ReloadGui
Say "Tmp1"
GuiRename $GuiNm 'Tmp$GuiNm'
Say "Tmp2"
GuiLoad $FullNm
Say "Tmp3"
GuiQuit 'Tmp$GuiNm'
Say "Tmp4"
Return


XBUTTON 0 56 60 14 "ShowGui"
Gosub #this ReloadGui

XBUTTON 0 70 60 14 "Test1"
; button you can use for testing short sets of commands, before use in
; your gui
; 1 = Demo exercice to be used to clean up input; later; joinfile does a
; good job & RepVar is more usefull than Cutvar; see xButton Test3
;
;xRoutine STRIP
Cutvar var2 COPY CHAR 1 begn
IF $begn = ' '
OR $begn = '"'
OR $begn = "'"
  Cutvar var2 CUT CHAR 1 varnw
ENDIF

Cutvar var2 COPY CHAR -1 ender
IF $ender = ' '
OR $ender = '"'
OR $ender = "'"
   Cutvar var2 CUT CHAR -1 varN
ENDIF
; $begn => " $ender => "  $varN => ram:
say $ender
say $var2
say $varN
;RETURN

;2 =  Tests on concatenation
;A search for a  well working  concatenation command
;say $begn $ender; =>  error
;say '$begn$ender' does not work, no output
;say '$begn $ender' ; =>works OK but " " no real concatenation

;CLI "rx 'say $begn||$ender'"
;=> rx 'say'
CLI "rx 'say $begn $ender'"
;=> rx 'say " "'; works no concatenation

CLI "echo $begn $ender  "
;=> echo " " ; works no concat
CLI "rx ' x = een; y =twee; say x y'"
CLI " echo 'Hello'" ;=> Hello
a = 1
b = 2
cli "echo '$a$b'"; => ''
cli "echo '$a $b' "; => '1 2'
cli "echo $a $b" ; => 1 2
cli "echo $a||$b"; => echo
;c = $a$b  ;say $c; => nothing

say $c
;c = $a $b => error
say $c
c = '$a $b'
say $c
Say $var11
joinFile $GuiPath $GuiName FullName
;joinfile $GuiPth $GuiNm FullName  ;=> same result
;joinFile $GuiPath $GuiNm FullName ;=> same result
joinfile $a $b result
say $result  ; => 1/2
.a = $a
b = 'test'
Append env:.a $b
Say $.a ; => 1test OK
AppVar a "test"

XBUTTON 60 70 60 14 "Test2"
;otherTests on JoinFile
PatName = " ram: "
GuName = " gui "
joinFile $PatName $GuName FPt
say $FPt  ; =>ram:gui|
; ======
GuiPath = 'ram:' ;=> ram:
say $GuiPath ; => ram:
GuiPth = $GuiPath
GuiPath = '"$GuiPath"' ;=> "ram:"
GuiName = 'gui'
say $GuiName ; => gui
GuiNm = $GuiName
GuiName = '"$GuiNm"' ; => "gui"
joinFile $GuiPath $GuiName FullName ; =>ram:gui|
say $FullName  ; =>ram:gui|
; ==========
; test on use of " ' "" '' etc
FullNm = $FullName
FullName = '"$FullNm"'; 'ram:gui'
FllName = "'$FullNm'" ; "ram:gui"
FlName = '""$FullNm""'
FlNm = "''$FullNm''" ; =
FllNme = '""$FullNm""'
Say $FllName
;Say $FullNm
Say $FullName


XBUTTON 120 70 60 14 "Test3"
;test on RepVar
GuiµPth = 'ram:etc/now/enz'
REPVAR GuiµPth ':' 'µ' CS
REPVAR GuiµPth '/' '[' CS
say $GuiµPth

========== GuiFrame.rexx =======
/* a rexx routine that is launched with   */
/* CLI rx 'GuiFrame.rexx GuiPath GuiName'  (eg ram:button.gc button.gc */
/*; the rexxroutine will assemble a file representing a bare gui */
/*; and save it according to FullName. It will be extended to accept */
/* window dimensions,position, Wintype as arguments  */
Parse Arg GuiPath Name
Name = Compress(Name, ) /* remove leading blank that always seem to be added
to
the last argument when using the Parse Arg command*/
FullName = GuiPath || Name
Frame = ""
Frame = 'G4C'||'0a0a'x||'WINBIG 0 0 300 600 '|| Name || '0a0a'x
Frame = Frame || "WinType 11110001"|| '0a0a'x
Frame = Frame||'xOnLoad'||'0a'x||'GuiOpen '|| Name ||'0a0a'x
Frame = Frame||'xOnReload'||'0a'x||'GuiOpen '|| Name ||'0a0a'x
Frame = Frame||'xOnClose'||'0a'x||'GuiQuit '|| Name ||'0a0a'x
ro = OPEN('gui',FullName,'W')
rw = Writeln('gui',Frame)

==========GuiFramS.rexx ======
/* a rexx routine, that is launched with   */
/* CLI rx 'GuiFramS.rexx GuiPath GuiName'  (eg ram:button.gc button.gc */
/*; the rexxroutine will assemble a file representing a bare gui*/
/*; and save it according to FullName. It is just a variant of GuiFrame.rexx
*/
/* When GuiFrame is modified to accept other parameters, eg dimensions,*/
/* WinType this routine will no longer be needed */
Parse Arg GuiPath Name
Name = Compress(Name, ) /* remove leading blank that always seem to be added
to
the last argument when using the Parse Arg command*/
FullName = GuiPath || Name
Frame = ""
Frame = 'G4C'||'0a0a'x||'WINBIG 0 180 200 60 '|| Name || '0a0a'x
Frame = Frame || "WinType 11110001"|| '0a0a'x
Frame = Frame||'xOnLoad'||'0a'x||'GuiOpen '|| Name ||'0a0a'x
Frame = Frame||'xOnReload'||'0a'x||'GuiOpen '|| Name ||'0a0a'x
Frame = Frame||'xOnClose'||'0a'x||'GuiQuit '|| Name ||'0a0a'x
ro = OPEN('gui',FullName,'W')
rw = Writeln('gui',Frame)

#93 From: "D.Keletsekis" <dck@...>
Date: Thu Nov 12, 1998 12:30 pm
Subject: Re: gui submitted
dck@...
Send Email Send Email
 
Hi,

>From: Joseph =?iso-8859-1?Q?Duch=E2telet?= <jduchatelet@...>
>you will find herewith my first baby. It still needs toiletting; suggestions
>are welcome.

Thanks for your gui.
I was not able however, to get it to run properly.
This is probably due to my renaming 1-2 files incorrectly.
It is very tiresome to extract files from a huge mail and
you will not find many people that will take the time...

Please send me the gui again *privately* this time, at my
email : dck@... - since many people don't like receiving
such huge mails. I will upload it on my page and announce it
here, so that anyone who wants it can download it.

The list is mainly for anouncements and such..

Please use LHA or ZIP to archive all the files into one
archive and send it to me as one attachment, so that all the
files are separate and named correctly.

I would also suggest that you save the instructions in a
separate file called ReadMe (or whatever) since there is
quite a lot of text there and it can get confusing..

All the best
Dimitris

#94 From: Giuseppe Chillemi <goccebbs@xxxxxx.xxx.xxx
Date: Fri Nov 13, 1998 6:44 am
Subject: The GUI you have submitted
goccebbs@xxxxxx.xxx.xxx
Send Email Send Email
 
Next time you'll want to send something, please:

1) Pack your files using an archiver like LHA or LZX and send it
   as uuencoded file.
2) Ask in the mailing list whether we are all interested to your
   program or we aren't. In the latter case, send privately to the
   interested guys.
3) Do not send it 4 TIMES !!!

  Ciao,
    Giuseppe Chillemi

#95 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Sun Nov 15, 1998 4:51 pm
Subject: Re: gui submitted
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
On 12-Nov-98, D.Keletsekis wrote:
>From: "D.Keletsekis" <dck@...>

>Hi,

>>From: Joseph =?iso-8859-1?Q?Duch=E2telet?= <jduchatelet@...>
>>you will find herewith my first baby. It still needs toiletting; suggestions
>>are welcome.

>Thanks for your gui.
>I was not able however, to get it to run properly.

>This is probably due to my renaming 1-2 files incorrectly.
>It is very tiresome to extract files from a huge mail and
>you will not find many people that will take the time...

>Please send me the gui again *privately* this time, at my
>email : dck@... - since many people don't like receiving
>such huge mails. I will upload it on my page and announce it
>here, so that anyone who wants it can download it.

>The list is mainly for anouncements and such..

>Please use LHA or ZIP to archive all the files into one
>archive and send it to me as one attachment, so that all the
>files are separate and named correctly.

>I would also suggest that you save the instructions in a
>separate file called ReadMe (or whatever) since there is
>quite a lot of text there and it can get confusing..

>All the best
>Dimitris
Sorry for the inconvenience.
I expected  the way i did send the gui to be the clearest. I will try to do as
suggested.
I will be busy still for some time so it wil not be this week i guess

Joseph



>------------------------------------------------------------------------
>To unsubscribe from this mailing list, or to change your subscription
>to digest, go to the ONElist web site, at http://www.onelist.com and
>select the User Center link from the menu bar on the left.

#96 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Sun Nov 15, 1998 4:53 pm
Subject: Re: The GUI you have submitted
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
On 13-Nov-98, Giuseppe Chillemi wrote:
>From: Giuseppe Chillemi <goccebbs@...>


> Next time you'll want to send something, please:

>1) Pack your files using an archiver like LHA or LZX and send it
>  as uuencoded file.
>2) Ask in the mailing list whether we are all interested to your
>  program or we aren't. In the latter case, send privately to the
>  interested guys.
This is well noted and i will follow these sugestions next time.

>3) Do not send it 4 TIMES !!!
I did send it only once, so i suspect something happened on the way to you,
the file being too long i suppose.
Sorry
Ciao too
Joseph






>------------------------------------------------------------------------
>To unsubscribe from this mailing list, or to change your subscription
>to digest, go to the ONElist web site, at http://www.onelist.com and
>select the User Center link from the menu bar on the left.

#97 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Mon Nov 23, 1998 8:16 pm
Subject: gui4cli
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello Dimitris & maillisters,

It often happens that when i try to launch gui from shell that i get the
message " gui: fichier non exécutable"
This seems to happen notably when, after having launched gui succesfully from
within a subdrawer (eg guicreator) of guis: (where  the original gui4cli files
& directories reside) i quit gui4cli and then try to relaunch it from within
another subdrawer of guis: (eg guicreator_work)
or even from the same subdrawer.
Restarting is then needed to be able to start gui again in a subdrawer.
(Starting from guis: remains possible; from c: as well .
I have gui in my c: directory as well as in guis: )
I can live with it, but if there is some way to avoid it can you tell me ?

Thanks

#98 From: "D.Keletsekis" <dck@xxx.xxx
Date: Wed Dec 2, 1998 6:22 am
Subject: Re: gui & news
dck@xxx.xxx
Send Email Send Email
 
Hi,

At 03:16 ìì 23/11/98 -0500, you wrote:
>From: Joseph =?iso-8859-1?Q?Duch=E2telet?= <jduchatelet@...>
>It often happens that when i try to launch gui from shell that i get the
>message " gui: fichier non exécutable"

I suppose that means "file not executable" ?

Well.. maybe you have another file called "gui" somewhere
and the shell (in some instances) finds that one first and
tries to run it, instead of the *actual" gui program..

Otherwise, I can't think of anything else..
You could use SnoopDos to find out what the system is doing.

----------------------------

BTW - if anyone is wondering what I've been doing :

I haven't touched Gui4Cli for a while..
I've been wrestling with the intricacies of datatypes and
graphics, trying to make a g4c/arexx host to run graphics,
show pictures/animations etc. It's similar to gcsound, but
also with the ability to notify the caller about various
events such as mouseclicks, keypresses etc

I got frustrated with various things (did you know that
datatype bitmaps are not directly displayable ?) but I think
I've sorted it out now and I should be finished in 1-2 weeks.

all the best
Dimitris

#99 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Fri Dec 4, 1998 12:32 am
Subject: gui4cli 'info'
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello everybody,
I tested the 'Info' command with the following script from a button of the
'guitest' gui:

xBUTTON 60 0 60 14 InfoG
INFO GUI guia
say $$WIN.NAME

The say command gives me GUITEST as an answer whereas i expected GUIA . Guia
was loaded and visible.
Did i misunderstood what INFO is supposed to do ?

Thanks for clarification
Joseph

#100 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Sat Dec 5, 1998 2:07 am
Subject: gui4cli
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello folks,
Hello Dimitris, i got your comment on the inability to launch 'gui' (fichier
nonexécutable) in certain described circumstances. You are probably right with
your guess, anyway i did not observe the phenomenon again.
With the project i'm doing i am creating & killing gui's all the time so i
might have called them 'gui' more than once.

What i observe today is puzzling too:
- I was running a gui called 'guitest' within my guic: drawer.
I inadvertently create (with Guicreat.gc in guic: drawer)  a gui with the same
name in ram: and the program tries to load it.
Gui (debug) tells me that 'guitest' is allready loaded.
I delete guitest from ram:
I look what gui's are loaded with the Gui4CLI Appmenu. It tells me there are 2
gui's loaded. With the unload as well as the Open button i can only see
'guicreat.gc' although 'guitest' (from guic:) is still visible and the motif
used is #?. I suppose 'guitest' should be visible.

An other question: I did look carefully for an instruction how to set #MONO &
#SCREEN fonts to
the user's choice in the Gui4CLI doc. It is while writing this that the
following thoughts came up:
Maybe the definition is not done in Gui4CLI ? I thought it could be the fonts
chosen with the Workbench's Prefs/fonts program.
However when running it i see 3 fonts that can be defined ; icon text, default
text, screen text. Is my guess correct? If yes what is the correspondence
3<=>2 fonts. If not how can i define my own #MONO & #SCREEN fonts ?
I will test this out, but since other people new to Gui4CLI might do the same
research, perhaps you can clarify this in Gui4CLI guide.

Thanks for response & your attention


Greatings

Joseph

#101 From: "D.Keletsekis" <dck@xxx.xxx
Date: Mon Dec 7, 1998 5:30 am
Subject: Re: gui4cli
dck@xxx.xxx
Send Email Send Email
 
Hi,

At 09:07 ìì 4/12/98 -0500, you wrote:
>From: Joseph =?iso-8859-1?Q?Duch=E2telet?= <jduchatelet@...>
>I look what gui's are loaded with the Gui4CLI Appmenu. It tells me there are 2
>gui's loaded. With the unload as well as the Open button i can only see
>'guicreat.gc' although 'guitest' (from guic:) is still visible and the motif
>used is #?. I suppose 'guitest' should be visible.

Yes - There are some times (very seldom) that Gui4Cli
will not store the name of a loaded gui in the env:
directory where it keeps these names.

This is not intentional - it's a bug, and I
should try to trace it down and fix it sometime..

>text, screen text. Is my guess correct? If yes what is the correspondence
>3<=>2 fonts. If not how can i define my own #MONO & #SCREEN fonts ?

The #mono font is the system default font (which is
always monospaced) and the #screen font is just as it
says. These are the 2 last fonts from the 3 in the
preferences gui. I don't use the icon font.

rgds
Dimitris

#102 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Wed Dec 9, 1998 12:42 am
Subject: gui4cli Arexx
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello maillisters,

I am desperate in trying to make very simple Arexx scripts work properly.

They all have in common that they are launched from a gui button and are
supposed to change something on that gui. (In fact my basic problem is
introducing a random variable in a gui, but i found a more basic problem here)

They all work properly if i run them from the CLI : the changes to the gui are
OK.
Here is the prototype:
===========
/*  comment */
Trace All
say "Updaaaaaaaaaaaaaate"
address "Gui4Cli"
say address()
Update "Tgui 2 'Yannick'"
...
==========
Where Tgui 2 is a TEXT gadget

When i use SENDREXX AREXX "Update.rexx"  in the gui, i get  but no other
feedback.
SnoopDos sees nothing

When i use SendRexx  i get normal feedback from the gui4cli debug window

  61: SendRexx AREXX "Update.rexx"
POP : Stack Base
END of Commands

but none from the Arexx script, and nothing happens

When i use CLI "rx ..." i get

*PORT Gui4Cli - Command Execution *
FILE: ===> TGUI
   46: CLI 'rx "Update.rexx" '
     => rx "Update.rexx"
Updaaaaaaaaaaaaaate
Gui4CliCo
====
and here Gui4CLI gets stuck. I have to restart the computer.

The Arexx TCO window gives me:

3 *-* say "Updaaaaaaaaaaaaaate";
   4 *-* address "Gui4Cli";
   5 *-* say address();
   6 *-* Update "Tgui 2 'Yannick'";

and gets stuck here

Can you help me ?

Many thanks

Joseph

#103 From: "D.Keletsekis" <dck@xxx.xxx
Date: Wed Dec 9, 1998 6:27 am
Subject: Re: gui4cli Arexx
dck@xxx.xxx
Send Email Send Email
 
Hi,

>From: Joseph =?iso-8859-1?Q?Duch=E2telet?= <jduchatelet@...>
>I am desperate in trying to make very simple Arexx scripts work properly.

When Gui4Cli sends a rexx message, it sends the message
and then stops and waits for the reply before continuing.
(I'm thinking of changing this however..)

So if you send a message to rexx, telling it to send a
message to back to yourself returning some result, you
will get a deadlock since G4C will be waiting for ARexx
which will be waiting for G4C which whill be waiting for
ARexx..

I think that this is what may be happening.
(Although you do send it to AREXX which is ARexx's asynch
port and so arexx should reply first (releasing g4c) and
then send the message... in theory at least..)

Otherwise - are you using G4C version 3.6 ? Because the
previous versions had a problem with arexx messages.

>(In fact my basic problem is
>introducing a random variable in a gui, but i found a more basic problem here)

The plan is to add a random number generating command.
- Random min max var (or something like that)

rgds
Dimitris

#104 From: Giuseppe Chillemi <goccebbs@xxxxxx.xxx.xxx
Date: Wed Dec 9, 1998 5:39 pm
Subject: Re: gui4cli Arexx
goccebbs@xxxxxx.xxx.xxx
Send Email Send Email
 
Il 09-Dic-98, Joseph Duchâtelet scrisse:

> 3 *-* say "Updaaaaaaaaaaaaaate";
>  4 *-* address "Gui4Cli";
>  5 *-* say address();
>  6 *-* Update "Tgui 2 'Yannick'";
>
>   and gets stuck here
>
>   Can you help me ?
>

  I can confirm the answer of Dimitris:  GUI4CLI is waiting that the script
ends its execution.

  The only solution is to start the script using "RUN <>NIL:  RX " (if you
do not have syncronization problems).

  Ciao,
    Giuseppe Chillemi

#105 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Fri Dec 11, 1998 1:06 am
Subject: gui4cli Default Editor
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello,
A question again :
I can see in Gui4CLI.gc that the default editor can be changed. But you have
to run Gui4CLI.gc & confirm this choice each new Gui4CLI session.
- Is there no way to save this choice once & for all ?
- I do not understand how Gui4Cli.gc imposes the new editor. I would expect
that you change the internal variable G4C.EDITOR. I don't find this string in
Gui4CLI, and when i change this variable in my gui, say $G4C.EDITOR recognizes
my change, but nothing happens.

Thanks for comment
Joseph

#106 From: "D.Keletsekis" <dck@xxx.xxx
Date: Fri Dec 11, 1998 5:25 am
Subject: Re: gui4cli Default Editor
dck@xxx.xxx
Send Email Send Email
 
Hi,

>From: Joseph =?iso-8859-1?Q?Duch=E2telet?= <jduchatelet@...>
>I can see in Gui4CLI.gc that the default editor can be changed. But you have

You can change it with -> SET EDITOR NewEditor
See the SET command for more.

>that you change the internal variable G4C.EDITOR. I don't find this string in

You can not change internal variables. They are just
return values from internal functions.

rgds
Dimitris

#107 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Mon Dec 14, 1998 1:40 am
Subject: gui4cli GuiCreator
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello,
I am finalizing the brushing up of GuiCreator, and will send it to Dimitris
soon for inclusion on his webpage.
One of the suggestions i got to facilitate the starting of the gui was to
include in the xOnLoad event the lines

Extract #this GUIPATH mypath
Assign guic: $mypath

This does not work here: $mypath does not carry the expected path the gui is
in.

I tried to use $$WIN.PATH as an alternative. It did not contain a value
either.
I observed that while $$WIN.NAME & $$WIN.L etc are reliable, $$WIN.PATH may or
may not contain a value.

Is this here only ?

I hope to read you

Joseph

#108 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Mon Dec 14, 1998 2:30 am
Subject: Re: gui4cli Arexx
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
On 09-Déc-98, Giuseppe Chillemi wrote:
>From: Giuseppe Chillemi <goccebbs@...>

>

>Il 09-Dic-98, Joseph Duchâtelet scrisse:

>> 3 *-* say "Updaaaaaaaaaaaaaate";

>>   Can you help me ?
>>

> I can confirm the answer of Dimitris:  GUI4CLI is waiting that the script
>ends its execution.

> The only solution is to start the script using "RUN <>NIL:  RX " (if you
>do not have syncronization problems).

> Ciao,
>   Giuseppe Chillemi

Thank you & Dimitris
I tried this & also CLI 'run "rx : they  both work, but you only get the
result in a new "command cycle" (you have to push an otehr button.
The only way i found (yet) to have the result in the same command cycle is to
call simply with CLI 'rx ..
, let the rexx script put the result in an environmental variable where
Gui4CLI can read it.
OPTIONS RESULT has also an influence on what works & not
  I am testing out all communication possibilities Arexx scripts<=>Gui4CLI i
can see & i will comment on that soon.

All the best

Joseph

#109 From: Chris Ralph <chrisr@xxxxxx.xxx.xxx
Date: Mon Dec 14, 1998 4:51 am
Subject: Re: gui4cli Arexx
chrisr@xxxxxx.xxx.xxx
Send Email Send Email
 
Hello Joseph

On 14-Dec-98, you wrote:

> I am testing out all communication possibilities Arexx scripts<=>Gui4CLI i
> can see & i will comment on that soon.

Don't forget to try an XPIPE!
Myself, I create Scala (rexx) scripts in ram: then execute them with
SENDREXX 'AREXX' 'scriptname', which is asynchronous.
I then send messages about where the script is up to, with
"ADDRESS 'Gui4Cli' 'GOSUB ThisGui.gc COUNTER'",
which increments a counter.  Starting the scala script with
SENDREXX 'REXX' 'scriptname' creates a deadlock.
I tried using an XPIPE event, which did work, but I use the above.

                                 Regards,
                                               Chris.

#110 From: "D.Keletsekis" <dck@xxx.xxx
Date: Wed Dec 23, 1998 1:39 pm
Subject: *** Stuff Uploaded ***
dck@xxx.xxx
Send Email Send Email
 
Hi all,

I've uploaded the following :

1.  GCView 1.0
     At - http://users.hol.gr/~dck/gcmain.htm

This is what I've been working on (and off) for the
past month or so. It's a IFF/Datatype/ANIM5 viewer
which can be totally controlled from ARexx or G4C
and can do a lot of cool stuff like: view, save,
remap, paste, flip, change palette etc etc..

This is still BETA, so there will be some bugs, errors
etc - but hopefully not many. *Please* tell me if
you have problems - specially with graphics cards.

2.  GuiCreate 1.1 - by Joseph Duchâtelet
     At - http://users.hol.gr/~dck/gcguis.htm

A gui creator for button bank guis.

**Merry Christmas**
Dimitris

#111 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Thu Dec 24, 1998 10:04 pm
Subject: Re: gui4cli Arexx
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
On 13-Déc-98, Chris Ralph wrote:
>From: Chris Ralph <chrisr@...>

>Hello Joseph

>On 14-Dec-98, you wrote:


>Don't forget to try an XPIPE!
>Myself, I create Scala (rexx) scripts in ram: then execute them with
>SENDREXX 'AREXX' 'scriptname', which is asynchronous....

>I tried using an XPIPE event, which did work, but I use the above.

>                                Regards,
>                                              Chris.

Thanks Chris i might have overlooked xPipe
  $ Merry Christmas to all

Joseph

#112 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Thu Dec 24, 1998 10:06 pm
Subject: Re: gui4cli Default Editor
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
On 11-Déc-98, D.Keletsekis wrote:
>From: "D.Keletsekis" <dck@...>

>Hi,

>>From: Joseph =?iso-8859-1?Q?Duch=E2telet?= <jduchatelet@...>
>>I can see in Gui4CLI.gc that the default editor can be changed. But you have

>You can change it with -> SET EDITOR NewEditor
>See the SET command for more.

I noticed the other usefull SET commands, thank you

Joseph




>>

#113 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Thu Dec 24, 1998 10:34 pm
Subject: Re: *** Stuff Uploaded ***
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
On 23-Déc-98, D.Keletsekis wrote:
>From: "D.Keletsekis" <dck@...>

>Hi all,

>I've uploaded the following :

>1.  GCView 1.0
>    At - http://users.hol.gr/~dck/gcmain.htm
I will surely download it
>2.  GuiCreate 1.1 - by Joseph Duchâtelet
>    At - http://users.hol.gr/~dck/gcguis.htm

Thank you for uploading
>A gui creator for button bank guis.

It is more a "gadget-bank" gui creator.
Version 1.2 (now complete) has
- nice grid support
- visual control & editing of position of your gadgetbank
- selection of the order (columns or rows first) for adding the gadgets to the
gui script.

I use it all the time to create my own environment.

>**Merry Christmas**
>Dimitris
Same to you & all
Joseph

>------------------------------------------------------------------------
>To unsubscribe from this mailing list, or to change your subscription
>to digest, go to the ONElist web site, at http://www.onelist.com and
>select the User Center link from the menu bar on the left.

#114 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Sun Jan 3, 1999 9:09 pm
Subject: gui4cli
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello anyone,
Concerning my previous mail:
I think i found the origin of my problem. It resumes to a different format
under which %LineNr is stored
eg '  120' while a normal number is aligned to the left.
I do the conversion using
Parsevar %LineNr
LN = $$Parse.0


Joseph

#115 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Tue Jan 12, 1999 3:22 pm
Subject: gui4cli
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello everybody,
Hello Dimitris,

I tried to use gcview, but it states that my version of IFF.library is an old
one. I do not find a more recent one on the Aminet CD's 1 to 7. And i did not
succeed finding it directly on Aminet. Can you tell me where it is stored, or
perhaps send me the version you use ?

As to what i am doing now: i am working hard on a Amigaguide editor. The basic
functions there will be usable for a gui4cli (or any other language?) editor.
Presently the following is working, (some parts better than others) all from
one gui interface:
- a simple line editor based on a listview and a textin_gadget
- create a treelike basic structure for a (deep) new Amigaguide document
- capture of the node & link structure of an existing AG document, allowing
fast editing of links & node commands
- very easy adaption of the node sequence (using @PREV & @NEXT)

To come:
- separation of a large AG file into smaller AG ones  & vice-versa

Anybody interested in this early version?

It is all written in gui4cli, which proved in the process to be very stable. I
succeeded in crashing it only by transferring data from one LVdatabase in a
second LVdatabase with smaller lengths for this data (anyway while torturing
database listviews)

Gui4Cli is also more powerfull in common programming tasks than i expected.

eg I did not expect a line editor to be feasable.
The way in which you can read & write parts of a variable [][] is very
powerfull and allowed me to use them as arrays.
The way in which you can concatenate variables in a string using the $
translate prefix is very powerfull
I missed a 'tight' concatenation operator, but found that AppVar allows this.
The only problem for which i did not found a good solution is for stabilizing
the line being edited in the middle of my listview. An internal variable
giving the linenumber of the first visible LV line would be a valid solution I
think.

The described activity means that i did not proceed in testing the interface
with Arexx as promised.
I did however write down small comments & howto files on gui4cli in general.
If time permits (and when i will be more certain of all what i wrote down) i
will assemble these in a AG document.
If Dimitris or anybody is interested in these comments right now, i will take
the time to make some brushing up and make them available.

I hope you enjoy gui4cli as much as i do. In fact, with the filemanager
present, my own ad hoc gui's, i tend to   remain under gui4cli far more than
under direct Opus Magellan control. The latter's multitasking ability seems to
be the only advantage left.
I do use Opus & Gui4CLI on 2 different screens set up by Opus Magellan. In
fact when my gui4cli screen is too cluttered i switch to my magellan screen.

Since I do not have lots of RAM memory (I can't get hold of the ZIP's I need)
I did try to start up with only a CLI window from which to start gui4cli. I
did not succeed. Is this possible ?
If yes, I would also be interested in knowing if then i could set up two
screens on which different gui's would run ?

I hope 1999 has started well for you & will continue to do so.

Thanks again for your help


Joseph

#116 From: "D.Keletsekis" <dck@xxx.xxx
Date: Wed Jan 13, 1999 6:39 am
Subject: Re: gui4cli
dck@xxx.xxx
Send Email Send Email
 
Hi,

>I tried to use gcview, but it states that my version of IFF.library is an old
>one. I do not find a more recent one on the Aminet CD's 1 to 7. And i did not

Hmm.. That's weird. The IFF lib hasn't been updated
for a long time now and I didn't think there even
existed any older versions of it - the one I have,
I got from aminet..

Anyway, I'll be uploading the new GCView in 1-2 days
and I'll include the lib in the archive.

I've added various things - how does mirror-tiling of
anims sound :) - now if I can only get it to save
them...

>As to what i am doing now: i am working hard on a Amigaguide editor.

Have you looked at all at the CedBar.gc script ?
It's in the latest archive and on my page.

I also wanted to make an amigaguide editor, so did
someone else before me.. Anyway, I finally decided
that the best/easiest way to make it is to use an
actual text editor as the underlying engine and use
Gui4Cli to wrap a dedicated gui around it.

I used CygnusEd for this since I think it's the
absolute best and has a really powerfull arexx port
- It can however be easily adapted to other editors..

>To come:
>- separation of a large AG file into smaller AG ones  & vice-versa

The CedBar.gc gui has Gui4Cli functions to do this.
I've also written binary commands - JoinGuide,
SplitGuide, WriteNode and GetNodes that do the
same - they're in guis:c

>It is all written in gui4cli, which proved in the process to be very stable. I
...
>Gui4Cli is also more powerfull in common programming tasks than i expected.

That's what I keep telling everyone but they tell me
I'm biased :)

>I did however write down small comments & howto files on gui4cli in general.
>If time permits (and when i will be more certain of all what i wrote down) i
>will assemble these in a AG document.

If these are in the form of a tutorial then send it and
I'll put it up on my page - It has to be easily understood
however, since knowing something and being able to convey
it clearly to someone else are different things..

>Since I do not have lots of RAM memory (I can't get hold of the ZIP's I need)
>I did try to start up with only a CLI window from which to start gui4cli. I
>did not succeed. Is this possible ?

Not now, but I'll fix it..
On starting up Gui4Cli tries to create an AppMenuItem
(in the WB Tools menu) for it's requester, and if it
fails (i.e. if there is no WB) it quits.

I'll just tell it to go ahead and work without it..
You'd still get the requester by hitting CTRL-S on
any window.

>I hope 1999 has started well for you & will continue to do so.

Well, it started painfully..
I just had an operation - (Hemorhoids would you believe -
it must be from sitting too long in front of computers)
and it wasn't any fun at all!

It was done with lazer, but still, it hurt quite a bit..
Anyway, it's over now and things are looking up :)

All the best
Dimitris

#117 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Fri Jan 15, 1999 1:34 am
Subject: gui4cli
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello Dimitris,
In your last mail you mentioned CedBAR for editing of Amigaguide documents.
I tried GUICED.gc some months ago and took the following notes but did not
send them i think:
=======
When trying to use GUICED.gc i ran into some problems.
I did change all what seemed to be needed (Prog:, Work: Root: replaced by
appropriate drawers & assigns.
When starting up GUICED.GC it presents following line "Waitscreen
CygnusEdScreen1 100" which is not found, allthough CED was started up.
I use Dopus Magellan in Workbench replacement mode,  but on its own screen. So
I
have an empty Workbench screen too that i mainly use to open shells & edit
with ed, run guis etc
CED appears to be open on its own screen too.

When starting up again (CED running) the Gui appears on my "Workbench"
screen(from where i
started  gui in a shell & where i expect all guis to open) and the CED
screen positions itself above it. I can lower the CED screen so that i can
see the CEDbar. However it positions itself right on my Workbench title bar;
If i click on the screen depth gadget of CED i cannot go back to Dopus nor too
the CED screen ( I know there is a keycombination that allows this, but i
forgot, can anyone remind me ?).
The CEDBar does not seem to have a quit button too and blocks my acces to the
Gui4CLi AppMenu on my Opus Screen.
When trying to open a file, the file requester appears on my WB screen with
the upper side under the Cedbar, so i can't drag it to see it fully. The
same thing can happen inadvertantly with any window i open on my WB screen.
When clicking in my CED screen it often moves up again, hiding the CEDbar.
** I edited the WinType command to solve some of this ****

Starting CED with Pubscreen = Workbench or =WorkBench does not change
anything except the appearance of the text "Pubscreen = WorkBench" under
the title bar.

CEDGui has V 2.3
=======

I tried CedBAR today with similar results


When i load it the first time Cygnus Ed is started, but CedBar states
"Could not find CygnusEdScreen1" , or even "CygnusEd was not found" I EXIT
and  try a second time (CygnusEd still open) the CedBar appears but not on
the Cygnusthe CED Screen.I suppose the screen CED opens has a different name ?
I do have CED V 3.5 but can't find the info about the screen it opens. CedBar
has V2.0



What should i do to bring the bar on my CED screen ?

Thanks for any advice

Joseph

#118 From: Joseph Duchâtelet <jduchatelet@xxxxxxx.xxx
Date: Thu Jan 14, 1999 3:24 pm
Subject: gui4cli
jduchatelet@xxxxxxx.xxx
Send Email Send Email
 
Hello again,
I have tried to use the FSearch CLI command. It is really powerfull, but I
observed the following:
- I load a file in a listview
- I use FSearch to make a wordsearch in the same file

FSearch does not show the exact linenumbers as they appear in the Listview:
The first ones are OK but the last ones are those of the Listview + 1

Joseph

#119 From: Chris Ralph <chrisr@xxxxxx.xxx.xxx
Date: Sun Jan 17, 1999 8:05 pm
Subject: How can I....?
chrisr@xxxxxx.xxx.xxx
Send Email Send Email
 
Hi, Gui Masters,

I understand how to use "#This" to make my guis easier to rename
as I develop better versions of them.  If I want to call other helper
guis with subroutines that have to point back to the master gui,
how can I pass the name of the master gui as an "argument"?
I keep having to change the source when I update it's name.

One of these helper guis has no window, but contains a LV, used
as a database, which I read lines from as required.  I want to
call this gui multiple times to create multiple database sources.
How should I do this?  Load it, passing an incrementing
numerical argument, to ID that instance of it, and then rename
it using that number? Is there better way?

And a request....
When using a DIR LV, sometimes there is quite a delay after double-
clicking to enter a DIR, before it shows. Would it be possible to have
a "busy" pointer during the delay, to show something is happening?
And I'm using an '060!
Or perhaps a hook to put up a busy notification.
Or maybe just lock out mouseclicks on the LV during that delay.

                                    Regards,
                                                 Chris.

#120 From: "D.Keletsekis" <dck@xxx.xxx
Date: Mon Jan 18, 1999 3:46 am
Subject: Re: How can I....?
dck@xxx.xxx
Send Email Send Email
 
Hi Chris,

>I understand how to use "#This" to make my guis easier to rename
>as I develop better versions of them.  If I want to call other helper
>guis with subroutines that have to point back to the master gui,
>how can I pass the name of the master gui as an "argument"?
>I keep having to change the source when I update it's name.

You can only use #this from within the gui itself.

Perhaps if I add an option to the extract command
to get the gui name itself, you could store it
in a variable and pass it around..

BTW : there's a small bug: #this is not understood
if the routine it's in is called from another program
via an arexx/g4c command. I'll have to fix that..

>One of these helper guis has no window, but contains a LV, used
>as a database, which I read lines from as required.  I want to
>call this gui multiple times to create multiple database sources.
>How should I do this?  Load it, passing an incrementing
>numerical argument, to ID that instance of it, and then rename
>it using that number? Is there better way?

*If* I understand you correctly, you want to run the
same gui many times (??) - Then yes - that's how you do it.

guirename mygui mygui2
guiload mygui
... etc

>And a request....
>When using a DIR LV, sometimes there is quite a delay after double-
>clicking to enter a DIR, before it shows. Would it be possible to have
>a "busy" pointer during the delay, to show something is happening?

Yes - I'll add it.

I also want to add a FILTER to dir lv's to filter
files according to a wildcard, and also to make
dir lvs similar to dbase lv's so they can be
sorted by field (date/size/name).

All that as soon as I finish gcview though - I'm
still trying to get it to save anims..

dck

#121 From: "D.Keletsekis" <dck@xxx.xxx
Date: Mon Jan 18, 1999 3:47 am
Subject: Re: gui4cli
dck@xxx.xxx
Send Email Send Email
 
Hi Joseph,

>In your last mail you mentioned CedBAR for editing of Amigaguide documents.
>I tried GUICED.gc some months ago and took the following notes but did not
>send them i think:

GuiCed was made by Bjorn and he's left it as it was
set up in his system, so the dirs you refer to are
the dirs *he* has - just edit the gui and change
them to yours. For anything else, plese send him a
mail. He's not on the mailing list.

>I tried CedBAR today with similar results
>What should i do to bring the bar on my CED screen ?

I don't know why it doesn't go to your ced screen.
Look at ced's about requester where it states the
screen name - is it the same ?

The easiest way to call it, is to declare a ced arexx
command - in it's menu - one of the function keys -
and have it execute :
- GRX Gui4Cli guiload guis:ced/cedbar.gc
or something similar..

dck

Messages 92 - 121 of 5834   Oldest  |  < Older  |  Newer >  |  Newest
Add to My Yahoo!      XML What's This?

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help