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 */ 016package org.opengion.hayabusa.taglib; 017 018import org.opengion.fukurou.util.TagBuffer; 019import org.opengion.fukurou.util.ToString; // 6.1.1.0 (2015/01/17) 020 021import static org.opengion.fukurou.util.StringUtil.nval ; // 6.1.0.0 (2014/12/26) 022 023/** 024 * ガントチャートの繰り返しタグのフォーマットに使用します。 025 * 026 * iGanttBar タグは、TDタグの繰返し部に記述することで、個々のガントのタスクを作成します。 027 * これを使用する場合は、iGant タグを全体に一つ指定する必要があります。 028 * 029 * @og.formSample 030 * ●形式:<og:iGanttBar ... /> 031 * ●body:なし 032 * ●前提:headタグで、adjustEvent="Gantt" を指定してください。 033 * 034 * ●Tag定義: 035 * <og:iGanttBar 036 * type ○ 【TAG】ガント要素のタイプ(0:マイルストーン 1:バー )(必須) 037 * color 【TAG】バーの色(マイルストーンの場合は不要) 038 * colorNo 【TAG】バーの色番号で指定します 039 * src 【TAG】マイルストーンのアイコン画像(URIより設定) 040 * start 【TAG】開始日(YYYYMMDD)、または開始時間(YYYYMMDDHH24MM) 041 * end 【TAG】終了日(YYYYMMDD)、または終了時間(YYYYMMDDHH24MM) 042 * text 【TAG】ガント要素の注釈メッセージ。 043 * href 【TAG】入力した場合はガントにリンクを付加します。 044 * target 【TAG】hrefを指定した場合に付加されるリンクのターゲット 045 * barLink 【TAG】hrefで付加されるリンクの範囲にバー本体を含めるかどうか[true/false]を指定します(初期値:false) 046 * startInput 【廃止】(startDateInputと同じ)ガント要素の開始日に紐付く入力欄(開始日または終了日に紐付く入力欄が設定しなければガント要素は動かせない) 047 * endInput 【廃止】(endDateInputと同じ)ガント要素の終了日に紐付く入力欄(開始日または終了日に紐付く入力欄が設定しなければガント要素は動かせない) 048 * chbox 【廃止】6.9.9.2 (2018/09/18) 行選択のチェックボックス 設定値:[ROW.ID] 049 * startDateInput【TAG】6.9.9.0 (2018/08/20) 開始日付の入力欄のカラム名を指定します。 050 * startTimeInput【TAG】6.9.9.0 (2018/08/20) 開始時刻の入力欄のカラム名を指定します。 051 * endDateInput 【TAG】6.9.9.0 (2018/08/20) 終了日付の入力欄のカラム名を指定します。 052 * endTimeInput 【TAG】6.9.9.0 (2018/08/20) 終了時刻の入力欄のカラム名を指定します。 053 * moveStep 【TAG】6.9.9.2 (2018/09/18) ガントバーの移動歩幅単位(moveStep 1:日、2:時間、3:分) 054 * fixed 【TAG】6.9.9.2 (2018/09/18) 固定2分割するカラムを指定します。 055 * mStone 【TAG】6.9.9.2 (2018/09/18) マイルストーンカラムを指定します。 056 * balloon 【TAG】6.9.9.2 (2018/09/18) バルーンとして表示するカラムを指定します。 057 * keyInfo 【TAG】6.9.9.2 (2018/09/18) キー情報のカラムを、指定します。 058 * writable 【TAG】6.9.9.2 (2018/09/18) writable属性のカラムを指定します。 059 * report 【TAG】6.9.9.2 (2018/09/18) レポートカラムを指定します。 060 * zindex 【TAG】6.9.9.2 (2018/09/18) 表示の重なり順のカラムを指定します。 061 * id 【TAG】要素を一意に指定する値を指定します。(ガント要素を動かす際に指定) 062 * cost 【TAG】開始日、終了日を利用して積上げられる工数を指定します。 063 * capacity 【TAG】積上げの最大値(キャパシティ)を指定します。 064 * debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) 065 * /> 066 * 067 * ●使用例 068 * (通常ガント) 069 * <og:view 070 * viewFormType = "HTMLCustomTable" 071 * command = "{@command}" 072 * writable = "false" 073 * useScrollBar = "false" 074 * > 075 * <og:thead rowspan="2"> 076 * <tr> 077 * <td>[NOORDER]</td> 078 * <td rowspan="2" class="gantt zoom{@VZOOM}" style="line-height:normal;text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" > 079 * <div style="position:relative;left:0px;z-index:101; " height="100%" width="100%" > 080 * <og:ganttHeader 081 * startDate = "{@startDate}" 082 * endDate = "{@endDate}" 083 * zoom = "{@VZOOM}" 084 * daySpan = "{@daySpan}" 085 * /> 086 * </div> 087 * </td> 088 * </tr> 089 * </og:thead> 090 * <og:tbody rowspan="2"> 091 * <tr> 092 * <td>[NOORDER]</td> 093 * <td rowspan="2" class="gantt zoom{@VZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" > 094 * <og:iGanttBar type="1" colorNo="[COLOR]" start="[DYORDER]" end="[DYNOKI]" text="[PN]" /> 095 * <og:iGanttBar type="0" src="../image/dia_blue.gif" start="[DYORDER]" text="開始" /> 096 * <og:iGanttBar type="0" src="../image/dia_red.gif" end="[DYNOKI]" text="終了" /> 097 * </td> 098 * </tr> 099 * </og:tbody> 100 * </og:view> 101 * 102 * <og:iGantt 103 * margeRows = "true" 104 * fixedCols = "1" 105 * /> 106 * 107 * (積み上げガント) 108 * <og:view 109 * viewFormType = "HTMLStackedGanttTable" 110 * command = "{@command}" 111 * writable = "false" 112 * useScrollBar = "false" 113 * useParam = "true" 114 * numberType = "none" 115 * > 116 * <og:stackParam 117 * stackColumns = "NOORDER" 118 * /> 119 * 120 * <og:thead rowspan="2"> 121 * <tr> 122 * <td>[NOORDER]</td> 123 * <td>[PN]</td> 124 * <td rowspan="2" class="gantt zoom{@SZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@SZOOM}.gif');" > 125 * <div style="position:relative;left:0px;z-index:101; " height="100%" width="100%" > 126 * <og:ganttHeader 127 * startDate = "{@startDate}" 128 * endDate = "{@endDate}" 129 * zoom = "{@SZOOM}" 130 * calDB = "GE13" 131 * arg1 = "A" 132 * /> 133 * </div> 134 * </td> 135 * </tr> 136 * </og:thead> 137 * <og:tbody rowspan="2"> 138 * <tr> 139 * <td>[NOORDER]</td> 140 * <td>[PN]</td> 141 * <td rowspan="2" class="gantt zoom{@VZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" > 142 * <iGanttBar type="1" colorNo="[COLOR]" start="[DYORDER]" end="[DYNOKI]" text="[COSTCLM]" 143 * cost="[COSTCLM]" capacity="[CAPACITY]" /> 144 * <og:iGanttBar type="0" src="../image/dia_blue.gif" start="[DYORDER]" text="開始" /> 145 * </td> 146 * </tr> 147 * </og:tbody> 148 * </og:view> 149 * 150 * <og:iGantt 151 * margeRows = "true" 152 * fixedCols = "1" 153 * verticalShift = "false" 154 * viewGantt = "{@viewGantt}" 155 * stackHoliday = "{@stackHoliday}" 156 * useBgColor = "true" 157 * viewMode = "2" 158 * /> 159 * 160 * @og.rev 5.6.3.2 (2013/04/12) 新規作成 161 * @og.group 画面部品 162 * 163 * @version 5.0 164 * @author Kazuhiko Hasegawa 165 * @since JDK6.0, 166 */ 167public class ViewIGanttBarTag extends CommonTagSupport { 168 /** このプログラムのVERSION文字列を設定します。 {@value} */ 169 private static final String VERSION = "6.9.9.2 (2018/09/18)" ; 170 private static final long serialVersionUID = 699220180918L ; 171 172 private transient TagBuffer tag = new TagBuffer( "iGanttBar" ).addBody( "<!-- -->" ); // 6.1.1.0 (2015/01/17) TagBufferの連結記述 173 174 /** 175 * デフォルトコンストラクター 176 * 177 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. 178 */ 179 public ViewIGanttBarTag() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。 180 181 /** 182 * Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。 183 * 184 * @og.rev 6.0.2.5 (2014/10/31) HTML5対応。javaScriptで、BODYがないと入れ子になってしまう。 185 * 186 * @return 後続処理の指示 187 */ 188 @Override 189 public int doEndTag() { 190 debugPrint(); // 4.0.0 (2005/02/28) 191 192 // 6.1.1.0 (2015/01/17) TagBufferの連結記述 193 jspPrint( tag.makeTag() ); 194 195 return EVAL_PAGE ; // ページの残りを評価する。 196 } 197 198 /** 199 * タグリブオブジェクトをリリースします。 200 * キャッシュされて再利用されるので、フィールドの初期設定を行います。 201 * 202 */ 203 @Override 204 protected void release2() { 205 super.release2(); 206 tag = new TagBuffer( "iGanttBar" ).addBody( "<!-- -->" ); // 6.1.1.0 (2015/01/17) TagBufferの連結記述 207 } 208 209 /** 210 * 【TAG】ガント要素のタイプ[0:マイルストーン/1:バー]を指定します。 211 * 212 * @og.tag 213 * 0:マイルストーン を指定すると、その日(時間)に、マーカーがされます。 214 * ガントのような期間ではなく、そのポイントを表すのに使用します。 215 * 例えば、受注日、納期 などの設定値です。 216 * start か end どちらかの指定で構いません。 217 * start を使用した場合は、指定日(時間)の前方に、endを使用した場合は、 218 * 指定日(時間)の後方にマーカーが置かれます。 219 * 220 * @param type ガント要素のタイプ [0:マイルストーン/1:バー] 221 */ 222 public void setType( final String type ) { 223 tag.add( "type",nval( getRequestParameter( type ),null ) ); 224 } 225 226 /** 227 * 【TAG】ガント要素(バー)の色コードを設定します。 228 * 229 * @og.tag 230 * color は、ガント要素の色コードを設定します。 231 * type="0:マイルストーン" の場合は不要です。 232 * このコードは、予め決められた色画像を呼び出しますので、任意の色が使えるという事ではありません。 233 * 色指定は、横棒の場合は、image/W_色コード.png の画像を使います。 234 * 色コード と 色番号が同時に指定された場合は、色コード が優先されます。 235 * 236 * type=2:差分枠 は、value > baseVal の場合は、超過を、value < baseValの場合は、不足を表します。 237 * <table border="1" frame="box" rules="all"> 238 * <caption>色番号 対応表</caption> 239 * <tr><th>色番号</th><th>設定値 </th><th>棒色 </th><th> </th><th>横棒サンプル</th></tr> 240 * <tr><td> 0 </td><td>blue </td><td>青 </td><td> </td><td style="background-image:url(../image/W_blue.png);"> </td></tr> 241 * <tr><td> 1 </td><td>black </td><td>黒 </td><td> </td><td style="background-image:url(../image/W_black.png);"> </td></tr> 242 * <tr><td> 2 </td><td>brown </td><td>茶 </td><td> </td><td style="background-image:url(../image/W_brown.png);"> </td></tr> 243 * <tr><td> 3 </td><td>green </td><td>緑 </td><td> </td><td style="background-image:url(../image/W_green.png);"> </td></tr> 244 * <tr><td> 4 </td><td>lightblue </td><td>薄青 </td><td> </td><td style="background-image:url(../image/W_lightblue.png);"> </td></tr> 245 * <tr><td> 5 </td><td>lightgreen</td><td>薄緑 </td><td> </td><td style="background-image:url(../image/W_lightgreen.png);"> </td></tr> 246 * <tr><td> 6 </td><td>orange </td><td>オレンジ</td><td> </td><td style="background-image:url(../image/W_orange.png);"> </td></tr> 247 * <tr><td> 7 </td><td>pink </td><td>ピンク </td><td> </td><td style="background-image:url(../image/W_pink.png);"> </td></tr> 248 * <tr><td> 8 </td><td>purple </td><td>紫 </td><td> </td><td style="background-image:url(../image/W_purple.png);"> </td></tr> 249 * <tr><td> 9 </td><td>red </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red.png);"> </td></tr> 250 * <tr><td> 10 </td><td>yellow </td><td>黄 </td><td> </td><td style="background-image:url(../image/W_yellow.png);"> </td></tr> 251 * <tr><td> 11 </td><td>navy </td><td>濃紺 </td><td> </td><td style="background-image:url(../image/W_navy.png);"> </td></tr> 252 * <tr><td> 12 </td><td>teal </td><td>青緑 </td><td> </td><td style="background-image:url(../image/W_teal.png);"> </td></tr> 253 * <tr><td> 13 </td><td>gray </td><td>灰 </td><td> </td><td style="background-image:url(../image/W_gray.png);"> </td></tr> 254 * <tr><td> 14 </td><td>indigo </td><td>藍 </td><td> </td><td style="background-image:url(../image/W_indigo.png);"> </td></tr> 255 * <tr><td> 15 </td><td>slategray </td><td>鉄色 </td><td> </td><td style="background-image:url(../image/W_slategray.png);"> </td></tr> 256 * <tr><td> 16 </td><td>chocorlate</td><td>チョコレート</td><td> </td><td style="background-image:url(../image/W_chocorlate.png);"> </td></tr> 257 * <tr><td> 17 </td><td>darkgreen </td><td>深緑 </td><td> </td><td style="background-image:url(../image/W_darkgreen.png);"> </td></tr> 258 * <tr><td> 18 </td><td>violet </td><td>すみれ </td><td> </td><td style="background-image:url(../image/W_violet.png);"> </td></tr> 259 * <tr><td> 19 </td><td>darkslategray</td><td>深鉄色</td><td> </td><td style="background-image:url(../image/W_darkslategray.png);"> </td></tr> 260 * <tr><td> 20 </td><td>lime </td><td>緑 </td><td> </td><td style="background-image:url(../image/W_lime.png);"> </td></tr> 261 * <tr><td> 21 </td><td>aqua </td><td>水色 </td><td> </td><td style="background-image:url(../image/W_aqua.png);"> </td></tr> 262 * <tr><td> 22 </td><td>maroon </td><td>ひわだいろ</td><td> </td><td style="background-image:url(../image/W_maroon.png);"> </td></tr> 263 * <tr><td> 23 </td><td>olive </td><td>オリーブ</td><td> </td><td style="background-image:url(../image/W_olive.png);"> </td></tr> 264 * <tr><td> 24 </td><td>silver </td><td>銀 </td><td> </td><td style="background-image:url(../image/W_silver.png);"> </td></tr> 265 * <tr><td> 25 </td><td>fuchsia </td><td>赤紫 </td><td> </td><td style="background-image:url(../image/W_fuchsia.png);"> </td></tr> 266 * <tr><td colspan="6"> </td></tr> 267 * <tr><td> BK </td><td>black2 </td><td>黒 </td><td> </td><td style="background-image:url(../image/W_black2.png);"> </td></tr> 268 * <tr><td> WT </td><td>white2 </td><td>白 </td><td> </td><td style="background-image:url(../image/W_white2.png);"> </td></tr> 269 * <tr><td> BL </td><td>blue2 </td><td>青 </td><td> </td><td style="background-image:url(../image/W_blue2.png);"> </td></tr> 270 * <tr><td> RD </td><td>red2 </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red2.png);"> </td></tr> 271 * <tr><td> YL </td><td>yellow2 </td><td>黄 </td><td> </td><td style="background-image:url(../image/W_yellow2.png);"> </td></tr> 272 * </table> 273 * 274 * @param color バー色 275 */ 276 public void setColor( final String color ) { 277 tag.add( "color",nval( getRequestParameter( color ),null ) ); 278 } 279 280 /** 281 * 【TAG】グラフ要素の色番号を設定します。 282 * 283 * @og.tag 284 * 色番号は、色コードを直接指定するのではなく、番号で指定する場合に使用します。 285 * 棒グラフ要素(type="1"(横棒),"6"(縦棒))の色を設定します。 286 * "1~25 , BK,WT,BL,RD,YL" の色番号で指定します。 287 * 色番号は、与えた数字を内部色数で割り算した余を使用しますので、連番の場合でも 288 * 繰返し使われます。特殊な色として、BK,WT,BL,RD,YLは、番号ではなく記号で指定できます。 289 * 色コード と 色番号が同時に指定された場合は、色コード が優先されます。 290 * 291 * @param clrNo 色番号 [1~25/BK/WT/BL/RD/YL] 292 * @see #setColor( String ) 293 */ 294 public void setColorNo( final String clrNo ) { 295 tag.add( "colorNo",nval( getRequestParameter( clrNo ),null ) ); 296 } 297 298 /** 299 * 【TAG】マイルストーンのアイコン画像(URIより設定)を設定します。 300 * 301 * @og.tag 302 * type="0:マイルストーン" の場合、表示するアイコンイメージの所在を指定します。 303 * 例:"../image/xxx.png" 304 * 305 * @param src アイコン画像 306 */ 307 public void setSrc( final String src ) { 308 tag.add( "src",nval( getRequestParameter( src ),null ) ); 309 } 310 311 /** 312 * 【TAG】開始日(YYYYMMDD)、または開始時間(YYYYMMDDHH24MM)を設定します。 313 * 314 * @og.tag 315 * type="1:バー" の場合は、バー表示の場合の書き始め(開始)を指定します。 316 * この値は、バーでは、「含む」になります。 317 * type="0:マイルストーン" の場合は、マイルストンを左端に表示します。 318 * 319 * @param start 開始日or開始時間 (YYYYMMDD or YYYYMMDDHH24MM) 320 * @see #setType( String ) 321 * @see #setEnd( String ) 322 */ 323 public void setStart( final String start ) { 324 tag.add( "start",nval( getRequestParameter( start ),null ) ); 325 } 326 327 /** 328 * 【TAG】終了日(YYYYMMDD)、または終了時間(YYYYMMDDHH24MM)を設定します。 329 * 330 * @og.tag 331 * type="1:バー" の場合は、バー表示の場合の書き終わり(終了)を指定します。 332 * この値は、日付か時刻かで「含む」/「含まない」が異なります。 333 * 日付の場合は、この値を「含む」です。例えば、4/12 を指定した場合、4/12は含みます。 334 * 時刻の場合は、「含まない」です。4/12 070000 を指定した場合は、午前7時は含まないので、 335 * 6時59分59秒までのバーが引かれます。 336 * type="0:マイルストーン" の場合は、マイルストンを右端に表示します。 337 * 338 * @param end 終了日or終了時間 (YYYYMMDD or YYYYMMDDHH24MM) 339 * @see #setType( String ) 340 * @see #setStart( String ) 341 */ 342 public void setEnd( final String end ) { 343 tag.add( "end",nval( getRequestParameter( end ),null ) ); 344 } 345 346 /** 347 * 【TAG】バー上に表示するテキストを指定します。 348 * 349 * @og.tag 350 * バーの上に、値などの文字を重ねて表示できます。 351 * 352 * @param text 表示テキスト 353 */ 354 public void setText( final String text ) { 355 tag.add( "text",nval( getRequestParameter( text ),null ) ); 356 } 357 358 /** 359 * 【TAG】リンク作成時の値を設定します。 360 * 361 * @og.tag 362 * バーの上の文字に対して、リンクを作成できます。 363 * 364 * @param href リンク 365 * @see #setTarget( String ) 366 */ 367 public void setHref( final String href ) { 368 tag.add( "href",nval( getRequestParameter( href ),null ) ); 369 } 370 371 /** 372 * 【TAG】リンク作成時のターゲット名を指定します。 373 * 374 * @og.tag 375 * バーの上の文字に対して、リンクを作成するときの、ターゲット名を指定できます。 376 * 377 * @param target ターゲット 378 * @see #setHref( String ) 379 */ 380 public void setTarget( final String target ) { 381 tag.add( "target",nval( getRequestParameter( target ),null ) ); 382 } 383 384 /** 385 * 【TAG】hrefで付加されるリンクの範囲にバー本体を含めるかどうか[true/false]を指定します(初期値:false)。 386 * 387 * @og.tag 388 * true を指定すると、hrefで付加されるリンクの範囲にバー本体を含めます。 389 * 390 * @param barLink バー可否 [true:する/false:しない] 391 * @see #setHref( String ) 392 */ 393 public void setBarLink( final String barLink ) { 394 tag.add( "barLink",nval( getRequestParameter( barLink ),null ) ); 395 } 396 397// /** 398// * 【廃止】(startDateInputと同じ)ガント要素の開始日に紐付く入力欄を指定します。 399// * 400// * @og.tag 401// * この入力欄がないと、ガント要素は動かせません。 402// * 403// * @og.rev 5.9.14.1 (2016/11/11) startInputではなくstartDateInut 404// * @og.rev 6.9.9.0 (2018/08/20) startDateInput として、用意します。 405// * 406// * @param startInput 開始日入力欄 407// * @see #setStart( String ) 408// */ 409// public void setStartInput( final String startInput ) { 410// tag.add( "startDateInput",nval( getRequestParameter( startInput ),null ) ); 411// } 412 413 /** 414 * 【TAG】ガント要素の開始日に紐付く入力欄を指定します。 415 * 416 * @og.tag 417 * この入力欄がないと、ガント要素は動かせません。 418 * 419 * @og.rev 5.9.14.1 (2016/11/11) startInputではなくstartDateInut 420 * @og.rev 6.9.9.0 (2018/08/20) startDateInput として、用意します。 421 * 422 * @param startDateInput 開始日入力欄 423 * @see #setStart( String ) 424 */ 425 public void setStartDateInput( final String startDateInput ) { 426 tag.add( "startDateInput",nval( getRequestParameter( startDateInput ),null ) ); 427 } 428 429 /** 430 * 【TAG】ガント要素の開始時刻に紐付く入力欄を指定します。 431 * 432 * @og.tag 433 * ガント要素の開始時刻に紐付く入力欄を指定します。 434 * 435 * @og.rev 6.9.9.0 (2018/08/20) startTimeInput として、用意します。 436 * 437 * @param startTimeInput 開始日入力欄 438 * @see #setStart( String ) 439 */ 440 public void setStartTimeInput( final String startTimeInput ) { 441 tag.add( "startTimeInput",nval( getRequestParameter( startTimeInput ),null ) ); 442 } 443 444// /** 445// * 【廃止】(endDateInputと同じ)ガント要素の終了日に紐付く入力欄を指定します。 446// * 447// * @og.tag 448// * この入力欄がないと、ガント要素は動かせません。 449// * 450// * @og.rev 5.9.14.1 (2016/11/11) endInputではなくendDateInut 451// * @og.rev 6.9.9.0 (2018/08/20) endDateInput として、用意します。 452// * 453// * @param endInput 終了日入力欄 454// * @see #setEnd( String ) 455// */ 456// public void setEndInput( final String endInput ) { 457// tag.add( "endDateInput",nval( getRequestParameter( endInput ),null ) ); 458// } 459 460 /** 461 * 【TAG】ガント要素の終了日に紐付く入力欄を指定します。 462 * 463 * @og.tag 464 * この入力欄がないと、ガント要素は動かせません。 465 * 466 * @og.rev 5.9.14.1 (2016/11/11) endInputではなくendDateInut 467 * @og.rev 6.9.9.0 (2018/08/20) endDateInput として、用意します。 468 * 469 * @param endDateInput 終了日入力欄 470 * @see #setEnd( String ) 471 */ 472 public void setEndDateInput( final String endDateInput ) { 473 tag.add( "endDateInput",nval( getRequestParameter( endDateInput ),null ) ); 474 } 475 476 /** 477 * 【TAG】ガント要素の終了時刻に紐付く入力欄を指定します。 478 * 479 * @og.tag 480 * ガント要素の終了時刻に紐付く入力欄を指定します。 481 * 482 * @og.rev 6.9.9.0 (2018/08/20) endTimeInput として、用意します。 483 * 484 * @param endTimeInput 終了日入力欄 485 * @see #setEnd( String ) 486 */ 487 public void setEndTimeInput( final String endTimeInput ) { 488 tag.add( "endTimeInput",nval( getRequestParameter( endTimeInput ),null ) ); 489 } 490 491 /** 492 * 【TAG】ガントバーの移動歩幅単位(1:日、2:時間、3:分)を指定します。 493 * 494 * @og.tag 495 * ガントバーの移動歩幅単位(1:日、2:時間、3:分)を指定します。 496 * 497 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 498 * 499 * @param moveStep ガントバーの移動歩幅単位(moveStep 1:日、2:時間、3:分) 500 */ 501 public void setMoveStep( final String moveStep ) { 502 tag.add( "moveStep",nval( getRequestParameter( moveStep ),null ) ); 503 } 504 505 /** 506 * 【TAG】固定2分割するカラムを指定します。 507 * 508 * @og.tag 509 * 固定2分割するカラムを指定します。 510 * 511 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 512 * 513 * @param fixed 固定2分割するカラム 514 */ 515 public void setFixed( final String fixed ) { 516 tag.add( "fixed",nval( getRequestParameter( fixed ),null ) ); 517 } 518 519 /** 520 * 【TAG】マイルストーンカラムを指定します。 521 * 522 * @og.tag 523 * マイルストーンカラムを指定します。 524 * 525 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 526 * 527 * @param mStone 固定2分割するカラム 528 */ 529 public void setMStone( final String mStone ) { 530 tag.add( "mStone",nval( getRequestParameter( mStone ),null ) ); 531 } 532 533 /** 534 * 【TAG】バルーンとして表示するカラムを指定します。 535 * 536 * @og.tag 537 * バルーンとして表示するカラムを指定します。 538 * 539 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 540 * 541 * @param balloon バルーンとして表示するカラム 542 */ 543 public void setBalloon( final String balloon ) { 544 tag.add( "balloon",nval( getRequestParameter( balloon ),null ) ); 545 } 546 547 /** 548 * 【TAG】キー情報のカラムを、指定します。 549 * 550 * @og.tag 551 * キー情報のカラムを、指定します。 552 * 553 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 554 * 555 * @param keyInfo キー情報のカラム 556 */ 557 public void setKeyInfo( final String keyInfo ) { 558 tag.add( "keyInfo",nval( getRequestParameter( keyInfo ),null ) ); 559 } 560 561 /** 562 * 【TAG】writable属性のカラムを指定します。 563 * 564 * @og.tag 565 * writable属性のカラムを指定します。 566 * 567 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 568 * 569 * @param writable writable属性のカラム 570 */ 571 public void setWritable( final String writable ) { 572 tag.add( "writable",nval( getRequestParameter( writable ),null ) ); 573 } 574 575 /** 576 * 【TAG】レポートカラムを指定します。 577 * 578 * @og.tag 579 * レポートカラムを指定します。 580 * 581 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 582 * 583 * @param report レポートカラム 584 */ 585 public void setReport( final String report ) { 586 tag.add( "report",nval( getRequestParameter( report ),null ) ); 587 } 588 589 /** 590 * 【TAG】表示の重なり順のカラムを指定します。 591 * 592 * @og.tag 593 * 表示の重なり順のカラムを指定します。 594 * 595 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 596 * 597 * @param zindex 表示の重なり順のカラム 598 */ 599 public void setZindex( final String zindex ) { 600 tag.add( "zindex",nval( getRequestParameter( zindex ),null ) ); 601 } 602 603// /** 604// * 【TAG】行選択のチェックボックスを指定します。 605// * 606// * @og.tag 607// * 例えば、[ROW.ID] を指定する事で、選択行を指定する事ができます。 608// * 609// * @og.rev 6.9.9.2 (2018/09/18) 廃止 610// * 611// * @param chboxid チェックボックス指定 612// */ 613// public void setChbox( final String chbox ) { 614// tag.add( "chbox",nval( getRequestParameter( chbox ),null ) ); 615// } 616 617 /** 618 * 【TAG】積み上げガントの工数を指定します。 619 * 620 * @og.tag 621 * 積み上げガントの工数を指定します。 622 * 開始日、終了日を利用して積上げ計算されます。 623 * 624 * @param cost 積み上げガントの工数 625 */ 626 public void setCost( final String cost ) { 627 tag.add( "cost",nval( getRequestParameter( cost ),null ) ); 628 } 629 630 /** 631 * 【TAG】積上げの最大値(キャパシティ)を指定します。 632 * 633 * @og.tag 634 * 最大値を超えた場合は、マーカーされます。 635 * 636 * @param capacity 積み上げガントの工数 637 */ 638 public void setCapacity( final String capacity ) { 639 tag.add( "capacity",nval( getRequestParameter( capacity ),null ) ); 640 } 641 642 /** 643 * 【TAG】要素を一意に指定するためのidを指定します。 644 * 645 * @og.tag 646 * 要素を一意に指定するためのID体系を指定します。 647 * 例えばA__[I]のように設定します。 648 * ガント要素は動かす際には必要です。 649 * 650 * @og.rev 5.9.14.1 (2016/11/11) 651 * 652 * @param id 一意になる文字列 653 */ 654 @Override 655 public void setId( final String id ) { 656 tag.add( "id",nval( getRequestParameter( id ),null ) ); 657 } 658 659 /** 660 * タグの名称を、返します。 661 * 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。 662 * 663 * @return タグの名称 664 * @og.rtnNotNull 665 */ 666 @Override 667 protected String getTagName() { 668 return "iGanttBar" ; 669 } 670 671 /** 672 * このオブジェクトの文字列表現を返します。 673 * 基本的にデバッグ目的に使用します。 674 * 675 * @return このクラスの文字列表現 676 * @og.rtnNotNull 677 */ 678 @Override 679 public String toString() { 680 return ToString.title( this.getClass().getName() ) 681 .println( "VERSION" ,VERSION ) 682 .println( "tag" ,tag.makeTag() ) 683 .println( "Other..." ,getAttributes().getAttribute() ) 684 .fixForm().toString() ; 685 } 686}