From 983e33597d04bd15213396409fedc8c4b77ad9f9 Mon Sep 17 00:00:00 2001 From: Adar Porat Date: Thu, 12 Jan 2012 01:33:11 -0500 Subject: [PATCH] added reload button to TTTable error view --- src/Three20.bundle/images/reloadButton.png | Bin 0 -> 4063 bytes src/Three20.bundle/images/reloadButton@2x.png | Bin 0 -> 6706 bytes .../images/reloadButtonActive.png | Bin 0 -> 2861 bytes .../images/reloadButtonActive@2x.png | Bin 0 -> 3440 bytes .../Sources/TTDefaultStyleSheet.m | 18 ++++++++++++++++ src/Three20UI/Headers/TTErrorView.h | 10 +++++++-- src/Three20UI/Sources/TTErrorView.m | 20 +++++++++++++++++- src/Three20UI/Sources/TTTableViewController.m | 3 +++ 8 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 src/Three20.bundle/images/reloadButton.png create mode 100644 src/Three20.bundle/images/reloadButton@2x.png create mode 100644 src/Three20.bundle/images/reloadButtonActive.png create mode 100644 src/Three20.bundle/images/reloadButtonActive@2x.png diff --git a/src/Three20.bundle/images/reloadButton.png b/src/Three20.bundle/images/reloadButton.png new file mode 100644 index 0000000000000000000000000000000000000000..8342763025a50ae726556f1316a3ae59069b212c GIT binary patch literal 4063 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 T8a0~j{Bql1>@91KdB^-8GL9>= literal 0 HcmV?d00001 diff --git a/src/Three20.bundle/images/reloadButton@2x.png b/src/Three20.bundle/images/reloadButton@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c47752c121bb6df873eb726e5ac1328446f273ff GIT binary patch literal 6706 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 literal 0 HcmV?d00001 diff --git a/src/Three20.bundle/images/reloadButtonActive.png b/src/Three20.bundle/images/reloadButtonActive.png new file mode 100644 index 0000000000000000000000000000000000000000..2bf3fce281376ec3aaa1de0673f5a67141c608a5 GIT binary patch literal 2861 zcmaJ@c{r4N8y<`rOJdT=?lptxWXxbNa}0*D8)Zp!kl8S47Bgeb77{`nITTLoM0D&N zTehqzN;;x6NkpiWPsHbZqf?#lkFW2&uJ`>d*L~m5^ZcIscU^DlK^MCnl1h>w5NL;k zJ;6;l8f?9gZNjgbMM{-$P~_Qo@!VMfyl@hS2EtQWWE$YWAO+IgXe4T6NI%UC1QLVM zJ-m2cL}x68#Xyj@Fo*~STgV21%q$|*bWoTq#VzM7FK%$WPNCSP8fgZ{PYiNK)B7rXtOc;$r z4Zyk)Y`?@3u5hp*9*>RH*AEX5M}!+9Se!t86b6IY(l9X46C(7ukxU*bLXXLXe^nsR zxD*bZ&7-rJz?LG3%nIe%b;URcu&vC78qY2+bZ$HGg9V+^;_91Xd&*D4^dsF9c-?kQPZpM!Go>lKIK5)@T@G-*d#ll$4{A~8iz_H;D%&i|pdU9UQ z%-lgWH#c`=WMtHvu%0cqp7>ZUZ<(NO9-TE*IP>y~ij?dU_tjv=Zx(TzHs0Q2{vjbt zB}1>y|{AdMBAAwjYuc!!DRZ&?zN9|jr>NcXGW$hei zJRX0ox|-9{)D#6+SXhudec-?kC!y^%fkSUZEVH^~^JONn?TlB=g+S@IXP*FKMyvtIpFH*y3v!N99~vhnhX?0U_aHyzvKVG5+uX2``)dr z)W2=e%(~%PS0Wx78VU!EWXv}dEK2F`wOY|r!E4$p^-|xP?BW&ibqR3u2 zI#KPRLmkc~`BqI09FJ_LNhLtFUzN-++?fbax*a}|?}WZsRHV9%xLIqNBEM^`xVU&- z?rAz+$Eu{13Lz&puqP81T4r$O+%!3`;~*T_Bs#OYwzhV^>~KXCWWSb;Lu?3>`9`Gc zv45Ov?*MyadLU0+w7{|}z}dcmZoZuhHdDtq9dbyY)EAuE(f60IV>*R@?!79ZKzfdM zaOhWvx7!`W;lZEJp6!8v-;~5hg8Mo_)>6w=0 zS{t!#uD_iQ!5yyfTRg3KRYKWyIKFxDL7kL1OhGzL=!n4Gnwaa?ulGQbl1GDbS zQMgo{G^6}wIe%7_3nCvNT%F$AZxUmvrKA->oqnD)aed(XqMY7uzFk_xq)I_rU ze9NKWM<-f)x79UCu%IJF zh4B)dGKJ8H<=O0!6IhVr;ZX05=XuhmgP=3m+2W*Qc)sMbwz#7=uX>)_hI`n3X3yED zy(;ABXrCspsJ-h7J=yj3#`KrHV?g{{sO7r@6{*d%o0U#ea}SH%eqR7|6rqB#G2MeA zYCl4T+tcK=dWaSLQ9*%peXpdW*aOc7hjWyJl9esF{*M>qi&j9qAdwVukbCOr9mGx^ zKRYikuhTn9+j$0(v;s<$r%)&yl6cYwPdj z1j?Wh8qL2aAMiVoNHpl4L_bO^;vyf7x*qP9UiMitPCGAfb`vXJP6SuUR0+b%I)oRI zz+f=0d>R-U%CpJsN5BQA{*b!8PP7N|seXAmo|*86vgzkwvv=(Xr%XHHH|wW*_DVe;t&J5JFrSMw;8%B!x;Hz2QG6l&Y3 z&OC)p*ge(fh26i_Rac)*FjWa#_5^p0C-!SKD?>7;RSE|*WjQLA1Z2g{C%D(z&}N7l zf#{>N=lbtvu^V0-L2Zb1FGuF#J(*)7X499dtmn)S>%muJ$L6>JI+TF1MjItU^+J+GF(Dm@X(`K)QV~6DJv^i zgD4ZfEGC364Dr+sKxZDYW0zkKE^-1RA-{6TjrdXs^l1}t%e;(c81evCa zUytajtgMv9-k|(JMcW~?9;I%_F@f4aS-lrA_Or1u?_c&a)NBfxW{zL;XQbO*deH{l zAeQYOFK)WCYYC*Il<~|CD`%wJ=PdFrrKz5 literal 0 HcmV?d00001 diff --git a/src/Three20.bundle/images/reloadButtonActive@2x.png b/src/Three20.bundle/images/reloadButtonActive@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..97c7558d4c71f6152e674816429e33bb5e16ea3e GIT binary patch literal 3440 zcmaJ^dpMMN|DHq*B8)?|Xl9I@%_)P)DaJT8$gwDlIWWx0%s7``$E4jdB!|Iv&}fAy zhYV?WDYj@=YLHlVN<{}!i1d!#ZQtJ?`~IHmdYXCcvQZh~Oj!oyo-}*+c)(#meRz+i)oO z4+t;T9{Q)LLj+&23yVVmTUjD3NC*r9j6qr=(R;0}tM z@Lvy97L7xuV*POVzhcQ&_Rwe^kBx=H6B83H6Va9|P81wzYiqlqfkIix5Ek5ICXbk8 z!Q>izQ@~NUBo2+uqp_Ia4Mk!kE1qW$l{x+M2n_b$vP|w@X_6%jo(Bn!T1}^<@r(m>-QgpxdF*+3fzyvWyNzyvcgdfHbSwnE*uJx$KnLASoCjM^o?fm zSlnn98|>n51tt(lH0H+o4?KZ@^4fOP{?==ivj-Q z$XMDxcyYnIVD?+#HuMnx?B!1``5(Oe#kKjLT)4~(e50`cr_kTFWZknd{kv^ti@zJ6 z!jyG8N7mLW1OXoaP?UP$_6H=5%~b@mKm^U4D8kFz5_vgeb(oVARLyBxE^V*%I5^u9 zsOIUcc*!8;oq5`))w^Z2l27!~(MEf>kWu;6#I?@U*X5-u-3ZOFaem%OF=)CMG_5#a za4b{+>go>D^@A zk;JYHg~;bW7hP&?wf;>@uKm1PeduEV5{(A&#TDT-Z|Y-|s}`4*wg#%)@b;!4m{zMZ<%ZRAsVu3m-KM7@9BB64Q1Vw1yF1K@sT zp-|Xe?ek-cin>P+eWK&=HdWOv(LPT#7S>iiynitu7%UT-3+d6(?)33n$Y?WXpuf?c zJ>A=PJMhT$4aZhENEAv#4ZqK)@3aoQ`#WnU&ep|9xox1*KD8%D>14F%d_^xt;vNCoE0G%B3Uw)pWiR8H%~MV>o}x~G@P*(APiX zURqWb6XRg4y>J-h-x|@zd?vc;SAHsgU*g-W7Ng={fVm@`$5W?fa*n9xmX?>-J}OyX zU(em<-~Ca{i;gySCjb*lXu*OTX?s zJw4}6BLtH8ZlXD47cpiyD`+qG(&fvSr@Jz@@{?=F5@N4tHBeMt_szLB(_iS0S77>m zvuDSkE(3&JZ5cS{n#3Qh-ZW55k7zU~kSv`0yrLsNkV~`>-meeVe}J$iJDZ1EGD-J6 z?@F$RU+(eg^n?&${KD&&$~!WxNDNPRgFsV1_YNTAk3u}a!(jBd@lT%USDR@d5a=Lu`2<(M&4Ll1fvkgt6}Cc8NqN39U;O;k zvdzhBFO+K`+4ZY3caGy%+n~x471pMOxzU>{1BLZ882duQOijZcp{KjA8*mnKKwvi4 z#?(%GHFRa1ta%i?m(nuaY;0finOsrgQ<(J%NcD{Wg_bP`F)T??Lj*s=xyEM*4b1dH zz1xmase6jg#^|658m_A^ynbwUdELc&t-P{wuqc|USbhKeYr>8v>X9iLrj-Dzp)<9@ zJkPjx>X+KR^#(nQKL=O1pX`BObAovoR26i!7G52Zl#BYq%=F$kmBbAA=jA?RPPZD@ zanZlsk)}$ZaIMu{5DL6us@_tRlXFv=U+6n8z+nhZy0BLdMg?kGtA~l#`+;63)dbMv zf#v2N8e>^OqtT^-jn~y9Ig{pkAR>0FC+YKo)afv;ccOH_VQfHMpb-W9HGZu!U#`l( z*zG&R9x2rf`>X$9^)t$sBEt=Oq!R~4yPR8|6@^@k2v3#N-fje{{2DiAIrw^17BFPw z{*4K9uZE$XFLgDyhc6X`*b#uqcjteM&fF}JnAmK0%`H^X zF{FCgt@#N)(^|q`;V*{Asq_w4+H&tM9};&Cl7IRj+LMJX@_uq3cHW!%qjk@dHe32Y z@3oQObH?{xRwk4{o=roJng~B#neGrBg(v4#&~Uw-_}o|R8W#=S+-{*ux5LXc2aBnd zM-w}eU3=4lMna|QJ{}o2hbul@5C_9d)-Z$BPt&_?7{ihs!I2|g>Gzv<^AjtW3R>^I zEA2}6IZmzO0z_nlL+IG17b>Su&xOaP0LJ5KX|+f0Au*WqqKV#_75zycw8`U`(NO-7 zL?XFW#Cu#5$p2jOHmvFzE>XQYBxDM#**m(Y?nV)JXSu+@>)g54SwlvSeygYbe3?=e z!uXN1fi4wh5e;D0fcRDUaibayTRz|ldw1I=%#9E!UQuu9X&q*Q5rpbp5|?jw$ZH&Q zJh!P`$obbT-W+6Ds z$**cq?GdtXqxt|(Vcf^QF46>TjKb67D+`na5}Mh~o;Y%Hwy1FyGlJnLpAtM2gTFc) z|I9Oay4)WR({;r(&kJ5MrN*(V+y?u&Y24zlg4R=Edx1t?+yQUzoR%Od2AXqBE^;AD zw5;e3K4Fr&J4HVeX=isNsy>7XQZD2TUo^C&3w;JoUd@u`FAWrUE*PU2qaANNAL>}| z80*?b9A9XH;bIg+l^Tt5i`TkES}jqYoEH{LZ;HalnrQyw%%%=02qAwTh6=$Sj*C>) zwNWdfXT0QX+J_jXN$Q%QnVSW-S(6TD>3G=|{fb`5F6gPQPwJ2)kKKVDcP?sa&*nq6 zCpd@RAfIwO>@QY&5U`C4x>Vpi+&fqnvzuQ`-ek~F@cd) zq&euH5Pz%IF7tKWE&^pRt`R9+bdLP--vTI*ksC8HIRAEMhh&kD*H`Fmc zc=jDt|CpryXmd>>pS;5m)}PhyPESd}az4LV{8wuEC$ZQmQa(`nRwt;kx)Qfd(k8nz zmfuggL=kohX-``i2d}9*mBPABA#rG7=Zxq*-{2}*({N)a6z#6t?Zc%EUAJtaBqA}EWuJ`MimS05wcF4~fRKwA70O?;J zDdc{LoB2K0gy95$%#Jn3ZXU}c#|7B`NPAR8$klO^Q{0|z)N|UX2Q+PXc?}c+IB$05 UU}|9;YU3Zs!_^yC?;MfwA112hm;e9( literal 0 HcmV?d00001 diff --git a/src/Three20Style/Sources/TTDefaultStyleSheet.m b/src/Three20Style/Sources/TTDefaultStyleSheet.m index bc4e8e987e..b6a413c642 100644 --- a/src/Three20Style/Sources/TTDefaultStyleSheet.m +++ b/src/Three20Style/Sources/TTDefaultStyleSheet.m @@ -826,6 +826,24 @@ - (UIColor*)searchTableSeparatorColor { return [UIColor colorWithWhite:0.85 alpha:1]; } +/////////////////////////////////////////////////////////////////////////////////////////////////// +- (TTStyle*)tableReloadButton:(UIControlState)state { + if (state == UIControlStateHighlighted) { + return + [TTImageStyle styleWithImageURL:@"bundle://Three20.bundle/images/reloadButtonActive.png" + defaultImage:nil + contentMode:UIViewContentModeCenter + size:CGSizeMake(50,50) next:nil]; + + } else { + return + [TTImageStyle styleWithImageURL:@"bundle://Three20.bundle/images/reloadButton.png" + defaultImage:nil + contentMode:UIViewContentModeCenter + size:CGSizeMake(50,50) next:nil]; + } +} + /////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/Three20UI/Headers/TTErrorView.h b/src/Three20UI/Headers/TTErrorView.h index 36a15a2f97..1d5f411dde 100644 --- a/src/Three20UI/Headers/TTErrorView.h +++ b/src/Three20UI/Headers/TTErrorView.h @@ -14,19 +14,25 @@ // limitations under the License. // -#import -#import +// UI +#import "Three20UI/TTButton.h" @interface TTErrorView : UIView { UIImageView* _imageView; UILabel* _titleView; UILabel* _subtitleView; + TTButton* _reloadButton; } @property (nonatomic, retain) UIImage* image; @property (nonatomic, copy) NSString* title; @property (nonatomic, copy) NSString* subtitle; +@property (nonatomic, copy) TTButton* reloadButton; + +/** + * creates an error view + */ - (id)initWithTitle:(NSString*)title subtitle:(NSString*)subtitle image:(UIImage*)image; @end diff --git a/src/Three20UI/Sources/TTErrorView.m b/src/Three20UI/Sources/TTErrorView.m index d0e693a2db..4c7ddec88d 100644 --- a/src/Three20UI/Sources/TTErrorView.m +++ b/src/Three20UI/Sources/TTErrorView.m @@ -27,7 +27,8 @@ #import "Three20Core/TTCorePreprocessorMacros.h" static const CGFloat kVPadding1 = 30.0f; -static const CGFloat kVPadding2 = 20.0f; +static const CGFloat kVPadding2 = 10.0f; +static const CGFloat kVPadding3 = 15.0f; static const CGFloat kHPadding = 10.0f; @@ -36,6 +37,8 @@ /////////////////////////////////////////////////////////////////////////////////////////////////// @implementation TTErrorView +@synthesize reloadButton = _reloadButton; + /////////////////////////////////////////////////////////////////////////////////////////////////// - (id)initWithTitle:(NSString*)title subtitle:(NSString*)subtitle image:(UIImage*)image { @@ -72,6 +75,13 @@ - (id)initWithFrame:(CGRect)frame { _subtitleView.textAlignment = UITextAlignmentCenter; _subtitleView.numberOfLines = 0; [self addSubview:_subtitleView]; + + _reloadButton = [[TTButton buttonWithStyle:@"tableReloadButton:"] retain]; + [_reloadButton setImage:@"bundle://Three20.bundle/images/reloadButton.png" + forState:UIControlStateNormal]; + [_reloadButton sizeToFit]; + [self addSubview:_reloadButton]; + } return self; @@ -83,6 +93,7 @@ - (void)dealloc { TT_RELEASE_SAFELY(_imageView); TT_RELEASE_SAFELY(_titleView); TT_RELEASE_SAFELY(_subtitleView); + TT_RELEASE_SAFELY(_reloadButton); [super dealloc]; } @@ -116,6 +127,8 @@ - (void)layoutSubviews { totalHeight += (totalHeight ? kVPadding2 : 0) + _subtitleView.height; } + totalHeight += (totalHeight ? kVPadding3 : 0) + _reloadButton.height; + CGFloat top = floor(self.height/2 - totalHeight/2); if (canShowImage) { @@ -132,7 +145,10 @@ - (void)layoutSubviews { } if (_subtitleView.text.length) { _subtitleView.origin = CGPointMake(floor(self.width/2 - _subtitleView.width/2), top); + top += _subtitleView.height + kVPadding3; } + + _reloadButton.origin = CGPointMake(floor(self.width/2 - _reloadButton.width/2), top); } @@ -178,4 +194,6 @@ - (void)setImage:(UIImage*)image { } + + @end diff --git a/src/Three20UI/Sources/TTTableViewController.m b/src/Three20UI/Sources/TTTableViewController.m index 9409d68e2e..e21c6176c9 100644 --- a/src/Three20UI/Sources/TTTableViewController.m +++ b/src/Three20UI/Sources/TTTableViewController.m @@ -490,6 +490,9 @@ - (void)showError:(BOOL)show { TTErrorView* errorView = [[[TTErrorView alloc] initWithTitle:title subtitle:subtitle image:image] autorelease]; + [errorView.reloadButton addTarget:self + action:@selector(reload) + forControlEvents:UIControlEventTouchUpInside]; errorView.backgroundColor = _tableView.backgroundColor; self.errorView = errorView;