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.html; 017 018 /** 019 * ã€å»?¢ã€‘タブ表示を行ã†å ´åˆã?å?‚¿ãƒ–ã«å¯¾å¿œã™ã‚‹ãƒ‡ãƒ¼ã‚¿ã‚’管ç?—ã¾ã™ã? 020 * 021 * タブ表示ã«ã¯ã€text , id , body ã®é ?›®ã‚’æŒã£ã¦ã?¾ã™ã? 022 * ã“ã?タブ表示ã«ã¯ã€tabstrip.htc 㨠multipage.htc ã®?’ã¤ã® JavaScript ãŒå¿?¦ã§ã™ã? 023 * text ã¯ã€tabstrip ã® tab ã«è¡¨ç¤ºã™ã‚‹æ–?—å?を指定ã—ã¾ã™ã? 024 * id ã¯ã€multipage ã® pageview ã® id を指定ã—ã¾ã™ã? 025 * body ã¯ã€multipage ã® pageview ã® BODY 部ã«è¨˜è¿°ã™ã‚‹ タブã?å†?®¹ã§ã™ã? 026 * タブã¨ã‚¿ãƒ–ã?é–“ã«ã¯ã€tabseparator ãŒæŒ¿å…¥ã•れã¾ã™ã?ã“れã¯ã€ã‚¿ãƒ–é–“ã®å¤§ãã•を指定ã—ã¾ã™ã? 027 * ä¸?•ªæœ?¾Œã? tabseparator ã¯ã€ã‚¿ãƒ–ã?é…置方æ³?ç¸¦ã‹æ¨ª)ã«å¿œã˜ã¦å¤‰æ›´ã•れã¾ã™ã? 028 * horizontal ã®å ´åˆã?ã€widt ã‚?100% ã«ã€vertical ã®å ´åˆã?ã€height ã‚?100% ã«è¨å®šã—ã¾ã™ã? 029 * è¨å®šæ–¹æ³•ã?ã€tabseparator ã® defaultstyle 属æ?ã« style 属æ?ã®å½¢å¼?width:100%)ã§æŒ?®šã—ã¾ã™ã? 030 * 031 * @og.rev 3.5.6.5 (2004/08/09) æ–°è¦ä½œæ? 032 * @og.group ç”»é¢è¡¨ç¤º 033 * 034 * @version 4.0 035 * @author Kazuhiko Hasegawa 036 * @since JDK5.0, 037 */ 038 public class TabData { 039 private final String text ; 040 private final String name ; // 3.5.6.6 (2004/08/23) id ã‹ã‚‰ name ã¸å¤‰æ›´ 041 private final String body ; 042 private final String style ; // 3.8.6.1 (2006/10/24) 043 private final boolean openFlag ; 044 045 /** 046 * コンストラクター 047 * 048 * @og.rev 3.8.6.1 (2006/10/20) action属æ?を追åŠ? 049 * 050 * @param text タブã?ãƒ?‚スãƒ? 051 * @param name multipage ã® pageview ã® id を指定ã—ã¾ã™ã? 052 * @param body multipage ã® pageview ã® BODY 部ã«è¨˜è¿°ã™ã‚‹ã‚¿ãƒ–ã?å†?®¹ã‚’指定ã—ã¾ã™ã? 053 * @param openFlag タブãŒé¸æŠžã•れã¦ã?‚‹ã‹ã©ã?‹ 054 * @param style ã‚¿ãƒ–ã«æŒ?®šã™ã‚‹ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒˆå±žæ?ã‚’è¨å®šã—ã¾ã™ã? 055 */ 056 public TabData( final String text,final String name,final String body, 057 final boolean openFlag,final String style ) { 058 this.text = text; 059 this.name = name; 060 this.body = body; 061 this.openFlag = openFlag; 062 this.style = style; 063 } 064 065 /** 066 * tab ã®ã‚¿ã‚°ã‚’作æ?ã—ã¦è¿”ã—ã¾ã™ã? 067 * 068 * 引数㮠style ãŒã?null ã§ãªã‘れã°ã€defaultStyle 㨠selectedStyle ã«è¨å®šã—ã¾ã™ã? 069 * ã¾ãŸã?タブå˜ç‹¬ã«ç›´æŽ¥æŒ?®šã•れã¦ã?‚‹å ´åˆã?ã€ãã¡ã‚‰ãŒå„ªå…ˆã•れã¾ã™ã? 070 * 071 * @param inStyle 外部よりæŒ?®šã•れるスタイル 072 * 073 * @return tabã®ã‚¿ã‚° 074 */ 075 public String getTab( final String inStyle ) { 076 return "<ts:tab " + getStyleString( style,inStyle ) + " text=\"" + text + "\" />" ; 077 } 078 079 /** 080 * pageview ã®ã‚¿ã‚°ã‚’作æ?ã—ã¦è¿”ã—ã¾ã™ã? 081 * タブã?å†?®¹ã‚’表示ã™ã‚‹ã‚¿ã‚°ã‚’作æ?ã—ã¾ã™ã? 082 * 083 * @return pageviewã®ã‚¿ã‚° 084 * 085 */ 086 public String getTabBody() { 087 return "<mp:pageview id=\"" + name + "\">" + body + "</mp:pageview>" ; 088 } 089 090 /** 091 * タブãŒé¸æŠžã•れã¦ã?‚‹ã‹ã©ã?‹(true:鏿Š?false:通常)ã‚’å–å¾—ã—ã¾ã™ã? 092 * 093 * タブãŒé¸æŠžã•れるã‹ã©ã?‹ã¯ã€tabTag ã® term,termList ãŒæ?ç«‹ã™ã‚‹ã‹ã€? 094 * tabTableTag ã§ã€selectedIndex æŒ?®šã•れるã‹ã§ã™ã? 095 * 096 * @og.rev 3.8.6.1 (2006/10/24) æ–°è¦è¿½åŠ? 097 * 098 * @return タブãŒé¸æŠžã•れã¦ã?‚‹ã‹ã©ã?‹(true:鏿Š?false:通常) 099 */ 100 public boolean isOpen() { 101 return openFlag ; 102 } 103 104 /** 105 * defaultStyle 㨠selectedStyle を指定ã—ã?style属æ?を作æ?ã—ã¾ã™ã? 106 * 107 * style属æ? ã¯ã€ã“ã®ã‚¿ãƒ–æ§‹ç¯‰æ™‚ã«æŒ?®šã•れãŸã‚¹ã‚¿ã‚¤ãƒ«(defStyle)ãŒå„ªå…ˆã•れã¾ã™ã? 108 * ã“れã?null ã®å ´åˆã?ã€å¤–部よりæŒ?®šã•れるスタイル(inStyle)ã‚’é©ç”¨ã—ã¾ã™ã? 109 * ãれã‚?null ã®å ´åˆã?ã€ã‚¼ãƒæ–?—å?ã‚’è¿”ã—ã¾ã™ã? 110 * 111 * @param defStyle ã“ã?ã‚¿ãƒ–æ§‹ç¯‰æ™‚ã«æŒ?®šã•れãŸã‚¹ã‚¿ã‚¤ãƒ«(優å…? 112 * @param inStyle 外部よりæŒ?®šã•れるスタイル 113 * 114 * @return styleã®ã‚¿ã‚° 115 */ 116 private String getStyleString( final String defStyle, final String inStyle ) { 117 String tmp = ( defStyle != null ) ? defStyle : inStyle ; 118 119 String rtn = ""; 120 if( tmp != null ) { 121 rtn = "defaultStyle=\"" + tmp + "\" selectedStyle=\"" + tmp + "\""; 122 } 123 124 return rtn ; 125 } 126 }