From ffd44e614558629eb09d755c890fb390257ced76 Mon Sep 17 00:00:00 2001 From: Robert Sesek Date: Sat, 4 Aug 2007 18:22:53 -0700 Subject: [PATCH] Trying to get the register viewer to work * Source/NSXMLElementAdditions.m: New category that provides access to attributes that NSTreeController can't access * MacGDBp.xcodeproj: Added NSXMLElementAdditions.m * Source/DebuggerConnection.m: ([DebuggerConnection dataReceived:deliverTo:]): Print out the data we're receiving to make debugging easier ([DebuggerConnection updateStackTraceAndRegisters:]): Send the context_get command and receive the data ([DebuggerConnection registerReceived:]): New method to handle the received register packet * Source/DebuggerWindowController.m|h: Added _register and a setter for it ([DebuggerWindowController setRegister:]): New method * English.lproj/Debugger.nib: Added a tree controller and tried to hook it up properly --- English.lproj/Debugger.nib/keyedobjects.nib | Bin 14835 -> 15897 bytes MacGDBp.xcodeproj/project.pbxproj | 4 ++ Source/DebuggerConnection.m | 17 ++++++- Source/DebuggerWindowController.h | 3 ++ Source/DebuggerWindowController.m | 14 ++++++ Source/NSXMLElementAdditions.m | 47 ++++++++++++++++++++ 6 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 Source/NSXMLElementAdditions.m diff --git a/English.lproj/Debugger.nib/keyedobjects.nib b/English.lproj/Debugger.nib/keyedobjects.nib index 3d6b98416e02fb20c9073812bceb35d7044786f5..3bde43c50eabf5743345baf4e6ba90155c9e3275 100644 GIT binary patch delta 6546 zcmZ`-2YeJo+uyyL*}KcNz25KkddcnGE+AE;M`|d66j}($5dtCQk`OS$?b<+J5G2Zr zA|ge>5BUHCh>A235kz|LofnW^qqVWE{-0x;?cK`Ft^Ze)kOv%lPk6)i!guk|I z#6X-B77IrSD~02QZwcQPP7qG6-G{%LFaioVffs~8DqsK$nu2DaC1?ZMg05g7h=F0C z5DW)JU<4QmMuAdL397(oPz_!KJa_}V3El$#LiHpt8GMN9kHB;=3)P>2*>;7@Q5+=n=* zf&wUn6m-EhFdLQ&E(tEdIIMt`unJb-%i(BP4aW$k!?Ex+SOZ^&$E!KWVPx;Rb7S#%Y5ec^3}_6R zU{#!eJIS5mTKA1tm9*T2HN%>N=Agwq&;od{R=K1uJtMtnXou30%6Mrpsydd$@++S= z^D;6MM`q3-Gm)%{%2-*Kl9u~X9PNM^v zAP)=$`P>EWKioy`5_g&Vqn7pAJ7vdXg+<7lIFiL*KO^zd(#lT7u~D&-%AIJaV(w}~ z$R(iHTr_yAhE^FUpAX7G98}a+`U=y>fU)zy*njfTzNn<2sH70_(Ll!w(Sk1EbubP^ zJ05fvmU8E~Ke;>HT@>rmT+&)Q#c!x>>-Tz}BM5bQ2TVX+CZaB7sLMm{KKFpTRr{X5 zo$p2D6fhMbKS0QG?i`O}++*$uf?o5treB2403RdhCkPr(LIIBpcwC5FS^JkO9gVF)yvjkA-p*|Vy$Z4R;2(j-_0sFk<0(n) z4a%)3t%~QzGK*r>vF9XM2kgSOTml)BA>hL7f>?2^Ft0N9Y&^uvclEZA^NOUcT#`&m zJ%8j=O&0&dAYKmE)`L6qIN1Q!JvVelK2kC2@xpv1z((*h*o27s1#}ja^0=DEZ9Hz_ zaVugfkre3GdU^f^dVy_7H%Ophds3ia7uXHw!1Rpl9^Ic;b$0$!lbJ;oNlzMdeHxsZ56&cYolI@= znG?myRfq@O3$`Nl&;Q%vO>pa}#pU%DJv{Diu=s8+X-{TU;wc%qq~X79 z*3PbSUENtbit~yxS%Iqj%5nl zVr3{r)41=r=G;=QmP=B{HRj&s#&X@c`J9pyaS1Mfmiu#DYc9goaGg0h+Lb77EsuwG zVF|QwLnppxF1{zZilH43x*Oa`nnqtiDXJMP6AfLBm*a6P6JrEDQHkngiJnv=$9g5P z^_G*?6X+{ItpswcGx9`^S~aLl*2!`#dM-lVA;iLZHAS+w*t_WOYD#M*FJD%F+^+We27e703J)RL|;?SbQ)_ zl)RzED6@;JMwPI+q^8f)t)(KF>#e7aM7=mBB*}|n zZG~-x?c_fe+EG!T%5v~^=6Uxu&3?kKkl(2a$I|AOzssc;&a#{KX=@Fu!)CG^o8ha(f^8;ioOxmiB^hM ziM|)@65SMw#2RtJCJu<3irb5OihGMQ#Qnrs;vDe+@epxLTp~`0-w{t1PZ!S=&l1lT z&lN8buM+<#-Y7mOJ}Le~d|x7#q)22Eg@lx-B_@ea(pb_;@~WhZq?@F#Bu7#rDU-w{ zm6FktcO}y$A4_IR=1Ue!)=GYp?3J97T#-CTfhn>?iZSJ-lx8U{Qd*_FoYE$xT}p?P zfhixP%u89B@^i|elnW{MrKD6X)k^hJqtq<5O6^j=G$>7#($YrKmeN+zj?y$~PicQ? zp|namUiz+dnskYDnY2#2Lb_7AR=QsLlk|x6k@SfSmkDK1CXz{HDw#{>mjz|1vWP6v zO4d%+S=LonC@YeUl#P;=$jW4K*}r7#WE*4~Wt(K1Wm{yw$$ppZlO30xls%SXa)BJk zpo+r*Zx`Vo#y01D%Jycz&o~WL!UZ7sD-lIOR zeyDz|!8Jk+)QB_^jZ`Dom^C(yLlf3C(X`OC(zMpJ*L2jRX*z2LX>v7rntV-6^QLBo z<`d1Qn$I+!YnE$%)NIgf*BsHD)ST8N&T1}dE^Dr6u4x`>C0bIe)>^cbwwbo0wud%T zo3Aa^j@C}reyOd~{;1ue{Z0G3cAxgR_Kfxq?HwJibLnVZQ(YTfJ6#7|XI)oacU?bS zmM%wEt{bnLpqr+frQ4+2q1&a~quZxDpgXKPsyn4SqkE!H(QEWpeNdm4&}ZoT>9h1X z`u_TX`oa1_eX+hoU#5@i7wK2&x9Sh*59yESkLge7PwCI-&*?AdFX{i#U)5hX0E66M zG?)!mgWW(GTn3M!hoPsTw;{vO&yZ!vF$^#aG7K{m8AcjL8CDr~8IBts7)3^(kui2N zjxvrlPBcz7PBA7vFitnlFn(%pY1>;5I zW#bj&HIvC?G1*KGlhfojc};#((A3!UvZ<3P$5dh}GsR7nrqQO!rs<~Hrp2a}rXNf{ zn%0`un=YE}nF+JXOqpqOb8`oCC-bZ3?&jX+KIV*sxu3bed7yc$xyC%soG|m|H_a2x zADQQv=b2ZTzc;TouQ9JP?=l}YpEKXL7%V1>#bUEKEKZBh612QxX=`b3>1au_bBC>mew}bcGj-e9BZMq(mKhy*t*2J%vxt%Vg1&++PcQN-}=z{*oN5zHee%cQk&f7 zwMA^Kt+DMTTQ^&#ZHny!TdnOQ+rMoe+h*Ek*=F13+UDE7v@NtPv#qwRv8}Uhux+$$ zvTe3qx81bew%xVevpujqvOP)IaeIngZdck>_JQ`n_96B>`!M@(`v`lny~JK-kJ~Hl z)%G{+GwrkNv+Z;2^Xy;Pf4A?j@3QZ)@3SAUAF>~@AG2SuKe9h@;0~b!I;;+_BjR8j zjT}uJO&!f0d5(NX%rU}I>L_!RJ1QJw9IrY4?fBR+(=p32+mV>#nCDpP_{Oo_vD2~J zvDdNRagY*FfFdXKt`}x=7t|YMeT!!D(_@oHl2gv$M0Sv!}Cf z!r9N6>CATacUC*cI%}NcoCzoIe9yVS`IU2#bFp)YbD8sd=P%CVF3crx0Tp=iWw`pevRpZ?!LA{$F)rTqmg^nYMAv7oZ(TcF2VJLJSKK1E-R*Zr+-dIK z?h<#k`*rse_YC)J_t)-k+&{Pz=iC?E7u}cLSKQa!H{7?}ciexvAGjZTa1Zc^JSiTz zhxBMXdXLFt@q|4sJ?%Z+JUu);J-s~{p8lSE&j=6ind+J2ndkY!v%vF}XPIY%XQOA6 zXR~LEXQ$_s=Zxo^=Yr>==c?yV&l9h~8}Np_VQ<9Cc$<6sd2z5?|Y|u zr+Gj0e&^lcz3o%`XkVHy+n4W)`zm~uzAE2nU$t+nug3SfZ@h1U??c~o-wfX;zE6Fh z`9Al}^)2)*^R4o&@%`dE<~!{>>$~E+>3ishev?1qZ{_dpAM7vikMdXgC;7kfFY+(; zFYzz)*ZEiY6MOuJ{5Jy1fGVH~=mLg-DPRe-4rB+a0@Z=n0oBi*O92rdXN4XzLV6xTW$5KlUT92c zQfNVFVQ5k4>(JuR(okJ!W$3%m>d?=jEun3p9id&JL!tAb%b_cwyP?OaqEs@~o%%{@ zT55J`RqB}3n$+>BeCnI2Z>P>rU7dO`^+@XR)KjTvQ_rXVC!7-YgxiHXgww)Z!rjB^ z;Y9CnMR-DZYWSD%ui>rXZQHpA|>Dv)c#2*Po=m-;O9BCS95qUY%Cel9ADbhL8Es`GT9qAj%iu8{R ziVTV5M}|d;B2|$$A|FH+M81ivi)@SRiJXjFjp9*7)EM3T74a1G9!%&unCVVYV>am>tY+W*>8qIl>%gPBCYh3(O_v z3Ui&g#oT4?Gmlt|6|w{?VP&k6RkJ$Q$XZxCOR+B2!}{0&8)Cz3gk{)9Y!kLA+njC5 zzRbSDwq@J19oaNCzcbsF?arpNz1Ti%UpAA?X8W@P*}?1(b|_oG4r7P2BiLfLge_y^ rY$ZF69nW&?yX<@HWOh3HZ}t;*9=j0zFCYC01PwLeY^eV#*>C?3W(2M` delta 5439 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 + * + * This program is free software; you can redistribute it and/or modify it under the terms of the GNU + * General Public License as published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program; if not, + * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#import + +@implementation NSXMLElement (NSXMLElementAdditions) + +/** + * Return's the property's name from the attributes list + */ +- (NSString *)varName +{ + NSLog(@"name = %@", [self attributes]); + return [[self attributeForName: @"name"] stringValue]; +} + +/** + * Returns whether or not this node has any children + */ +- (BOOL)isLeaf +{ + NSLog(@"isleaf"); + return ([[[self attributeForName: @"children"] stringValue] intValue] == 0); +} + +/** + * Returns the value of the property + */ +- (NSString *)value +{ + return [self stringValue]; +} + +@end -- 2.22.5