• Aucun résultat trouvé

FOR GRAPHICAL

N/A
N/A
Protected

Academic year: 2022

Partager "FOR GRAPHICAL"

Copied!
112
0
0

Texte intégral

(1)
(2)
(3)
(4)
(5)

A GRAPHICAL USER INTERFACl<J FOR C A D PROGRAMS

© X i LlJ

Sllldil':'inpnrtinlfulfilhuenrofIh,- n'quin' IlI(' IlISfor I Ill' dl'l-!:l"l'('pi

MasterIlfSdt'llC<'

Dcpnr rnn-nt "f C'Il11 Plll"!"Sd" lw!'

~.1l'lllll l'i li lL;ni\'l'Tsit \""f.,\ ,·\\·f" lllid lalill

(kl l ,lll'l '!!I!j,·,

Sr•John's "f'\ \·r'lI lh, l)aw J

(6)

...

NlItoOOallJbra 'Y crcaoeca

Acquisilioosand DibllcJgrarnc5ctviccsBi'anch

"'--

~~a-.,

Direcl~desacquiSillOOSet des SCIVICeSbibliog raptiQUes

...

~-

~~I

The author has granted an irrevocable non-exclusive licence allowing the Nati onal Libraryof

Can ad a to reprodu ce, loan,

distribute or sell copies of his/herthesisbyany mean s and in any form orformat, making thisthesisavailable toInterested persons.

Theau thor retain sownersh ipof thecopyri ghtin his/her thesis.

Neithe rthethesisnorsubstantial extracts fromitmaybeprintedor otherwise rep rodu ced without his/herpermission.

L'aut eur a

eccorce

unelicence irrevocable at non excl usive permettant

a

la Biblictheque nationale du Canada de reproduJre,pret er,distribuer ou vendredes co piesdesa

these

de quelqu e manlere et sous quelqueformeque ce solt pour mettredes exem pfaire s decette these

a

1a dispo sit ion des personn es

tnteressees.

L'auteur conservelaproprietedu droit d'auteur qui protege sa these. Ni18these nldes extraits substant iels de cell e-ci ne doivent iHre imprlmes ou autrement reproduits sans son autorisation.

ISBN0-612·17616·9

Canada

(7)

Abs tra ct

"III!' aimIIfrhis,pfllj,·(·!i:-.II! outliue1111'Ib;ip;n andirupleuuuitnticnof).!;I'nphieal liS"!"illtr·l f;Il"'·'~for")lgiJH" 'rillgHudSl"lPlIlili,:"Olllpll!l' r-aidpddf'SiguInn is.Gruphicul illll'l'! i w".", ;11'-'plil"illlp" "l ;1111fors"plJistkatn li'>llfl\\' an' lOu islwnlllsl 'tlll'\sjlllpli~v IIll' liS"

.,r,

Ill' ,oolsandn',[ lw('tIll'11'al'l1illJ.\ph'I.""'..\Ill,,) p l'l l \'Ij('Si/!;IWd11:-;('1"iUII'rfH('I'

"gulfl,-,":IIIS('rth pJUgh rll!'ill!P!'1wlio ll SWillifll'sign to o ls .dl'arlyinuu-n ringthe'

,It-sig nrI,-/-isi"lI l'>lImlsnppl.\'iugall Tl·J<oVilUIiufnnuariou whlr-h is/idpflllillIllakiu!l, III" M' d,o,-isi" " .",,

:\ l':wbJ,!,"forJ,!;ra phk alpn-ea-ntutinnund umuipulurionofunnn-rh-nln'SlIlrsh, d('s iglll',1awlilll p !l' Ull' 111l'dfor,'xisl iugnltIl Jlllt l'l"aid!'tldl~i/.:ILpro/.:rHlIlSSI'Il'I:: -I': \C ,11111 FIT.nil'hnph-nn-uturiouis hm;I'douthcAtlu-na widW·tSI'tunderrhr-XWiudow

l'lu-Jill'!Illll [" lo/.:~',1,'wlt11,,',1duringthisIln Jj el 't isapplicabletilIllllll~'othertools.

n~lul'illp,tlu-ir ,I,·\',·I"pllll·JjIlilil"nutI Silll]llirdJIj.!:till'liSt·of,1,·\'('lop,'dprugrums.

(8)

A ckno wl e d g m ents

1'00ISTrlll ' liwSllg).:"t'stit li ISa llllc' lIII IlISi ns m,

1,1111gratl'flllllll!U'0"]l;]rI 1l11'111 'If (', nllpI1 1I'r:-i,·i.'IIlTfor[>1"l ,\ ' i.lilll:1111'environ- IIU'111for111.\'\l.S I',pl·tl~nlll l ,alldIwuuhllila-hithank1I1l'S.\'Sll' lIIM11'1'''r1:-I,l lr1;11 alllllt'ir1ll'1])atld<I:-s ist m ll""rb.uIlll'l~kd.IHl'ill).:111.\ 'workUIIthispr"j "l"'

(9)

Contents

l luLroc!m:tioll

J.I GraphinilCSl'rhll('rhwl '~.

1.:\ TheHcquirt-meut I.l TJu,Ob.il'l'lh'l'.

J.1.1 [)('liig-llilll!aGra]lhil~ll lBnrk EndPadQlj.(t·

I.,I.:? Suuulurdizingtil,'lut,('l'fa,"'. 1.-1.:1Hi~1lLevr-lPunuueu-ri-m.icu I.·l.-! TIH' Wjdj.\l'tSet .

1.·\.5 Blli l,lilLg-all Applirntion 1';, OverviewofTlu-sis

2 XWind uw Syst.em andProgram mi ngWith X 2.1 TIH'X\\'illduwS,vsTt'llJ

2.\.1 ('olll\Hlm'lLt:<oftill'XwindowS,\"::ilCIJI :!.l.2 X TO\llkit

:!.l.:i WidW'1 Sets. .

iii

10 12

(10)

:2.1..1 Client.SPIn-I',DislJla.\·andSnwll :2.1.:) X\\'iW!<lWl'nlll'I'pts :2.l. G \\'iudu\\" ;"lall ngn

.) 'J C:raphil'-Csnhlll'r fa l'pOlljl'l'l1'j \\'idg l'.S

2,2,1 X and Olljl'l,tOri"Il[I'dl'w grallllllillJ.!:.

" 'J'J \\'idA!'tCUlwe p ts :2,:2.:3 AtILt 'WI \\'idJ.!;l'IS_ :2.:2.-1 Tlw

XI

Arhcnn \\'idAt·.e1iISSTn 'l'

3 TheDesign ofCrn ph icu lInte rfaces

;j.t Gra llhk llll11tnfar t'[or CAD '("tmls :1.2 SP1CE·P:\C.

a.a

FIT

:.LI Dut.linooftill'Graphit'JlI11l1"' l"fm ~( '. a.5 DesignGlIiddilwsforUra phim l lutcrfures a.G Ocsig-uiul-\Xt Applk at iollS,

a.7

Del:iiJ.!;1lPrecess

:3.7,1 ViewpointAnal.vl:iis,_ 3.7.2 ldellt.ifri ll).(~l ail lFunet.lnns.

:3.7.:j Stfllldanlb:iu).(thl'11l Ie l"fl\\~ I'. :3.7.'1 C]wosiu).(tlu~Wid l-\t ~ 1.S 3.7.5 GeneralHt~ [ ll i rl'lI lt ~lI ts

4 Bu ilding theInter face 1.1 Applic at iu llH'~sot1rn~ !:i1~tlillJ.!;

1:1

"

I(i

!Ii I!l tn

2·1

:!Ij

:!7

:11 :1:2

(11)

I,I,I HI~JIln~I'~

1.1.2 lips / m In 'Fih'

11.:1 11"Mlll1T"Spl'l~ilil ·1I 1iIJIISvntax 1,1.·1 H'osl"lln'!JnlalmS"

1.1.' , TIll'I{I'S" lIf/"r'FiJI'forFITandSI )JC~:'P..\C 1.1 I\pplkilli ollStI'JWlll]"l'

Ii Sysll'lIIImph-meutut.lou

".1 I'up up \\' i1rllill!l:S

,), J,I \\'i,l).!.l'lIliPI'a rd l.\" fIn I'opIII'\\'ilt'l li ll;!:S.

',. J.1 Wi, I).!.I'Iiun-rur-rionsIor thl'POll II]!\\'lll'llillj{,~

'1.2 1'''1' upFill,St~'l iull

;,,1.1 Fill'Menu .

;,,:2,1 S!T(\ l lt~1LiSTS 'l,:!.:1 Fill'SnndDiret'tnries

'1.,1 DisplnrSl'l'Iiol1

~1 . ,I. 1 Displuv ,\11'1111 ,

;IA.:! DntuFill,s.

;1.1.:1 Gl'Hp h il's Coutexr.

:1.1.-1 ('rt'1I1Lllj{Cmphu'ulHcpr csenrnt ions. 5.,1.5 'li'/U'I'S

[...I,n Corupnrisons of Results.

·12 II .t.J ,l{' .J;

·18

51 :il ::il

;j1 ,j;j

;j., ,j;j

GO

til 61 6(j

(il;

6;

G7 70

(12)

;j••j Clllllp,l iUI-iandBlIll1l ill ~tlu- l'r",..:-nlill.

6 Conclusions

Bibliog ra phy

ApP(>ndicm;

7·1

(13)

List of Figures

FiJ.!,.J.1,\~talldilnl[;1.\,lIUluftln-Gel.

Fig-.I.:!. :\ Silllpkl'XlIUlP!r'.

Fip;.:!.l.Hl'Iat.inll:'ihipbetweencorupoucnts oftlu-X WindowIIr st CIIl.. 11

Vi ~ _~.:!.CHI'IlI,Sl'f Vl' f ,displn.\'and1'1'rl'1'1Iill X. la

Fi~.2.: J.A1..\"pi':111XWindowhierarchy, 15

Fil-!:.:?A.Ahstrnet.dataI.~·l)l'class hlerarrhv. 18

Fil{.2/1. XjAr.Jumnwid/(d das.<;tree. 21

Fi,l.!;.3.1. 11It,I'Tlu'l.inll withnGUI. 25

Fip;.:1.2.~ll\il1structure of1111'h'TllJlhic'aliut.I'rfiwt'. 28

l'ip..;L t~~ovontpro rl's siull. 31

FiI1..:U...\simpk-exampleofthoX evcru loop. :~2

Fip;.:U,.xlulu('OIllJHllll!lLb;

or

thegrnphienlpnl'kngc. 33 Fi,L!;.:I.G.Mainouupononts!IfdieDisplaypart .. 3.}

Fip;.:J.i.OSF/~I()tifst.d('GUI.. 38

FiV;.a .s. l\dnpll'dstrll'of GUI. 39

FiA.·Ll. Hcsouu-r-example.. ,13

vii

(14)

Fi~A.:!.HpSOUn 'l'SlH'fiHl'lI t illllsvn r nxillresourcefiles. lli Fig-A,:.!,:\ Inunuonr oftht'l"l'Sl lll rt'l 'iii,'forFIT, l~1

Fig..I..I.;\Pll1k ilti olletrurtnn- ,.,1)

Fig-.5.!.Hicrnn-hy ofwid/l:t,ts fur11 POP-UIJwnruingltll'SS:lgP ,',:.'

Fi/l:.5.:.!.\\'id~t , tintonu-riousfornpop·IIPwurnlnglJl<'ssagl'. ,-,:\

Fil-\".5.3. SP1CE-1':\ Cwit.h awHrn illl-: ll1t'SSHII;I' .

r,

I

Fi ~.GA.Witl!-\d hiem rrltyfortill'FI1,..Emenu.

r ,, ',

!"iV;.5.5.\Vid l:(diun-raet ionsuurl ('allhm'ksforthl 'FlU:1111'1111 r,li

Fil-\".5.G.FIT wit ht.llI'FILEtueuupnJlpl'd lip. ;,S

Fig .5.i.FITwith

u.o

FILE menunulla sa\'('wafn ill)..:lIlt'S.~ll)..:l·pup p l~1lip. r,D

Fig.5.8 .S[")ICEPACwithIIiiiI'luadl'd,. IiI)

Fig .5,U.lutenu-tiouofG Ulallil!,hl'npplie.at.iuusofrwafl'. Iil

Fig ,ri.lO,FIT wit hthe DISt'L AVmenuPOPpl!(! lip. li:l

Fig .ri.I!.\Vitll!:l'thtcnuchvfill'till'D[~PLAYun-nu. li'l

Fig.5.I2,Wid J;l'tiuteruetiou1I1l11t~il Jl h lU:ksfortill' DISPL AY1Ilt'1I1l. (i!", Fig ,,).I :.!,FIT witht.IJl~DISPLAYmeuupUP lJt~1liP fnr DCHilalysi s ,. nx 1,' ij.!;.5.1'1.FIT Wit.h tlU'DISPLAY11l1~ 1I 1lalltll.lwTrtACr. pOPIMlup . f;~' Fig.5,Hi.fiTwithDI~PLAYuu-uuamiac:o lllp ar isollorn'sll11.spllPI'I~1lip. 7U

viii

(15)

Chapter 1

Introduction

1.1 Graphical User Int er fa ces

1)111' tiltln-~nl\\' ill J.\l,, ' plila r it.\' uud nvailabilitv ofounpnn-rs.'·~ II (Ti all.\·personnl,:0]11- 11l11"ls. usnintl'r lill't':,>lin'111 '('oll1i ll l-; ill('l"('ll.-;il1l-:1.\'importunrillnlan,\'upplirurlons.

SillC'l' I Ill' 11Sl'1" illl. n ra(·(· orusvstcmisnnt'llOJ]!,ofrlu-tuuinfeatureswhichdon-nuiue

IIll'l1Sl{ l lll ll 'S." (Ifas11ftwnn':-;.\'SI" 11l.J.(fal,hil'alinn-rfuo-s<In' lH'n m li l lK a "stnndard'' Iorworksratioue,alJlllll'I~Ul fllt>llItlplllc'I'S.\'stl'lllS.

lis"l'illlt'rf:l('l'liwhic hn-lvonwiudu\\'s. killik(pk lorilll) ll'pn'sl'UI.lltioll,-;nfenti- li"H.pull-downOfpUp-1IpIIll'II11Samipoiunug devin's1\1"('nowenlledl/IYtflhimlII.'!!"

/lIlr',f l/,.,..<(Gt!ls) ,'['lll'ran'dli\rm :tt'ri1.,~l l):-· :

I.~1 1 1l1ill]" wjinlowsnll.lwi uj.!;,lifr"l'('lll Iuformutinn10be ,li:;pl n,\'I'(1»imultnneouslv

,'U l lll'l1SI' r'ss<'!"!'(' [1.

~.1",lnit'iufonuution n'lm's.'llla lioll,

:1. COllllllaJulsr-lo-tiouviamenusruther thanneoumnmd lang uag e.

(16)

l..\llPill till,I!;,I,,\'k,'lawllns nlIMIlS"fllf11Iakill j.:.sd".'I ('" ISfroruaIllt'll'l"I'indi- I'HTillJ.: Hllin-mof iutr-rcsrillawludow.

G/Ylph im i I1S/'I'il/f,'/jun',.,~i1ttplil:\'usimrIIt.'svsu-ru: tlu-v:111 <111'IIll'lIs,'rI"'w,;II,\' switch Imm '11]('tasktnauorherHswell as 1.1intern..1 with 111<'1II'I,lil'ati"lI l, n' grams

1.2 X Window System

TIll' X\YilldowSvsn-ruisliltilldlls l r~'stan dard s"f!Will'"s,\'1'<11'1I\Iorgl'ill' ltiL'alill'l'li .'nl inll l'< ,(lUI' <If till'1l11~~I.iltlj,of t lllllf.'nll ll'l '1'< "fXil'<Itsuniqrn-,!t-\'i l""l w!<'\I<'II,I"1l1

nrrhirrcrurc.Xallows prograllls1,1 displa,\'lnfuruuuiou ,·<lllla ill illj.:.11':-:1allil j.:.ral' lt lt's nnnnvl!ar(I\ \';I W c!I' \'i r.'1]la ISlljljJ<II'lS l ll<'Xl'I'<,'tll', ,11\'illl'''11IllIu lir\'iu J,:,1"""IIII ,il- iUI-(,.11'1'"lillkillJ.:rlu-nppllentkur. This111'\' [1'1 'illl iqll'IIII"III'I ' ,ail lll).:.II'i l,1!X's1",slll' 1Il astln-illd lls tl'rstatll iani.allowsX-ln""11al' l'li.'a l ill lls1.0fuue-tiouill1II'II'I~+).:."I1I""IS

"1I\'iW1UIl"1ITl<I'llllSistiu!l of mnlnfrsunes.workstut.ions.:lll.ll"'rs,,md1"'IIIPllt l'f,~

X prnl'i.lI,sIIpowerfulphufurtuthata]I<lw,~1)('Ilgrlllllllll 'I':o;11111,'vI,I"11s'I)ll l i:o;I1l';[II' 11 userum-rfaecs.purtnbh-tilBU,\'sy~I"1llIItalsn !' p,,]'tsX, X is],aSl'"1111aI""ll ,,,.'k lHlllspan:nldil'llt -SI:I' VI'I'uxulel. TIll'Xsr'rvcrl']'J'al l':';11,,1lIl;[u il'll!al'':'wir" I,,\\'s ill WSpOIlSl'10 requestsImm..tit'ttIS,alt.l s.'urls"VI'II I S10 ltol.if.1'di l'U1.s

"r

usn input01 dla n!!:I' illIIwindow'sst all" Clil·lll.~<:om,'Xl'l'n l ,'lHI\'wllt'l't' ''1\a»r-rwork.lIlakitlJ.',:\

allill,'a!base fordisl rihutl'll Hpp!il:lllillllS,

X d.wsnotsupportlillyparliclllllriutorfue-SlS]I',and.~t r i vl 'sIIIIll'I'fllj"y -f r". ', Applientlons an'fn'l' IIIliS"tIll'X prillliliv,:s 1",l,'lilt<:Ilt,'i(',,\1'111.J'1"·"f1I~ ' rittl,·('fan 's,

(17)

"lid, "..XIIlIlnll"w,.\)"111"T,\lliI'lIa

1.:1 T/o" Rcq ulr-ement

So'\"I'I,,1'''' 1l1'1I1''T-Hid,~1,I....IJW...,hwa rt·'" " b11:,\1'1" ~'11,1,·,·..I"p.~1withourH,-xi!.I,' 1I....·rlu...,fa .·'....F'1l,':>'; ;011I 1,1" SI' ICE-I '.-\ Ci..a,·"Jh~·I I"l1'IfI""",'I~''·"lIplo'll ..ill m lali"u

;'l'l'linl""11H"I\',·n·!".it,I."...11,,1illdl ilk11I1'"11]1111 111,,<11111-:allllTlll11'Tkall"l'l'oults

'·a l'" I,ilil i,·... ..Ill'll,I.."'1111 1';01'1111: WSll[r.."f,lilf,'1'!'w Tlln..."Tllrill):.llud'·:>.; TnIl'Ii uJ.:l"l~l1hs

FITi....alliIl1o'"u' lin·P'''~I':II11f"r,'xlr;...1iun "f.I,·,'in'\lIlTa lll,'II'tsfliT!;I'J('!::-Jik,' .·in'lIil ..illl"l al"rs.IIisI~':'>I'II"11as-in-nit..iuruluturt~l'lt'EI'.\ l'lra t her11t;1I1 <Ill '·:>.;I,II,·i'...·1uftu...I.'1'·'lm....'ll...'I-Ill'FITpro' l:.nUIIII.." """"'III.l l ml [,...Hili,...ImlIllt'r an'i"ll"xlhl,':HI':rlilI...rill..utlirn-ut "1.::1;11,aL::nlphin,1 had H '11I1iJ'-111'1'<:\1'<.1 for FIT

1.4 T he Object.ive

lln-main "hj'1'l in'ufIhisprtlj'-"li..III,ksiJ.:llandilllp)"1I11'1I1II1)1II'k;\~1'forJ.(r aplJ.

h-ulIIn-S"ll lati oll.uulnmuipul.ulnnof[uutuerh'nl] l'l-sn\t:;rOTSPICE-PACull<.l1"[1' 1""I-:'-illl1...,\high[,,"c·lllfpuruuu-tcrjznrionistilhI'attl'lIlpl l' t!ttlprovidet1cxihiJit~'

"I",Ill'p;1f"ka~,'.Asilllpl,'i"""'fll'li\'l'userillt t'rfa,','istnlit,pro\'idl'tlforrdi tlt'lllt'lits :U"llll:l1Iip lllmi" lI"<lftlu'p:ra jlhi,...,

(18)

1.4.1 De si gnin g aGraphicalBack-EndP,\("ka~l'

lhc X·wilHlnw~,\":';l\'tnb10Ill'lISi'11furunplementuuouora~ra phi'";III I :ld'-"lId1';1<'1,·

agl',Sill\'"Xdi"lll san '"\,"1I1-llri HlI . 1111'L'..\l.1l'r<l~ralll,~11<""\a,litt','n'1I1l1I'J,:;mi /ati"II, 111111'1'suitnbb-forr-vour-d nvon nlllll',,1

l)P,~j~ll illll:;1.c:raphkalh:wk'\' Il,1llil('kaJ,:1'"l1"" llll ';I"iS(',~Ilin'";lS1H','\S;ill'pli"alh lll How.1:1\'(1111!Hllil',\",;ltlll n'lIs lnU ' l i"n 1,1"b,t-lIIll'rSla lll!ingti ll'applir-atiunHow;11111 Si'lt~' lil)1l 1, f"'1I1 11l<1111 '1l1Sstu-ha,~1Il,'Wls,ronuuundluutons.I'll,isIII"lirsl,,1"1' "['n

Ihi ~";11.. ",i:- 1" llSi'1111' ..\,I"'I,aII'i,Ip:"lSi'I,

1.4.2 Stnnd a rdiaing thelntc rfa co

Stillll lfmlizi llj.\"TIll'usr-riun-rfnrehns[Wl lI,1'ad \,;1ll 1;1 V.I'~ 'IIprtl \'i dl'~['Il Il~ is'['111pn 'v,ra m

Fin.l.IshoWsanunrliuo[Iftheruniui1111,l i l' illi' lIlwiu.low IIIIH,~rln-Qi lil1"III,' n;

tIll'Fill'nu'nnwhn-hl'oll taillssllh llll't1ll~pr!l l' itl ill l1,st.[I·('Ii"I1Sr"I'lulU/w", ,,1/11/11,/, /u'ill f in,/nud,~lIlJill,f/lilt'S:tlll'An aly si s1ll1'1I11wilh sul l!lll't1l1sforS/, l f:Ntltltll!I'''''~'1"1'1' IIIl111IJ'~!"~,alit! soUII;tilt'Dis p laytuouu('~1II1aill ill~it111;,1"1-\llisll lil,\'Willirlllll'1i"ll sr"l m;Jlli p ll lat,ill l-\'~mJlhil~fliSJllJlr~,Till!fli~ll[;',\"an'ai~ ll~I'dtill' I-!;l'al'hi n d I'Il' s t'lllalj" l1!If

1.4.3 HighLevelParumet erfz at.ion

Hi~IJlevelofparametc r ixar.ion1I1t',\IIS thai.tln-IIs" r~-uu<;1'1rt'~"ll1'I'f'SIIIrw , illlal ll syste mwid!'consis tcucvlu,t\\,,'t:lJ ll\1pJitntilJ lls.C~l'r~I'm,dJitl l g P1111' laVf,1I1"I'Will

(19)

Fi/;;,I ,I,,\srnndunllnvout.oftill'Glil.

d"II'~,uu.difvwmdowsiz,';lUI!sl,vll',dm ll ).!;1' Ill('foregroundam i backgroundcolorsOf

""iI"'1HIonIwhichSI'I'IllS10In'tilt'llIoStrt'IlI!llb],',Obvionsly,tlu-lISl'rs eun nulyens-

t"lIl izl'llll' ,\1Ill' 1I;1lIpplinl lillllsforIhosl' nOSll1lrt'I'Swhichnrc 1I0t ]Uln!-,:odrl!within

TllI'p'OIl'I'livl'hasil'\\ 'I1\'Stolil't ]'I'SOUH'!'vnlnes:fourof1111'111111'1'external to the 1"" '/!;1'Illll":

I,InOJliSP!n~Jlln'I'iii,',whirl! is 11 text fi]rrontnining rr-sonrco-scuiugcorunmm ls.

III adass II'SOll n'l 'lilt'.anotherIt'xlfill' r-outaiuingres ou rce-set ting COIlllUatllb.

1" 11 1111':'1'l'lII1lIlHlU,[Sappl\ 'toum-ilpp]ir'atiolJdas,,; lHlI.\",

:1.ln tlu-U8S0IlUCELM:IN..IGEH/1Il1/wrl!JofIhl' mol window,

I.IIIronuuuud-Iim-pnr1ll1l1'll'f"I/llSSl'dto thl'program.

(20)

SPICEapplkatiolls;

spice-labelString; spice-width: spiceehe f g h t:

SPICE-P ACMAIN MENU 200

225

Thistilt'can In'phll'l'llillllll~'Ill't.lu'n-sunn-r-HlI'ItWHt illllS sUi'll asIIlJ,IlHf('1oJ... . FillHll~"1ll1,<::lmuisIlL'iforind ividualwid J.!;l'ISan' nlS\1dl'wltl]ll"l.

1.4 .4 TheWidgetSet.

\\' helld(" 'doll i l1~ali upplicntlou.itisruuve-uient I"IWI'I'l;bn u'il'S"fl"lIlint·.~111 :11 providetypil:lllfunctionsforl.Jll~appjirut.inn.III litis,'asp,thl'..Hlrl'lIil\\'i dgl'lSI'I is used.developedcoucurreutlvwiththeX WiuduwsyNI"lll,TIll',\,.IIl'lIa\VidhdSdi.~

int endedtoprovideset. of t.rpif:fllinterfncet'Olll pUlll'UI,S,

th eAt ht'WI set:

()1W rri(ISlwUWid!JI~ I.Cl'I.~.~fill"pop-ups.

•BoxW ifl!ldClwlSforlayout.llllUlall;t:lJjl'llI..

•ListWid.lJdCl(l.'l.~for the pop-upoptionSdl'ltilJlllist..

G'ol/lrrumdWid.IJf~t.Cl'J,'sfor11lltl.HIlsundIIlt'lI11paw'S.

(21)

"'wIdJ~'d l\l;"'I,'I ('I"",.fur-,11"li"I.1"J1 lt,\',

1.4,!i Bniltlillg<111 Applicaf.ion

l.. buildallallplit'ali" u,tlll'prull.l'al linl't~ lliIIIlopd("1 IHl P(J~I'dinto';I'\','mlpans.

'I'll ,· "I"lIl-,[ l'i\'('1)or,l.1,lIuizati"tJ]](. 'r l:;III l)t' imph-rur-uterl:Ill..app!it'atiollresoun-e- galllt' l'illl( Ill",'hallilitll1II"flsrnh.,d('~ip;tlf'f l:tln-appli<'ati oll:-;trUC 'IlU'1'11(~'fI~toIlt' huilf:III!' Ii0PLIpwarllillll.~,\'stf'1l1lJ("' 11stilII<' ..rt':\t('{l:fIll'popv upHh- IIIt'lIl1svsn-m Jll', ', b tuIll 'n'",~t nl<'l"rluurllit.'.li~pla,\'window1l('('d~toh.,Ih~siAIll'd.

FigI.:!i,.,;rSilllllll'illllsl rat irmufS(Jlil""lqHlhiJitic',,; (Jf till' Crrlphkn lHm-kEllrl

1.5 Overview of Thesis

This111I'Sis is(Jrp,::Hlizl'l lillfjI'h;l]!tf' rsmillIIsed. ".,ufap pendices.

('h;\plr'l''2rl"SI'l'il ", stil<'f!'HIlm'Sofrill'Xwindow svstein.basil'!:OlWl'p lSof ohjc'f:t.

't1' i"lLt(~ lI H" I).:Tl1tll1llil l ).:'111((1 ,111'wi.l).:'l't.St'!,Ch a p!!'r: JIle~'wrillffit.11I' ideaoftln-graphi- r-nlIIsprlU' t·,.fll!'l'dc'siJ,!;lI ill<:;r Piltl'rdcr.nil.elmp!,'r,Idisellssl'sthe X window resou rces

;ltU I IIIl'I'n'n'ss "fIlIliltlillf(tilt,IUl,'rf,wt· lnyo u t foranupptknr.lou.Clmptor5 discussc, 1111'iml'lc'IIII'I II:ll io lloflit" g;n lpltinll userinn-rfuec. Chapter Gprl'SI'llt:-;anumber of l',"ll, IIlS i,llISrL' I:tI.~1I.,thislll'l lj l'f'l,

(22)

I

/

x

"

;:

I'

,

(23)

Chapter 2

X Window System and Programming With X

2.1 The X W indow System

2.1.1 Co m po neutsoftheX WindowSy stem

TIll' XWind u wS,\'Stl'lIl1l111'faft'Swith1\bit·ltmpll1'fl graphk--d ispln)'tornnunl.This t.V]lI'of!l'I"lllillillnllnwsI,ltd,jlJ(lividu !\lllixdOllthe screentobe access e dandused hi clb l,IIl.l'a sJl!'dlic'('Olnforsh ad('ofgruy,The pixelsarcthebasic:dem entsused to nUll'll TlII'l.:rl\l, lIi l'alilIIllW'Sout.llI' !;lTCI'll.

Counmrnk-ntioulll't\\,(,I'UanX Window-basedappli c ation[calleditdielll)anda hi!lllaPPI'(I /.:'r1Illhic'-clb pllWtcrmumlisuccmuplixhedthrougha sp odal soft warcealll'd till'

.r

.~I·I'!NT.'1'111'Xr-lb-ntmnkosrequeststo theX servertorec eiveinp utfrumthe n'rtuiual'smOllS!'orkcvtoardami topr r nluceout putOIlthe ter minal'sscreen. The .\~I'n·.'r i~11 rrue~l'r\'\'rprogrtunill thosensetluuitac t snilallint..mrcri'inry fornll~'

(24)

l'lil'lllappliratiouI.'ml wauts to 11....'IlL\'resoum-IlfII.I::fIlp h i,'.,lispla )." It'T11IiuaL ('OUlt llIlUK-a t io u lwt wt't, u11.1'('IiI'!LI~1.Il\1Ihl 'M'TYl'ti...;U'I"IIll\,lb,lw dlI,;ill ~a1'\'I,'i;ll counnnuk-anonIIlt' t illMIn.lIl, l l)u'X"""11"",Thispn1llwnli...alll'lwtlrklrml." \liU" lll prolllt 'U!thati...1Il;('l1ttl St'lIlldOllII b'fI\1, ' UX1'li l' UI s11.11\1 all Xser ver.Th n >1l~hIII,'

Xpro tO(,'l!.all Xdienr"lIIlSI.'lIti tI'l:ILll'l'ir :-IIIfill.'"i'>\'r",rrl.llLll ill ~nil:111.1""lIl1pllll 'r ('IJJLlII't~t l'( 1101111'IIrh"ITk;l lll ll'lIllSl 'its nu tputsnmlill]lll lsi"IN'!<I'lllI" au.1r'~";\"l.. 1 frumiUWtenniualtowhis-h Iltalservr'r b'"(llLn., 'II"!.

Fnuu t.lll' X clientapplit'ntillll dt'\l'lol ll't's11IIiu Inrvie-w,till'Xprllh w,, 1;s;111- pICllll'!ltL'f1ns asedl'!!ofImll/UlI,fI':IlimJi/l.{J'~orfUlll'I;""slihrar;l'S, TIll' liI'rar.\"Ih,,1 iUlllll'llll'l1tsrheXprotos-olfurtill'Cpro~rallLlILill~hllljl,ll11j.!,"israll!'11-,"fill,Fijl,.:!.1 showsth l'relntionshlplu-twrenth l'variouspnn sof1111' X\\'i lldllw:<.\·SI I 'III,

Xliiit~(lll ln L lI:< IlI'ntl~':lnllfnLlrtiUlls!tII'n'lIh' ,111"\'1',rl~izl',1'1I11'k .1lI111111'S1my\\' LI1"

rlll WS;10dmwHill'S,1t'l:tall~II'S,arl'li,aml11I11",,:." lIs ;til11.""funIS,t·..lnrl1llIIO:;,1l.r.l I,lli,' illlllj.,'T'S,andMII'Snrs;lludtU l'XI 'l'1U .';,wiele-vaTil,t~,nfnlhl'rlIlll'Tli l io/ls.

,\ScanhC'Sl'C1Iill~'i~,2.1,till'XIihrat).'is lIut IIll'1!II1.\'lillr;lrythat.isIh...·.111I1'fT'al.' lUIX \\'in do'"diclit"'IJpl k atit lll,PTl~rlllllllliIJ/;\whhuul.\'XliiihilS111'('11rfllllparnl1.I ' prOloTolu lI lIiuKillau/W;CllI h\ I'rIn u J,tHaJ.:I'.OUl'rail~('tIIII'),i1" if'ta,,,ksl...n'llll'lisllf~1ill XHh,IJllttheamouut

or

1:0111'Il(!("(h 'dIIIprmhln'asiull,ll'willll..\\,witIIsl'lll "l.':'ll"n thescreen1:IlUamount.toILI1ILlI Tl~)surliues .U('l' IULSl'nrUlis,MIt.I.lwr,hij.!,lll'r.I<,\,!,I , lihraryis oftenusedincombinationwithXlih.

2.1.2 X Toolkit

1IJ

(25)

Fig.:!.I,HPI"liull shiphel\\·\'I,'1Icomponents ufthe XWindow sys tem.

11

(26)

,ml'XIfunctioneallwillrmnslarohi sl'n'ral:\lihfum-tlon,'ails.111f:U'I,t11<'....1,,1'111"

morel'OULIUOlLXtil,{11IU'tHlllSt'qu ,'u,'I'shavotl\l'il'XIhllll'li"li"'llIlvalt' IlI:<. Therelin' hundredsofXtflllll' tioll:-ttlperformlntit'lllXoP" r:lII"US,tt'ronunu- uir-ntciupnt,'W'lIls{/'{I1lIslH~' ifil'WiUl lo\\' s [nn-ktotill'di"lItal'l'lll' nliot!s, lo,j,' al witheventsilltill' l'\1'UIqncm-.tnp"ffol'millh'rdi t'1111111l111l1Ini" nt i"1I.lt1,'n'a t":11I.1

Awidgl'lisHcolleetloun{u \J"or1I11Il'l'wilulo\\' srlunan' laidou linaway 101;'1'111 Hgrap h icsnhj l'et,,\\l'id~('tdefiui tionalsu('\lllta illSast'llit'I'W"I'tl lln 's"I'flllll'li,,"S rhutart' in vokedasartosultUrnSI'"input illtlu-wil lW'l'swludnw.I'IISII1"111"\ 11',1'1'1'11 1 bars . textboxes,1ll1'IlIlS..urddi al o~hox!'san'nilt'XHIIII'I,'Sof \\'idgt'ts.

grums. Cous('llul,lltly,wlll'lIl1sin gXI,11(('applil'lIl io n,I""t'\op"r\\'illllslla ll\'liS' ofS('lmratd~'11('\'dulll~ 1widj!;I'tSrt'ft'rn',\to>IS 11 lIIirf,IJd ''''1..

2.1.3 Widge t Set.s

\\'id f.ll't.SI'I.snn-Si l llpb'colll'(tiullS (Ifgl'all ll in ;Illlj('l·I.:-;thatan 'l'flllll l lllllI",111:UI."(:111 programs.\vid W'r, SI't snre noriudn d"flilltill' X\Villd,,\\'s."sl,I'II1.'1'111'.\' art'avai lnbll' fromAliT(the:\tlll'lIHWid~dSf't.).A1~~T(thl '()I'I'IILnukwil1w 'l set},tlo-0JlI'1i Sojllllll 111Fmm,[rltiml{thoMnrifwid j.\t't st't),andut.her,1('v,'II.pns .

Widg;(~t.setsprovidesimilarImskt.ypl'sofrl1lwt.iollltli1if'S.A1I1I"sl;111wirlJ,!,"1Sf'ls providepushlmtrous, Iflhds,text1>0)(1';.SfTlJlJhnrs.druwiuuawn",IIWIllIS,awl:<I' OIL,Tlll~umiudiffcreueesbetweentllt~widgl~1. ,~t~l.."arl' inI.IJI~Ionuoftln-ir{" "I:IIIIlI

12

(27)

Screcn

(scr~cr)

FiJ;,:l.:l.Client,server,displayuudSnl~"11ill X, 2.1.4 Clie nt,Server. Display and Screen

(TclTllinlll)

\Vllt'llI'VI'r Xl"1~f('fstoa displa r.it.lwt uillI r H'fn stnII server . Xust'sthe te rmrli'~Jll(I!J as auothr-rlHIIIW furtht',~I'rVt~r.St'lldilll-l: iufunnntionttladisplll~'tucaus llsillj.(till' X

!'millco!InrIllis rrnnsfcr.

\Vht'III' \'I'rXn{('n; tonscreen,itmealISOJJ('ofthe phys ica lSI:rCCllSon the terminal 1'lUltrolll'llll,\'aSt' rVI'f ,WhelltILt'serverdraws 011thescree u,it. issatisfying"fill X

\I1'1I1o c' ol]TClll l' S t.from SlIllIl'Xelienr.upplh-ationto caliseSOllll'typl~of graphi c,object

IIIaplWlIr Oil 11te-rminalSlTJ't'lJ.Fi~.2,2Hlusun n-s theseconcepts.

,'\~Hill.ill X,11 rlh-nr npplicntionscndsXpro tocolrequestst.otiledispln.\'.In ]'I'S]l"Ul<I',lhl't1is l'la.\'l'U\lSI'Sthegruphie- n serinter face tohe drawn 0111Iscreen. \-V!lell CIll' usorC'lICc'I'Sillforlllilt inJlusinl{ themouse or keyboard,inputeventsar csentfro m IIll'SITPI'Iltiltill'displaylindthedisplaysends theevent stotile appropriateclient npplu-arion.

TIll'r-lh-ntnpplinuiou isr-xcrurod withinanin finite loop,waitiug Iorinp utevent s Fromtill'SI'tl't'II,TIlt'server responds to therequestsfor servicesandpasses t.hcinput

13

(28)

events totht' d il'llt",

2.1.5 X Wind owConcept s

Au X windowis art'i'l lllll!:lIlat St'(,titlll,Ira II' nlliua lM' N"t1,,\wind.>wisIld i...II,,·a hUN!I'f, ahad 'l rrtlllll d mlufm I",nm-ru.anX/Y. t,.u tdina h 'ofill'uti~iu,;\ Iwid,l.;111,1

awidth,\\'II(' III'\"'rtill' Xsorvt-rlakt~rontrol

Ilr

apatti"l1larn-nniuul.itiIl SI:,I~

I'

slH'('ial wi ndow('alll 'ill lll'"Ollt mimloll" l1Illll'll'fll1iu al:-;I't,'('u.

•\ll.\"11t~Wwindowsi,~iustullrdwirhiurhenltllwindow;L~11 I'h ilolllrlilt'nll,1 Wi l llll' \\

Ear-hl'lIUdtlftherootwindowenu Ill'II siu rph-wind oworII lIIt']'I'(,l1mpll'xwiIIII,,\\, withehildrenofits own,IIIInrt,wiudowscIiSllla,\'c'll tinapnrtir-ulurSlT.'I'lI ill:IIIX

windowappli"l\lioll(mill nhil'rlm:h:,-'asshownill1-'1/-:,2.:1.

AwindowL..:!CtllIl.J1Jalluentl'll as IIdata slnll'llln'withinl.IK'X :-;o' r\'l'l.'I'll,' \.

r-lienrholds all idl'uti fic,t

u r

a,,-, t li"I,I;ltI\'indu\\,,1:.1a sln ll'l.uTt'.'1111'wi...III\\·11"1 ':>11,,1 Itt·',nll.lI~·hC'I"tIllJl'"jsilJll'olltill'l:-tllliu alStTt'C~1lunl ilIIII' r1i"1111o'1blilt'~'t"'r1'1IIIU,'

thewiudow.

\\'11('11 theclient""11li'St.-; thatIIwindow1M'lIIaPIM'(I,IIIl','M''tVI' ri~..u''SoIr:nvilll.:

iw;tnwt illus tocall SCIt!.'tRIJhictl' J1tf'Sl"lItal iuH11I1IjJp" arlintill':-;I·rt..·...

However, irthowindow.whkhisadlilllof:-;11111" IILllI'tWill,lll\\' illII ...Ivill. l"w hiC'rll tI:hr. isIll'illl(1IU1J1PI'lI, itwillnot1J/"'lIt1u ' visibll'il:-;l,lrunlilit..pan'II1 ha sI"~ 'II mi\PIK'I1.Ev{'ry1I11n'Sl llrlIfnwindow1I111St hllllull'l'I' dallllvixlbh-bd' ,r,'lin' dlilrl\

windowcanbc'colllevlsibk-.AwindowI';UIbl~11llLJl pl' dillSill'l l II waylImtil will pnrtially or r:lIIul'le'ttdyI1llSc'lm~IItJCJtllC'twind o w011till'S/'rWIl,

(29)

l'lIl X:<,y-

..

8

~c."'r"'~W;oolo... ...§

W,nd"w ~ ~ ~

. , .

I~

fe'"

(orO. (I III

XWinJ,,,w lltor~,,,hy

l·'i~.~ . a.At.rpk'll XWindow hierarchy.

15

(30)

2.1.6 Wind owManag er

TIll'wimlnwluaWl llt'l'isnn illl ihl l't'l1llrsu-t'lr;l1l~'X\\"i lll ltlW S,l"sl"lll ,IIisIII,' WiIUl, '11

IIUltit isliptotill'windowlllall a~"1"pnlg-r.HIIIIIdl','ill,' wll('1"<'uudhownewwindows aroplacedou r.heroor window. T~·pil"llly,windowm:lllagl'rsnlsu gin'userss" n ...

.uldtttoualcoutroltilma llip1l1all'Ihl'windowsOilIIll'SlTI' , 'l1,;1.1<11.;1whl,l,,\\'l1Iilll;!j!." !S allownsers tolIUl\"['inputfll<'lISIrmn0111'IOl'at ioll1011110111<'1',dlallj!.l'tlu-SiZl'"I'11 window.:IIII !movrlnputfocusfromonewindowttlunotlu-r.1>IIlIlYwimlowlllill"I).:."r,,,;

aboallowIIse r:-;IIIdllllJg-I~I,hl'sl.ackill~unh-r,IfrheWil111' 1I\'sonIhI',<;IT""11 I"runkr- sOlliepn-viuuslvhiddenwindow\'isi hl,'<lg;lill.

..\windowmamus-risjust1111111111'1"Xdil'lIl,II'lll'I'I'P!".llli,~,'Iiplltisf!,iV"11SI"','i••1 pri\'i1q.{I'Sthnrnlluwittilinrun-optn-rtaiuXli))l"iLlis and,l,'alwith111"111iun-ruultv.

TIll'wi ndow1I1111111gl'1'USI'Sr.lu-S:UIII' Xl i I.I'all sLhrunnv1I11t!'J'dil'lIld" ,'s.hut11 1Is]\1III,'-is dcvclopelro workwith11spl'l'ilil'widl-:'l'1.S(,t..SII.ittW'Jll'rnl.til!',\ 111"1111 windowmanag eri~111"1'([witht.lwArhenuwi,IW'ls"t. alldun-hlll\.iflllHllill.:"1'is11,'.;,,<1 withtil!'~I\lt i f wi tl~ds"t,

2.2 Graphic-User Interface Objects Widgets

2.2.1 X

an d

Objoct-Ortented Pro g ra mm ing

XandAt lwnll uS('rJl!j(~f:t. ru;I~llt,:riproj{l"IUll tltirtg ll'r:ltu iqru'sIIIlJ1'J.\luriZl'HIHII'iIlS."i(y the widget s illaway thatwillIIIHk('thorntuurr-usefnl1,0tIll'1I111'1il'a!.i1l1ld,'vl-I" I", r.

Till: uhjel:t(awidl;et iIItltisr;~,;,!)isaS/'l.'II'Ill'lwl~dllr,~t.lnuranI",I.lllrUl.:111.rrfasil

(31)

··l.bwkI".x·· IIwilln'T,'pt:;p'~'ih,'inpms.perfnrru 0lll'ffniolisnILthosl'inputs.alltl 11I,,,I,w,'"' Il l'"1','1;,1,',1'1l1111111~illI"!'~rH'll,~,.,

:\llh"IIJ!,1itill'"I,j"'ISiuXarepn~kfilL(,[",raSpl'l'ifi,' purpose. tlll'1"1'al"l'llflf!k,~

lln-1'1'I 'J!, rauLlllI'r, l,wSII'1Im\"I'III-rr-invem 111('wheel":IJI"l',[ pnlll ',llll,jl"'ISill"l' n"all'dfur1111' Illlls1"0111111011flllH'lilll1S Ill'l,kd ill rvpir-ul programs.

:1. '1'" ",'"1n,1111l'1"'1l1 1,ll'xitynlsofrwun-.

'1" 111"'1til"d" l llalld~(Ift" , lm"sfl'llllifl'III,'uts,sorrwan- S.\'slt'IUshan'IW"OIllI' Ill"n'rutupb-xthnn,'\','1'Ill'fnn" (''''Ill'd al1ywiththp1I1't'flsofI-\raphll'-IISI'f\ll- 1<-rfa,',.",nuddatilhaM's.\'SII'IIIS.Tliis ouuph-xitvruusrIll' eoutroll«!soth atrho ,'" Sl"rs" fl \\"lln'llI:lml!'lIll1J('('"1\11 11('1\l' ]11 In amiuiuuuu.

I. r",'olll rllll ll1"'llslnr SlIflwan'lIIaiul (' IlJllll'('.

TIll' f,'nlllfl'SIIf JIll olijn '!,ori",d"dIJnIfII1I11IU1ill!1 syst emInclude:

•Ilal 1lnhstnu-tiuu

.\ 1I1l1""11"111'1iondenotesIhi'osscur lul clnuurteristicsof allobjectrhntdisriuguish itfromallotln-r kindsofohjl'('!Snudthusprovidenisplydefiur-droncopruul 1"1ll1l, IOlfi,'l'i,relnrivctu lilt'I'l'rsp{,('th'(' of rho viewer.

(32)

RighI Oh lllSC

GC" lllc'lrk Dhjcct

---~-

Line sIIsick dl Angle(:!sidedl Triangle\.'Silkell Quad mllglc'st-lsnle'dl ,

...---I

~ ~

E"IlIirilll.r;'IL~" SC'C'IC'S", I'<lr;~

Rl'c'filllgk S'llI;II'"

•Eurupsnlmiuu

Eu.upsnlnnoni~till'pmr',':-;'';of hirlilll!:allll",sl',Il·tails"f;111"I'.i'·"lrhut,I"11,'1 r-outributr- toit"I'S~I 'lltialdmnH"Il'rislk",

_11l1ll'l'itall('I'

run- orlu-huvior elofiued ill 0111'(Silll!:lr' illlll'rit:lu('(' )ormon '(tllull.iI'I"iuhr-ri- tlllll·,,)nrlll'rda:-;.<;,'S,

FiJ,;.:.1..1shows<Illinstuuo-nf1I11"hj('t~f(Iffy I'" Slllllll'l'whu-hinll<'ril~:itsOWlll, wal t'(}P~'of alltill' [t'atml'Sof Slrlla!"(slll:h lISsid" lr'lll!:lh)as \l'dlf1,"fl'atllr''SIIf1,\'1'"

jJlIl'Hlldo).!;talll[surh as parallel sidl'S),tJI'"'[lIaclran).!;!,·,allds"

"fl .

Ifan iUJo;ta"n'"f au tllljl·t:tnft.,\"PI').!;l'ollletrit:(Jlljl~l·thnsSllf'dlit:at.lr il m l.I'S.allinstuno-l,fHtI"II,i'·"1"f squan-willillh"rilt.1ll'sauroaurltoucs.

l'

(33)

2.2.2 WidgetConcep ts

:\ wi.lw'l bau ol.j" ,:t-HUahsl raadatat....]lc~.Itisa«ollcettouofcue 01'mort'X.

wimlowsIH'I,I1,(jI4<'l.lIl~rwithagl~J11 I< ~tl".l'fflras]Jl'd fk looknndIIs.'tof procedures 1ha limplc'u lI'litrd "I'aut."I,,'ratiolls,U,Jth.\tlll'lIaandXthavenbsuuctIla t a types l\\'iIIW'1S)fillawill" varmtyOfllM'flntnrfarr- ohj(oc%thatcuubr-lIsc'(l toncccptinput UfSIIP pIYOll t.PIl Ifuragrnphlc-nserillll'rflwe.

ToIISC'alI'idJ.l;I,t illt.l(l~prognuu.an instaueeofthewtdgo tlim atypeisdefinedas

:1Sf'para!c'OC'C'lIf W rWI'ofallohjC'c,tofthatwldgetdat arvpc.Each Instanc ehasits

"WlI1I1'IJl':mHIC'C'andIlllfpose.wliir hisrOlllplc!tl'lrscpanueand different IroruI'w r.,"

111,111'1"oo-nm-nr«ofthutwidg-C'tI,\'pl'illtill'program.

Ea,'l! wi,ll4f 'lIlf' lflllj..'S toadassof rc'!:ltc'clwicll-\C'lsthut isorganizedintoahic-'ml"cl!,\·.

\\'!Ic'llall illstmwl'ofa\\"idg:"1is rb-tim-d. it iulu-rit s at tr ibutesfrornnllofits parents, j..(nl llflpal"C'llts,1111(1otherluu','slnI"1'o.allthe \\'11.\'up totill'rootof thehierarchy,

2.2. :1 Ath e naWid get s

TIll'wirll-\f'lSIrumtllC'Athenuwidj.\"l'\, set which nre usediiitierimplementutkmoftbe g-ra phil'aI IHu'kcudpll1'k:lgt':

•Simple Wid g e ts .Each{Ifthes ewidgetsperforms11specific Iutnrfacefunction.

TIll',\-an ' siniph:h'''·a lls('thl'Ycannot have widgetchildren-theymay nnlyhe lls('c1asll'll\'I'Sintiel'widgettree.Thesewidgetsdis playinformationorhan dle' asmall umountnfnSf'rinput.

10

(34)

Co m m a n d- a push button that.WILC'1ls,'lc't·tt...1.,'aIl Sc-:;asp,'t'iti,'netinnI"

mkr-pI1l(,c'.This wiclg"I'1(,1Illllispla.\·atuulti-Iiueslrillg"til"ahitm:ll1illl a~".

Grip-n rt...-nurglcthut,W!lC'llSl'lpc·lc...I.,·aIlSl'Snll;I"li,,"t" l:lk"l'lm'p

Label - an'l·tallg"h'that marr-onruiu run- urILio n 'lilll'sofn-xtor 11 hitlIlill'

Lis t- alistof text st.rillgS.pn'SI'lIll'clill1"011"r-olumu fllrllwtt hurllIa~'hc' indivirluullyselected. \Vltl']]1111.']c'UlI'1l1is SpIC'I·tl'd ,all 1I1i.";llc'ialt'dur-tiouInk,'s )lllll'c.

Panner - a H'c·tml g"nJlIr:m 'al'Ollulillin;.:a.•l" I,·,.th aimil."I",1II11\·, ...1ill1\\"01

dlnn-nsions.~ntifkatinllof1ll00"'IIIl'UI11111.\'Ill'1'lllltilll l, 'IlSIll".lis,·n 'lc'.

Repeat er-apushbnt ron11m!ll"iAA"rs 1111nl'l i"nntall ilwr,' asill;':n,I.,1\'IIt'11 Sdl'CICt ! .

Scrollbar- art~C:t.all~H]aran'a(,Olililillill!{aIll llml,i.luu.,whenslid alllllj.!,UII "

dimension.rnnses nspl't:ifka,tio llto tnkr- pl:u:c'.Asnllllb a rlliarIll'Ilril' Ill.I"']

honzonrnlly or vertk-ullv.

Simple-thelllls!' c:!assfor mostClfl. lwsi lll l l]ewiclg('ls.11.pl"<lviclc':i1ll't'C'lallj.!,llla l area withIIscttablc mons.'':llt"SIlI"alld adist.ill gll ish(!(IIJll r<l,'l".

• Menus,TheAtlwlIlI widJ.!;('I,set)lmvi,l l'Ssiugt!'[llll Wd11t11l -llil'ra rdliI'HII"'Plip lIud pull (IOWIJlll" IIU S .Then- nfl'tl1H~pdm;sc'.~orSm ""I,j,d.•that.may I"·Ils,'d tobuildmenus.

Sme- theIw,(~c!i\1JS»f alluionn entries.It.mayI,(~ lISl ~ [asIIlll'~1I1l '~II "f.rtel

provideblanksp ace.

20

(35)

SmpBSB-I.hi1i1lH'1l11cntrvpruvid<'1ia 1ie!l't,tllhlc eutrv contnluiug11text1it.dllg, :\hill1lapt'HIllit'phll:I~11illt.hr-h-ftHilt!riJ{ht umrgius .

Smel.iuc-.Ihi1iIIlt'll ll l'lI lT,"provides1\11nnselccted entrycoutniuing a separator liue.

•Text Widgets .TIJ(~'Iextwidgf't providesIIwindow that willnllowlUIuppll-

('Ht,jOIltotli1iplilrandl'd i tnlll' or more liul'l>oftext .Opt ionsnrcprovidedto allowtheIl1iC' rttladd srrollbnrs tothewindow,searchfo r a specificstring,and IIHulifrtlu-textillI,ll('buffer.

TIll' Tt'xtwitlgt·t is UllIde npofa number ofcomponents. Themodulnnz a tion uf funr-tionalityisintendedtocusethecustornizntiou.Formostapp lica t ion s.

11ll';\sc'iiT C'xt wicll1:d isJ.\clIl'ml enoughto meetprograiumors'needs. ~lol't·

21

(36)

Hoxibilirv,Slll'dal [1'at llrt'S,nrt'x l raflllwri'11ln!ily('allIll';lc lc h'l ll l~';1ll1Ih'llWlItilll-l, aIll'\\'T(~ xt Sc'Ilrt'orTI'xrS illkwill!!c·!.,11'hysllhd nssill~lilt'lextwidl-l,'·l.

•Compositeand const.ra intWidgets.

Box: - this wid}!;Ptllal'~itschildren asti!!htl~'as!los,,,i1,I,' illlI"lH I\' '' l'ln pl' i ll~

Dia log-1111imp!I'IIU'lltlltiollof a t"Ill\ \l ll ll1l.\· llSl'I! inll'rnl'ti'IHwi,11-l,1'1\\"llkh promptsthe user forli\lxiliar~'inputSUe'lln,;IIlilc'IHlIlIl'.

Form-amore sopllistit:al edh\~'\l\ltwid!!t·\. lha\.allowsi!.s,'hil. ln'l1 10sl'.~·if.\' thei rpositions relative tootherr-hildrt-n,or IIIlilt,r~ll!;t'slIf lJlI'[1I1'1n Paned - allows childrenttlln- likdv('rlit'all~'or huri:w\l1nll,\'.Controlslilt'als"

providedtoallow tlu-userI,nd,\'w li ll i c'lillrn'sizc't.lu-ludlvirtnalJ1<l1lt's . Porthole- nllows viewing of a1W\IlHl!:"ddlill! whb-hisasla l'l!;"as, 111'lill'l~l' l tha nitsparent, trpi c:a llynuderI:'mt rol..[;1I';ullwr lI'idp,"t.

lwydi eh'Tnlh.

Viewport-I~OJjSiSfsof11frunu-,onr-or1\\'0sCTullhars, uudallluuorwindow. Thrinnerwindow eaueontulnalll.Jl<'daf,lll,]mt.1II'!'llsIIIIll 'IlisJlhl.yt'd,Tlrisilll ll ' l window isclippedh.\'rhoIrauu- witht.heS1:rollbal's,:o ll t.roll i ll l!:whichSI,.'l.illllof theinner windowis currentlyvisible.

22

(37)

2.2.4 The

XI

AthenaWidgetClassTree

Fjg.:!....,.~li,'wsf.II'~f}rt;mli~lllif)1Iufdu'X/At/l'~llllt\'j llp;l~1elussTn~I'.This treeshows how widw·l.surr:Ol'g:alli~('llilllnrelnteddnssl'S.whonallinstllller ofIIpart icularwidget

is'·'H ·aJ'~Il Jal.('diutu unOI:I:llrrP IW(~ofn slll·tifkolJjt'l:tintIll'progra m.itinherits

at.l.ril>llll'salillfl'a t-url's fromalltil"\\'idg:r.tdlL';'<;('.~thut appearabove it illthewidg et.

23

(38)

Chapter 3

The D e sign of Graphical Interface s

Sever alcomputer-aideddesignHoftwan!tools 11:1\'('111'1'11dl'\'l'lo p('(1whir'hlucklk-xibh- userlnror fuo-s.SPICE- PACandVITan ' two(Ifthem. Silll'l'till'userillll,rfil l"('or11 systemis olrcuthe~'ardSl.kkh.\· whicht.\1l'systemis jwlj.!,l'(1,11Ilt'si hll'.sim pl..mul easy toIlSCiulcrfm:t·isanilllport.a nt aSl11'd oftill'1I,'SitJ;ll.'\11iuu-rfju-r-whit'llis difficulttousc will,lit. best.res ultillnumerous1lS(!r ('lTIlI'S.At.worst.itwillt>lIUS"

tlu- software svstom tolJt~,lis/'anled,irnospl'('tiVl'oritsflllwl,iolJalit.y.

Ahndlydrsigucd interfacecau eauxotltl' liS!']"tomakl'1lI1llI'!'('SSill"." all<lirrita tillg errors.Ifinformation is presentedill11ennfllsillp;or IlIisll'flIliu,L!;way, 1,111' IISNlila)'

misuudcrsmud t.helfWHlJill ,L!;ofall irmuofiufonuatiuu1I1111iuil.ial,l'II Sl'fllll'lIl'!'

"r

unwantedac tions. Fromthispflint.ofview,till'IlSl'rilllf'rfal'f~isallimportant.part

fi r

1\11,\'softwaresystem.

(39)

FiA.3. l.Illfl'f;lI'liolJwirhaCUI.

25

(40)

3.1 Gra p h ical In t erfa ce for CA D Tools

"\h'Taplli('aliulI'rfm'l' Ior SP 1CE- l',\ l'/F 1T pnw idl':;11hrid~l'lillkill).!;till'usr-rwith aJlJlli nHillll PW )!;t1IllI Swhir l!rnnmak!'Iii I'IIst ' rsllh ll"l'ronfuh-ut. Wit htill'g:rnl'lli ,'al 11!'i1'l"iutl,rfart' user s an'ill('Il Ill\ ll l'h'\'ou lwlofwlmtrlu-ydnantiwllt'll(!lI'Y01..\1.TIll' onnurtzuriouoftill'iurorur-ticuwjtII 11 GUt is showu illFig:.;I,I.

3.2 SPICE-PAC

SPICE-PAClxIIsirunlutinnp.u-ka/!;t· t.hnt isupwar d l,\'l"UlIll' lll ibJI'withIlll'1"'I.ul:11"

Sl'I C ~~2 Gcircui tsslnmhuor.ItalTI 'pl stIlt 'SfHIU'!·i n 'l1i l tlt'1i1Tip l.iu lIImll-i;lIilj.l;l·[wuh ()1I 1~'f\few minor ('X\'!'llti tll lS\ allllpnwhll'srlu-saUll',' in 'llitillllllyS1'SasSI'I(' ]'; ,bm it.alsoSlIP]JOl"t:-Hmnnln-rof('XII' IISitlllSawln-finvuu-utswhichan'Hut.il\'a il ahl,' ill till' orij.{iualSPICEprugr uru. 'I'lu-1l11 ~~till llHlrl flll1llin;'n 'rlC"I'1" '1\1""'11SI' [{ :Eiill,1 SP ICE-PACis,hm\'I!VN,ill111l'irinternalorWlllizat,illlls;SI'ICEisapl'll14ralltwith ono.fixed scqueuo: (If(Jpl'rationswhlh-SPICE-I'ACisar-ullr-r-tiun ofIlI!lsd.\'(~o ll plt ~ 1 siumlntiou"primitives"that('l UIIll' t-omposcrl in uumvt1i1ff'l"I' IlI,ways,asn-quin-rl1,,\' a particula rnpplicatlou.

Thisfk xi hiJit yofSPICE· PACisquite'iurpurtautill"iut,I'j.\I'iIl.l',I"ilp p lif'lIlillJlS, i.r-.i1pplil:a t.iolJsillwhichdecuit,siu LHlat.i llllisI'lJlllbi rll'dwithut.hr-rs"r1 I\'a n 'l.o"ls, forexample.opr.iruizntloulll('t hn tls,srntisricnlunnlvsis.S'ylllllf,Jil:xirnuluf.iun,Ili14ll- ll~yt·l (l~,/-(,.hehuviornl]slurulauon.alldSflIlli.

(41)

:U FIT

VI'!"i.~alliuterar-t.iv o program(orr-xr.rnet.ionDf tll-vi':I'pnruruerersforSPICE·likrr-ir- I:tlit~jmlllillllrx.FITisII silllllfatio/l·hasl'dexr ruernr,so explir-lr mudd cflimlilllls1l1...'(1 JiOlt lwknownf~"1111~'yan'pfIJvidl~dby 1.l1I' dn:uitsiunrlutioutoolused. littiugcall hr-I'l'r f"nt ll ~ 1II"!' \Jill)'forsillF(lc:rlC'Vkl'S 1J1l1fllrfuucrlounlhlm:ks Ill"wholeI'irc:uits as \\'1'[1. awl1111'salIII'nxtmrtor1:1111he 1IS(:([ fora varietyofdevices alld/or devil"': tIl,,,h'ls.'I'll"I'xtnwt.nrsupportsnumerir'ulnxwdl as symbolio simulation. so repeated aualyst·sof lilU'ari;wdcin-uit(for fn '{!HI']U'YdomainlULal~'s('sJcall he performedvery (·lIkielll,I.\'usingtln-1i)'lIJIJOlil'functionsI\J'lwmt/:dfromttu-CoatesHowgraphn'pre- Sf,utal,inll oftln-e-in-nlt,Sl'\~'fillupfituizutlonmethodsarebuiltintotill'prognuuto providerobnst. as 1\'1'11 asdlkil~llttittillltofdovin- cluuuetcrtstfcs. Flexibilityis ob- laindlJ.\·sJ)I~:ilkal.iu!lof oxtrartion details in the da taSf't'irutherthanthe oxtructicu 11nll'I~lnn~ .

10'1'1' is iIPral ivl'.sirunlutinn-basodnmlIhlt a_dri vel!.Therlntn-driven l:11plll,ilit,\' allelll'silll e'l-:n lle'r[ parnuu-tt-r extraction)12Jaswellas selective cxtrnetion. pcrfor ruod (Ill slIllsl'lsof11l('a,'iIlI'l'Hli'Ilt.dnt a awlsubsets of panuuetcrs. Differentextraction slrale'J.\i('sr-anIILlLsIll' dl'wlo lll'c!for different types of devicesand / o r theirmodelsill ol'llc'fIIIl'l' rI' lfI LLtill'ext ruction of pnrnmetou,dtidclltly.

3 .4 O ut line of t he Graph ica l Int er face

TIll'~mpltil'11111111'k-t'/l(1padm#o:l' fnl'SPICE-P"\C/FITnllJsisf.'iof fourparts. Fig-,3.2 shows its,l!;t'lll'l'fIlstructure.

Thl'Quitpart is\ISI'<Itn tortuinan- I'Xl'I'utio lLof aILuppllenriou.

27

(42)

The ~raph il'alhal'k'l'nd

Fill;.:l.2.;\iaillstrurum-ur,Ill'gl'a llhil'alillTI'r fw· ".

TIl('Editpnrtis pmvid('llt.o mallip llhll l'dntlllilt's : itr-nnl'lll.! afill, fromdilf,' n'lLl

din'l'tnric!;,,'ditaiiII'amisaveorprintalilt'. TIll' .xlitpurr runIli.~liug uishlilt'

Ililfe rl'llt.tlatlltill'S slid!IL~SPICE-PACdatalill's orFIT11111:1Ilk-s.

TIIl~Runpart.I'XI'('Ut,!SrIll'SPICI=:- I'AC/ FITl'wp;nllll S,IHuvi,\I'd'1\;11.Hit,n'·

quircdiupn tallt!oUtP 11t.dat afilrsan'availa l,l,' ,

TI1PDisplay pilr t disp la,\'sdata tTI'nt.''11lIyt.ln-Sl'IC E-I':\C<lllli1,'1'1'flI'"~ratlIS.

Grnphienlresul ts1:1\ 11be[ll'('setlt.l 'l leitherIIsillP;llt' fllll )'pWlw rl.il'SIII"IH1111l'rl, j"sSf' -

leeredby the user [color,linestyle.n-xt.mlurIII'textfOllt.).rk,~III I);runIll'ZlIolIll'd illawlzoome d out ,Thispart. ulsn»HowsI.IIl'11M'IOSrotruer-Slwdrit'OIl1.pU(,vlll'ill lJlt'S, comparet]l('resultsobt.a ined from dillcn-ntIIlIlIl,\'1'I'S, "1.1',

3.5 Design Guidelines for Grap h ica l Interface s

Ouo rcusou whyXtupplimtinns111'"Srls1U:':I'ssf ll ] isthat1,11l',Yfo llo wtil l'~rap r.j "-II,~I ' r illtcrflll:l'desi!\"llp;niddiw's,A shortoverview oftl ll~s l'~ll j , It' li lJ " ~rllJ[ows

Every XIapplk/lfionSIIOUII IIwwrittenilla way t.lmt~IVf'St.1U'11M'!'t.hr-""uu-"Is

(43)

JH',,,I"d'-0a':l:IJlUplisIJ11giVl'l1 msk.lJSl~f!iwillha\'('afediTJg of control over au appli- rutlonifit.is eonsistontunrl giVI'Sthem thr nlnlity todiroetlymnnipnlntcthecontrols arid utherUbj l:I'I,Softhe IIJ1plil:atioll,Theupplicationmust alsohe flexibleund allow

•Consiste ncy

CllllSi...,ll'lwy1IIl'allSlhatsimi larl'Olll.rolswill operate ill a similartunnnoram i

IlHVI'siu dlHr "'flds,Ifa Pushbuttonill(HIl'applielltiouhas aLabel nuddieki llg

t.hntbuttonl:atlSl'S IIDinlogljoxto poplip,allrotherapplirntiout.hatnSI~

IIII'I'JIipsbOila pnahhuuou LallI'!shoulddothesallie tiling:, COllsb'-('lW~' aboII11'HU Stb.u t.lu-SIUlH'nctiou willalways pnnhu-ethesuuu-result in mauv differentapphrnt.ions.Ifvon eau click-hold-dragthetid e barof our. npplk-atlou to ruuvr itshu-ntlonOIJtln-scrccn.then1111)' nrhor npplluntiou tha t has11tirh- hnr ollg:ht10 workthe S1Iml'wny.

Allot,hl'!'factorillIllI'consistruu-y of1I11 npplieatlonlsplaccumntofthe user

\'/I l1lrolsiutJ,,' npplirmiun's window,The eOlllrol1'and fmwtiollsthnt nreIIs('d urost ,In('11should11('proseutedfirst. att.hetop oftheapplication.ill a logka l aw l straiM'!Lt.fllrwllnlnrl!l'r.

FUlll'li n ns ,whit-hare nut used frequently,shouldbe hidden1\1ll1only culled lip

•Dtreet manipulation

TIll'\'x ]WriI'1ll1'of directmanipu lat ion is dotiuod as theconne ct ion of a user nr-tlouinauapplh-nrlonwithallobsorvnblc responsefromthe applica tion. lil a

: m

(44)

dirert-nsmipulnt ionnsr-riUll'rfiU'I', userswill ('xpl'l'i"Ut'"uwilUllll'llialt' \'lsihh' n\"1I1l1ioftheir 111'Iious,

Immed iate visihlt,n'spllllSPistin-lUllSIitupurtunt:1S]lI'1"Ill"thl'llirt't' lmlll11l'"

ulafion\' X]Il'l'i" Jl('\', TIll'pl'rfoflll Il1Wt'11fl1]IIt'lll.'illfslowlurnlwau-nr ,IfIlthll prognuudt's il-:IIlindhnplenn-nruthnrruu lllakl'itc1illiC'll hfur11 llSl'fto ,'0111'1'11- trnre1111r.hotusk for which tli('Xap plk lllin lli.'illi'il'll.NomalIN11,,\\,intr-r ...~lill~

allapp lil:al.iOll lll a,\'look, ifitlsslowillilsnpr'rutiun,itwillhi'ptm-tir-nlly1I.'i( ' I, 's,~

tornsrmuers .

•Flex ib ilty

EarllXt nppllrutionslumldIH'HI'xihll'with1"1'."11('1'1,IIIIIll'waylilt'IISI'r1'lll II 'SI'S to internetwithtill'1IlJplil'lIl iullnudlll'xiilll'illaJlo\\'i ll~I,it..IlSl'rIII"llIlli!:lIn' IL"pCI:ts of thl'npplicatluu tolit.his ]Jt'l'.'illU alpn'fNI'w·C's.

All Xtnpplirntinn shouldprovidemon-thanIlllt'WilY111).!;l'laI,as k11l"1·CIIIII,lililll'll . Sllthr-1IS1~rI:audlo oSl'till'11I1't.IIOdthnt.is11I0sl,"IJllvl'nil' lItIIIhim. :\ll.'it' r maypniutWil1'1ISh13l1t,t o ll(IllII:'\1t'lluUar,liS!'II1'lIl1do\\'1I,,1I'IIII,"r1il·1,'('1

11Pushb utt on to ('ailS!'SOIllI'1Il'l,io llI,ll!.ilkl' pln!'l'. 1I11\\'I' vf'1". inmldil io nf"

llsiu l-:thr-UIC )lJ S\~topostamenu,till'aplllil'a1.illn1'1111alsodl'lilll' a 11l'v1"'IHd

«naractcr

thatwillpostt.lwl' ullljown alltli1W,UII'!'dll1riWl "rIIIlWlival.,· ,I",

Ik~ircdoption.

AusershouldalsoIll!l!ivl'llsutur-aJ110 111l1. or(:tJll1.rolIOV"]" Ill"vixnnlal'pt'lI riH Wl' ofhisap p lk llt.iollS.No!.all l]SI'rsIlk« 11liJ,: hr..llllll'(ITpinkIm.:k AJ"I IIIIHI;sun..'IISt' lS maypreferI-;m yPn~h13IIHoIIS,whih-01IWTIlSl'n;lIIaylikl',".'il·" il'hllSin;,l!'ad

"r

Labels 011their huttuuwidJ.((~r.s,I~I.I ' :\0

(45)

EvemqUCUl'

M"vin~fllcmflll_'iI' url'lil'kinl: mUlIsrbuttons

arcX l'I'enl s

:J icn f pfllgrllm

XIMliinLIHlp Evem handtcr

I

xCunli~ureJo:,'enll 1XCrus singE ventl

l'.xl,li,'it""lIln,li,.,aninrpcmuuris.-;Il('f(11' Tluls"11ll{'ratiouswithintIll'npplk-ntinn

IIlilt,helon-MII'iuJ.!,TIll'dHlIlJ.\I'S, 1'I' llh l\'I'afik-.or:111,\'nthr-rsim ila rnrtlou thouser

~l l"llldlu-~il'l'lLadlalll'('TonTollsidn thr-nr-riou.IIIsin-h('iISl'S,aDialo~Boxshoulrl

p"pupIIIrequin-11e.mfinnurinn'II't» .liSIHisstIll'artion.

3.6 D esigning Xt Applications

.\ \\'illd,,\\' ilPl' linlli tlll S 11]'1'cvont-drivenIIWv;rall1S,Thestructureof aneveut-duvcu 1'11I!-:I';Jmt-uu11('I'n'SI'lll,~1as a[oopwitha("liS"SI1'11l't.Ul'r>illit.III pa{'!Loxccutionof III"1(\1'1',:111r-venrisfetrln-d Iuuutl1l'eventquruoandusedforselectionof1111ac t ion.

\. PH 'lIl"nn-tlu-hnsir-nu'nns(If1'llllLlllllllit'atiolllJl'twf'I' 1iausorundall npplh-atlon.

.\I'W IlISan'1:l'lll'l':II I'd:l,~ilresultof IISl'!'inputfrom till' keyboard or the mouse.as

31

(46)

en'nllulIpl) {

XNl'xt EnmliIheUislll ay,&lhcE n'lltl:

swilh (IhcEn'nl.l,·pc) { ca set-:XPCl1iC:

!'rU('CS.S1\'hCIIWindulI'ist'XllllsclI nreak:

case:lI11tlllnl·res.~ :

t'rocess whenkc~'wasIl~ssed;

hrcak:

euse:Ke.\'press:

I'ruces.s whclIwlndnwiS I'xlWsccI;

hr e:lk:

Fig:,:S.·1.:\ silllpl\'r-xmuph-

Dr

IIH'X1'\'l'1I1100lp

WIlC'1lIlll eventis r!'cd\'I'!1IWllladit'llT.,t.lu-Xsr'rvvrstun'sit illall ('1'('lIl'1Ul'((('.

Elicitelieutapplicnrion hasirs OWlll'VC'1l1 qllelll'lIlhohll.Ill'c'\'I'1I1sill 11(1'lirsl-ill/ til'SI- Ollr/FIFO )order.Wlu'llthe clicutnpplirutionlI('I'Ib;IInextinput."\'1'111fl'OllifIn-

llllcll'XI'(:ll tl 'i;thowilldow-sJledtit:('<l(h~furthix('VI'IILAltlds I'Oill1.,l.ln-Bpp lil'atio n-

XC'liew,applicat ioupnumuns an'1'\'I'lltdriven t.lu-van 'llrgalli:oo;t'll:,,'; iulill 111' loops,waililll-\ forinputI'VPll! S. amiI~XI~I:lltilll-\aetlonsl'orn'sporlllilll-\1,0l.hl'S""V"IIl.S.

asshownillFig:.J..t,

3.7 D esign Process

TIll' first staW'ill estnblishitu; aSysl.(!lll dat aIlowisto fUllnul a1.\'a 11Iodc'ltJfI,h"

'calworld"cnmieswhichan~ fl~pr'!S('ntl~dilltill'system.

(47)

Fil-\".:Uj. ;"·Iainr'otuponeuts ofthe~raphicntpackage.

:~.7.1 ViewpointAnalysis

WIU'1lfUrlllll!atiul-\"n svsn-rnmmlel.viewpoint. httlwt.lIrinl; isauimportant stlll-\"I' whu-h impllSlosilslnwtnTf'lUIt.he ident ifiedviewpointclusters and representsthis illa view- puiutsuuetun-diugrum.Fig,;t5shows t.1I1'tuniueomponcuts of the gruphiualback- ('u,1pllrknllP millFiJ.:.a.ushowsIhl' maincotupoucntsoftheDisplaypurr,

a.7.2 Id en tifying Main Functi on s

TIll' next s1o'1l ofthe buildingprocessistoidentifythefunctions.Thedescriptions nfmulufllllt'fi.\Ilswhichsupporttholayout ofa GUlnlld the cor respondingcallback flllWtlllllSan'nsfollo ws:

•Jo'lI11dioll:CIll'l"kFilt'Typl'o

b[/lIII: Pathnul!nnnu'ol thc tile,

33

(48)
(49)

O'llput.'Ty)J{'or11U'fih~ ,

IJt'.w riTlt i ,m:Cllf'l:kFill~TYI)('returnsau iudicntiouEXEUl:TABLr::.DIREel'ORY nrxfJll MA I.fih-.ImSl',j 011till'typf'"f tlll'file returnc.thytlll'stat()function ThisfunctioniS S.\'Stf'lIIflq ll'/l!h'llt.

I';mdirm: ViIlFild.isl..

"1/11//: Fill, lislIhatholds till'1H1I1Il'S.Dir Jistthat holds subdirectory nmur-s, LilI",1wi ,l~el,tha tholdseurrcurpa t llll1lllWandCur rentwhich isr.horurrent flirl~·tctr."paf.lmauu-,

IJ,..,r:r ip/if JII: Fills illtlu-diH~:I.or~·and thefilelis t s withtheumuesoftho

<Iin~:lnrif'salit!IiII'sill a~i"I'1Jclirt,(·tor.r(Current},TheLahd widgct isupdate d IIItln-l'u n /'111pa t.ll1lll ulf'.

I·'ww /iml :(,hilll l~I'-l'nPanmt.

IlIl'ul:! ' ath llalllt'. (JIII/IIII:NfllIf'.

J),·,.ai/dill/!:ChiUl/:I'Sthepathuarueto tIll' lmn' llt's pathname: for example,it dlHn/:I's ''/c1irl/dir2/ dira/''ro~/dir1 /dir21".

Flllld;ol/:lJirCillllmf'k,

III/uri:Wid).:f'!.CIiI'UI(lata mulListdat a,

Uf',.nil/fiU/I:Load s t.Jj('tilt'silla!W\\'dir('('wry.

(50)

•FUll d ioll :CI'IClIlTI'1lIDin'I'rl1ry.

IlIflil /:Purluueno.

OutlllJt:X lll ll'

U".~",.if!fi (m:<;t'tCllrn'ut Oin'('t" r.rtillstill'pnlhllilllll'with1111'e-um-ntIli l"~'ll'I'Y uu na-.III"wiru"j'"fortho rootdin-r-rurrto imlil'Hll'11Iallun-.II'Slll"'l~sfll l.il apll!'llib"/"tnrln-pnthuann-.

•FllI u:l irm:HI'mlF itDlIln, Input:The1I1111l1'of tlwnntpu!llk-.

Ou/p lll:None.

D,-sl:I'i,dion: 0PPliSdntafill'nud rr-adstht' datililllo,lim'\'l' llldatatill'S.111- tl'rllwdiat,f'dntufiles ,sin-h;1...11(:Jil,',DCjill'1Ir<'n"al "I!.

•Pum:lif/ /l:HI'Jul

A c

file.

1Jqllll:Thr-uaun-of inpurfill'.

()lltpllt: (\()!H '.

D(:,~(:l'if!tif)ll: OlJ'~IlSthl~AG'jil,:1\11\11'I'1I,lstln-rial ,.il l l,III'OIT " 1';I/"ll tli l lJ..!.annys.

•Flludill/l:Crl~atdJi("tl1rr'.

hql1l1: Muxinuuuundnnubuum XnndYl'wmlill at"va[II'o:; "I'til",lisl,[a.\' window.

Dt~sr:l'ipti(l1I: Dlsplny s t.hepllli[Ifsp,~:jl i,~dllllllll :t:fll"![il lj(10till'si;f."Ill'lI11' displnrwindow,det er minest,l ll~rnuxandminvahll'sortil<'lJ;iwlIdal;',lIud

(51)

li tld ~thnsnd,' fa:-tuf.

• /o'1J1/I;lio u : Tnu:iuA

JI'I'l l l: \\'i,Il\I'r,CI'IIiUfl' .Cl1!lDli t H.

Ik~'"l"ildirm: CIll'I:bif Illl'Sl'If'("t.' ·11 vnrinhh-is corrcerfortill'currentHllal.\"s is:

if it isI"In'1'1.arnwilll4windowisIIII)lp",1npwit hthel!:rn p lii!'n lrep rt-seuratiou

!Ifn-sults.utlu-rwlsr-aI\'al"lli lll:1II1'~-"m~ 'is displa.\"{'d.

Jo'mwti"n:COlllllil f!' valm '

IlIfllIl : (lrigillXvnlue,originY vnlm-, nmxinuuu X value.maximumYvnhn-.

(1111/1111: f\UlIl'.

JJr.<N i,/fi ,m: Displa .l·stlu-val n .'S

llr

thesnmcoutputvn rinble for dilfl'r l :1II.

alml ~'SI's ,

:l.7.a Stau dar d i z ing theInt e rface

TIlf'kk-nlu'hindstnnd a n li1.illl-ttheuseriUI('rflw!'isroprovideits r-onsistenr structu re.

I-'IJ..:.:\.'; sho wstln-OSFjlllorif~1~'I('

o r

tlU'whnlow.:\ s ran heM~'Il,tlu-I't'si;.:.' hunkrsart-Oillin'nun-nuos tframooftilt,window(they nrcphu'erlthen'hytill' (lSF/illulirwindowII11UllIl:l'r ) , IIItln-upper- leftremer thereis abuttonforthe s.rst"lIlJlIl'IIlI ,fullm\',,<1!l.rallix-oubutton,nudI;L~tl.\",alIlin/ m fL.'X button. Below thix'·:-;.\·~l l·lllbur'i~tilt' nw1it"a titllloSpt'l'ifil'"tuonnbar" .Whe n uuite mfW lIItill'

!IWIIllhal'i~spl('(·lf·d .aIlll'JIIIwillpulldown lJclll'llthit.The "wo r kspace"willhold

;lliditiounlPOll'liPwindows Ill'lwrlHlpssta tkdisphl~'windows.

37

(52)

- ' ,·"", 1

File

i

~.~nl""'~l<""

.

~

-- -;...

-'

,- - --- - - -_.- - - - -

-",

~ ~(~'"' '''1\1",,,,

--' --- -- -- ---l ---- -- ----.- - - -_., --

fl,',""F.. ""

'---- - - -- - - - - - _ ._ .

iiirill' topofthesen~'uHllf[ ln'Ul'atJIitII"ll l l'tll1/~.\':;' l'u llm r"with Qll il.,i,'ilt" HUI' unrlDisp layill' lII:-;. TIlt'"lI'lIrks jJl11"('" furIih-vii -willAis 1I1l' slatic"'HI'OIuurh-rIIll'

l:ilJ Hlhiliri {'s of t!lt'pNll:rmm;t'UUIl'llll l' d ll\'till'itl!prf;1l1'.

whirh an'pWI·idpdfur sitllplif,l'ilil-l:r.lu- dt'vdlljlwl'JlIofiJll.l'lfm"f's.,\lol"<'o\'l'r,du p lira.

3.7.4 Choosi ngtheWidgets

Afterid mlt ir)~ ll/!;themain Iuurtions mul stalu[;,rrliziu l\t!lt·g,ral!hindiul"rrill" ',tlil'

(53)

Resize SPICE.PAC(orFIT.S)MAINMENU

«lu i!

I

~'il e

I

Roo

I

Displ ay

:--l;,,~':-p-~:n:- -r: r--: ,____ __ __ _____ ___,

r

~~:~~~;~~:~:~~:_;;~~ j : . -~~~~"! - ~:.~ - - - --_ :

---_ ._---- ---- .--- -

W"r1"'r"~" Pnp..pn' ·~:r& c<>nt.o'ner lforl'il, v'rWl nlll

d,opl" y .nllg..·h'cnlr..ult.

Fi~.3.8.Aduptedst.\'lruf GUI.

'!'Ill'Atlnum wii!gelNI'Iis1lS(~1furti ll'implomeutntlonoftheilltrrfaei',TIIt~princi- 1"11['I'm'lIlilf l'il'll~'lillglilt'Atln-na\\'id~I!1SI'T.isthatifisIIl:OllIlJ](lIl1~'l\va il;lhlepublk- ,1'llllniu Nt't while;\Iotjfisarounm'ruial product.

TIll'111'1aih ldt'Sl"fiplio llsIltl ll'widgl'l.S1IN{~1inthisappli cationfollows, Ovcrrtdow td ge tctes s

This widp;1'1b1111ll'lIIlH'roftll1'classSlwl1\\'idgf'tC lm;s, ItiNOIH' oftill'widgets 1'f1l\'ilhlh.,'tlll'Int.rinsirs. Its roleis10overridewindowIIlHmlgt~r. It.isIIsed for t' ri 'a l ingIltl! Hll~.

.FIlt JIIWidgl!tClnss

Thi~lI'illp;i'lisII1l1l'1Ilhl'r ofIll!'l'!m,s0111stl"aiJltWidgctChL~s,Ess entially,it contains [;l,nllliI'lllidl'sthurnn-usufulforiL<;.SClIlblillgthl' iuterfluX',Inthis applicatio n.itis llNl'll fill l'\llllrollillJ.::t1u']lI;\(,(~IIl\'lIt.of willgt'll\with respect to otherwidgets .controlling

'9

(54)

rt'si ~illl:oftill'l'!Jilrll"t'1I111lddi:iplnyiuJ.!:rlu-g"nl l' hk nlrcsutts.

BoxWidget Cl a ss

ThiswirlV;l'tis a !lI1'lllhl' roftIll'l'l,l~SC'11ll1l0sil l' \Yidg l'Il '!as s,Itilss islsillrlu-luvout, pllld nv;rnuxtrniurxou itlir-hihln-n:it];IYSII1I'1l1'Ill!hyfillingilltln-rowlirsl,tlu-n l~nlltill\li llg1\0\\'11 ,

ListWirlget Cl a ss

Comma nd W idgctClass

rall h adJuee!mnisIJIforLahdWillp;(, t( 'la:;,-;.11isn "hnuou-Hke"wi,lg"L Lab elWid get Cl a ss

(j n stifi,~l)or11pixmupillIIwindow.It smainllli"isI "provilh'IIHl"S.~lI l-\"\,,,IIll'IIWI'.

(I.is1\s(~ 1illthemeuusnudillI/I(' II11':'SlIW'art-n.

Text W id get Cl a ss

TIll' Te xtwidget.providt,sa wlndowwhich allowsallfll'pli,'ati " n t" dis!,I..,\' ;lIJoi,~lil IlIWorIllnrclinesoft(~X I.OptillllSlUI'provuh-d\IIall1l\l'tlU'USI'I-S1o;,ddSlTolll 'Mttl itswindnw,S(' lIN:1iforII Spl'I'ilil:lilriup;,alld1I1111lifytill'text illr.lu-l'llfrl' r.

3.7. 5 Gene ral Requ ir emen t s

The system1IH'1I11mlllllillsFile,Dis p layan dHUllit./'Ill s.TIll'lih ~disJlla ,van'ais alsocontained illthemainmenu.The fih- eun Ill'vil'w( ~dIL<';well:L-;1~ l j ll~1 1ut.1,1ll'~ur l"

rime.

(55)

\\'llf'lIl lwllSl' r dil'k!\Im l il"Qu it hUttllll,1tlilli' Upililtillj!wit hItwarning1Il1'!\.'NI~t·

!\11"\\'S III'.\\'111'11111I'u!\I're-lir-k... lint111~Filetnnron.IIII'IlII'UIIufthl'fill'1II1l111tJ.!;l·r 1'''Ir. Ill' wilh Il1Ill " I)!'>'Load,Save/tndPrint fo rIll'tfllrlllin~npcrarions Oilfill':';.

C;ulI~f'lflltdllsillJ!.lhl·IiI'·III/tilllrll'IIlI./tfll lHo rn e fnt~flillJ{bnr-kto th"IlM'T'ShUIlIP

'1'I11'n' ;m'I\\' ulislsinII" ,mainfil1'I!JI'UII,lilli'lis tforfill'Siuthecurrentc1ifl'f'IUr~', I Ill'••IIll'T lislrlltSIIIKlirc~'I"ri,'!\111l,1"rtit!'«urreut din-ctorv,\\'III'IIt''II'rtill'\lSf'rI'lkk.,

"IIIII"iii..lisl "I' t.\'I HO<; illa lilt,na llll'1\.>;'~lI rn1,1jil,'111mII'.1111'Inlll'luftht, rurrout lilt' Hall'"dlallgl'.>;iHl I IIl~1ial.r-l.\'.WIll'lll'VPTthl'lIsndil:ksou n directorylist.t.heeO/lll'uts tiliii" list,.[m ll)!I'SIII show,hi'!ill'Silltho newdil"I'I:tuT.I'.\\'lll'lltill'Sav ehntronis S,' Ii'I'II'lI,ttu-fih-S,\'sll'lllSIl\'I'Stit"r-urreutHle.alliinwnrnill~IIlt'li/mgt'"An-you sure I"dlalJl-\"Ih,'

fil ,·'r

apIII'1IT",Wh,'nthoIIIWT"'ieks 1>11Load.till'till'S~~II'1llIm ll[Still' Iii"in111.'lil" tlislllayarc';I,\\'Ill' llt.h"ILo;('t1'I10tllSl'SPrhn.thernrrcut fill' bjlrillll'ti.

\\"I..,n IIIl'USf't diC'k:;oulilt'Display button,Ihema in meuu ofthe Displa y I".rlsllt. \I'S111' wilhu~ttllI P(Ifrtuumaur]ImtlOlls forditf" Tc'ul1I1l1\1r~,a~rnllJlof

•·..,lllw'r"IIIIlII.,llSfi'rdll"ll'oillj.:.tIl"st~'ll';uulnllo r f"r"71II'hil~;III,n'Sl'ur a[iulIof"'SI1It:- allll :1Sf'1of11111I1Il1!; {liT7.HlIlII ill~th.'l,ic'IU Tc'.Th-n-ab'llis a\1~ITk.>;lm("(~fllrtib"l m;u l!

11..,n'Sn lts,au.l"Hm lllillll ll'IlIIIIIlSfor('ulIIl'arill~tr:;IIIL,ofdilfetclltalllll~'S('s.Whl'lI tht' llSl'Tso·I....·I:o.11 11 11pa Till~T1'Suhs,allulh(~rt1isllla~'window1")11.'1lipttlpresentIhe

~rllllhh'all"l'!\\lIISIlf,l il{I'I't'1l1Hlml.\·S!'s.

(56)

Chapter 4

Building the Interface

St!Uj ll~t.heapp!i(' Hti Ulll'l'SOlllTt'Suudhlli Jdi llJ.:III(' il[llllin ll,iollStl'lll'l llfl';\l"t'IIIl' initi alst.epsofd('wltlpilll-(aI!:rnphil' alllSl'1'ilLll'r[al'I', '1'1\1'ru-xt.~'l·lilltl.~IIn,vi d ,·a dt'taill'dfJO's c' riptioll of tll('sPsteps.

4.1 Application Resource Setting

4.1.1 Resources

Ow'ofthe-Il11L~tpuwerfulfl' lII Url'!iofXlis1.111'/l·.~(Jlln·,'mannsp-r,amll",'Uol l"f

tothl'rm-ror-t.n'pn'SI 'llt, lliulI[orrllt'dil'rJl.For(':<1111I111".ifwr-WIIlIl,Iu,.;" 1,til"I,,,,t,fHr the:\I.IWllaLa b el\\'idW~l,\\1!«aushnplvst't11rl!.';flIIITI':\1.;\[01111"'1',h,>wi,II(I'lLnhel, aw lthe resourceIlHllla !{I'l'willperformullnpcnukmswhiehlin,'l'qllin'd III liS"Ill"

n~l ll\i n~ 1fo nt illstrill,L!;swithin thiswid~(·t .

(57)

Xcoontmntcfororigin

yconunate>/- - - ---".L---,

: ; '" ]

lIighfit,!ht

!hil;kIlC~~ '-:;;:::========::::;::-"---

Width

Fill; ..\..1.H,'soll n~ I 'f'Xillllpk.

Top shadowcolnr Butt on shadow color

Highlight c;u!nr

Fore groundColor

E:wll widgl'linun .'\j:\lllf'llll lll"Ol-(flUlIha:;at.t.tib n t. l~sllliSodl1tc'<:[wuhitumr ddi uI'

Wlllll'tll l 'Illc'I ' ns[IUl l ltullwhig!'!,

'1'111'wil l!!.I'!dassItl~ ' I1rgalli~I';jall the nvailuhh-wjdg-t~lsintordat!'c1dlls.~I';j.\Vill- t!;.'IS un'1.\TtlI1IJ1,<:1 IOW'llu'rinto theSallll 'classwhcutlw,\·have~Oll](,utrrlburosill

Asshownill Fig ,:!.,), widgl,tshav ecertain1'llI lJ11101latrrlbutes.TheS('attributes lin 'slol"l',1ill,!I,'"Con'"widgd r-luss.which is tln: rootof thewidget dnsst rcc.

\\'!r"III'\'('ralliustnurr-of11purth'ularwhlg!'t.iscreated.it isI1s sod a\ c dwitha COllY '11'allntlril'III"SIhi ll arc'Tl'[a tf'dIII IIII'I\'id~l't cla."~.'rlll'sl'nttrihlltl'S1' 1mlM'dw uged l'illll'r11I'flll'f'Ill'after 1111'\\'idgl'lis C"rI'llh'd; t.h ey rnnalsnbo definedilla~l,,'('i a ltill' [' I{' a ll ,<:[" XII' l"lla ll ,l" rotill'pmg ram.

·13

(58)

4.1.2 Resource File

Tln'X 'loolktrnllm\'SIhl 'n'St11\IT" ~»fa w;d.<:,"1III hc'.~lll'I'i1i" 11din"'llrlltIIII'~"lll''''' nl l ll'atrherinn-theprogrumh;nlllll'; I" II" r al,'XI','nl;,111tinn-Fr.un wirhiun n',""III'I'"

fill-.L'l-;l 11~rln-n'~Ol1l"l','fih-1lu-1l~'1'"a ullI'I'nidl' IIII'1t.,r;1ll111,,,,k-anol-Ii~'1,,1'""II'"..t li n'wi d j.(I'l sinanXr \ tll('llilPI·IlJHll111.

SlH't'ifi,'Snrt'Slllll"C'1'nunu-fur n\1'1I 1 ~1'1in~l;llll'" illa111l1'l ic'III<l1"1'!i"1I1al"1 11:11"111,;1

\·,,1111' Iorrlnu \"l'SOll1n'c'.

Tilt,tllll,\'rr-qnin-nu-m fill'tIll' USI'

or

IIn'l-;"lHI 'I'lill i~that """w.~tt'I"""II"

L'l-;ill /\a1·I' s. mITI ' IiJI',~i llll ,li lit'sIll"S"III'''''", ,, J,'"f;]Iln'AI';]tll.Hl lli llfll \'i 'h",lIl"I"

ll-xrhilitvillrln-SI'''l'Ilil'mi,,""f !lOSIHII""'S :Iu,1111,'il"\':11111'1'['U'X/..\II ...II:',-li"111;11'1,li

4,1.3 Res ource Spociflcati o uSyntax

LIt'ItliJl!' within11rC'Sn llrl'I'lih-SPI'I'ifil"~11 rl'S"llIT"I'HIlII'f"r11I'HI'IlI'1I11l1iIlSlllll... ·"I a11·;C!J..:..t.a /l:rOlljJofwifll:l't1'i lhalhm'"IJ",Silll'"iuslallt'('nan ....;1~r<HlI '"I' wid!!,,·t:;

thnr1,1'i "Il,L(rotill'NUll"1·las.~.1'"II~rtJll I'"I'wi,I).:,"I:>Ihnt <Illhnvr- 11H'Sill""(1'''' ''11'' '' '

(59)

"alla~"""'lHtl'"itln-r ;,~111"'i!it-r-lir-utpr"~ l"alJJIll'a r-lussnfsanll»r. rdal",l pru).!;rallls.

'JII,'"",I " d ,j ' ~ ' I'"i»an",,,IIP'I>"'1'1','ili ,,"ti"l1xhuwJI,,'pnfhthroug htlll' II'id /-:l't iusrlllll'"

'I""1!l;'1 1111,..,1I,.. f"Huw"rl l "gall'I"'I" ~'"IIIiIparrir-uhuwid/-:I'I, ,\MlhoI>JI~·t,'11I1

\11"Ioi"" t:lll'1sllhllbil"'l~ill IIn'soun'r-sllI'dfit"atiol1runIll'scpnrau-dFnunone

I,,/lil

1 1/,,,1,,,,,

awl n"lilin 'sIhal\1'"knowIll!','Xill'r parent ill,..,tall"(' or t'lm;sunuu'nil 11",1" nI"'Ill!'"Xlwl ,.],i h l iuslllJl""('I'dil,..,snann-011thc right.Using1\11 asterisk

~"I'aratlll'j""a]l,.,lII"Hl.~I-hi ,trJil/.l/lI'hi,·h alloWS ns to Iudkuro thaian,\'ruuuhcrof wi,lg,'r....111111'III'I",al'1,,'lm "'1l 1111'pnn-utill~tilW'"OJ",~Ias.<;ont.held t und tl]('child

\1,,,1:11',',·'11-das...'III till' right,

l'iw11IS 1tu-tuill nrl'Ml1ll' ,"-sp''' 'ilkal iullisrhe umur-ofIIIl'ros oun'e. TllI'll'S(llIlTl' 11;'1111'i....r" Il"II....lbv11l'"llJll,"ptiow,llI'llitt'S pll1't'.alldtile\'1lhwofthercsouru-. AllY Ii,,,,thm

""'I,rt "

wuhau r-xr-hunmionpninr(!)ill

II

!,'SOl1TI 'fill'isaconuucntlineund

.\ S"Iof ///l H'tI..,,, ·,-I'II [,oSis,'slnhlislJ('dill XTOrl'sol\'l~potr-ntialeoutiir-rshetweell n'~IlIllTI'Spl'l'ilil'a l i" llSwhich;lt l"II '1,1to Nt'l Ill(' S!lU!l'resourceforthesamo widgl't.

I'll,·...." rul,':->rh-u-nulm-whichn'snurr-r-spt','ifil'atinuisrukcniutonccouut iutilt ease ,,]"'""lIlliel"".TIll'followill/-:mIl'Sapplvill ilSO't'lldilll\" order :

I.I'll"l,iITllrdl~·,Iftln- iuxratu-r- allddfls..~IlIl1U\'Sill a resource spctificllt.iou1I1l1N!

11I:lIdl:ldil'lI1Iri,'rard,~',':mf'fI!/ Oftill'line is ignored.

15

Références

Documents relatifs

Three test programs were carried out at the C-CORE Geotechnical Centrifuge Center in an attempt to validate the centrifuge as an effective tool to model the

Figure 4 .2a: Euhedral brown zircon prisms from the tonalite gneiss 91 Figure 4 .2b : Zircon prisms from the granite gneiss 91 Figure 4 .2c: Euhedral zircon prisms from

After studying the nature of the S-box interconnections in a basic SPN, it is not hard to see that, if a linear approximation of the overall cipher is obtained by

The auth or has granted an irre voca ble non..exclusive licence allowi ng the National Library of Can ada to rep rodu ce, loan , distribute or sell copies of his/ her thesis by

The auth or has grant ed an irrevocable non-exclu sive licence allowi ng the National Libr ary of Canad a to reprodu ce, loan, distribute or sell co pi es of his/her thesis by any

The author has granted an Irrevocable non-exclus lve licence allowin g the National Ubrary of Canad a to reproduce, loan, distribute or sell copies of his/her thesis by any means and

The author has granted an irrevocable non-exclusive licence allowing the National Library of Canada to reproduce, loan, distribute or sell copies of his/her

The author has granted an irrevocable non-exclusive licence allowing the National Library of Canada to reproduce, loan, distribute or sell copies of his/her