001 /* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016 package org.opengion.hayabusa.taglib; 017 018 import org.opengion.hayabusa.common.HybsSystem; 019 import org.opengion.hayabusa.common.HybsSystemException; 020 import org.opengion.hayabusa.html.TabData; 021 022 import static org.opengion.fukurou.util.StringUtil.nval ; 023 024 import java.util.List; 025 import java.util.ArrayList; 026 import java.util.Locale ; 027 028 /** 029 * ã€å»?¢ã€‘タブã?インã§ã€??目をå?割ã—ã¦è¡¨ç¤ºã™ã‚‹ã‚¿ãƒ–テーブルを作æ?ã—ã¾ã™ã? 030 * 031 * ※ ã“ã?ã‚¿ã‚°ã¯å»?¢äºˆå®šã§ã™ã?tabLinkã€tabList ã®ä½¿ç”¨ã‚’ã”æ¤œè¨Žãã?•ã?? 032 * 033 * ä¸?¤ã®å¤§ããªHTMLã‚’ã?タブを使用ã™ã‚‹ã“ã¨ã§è¤?•°ã®å¡Šã«åˆ?‰²è¡¨ç¤ºã§ãã¾ã™ã? 034 * åˆ?‰²ã•れãŸå„タブã?ã€ä¸?¤ã®HTMLã®ãŸã‚ã€ã‚¿ãƒ–é–“ã®ç§»å‹•ã«ã‚ˆã‚‹æƒ??ã®æ¶ˆå¤±ã¯ã‚りã¾ã›ã‚“ã€? 035 * ã¾ãŸã?ä¸?¤ã®HTMLã®ãŸã‚ã€ã‚¿ãƒ–ã«ã¾ãŸãŒã£ã¦å…¥åŠ›ã—ãŸå?ã¯ã€ã™ã¹ã¦ ä¸?‹¬é€ä¿¡ã™ã‚‹ã“ã¨ã‚? 036 * å¯èƒ½ã§ã™ã?(Formã‚¿ã‚°ã§ã€å?ã¦ã®ã‚¿ãƒ–ã‚’ã¾ã¨ã‚ã¦è¨˜è¿°ã—ã¦ã?‚Œã°) 037 * タブテーブルã¯ã€orientation 属æ?ã§ã€æ¨ª(horizontal)ã¨ç¸¦(vertical)を指定ã§ãã¾ã™ã? 038 * ã“れã¯ã€ã‚¿ãƒ–ã?ä½ç½®ãŒç•°ãªã‚‹ã ã‘ã§ã€æ©Ÿè?ã¯åŒä¸?§ã™ã?åˆæœŸå€¤ã¯ã€æ¨ª(horizontal)ã§ã™ã? 039 * 個ã?ã®ã‚¿ãƒ–ã?æŒ?®šã?ã€tab タグを使用ã—ã¾ã™ã? 040 * å¿?šä¸?¤ä»¥ä¸Šã?tab ã‚¿ã‚°ã‚?BODYè¦ç´?«è¨˜è¿°ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã? 041 * selectedIndex を指定ã™ã‚‹ã¨ã€å?期表示ã•ã›ã‚‹ã‚¿ãƒ–ã‚’æŒ?®šã§ãã¾ã™ã?番å·ã¯?ã‹ã‚‰å§‹ã¾ã‚Šã¾ã™ã? 042 * 043 * @og.formSample 044 * â—å½¢å¼ï¼?lt;og:tabTable 045 * orientation = "[horizontal/vertical]" タブã?æ–¹å?横/縦) 046 * height = "[100px / 100%]" ãƒ??ブルã®é«˜ã•(px OR %) 047 * width = "[100px / 100%]" ãƒ??ブルã®å¹?px OR %) 048 * selectedIndex = "[0..]" åˆæœŸè¡¨ç¤ºã™ã‚‹ã‚¿ãƒ–ç•ªå· 049 * > 050 * <og:tab lbl="?¥?¥?¥" > ... </og:tab > タブãã®ã‚‚ã? 051 * <og:tab lbl="?¥?¥?¥" > ... </og:tab > タブãã®ã‚‚ã? 052 * </og:tabTable > 053 * â—body?šã‚ã‚?tab) 054 * 055 * â—Tag定義?? 056 * <og:tabTable 057 * orientation ã€å»?¢ã€‘タブã?æ–¹å‘ã?横åž?horizontal)ã‹ç¸¦åž?vertical)を指定ã—ã¾ã?åˆæœŸå€¤:横åž? 058 * height ã€å»?¢ã€‘タブã?高ã•ã‚’ã?% ã€px ã€ã¾ãŸã? "auto" ã§æŒ?®šã—ã¾ã? 059 * width ã€å»?¢ã€‘タブã?å¹?‚’ % ã€px ã€ã¾ãŸã? "auto" ã§æŒ?®šã—ã¾ã? 060 * selectedIndex ã€å»?¢ã€‘å?期表示ã™ã‚‹ãƒšã?ジ番å·ã‚’指定ã—ã¾ã?åˆæœŸå€¤:0) 061 * style ã€å»?¢ã€‘å?期表示時ã?タブã«ä¸Žãˆã‚?style 属æ?を指定ã—ã¾ã? 062 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false) 063 * > ... Body ... 064 * </og:tabTable> 065 * 066 * â—使用ä¾? 067 * 横åž?horizontal)ã®å ´åˆã?横型ãŒåˆæœŸå€¤ã®ãŸã‚ã€ç„¡æŒ?®šã§ä½¿ç”¨ã§ãã¾ã™ã? 068 * <og:tabTable> 069 * <og:tab lbl="page 1"><jsp:directive.include file="paGE1.jsp" /></og:tab> 070 * <og:tab lbl="page 2"><jsp:directive.include file="page2.jsp" /></og:tab> 071 * <og:tab lbl="page 3"><jsp:directive.include file="page3.jsp" /></og:tab> 072 * </og:tabTable> 073 * 074 * 縦åž?vertical)ã®å ´åˆã?ãƒ??ブルã®é«˜ã•を指定ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?(px OR %) 075 * <og:tabTable orientation="vertical" height="100px" > 076 * <og:tab lbl="page 1"><jsp:directive.include file="paGE1.jsp" /></og:tab> 077 * <og:tab lbl="page 2"><jsp:directive.include file="page2.jsp" /></og:tab> 078 * <og:tab lbl="page 3"><jsp:directive.include file="page3.jsp" /></og:tab> 079 * </og:tabTable> 080 * 081 * @og.rev 3.5.6.5 (2004/08/09) æ–°è¦ä½œæ? 082 * @og.group (å»?¢)ç”»é¢éƒ¨å“? 083 * 084 * @version 4.0 085 * @author Kazuhiko Hasegawa 086 * @since JDK5.0, 087 * @deprecated マイクãƒã‚½ãƒ•トã®ã‚¹ã‚¯ãƒªãƒ—トã«ä¾å˜ã™ã‚‹ãŸã‚ã?å»?¢ã—ã¾ã™ã?tabLinkã€tabList ã®ä½¿ç”¨ã‚’ã”æ¤œè¨Žãã?•ã?? 088 */ 089 @Deprecated public class TabTableTag extends CommonTagSupport { 090 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */ 091 private static final String VERSION = "4.0.0.0 (2005/08/31)" ; 092 093 private static final long serialVersionUID = 400020050831L ; 094 095 private static final String CR = HybsSystem.CR ; 096 // private static final String JSV = "<script language=\"JavaScript\">ots.style.height = otab.offsetHeight ;</script>"; 097 private static final String JSV = "<script type=\"text/javascript\">ots.style.height = otab.offsetHeight ;</script>"; 098 099 private transient List<TabData> tabList = null; 100 private boolean orientation = true; // true:horizontal false:vertical 101 102 // 3.5.6.6 (2004/08/23) height 㨠width ã®åˆæœŸå€¤å¤‰æ›´ã€? 103 private String height = null; 104 private String width = null; 105 private String style = null; // 3.8.6.1 (2006/10/24) 106 private int selectedIndex = -1 ; // 3.7.1.1 (2005/05/31) åˆæœŸé¸æŠžã•れるペã?ã‚¸ç•ªå· 107 private int realIndex = -1 ; // 3.8.6.2 (2006/11/01) 実際ã®é¸æŠžã‚¿ãƒ–ã?ペã?ã‚¸ç•ªå· 108 private int realTabCount = -1 ; // 3.8.6.2 (2006/11/01) 実際ã®ã‚¿ãƒ–ã?ペã?ã‚¸ç•ªå· 109 110 /** 111 * Taglibã®é–‹å§‹ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doStartTag() ã‚?オーãƒã?ライドã—ã¾ã™ã? 112 * 113 * @return 後続å?ç??æŒ?¤º( EVAL_BODY_BUFFERED ) 114 */ 115 @Override 116 public int doStartTag() { 117 return( EVAL_BODY_BUFFERED ); // Body を評価ã™ã‚‹ã€? extends BodyTagSupport æ™? 118 } 119 120 /** 121 * Taglibã®çµ‚äº?‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doEndTag() ã‚?オーãƒã?ライドã—ã¾ã™ã? 122 * 123 * @return 後続å?ç??æŒ?¤º 124 */ 125 @Override 126 public int doEndTag() { 127 debugPrint(); // 4.0.0 (2005/02/28) 128 if( tabList == null ) { 129 String errMsg = "BODY部㫠TabTag ãŒå¿?šå¿?¦ã§ã™ã?"; 130 throw new HybsSystemException( errMsg ); 131 } 132 133 jspPrint( makeTag() ); 134 return(EVAL_PAGE); 135 } 136 137 /** 138 * タグリブオブジェクトをリリースã—ã¾ã™ã? 139 * ã‚ャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã? 140 * 141 * @og.rev 3.5.6.6 (2004/08/23) height 㨠width ã®åˆæœŸå€¤å¤‰æ›´ã€? 142 * @og.rev 3.8.6.1 (2006/10/24) style属æ?を追åŠ? 143 * @og.rev 3.8.6.2 (2006/11/01) selectedIndex ã®åˆæœŸå€¤å¤‰æ›´(0 â‡?-1)ã€? 144 */ 145 @Override 146 protected void release2() { 147 super.release2(); 148 tabList = null; 149 orientation = true; // true:horizontal false:vertical 150 height = null; 151 width = null; 152 selectedIndex = -1 ; // 3.7.1.1 (2005/05/31) åˆæœŸé¸æŠžã•れるペã?ã‚¸ç•ªå· 153 realIndex = -1 ; // 3.8.6.2 (2006/11/01) 実際ã®é¸æŠžã‚¿ãƒ–ã?ペã?ã‚¸ç•ªå· 154 realTabCount = -1 ; // 3.8.6.2 (2006/11/01) 実際ã®ã‚¿ãƒ–ã?ペã?ã‚¸ç•ªå· 155 style = null; 156 } 157 158 /** 159 * 出力ã™ã‚‹ã‚¿ã‚°æ–?—å?を作æ?ã—ã¾ã™ã? 160 * 161 * @og.rev 3.5.6.6 (2004/08/23) メソãƒ?ƒ‰ã‚?Horizontalã¨Verticalã«åˆ?‰²ã€? 162 * 163 * @return ã‚¿ã‚°æ–?—å? 164 */ 165 private String makeTag() { 166 if( orientation ) { 167 if( height == null ) { height = "auto"; } 168 if( width == null ) { width = "auto"; } 169 return makeHorizontalTag(); 170 } 171 else { 172 if( height == null ) { height = "200px"; } 173 if( width == null ) { width = "100%" ; } 174 return makeVerticalTag(); 175 } 176 } 177 178 /** 179 * 出力ã™ã‚?horizontal ã‚¿ã‚°æ–?—å?を作æ?ã—ã¾ã™ã? 180 * 181 * @og.rev 3.5.6.6 (2004/08/23) メソãƒ?ƒ‰ã‚?Horizontalã¨Verticalã«åˆ?‰²ã€? 182 * @og.rev 3.7.1.1 (2005/05/23) åˆæœŸè¡¨ç¤ºã™ã‚‹ãƒšã?ジ番å·ã‚’指å®? 183 * @og.rev 3.8.6.0 (2006/08/23) IE7対応ã?mp:multipage ã® width:100%; を削除 184 * @og.rev 3.8.6.1 (2006/10/20) action属æ?を追åŠ? 185 * @og.rev 3.8.6.2 (2006/11/01) selectedIndex ã¯ã€å?ã‚ã¦ã® OPENタブã¨ã—ã¾ã™ã? 186 * 187 * @return ã‚¿ã‚°æ–?—å? 188 */ 189 private String makeHorizontalTag() { 190 // 注æ„ï¼?**/ ã§ãƒžã?カー付ã‘ã•れã¦ã?‚‹è¡Œã?ã€ç¸¦æ¨ªã§ç•°ãªã‚‹è¨˜è¿°ãŒæ›¸ã‹ã‚Œã¦ã?¾ã™ã? 191 if( realIndex < 0 ) { realIndex = 0; } // 3.8.6.2 (2006/11/01) 192 193 StringBuilder buf = new StringBuilder( HybsSystem.BUFFER_LARGE ); 194 195 buf.append( "<table cellpadding=\"0px\" cellspacing=\"0px\"" ).append( CR ); 196 buf.append( " style=\"width:" ).append( width ).append( ";" ); 197 198 buf.append( "\">" ).append( CR ); 199 buf.append( " <tr valign=\"top\">" ).append( CR ); 200 buf.append( " <td id=\"otab\">" ).append( CR ); 201 buf.append( " <ts:tabstrip id=\"ots\" targetid=\"omp\" style=\"height:100%\"" ).append( CR ); 202 buf.append( " tabdefaultstyle=\"border:solid 1px black;padding:3px;\"" ).append( CR ); 203 buf.append( " tabhoverstyle=\"color:blue;\"" ).append( CR ); 204 /**/ buf.append( " tabselectedstyle=\"border:solid 1px black;border-bottom:none\"" ).append( CR ); 205 /**/ buf.append( " sepdefaultstyle=\"border-bottom:solid 1px black;\"" ).append( CR ); 206 // 3.7.1.1 (2005/05/23) 追åŠ? 207 buf.append( " selectedIndex=\"" ).append( realIndex ).append( "\"" ).append( CR ); 208 /**/ buf.append( " orientation=\"horizontal\">" ).append( CR ); 209 210 int size = tabList.size(); 211 TabData tab ; 212 for( int i=0; i<size; i++ ) { 213 tab = tabList.get(i); 214 if( tab.isOpen() ) { 215 buf.append( tab.getTab( style ) ).append( CR ); 216 } 217 else { 218 buf.append( tab.getTab( null ) ).append( CR ); 219 } 220 221 if( orientation && (i != size-1) ) { 222 buf.append( "<ts:tabseparator />" ).append( CR ); 223 } 224 } 225 buf.append( "<ts:tabseparator defaultstyle=\"width:100%;height:100%\" />" ).append( CR ); 226 227 buf.append( " </ts:tabstrip>" ).append( CR ); 228 buf.append( " </td>" ).append( CR ); 229 230 /**/ buf.append( "</tr><tr style=\"height:" ).append( height ).append( "\" >" ).append( CR ); 231 232 buf.append( " <td width=\"100%\">" ).append( CR ); 233 buf.append( " <mp:multipage id=\"omp\"" ).append( CR ); 234 /**/ // buf.append( " style=\"border:solid 1px black;border-top:none;padding:5px;height:100%;width:100%;\">" ).append( CR ); 235 /**/ buf.append( " style=\"border:solid 1px black;border-top:none;padding:5px;height:100%;\">" ).append( CR ); 236 237 for( int i=0; i<size; i++ ) { 238 tab = tabList.get(i); 239 buf.append( tab.getTabBody() ).append( CR ); 240 } 241 buf.append( " </mp:multipage>" ).append( CR ); 242 buf.append( " </td>" ).append( CR ); 243 buf.append( " </tr>" ).append( CR ); 244 buf.append( "</table>" ).append( CR ); 245 246 return buf.toString(); 247 } 248 249 /** 250 * 出力ã™ã‚?vertical ã‚¿ã‚°æ–?—å?を作æ?ã—ã¾ã™ã? 251 * 252 * @og.rev 3.5.6.6 (2004/08/23) メソãƒ?ƒ‰ã‚?Horizontalã¨Verticalã«åˆ?‰²ã€? 253 * @og.rev 3.7.1.1 (2005/05/23) åˆæœŸè¡¨ç¤ºã™ã‚‹ãƒšã?ジ番å·ã‚’指å®? 254 * @og.rev 3.8.6.0 (2006/08/23) IE7対応ã?mp:multipage ã® height:100%; を削除 255 * @og.rev 3.8.6.1 (2006/10/20) action属æ?を追åŠ? 256 * @og.rev 3.8.6.2 (2006/11/01) selectedIndex ã¯ã€å?ã‚ã¦ã® OPENタブã¨ã—ã¾ã™ã? 257 * 258 * @return ã‚¿ã‚°æ–?—å? 259 */ 260 private String makeVerticalTag() { 261 // 注æ„ï¼?**/ ã§ãƒžã?カー付ã‘ã•れã¦ã?‚‹è¡Œã?ã€ç¸¦æ¨ªã§ç•°ãªã‚‹è¨˜è¿°ãŒæ›¸ã‹ã‚Œã¦ã?¾ã™ã? 262 if( realIndex < 0 ) { realIndex = 0; } // 3.8.6.2 (2006/11/01) 263 264 StringBuilder buf = new StringBuilder( HybsSystem.BUFFER_LARGE ); 265 266 buf.append( "<table cellpadding=\"0px\" cellspacing=\"0px\"" ).append( CR ); 267 buf.append( " style=\"width:" ).append( width ).append( ";" ); 268 /**/ buf.append( "height:" ).append( height ).append( ";" ); 269 270 buf.append( "\">" ).append( CR ); 271 buf.append( " <tr valign=\"top\">" ).append( CR ); 272 buf.append( " <td id=\"otab\">" ).append( CR ); 273 buf.append( " <ts:tabstrip id=\"ots\" targetid=\"omp\" style=\"height:100%\"" ).append( CR ); 274 buf.append( " tabdefaultstyle=\"border:solid 1px black;padding:3px;\"" ).append( CR ); 275 buf.append( " tabhoverstyle=\"color:blue;\"" ).append( CR ); 276 /**/ buf.append( " tabselectedstyle=\"border:solid 1px black;border-right:none\"" ).append( CR ); 277 /**/ buf.append( " sepdefaultstyle=\"border-right:solid 1px black;\"" ).append( CR ); 278 // 3.7.1.1 (2005/05/23) 追åŠ? 279 buf.append( " selectedIndex=\"" ).append( realIndex ).append( "\"" ).append( CR ); 280 /**/ buf.append( " orientation=\"vertical\">" ).append( CR ); 281 282 int size = tabList.size(); 283 TabData tab ; 284 for( int i=0; i<size; i++ ) { 285 tab = tabList.get(i); 286 if( tab.isOpen() ) { 287 buf.append( tab.getTab( style ) ).append( CR ); 288 } 289 else { 290 buf.append( tab.getTab( null ) ).append( CR ); 291 } 292 293 if( orientation && (i != size-1) ) { 294 buf.append( "<ts:tabseparator />" ).append( CR ); 295 } 296 } 297 buf.append( "<ts:tabseparator defaultstyle=\"width:100%;height:100%\" />" ).append( CR ); 298 299 buf.append( " </ts:tabstrip>" ).append( CR ); 300 buf.append( " </td>" ).append( CR ); 301 302 buf.append( " <td style=\"width:100%;height:100%;\">" ).append( CR ); 303 buf.append( " <mp:multipage id=\"omp\"" ).append( CR ); 304 /**/ // buf.append( " style=\"border:solid 1px black;border-left:none;padding:5px;height:100%;width:100%;\">" ).append( CR ); 305 /**/ buf.append( " style=\"border:solid 1px black;border-left:none;padding:5px;height:100%;\">" ).append( CR ); 306 307 for( int i=0; i<size; i++ ) { 308 tab = tabList.get(i); 309 buf.append( tab.getTabBody() ).append( CR ); 310 } 311 buf.append( " </mp:multipage>" ).append( CR ); 312 buf.append( " </td>" ).append( CR ); 313 buf.append( " </tr>" ).append( CR ); 314 buf.append( "</table>" ).append( CR ); 315 buf.append( JSV ).append( CR ); // vertical 時㫠IE7ã§ã‚µã‚¤ã‚ºã®å–り方ãŒç•°ãªã‚‹ç‚ºã®å¯¾ç–ã? 316 317 return buf.toString(); 318 } 319 320 /** 321 * è¨å®šã™ã‚?タブオブジェクトをã€å?部変数(List)ã«è¿½åŠ?—ã¾ã™ã? 322 * 323 * BODY 部ã«è¨˜è¿°ã•れã?タブオブジェクトをé ?•ªã«è¿½åŠ?—ã¾ã™ã? 324 * タブã?インã®ã‚¿ã‚°ã‚’å?力ã™ã‚‹å?åˆã‚‚ã€ã“ã®é ?•ªã§ä½œæ?ã—ã¾ã™ã? 325 * 326 * @og.rev 3.8.6.1 (2006/10/20) action属æ?を追åŠ? 327 * @og.rev 3.8.6.2 (2006/11/01) realIndex ã¯ã€å?ã‚ã¦ã® OPENタブã¨ã—ã¾ã™ã? 328 * 329 * @param data タブオブジェクãƒ? 330 */ 331 protected void addTabData( final TabData data ) { 332 if( tabList == null ) { tabList = new ArrayList<TabData>(); } 333 tabList.add( data ); 334 335 // タブãŒé¸æŠžã•れã¦ã?‚Œã°ã€ãã®å€¤ã‚’é¸æŠžç•ªå·ã¨ã™ã‚‹ã€? 336 if( realIndex < 0 && data.isOpen() ) { 337 realIndex = tabList.size()-1 ; 338 } 339 } 340 341 /** 342 * selectedIndex ã§è¨å®šã•れãŸã‚¿ãƒ–ã‹ã©ã?‹ã‚’判æ–ã—ã¦è¿”ã—ã¾ã™ã? 343 * 344 * ã“ã?メソãƒ?ƒ‰å‘¼ã³å‡ºã—ã?ã€å„タブã‹ã‚‰ï¼‘回ã®ã¿æœ‰åйã¨ã—ã¾ã™ã? 345 * 呼ã³å‡ºã™ãŸã³ã«ã€å?部変数 realTabCount をカウントアãƒ??ã—ã¾ã™ã? 346 * ã¤ã¾ã‚Šã?ãã?æ•°ãŒã?タブã?個数ã«å¯¾å¿œã—ã¾ã™ã? 347 * タブã?ã€DELETE ã¨åˆ¤æ–ã•れるケースãŒã‚ã‚‹ãŸã‚ã?å®Ÿéš›ã®æ•°ã‚ˆã‚Šå°‘ãªã登録ã•れã¾ã™ã? 348 * ãã?ã¨ãã«ã€ã“ã“ã§è‡ªåˆ??身ãŒé¸æŠžã•れã¦ã?‚‹ã“ã¨ã‚’判æ–ã—ã¦ã€å®Ÿéš›ã®é¸æŠžã‚¿ãƒ–ã‚’ 349 * JavaScript ã«æŒ?®šã™ã‚‹ã¨ãã«ä½¿ç”¨ã—ã¾ã™ã? 350 * 351 * @og.rev 3.8.6.2 (2006/11/01) æ–°è¦ä½œæ? 352 * 353 * @return é¸æŠžã‚¿ãƒ–ã‹ã©ã?‹ 354 */ 355 protected boolean isSelected() { 356 realTabCount ++ ; 357 return (selectedIndex == realTabCount) ; 358 } 359 360 /** 361 * ã€å»?¢ã€‘タブã?æ–¹å‘ã?横åž?horizontal)ã‹ç¸¦åž?vertical)を指定ã—ã¾ã?åˆæœŸå€¤:横åž?ã€? 362 * 363 * @og.tag 364 * タブã?ã€ä¸Šã«ã‚¿ãƒ–ãŒä¸¦ã¶æ¨ªåž‹ã¨å·¦ã«ã‚¿ãƒ–ãŒä¸¦ã¶ç¸¦åž‹ãŒã‚りã¾ã™ã? 365 * ã“ã?属æ?ã§ã¯ã€æ¨ªåž‹ã?ã€horizontal ã€ç¸¦åž‹ã?ã€vertical を指定ã—ã¾ã™ã? 366 * æŒ?®šã?ã€æ–‡å—å?ã®æœ??ã®ä¸?–‡å—を見ã¦ã?‚‹ã?‘ã§ã™ã?ã§ã€Hã‹Vã§ã‚‚æ§‹ã„ã¾ã›ã‚“ã€? 367 * åˆæœŸå€¤ã¯ã€æ¨ªåž?horizontal) ã§ã™ã? 368 * 369 * @param ori タブã?æ–¹å‘ã?横åž?horizontal)ã‹ç¸¦åž?vertical)を指å®? 370 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 371 */ 372 @Deprecated public void setOrientation( final String ori ) { 373 String ori2 = nval( getRequestParameter( ori ),null ); 374 if( ori2 != null && ori2.length() > 0 ) { 375 char ch = ori2.toUpperCase(Locale.JAPAN).charAt( 0 ); 376 if( ch == 'H' ) { orientation = true; } 377 else if( ch == 'V' ) { orientation = false; } 378 else { 379 String errMsg = "orientation ã®æŒ?®šã?ã€H(orizontal) ã¾ãŸã?ã€V(ertical) ã§ã™ã?" 380 + " orientation=" + ori2 ; // 5.1.8.0 (2010/07/01) errMsg ä¿®æ£ 381 throw new HybsSystemException( errMsg ); 382 } 383 } 384 } 385 386 /** 387 * ã€å»?¢ã€‘タブã?高ã•ã‚’ã?% ã€px ã€ã¾ãŸã? "auto" ã§æŒ?®šã—ã¾ã™ã? 388 * 389 * @og.tag 390 * 縦åž?orientation="vertical")ã®åˆæœŸå€¤ã¯ã€?auto" ã§ã™ã? 391 * 横åž?orientation="horizontal")ã®åˆæœŸå€¤ã¯ã€?200px"ã§ã™ã? 392 * 横型ã?å ´åˆã?ã€?auto" ã«è¨å®šã™ã‚‹ã¨ã€?«˜ã•ã?"0" ã«ãªã£ã¦ã—ã¾ã?¾ã™ã? 393 * å¿?šã€ãªã«ã‹ã?値(px)ã§æŒ?®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã? 394 * 縦åž?ã§ "auto" ã«è¨å®šã™ã‚‹ã¨ã€å„タブ毎ã«ä¸ã®è¨˜è¿°æƒ??ã«ã‚ˆã£ã¦ã€ã‚¿ãƒ–ã? 395 * 大ãã•ãŒæ›¿ã‚りã¾ã™ã?タブをåˆ?‚Šæ›¿ãˆãŸæ™‚ã«ã€?•和感ãŒãªã?§˜ã«ã™ã‚‹ã«ã¯ã€? 396 * 高ã•を固å®?px æŒ?®?ã™ã‚‹ã¨ã‚ˆã„ã§ã™ã? 397 * 398 * @param ht 高㕠(% ã€px ã€ã¾ãŸã? "auto" ) 399 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 400 */ 401 @Deprecated public void setHeight( final String ht ) { 402 height = nval( getRequestParameter( ht ),height ); 403 } 404 405 /** 406 * ã€å»?¢ã€‘タブã?å¹?‚’ % ã€px ã€ã¾ãŸã? "auto" ã§æŒ?®šã—ã¾ã™ã? 407 * 408 * @og.tag 409 * 縦åž?orientation="vertical")ã®åˆæœŸå€¤ã¯ã€?auto" ã§ã™ã? 410 * 横åž?orientation="horizontal")ã®åˆæœŸå€¤ã¯ã€?100%"ã§ã™ã? 411 * ※ 縦型ã?å ´åˆã?å¹?« px ã§æ•°å—ã‚’è¨å®šã—ã¦ã‚‚ã?有効ã«ä½œç”¨ã—ã¾ã›ã‚“ã€? 412 * 413 * @param wh å¹?(% ã€px ã€ã¾ãŸã? "auto" ) 414 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 415 */ 416 @Deprecated public void setWidth( final String wh ) { 417 width = nval( getRequestParameter( wh ),width ); 418 } 419 420 /** 421 * ã€å»?¢ã€‘å?期表示ã™ã‚‹ãƒšã?ジ番å·ã‚’指定ã—ã¾ã?åˆæœŸå€¤:0)ã€? 422 * 423 * @og.tag 424 * タブテーブルã«ã¯ã€è¤?•°ã®ã‚¿ãƒ–ã‚’å«ã¿ã¾ã™ã?åˆæœŸè¡¨ç¤ºæ™‚ã«ã©ã®ã‚¿ãƒ–ã‚’ 425 * 表示ã™ã‚‹ã‹ã‚’æŒ?®šã—ã¾ã™ã? 426 * ペã?ジ番å·ã¯ã€?ã‹ã‚‰å§‹ã¾ã‚‹æ•°å—ã§ã™ã? 427 * åˆæœŸå€¤ã¯ã€?ã§ã™ã? 428 * 429 * @og.rev 3.7.1.1 (2005/05/23) æ–°è¦ä½œæ? 430 * 431 * @param no åˆæœŸè¡¨ç¤ºã™ã‚‹ãƒšã?ジ番å·(0..) 432 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 433 */ 434 @Deprecated public void setSelectedIndex( final String no ) { 435 selectedIndex = nval( getRequestParameter( no ),selectedIndex ); 436 } 437 438 /** 439 * ã€å»?¢ã€‘å?期表示時ã?タブã«ä¸Žãˆã‚?style 属æ?を指定ã—ã¾ã™ã? 440 * 441 * @og.tag 442 * ts:tab 本体ã§ã¯ã€å?æœŸé¸æŠžæ™‚ã®ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒˆã‚’ã€defaultStyle 㨠443 * selectedStyle ã§ä¸Žãˆã‚‹å¿?¦ãŒã‚りã¾ã™ã?ã“れã¯ã€id 属æ?ã‚’è¨å®šã—ã¦ã€? 444 * 外部ã§ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒˆã‚’定義ã™ã‚‹å½¢å¼ã§æŒ?®šã§ãã¾ã›ã‚“ã€? 445 * ã“ã“ã§æŒ?®šã—ã?style 属æ? ã¯ã€å?別㮠tabTag ã«ä¸Žãˆã‚?style 属æ? より優先度㯠446 * 低ããªã‚Šã¾ã™ã? 447 * 448 * @og.rev 3.8.6.1 (2006/10/24) æ–°è¦è¿½åŠ? 449 * 450 * @param st タブã«ä¸Žãˆã‚?åˆæœŸ style 属æ? 451 * @deprecated クラスãŒå»?¢ã•れã¾ã—ãŸã€? 452 */ 453 @Deprecated public void setStyle( final String st ) { 454 style = nval( getRequestParameter( st ),style ); 455 } 456 457 /** 458 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã? 459 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã? 460 * 461 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?è¡¨ç¾ 462 */ 463 @Override 464 public String toString() { 465 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() ) 466 .println( "VERSION" ,VERSION ) 467 .println( "height" ,height ) 468 .println( "width" ,width ) 469 .println( "selectedIndex" ,selectedIndex ) 470 .println( "Other..." ,getAttributes().getAttribute() ) 471 .fixForm().toString() ; 472 } 473 }