4D Write Proのエキサイティングな機能拡張を発表できることを嬉しく思います。これまで展開してきた機能に加えて、4D v17 R5では、タブの新機能が追加されました。
水平ルーラーにより、タブを設定するのが簡単になりました。オフセット、タイプ、そしてタブの先頭文字まで、マウスを使ってグラフィカルに定義することができます。しかし、同じ作業を開発者がプログラミングで行う場合、思ったほど簡単にはいかなかった。3つの配列を使って、それぞれの設定に対応しなければならなかったのです。しかし、これからは違います。タブの設定は、文字列や数値のコレクション、さらにはオブジェクトのコレクションを使用して行うことができます。さらに、これだけではありません。タブのデフォルト値を変更するだけなら、新しい定数(この目的のために特別に追加されました)を持つオブジェクトを使用することができます。
HDI: 4D Write Pro – タブを設定する新しい方法
タブのデフォルト設定
タブは、オフセット、タイプ、リーディングキャラクタの3つの値で定義されます。この3つの値には、それぞれデフォルト値があります。
- オフセットのデフォルト値 = 1.25cm
- タイプ デフォルト値 = 左
- 先頭の文字 デフォルト値 = ” ” (なし = 空文字列)
したがって、オフセットのデフォルト値を変更したい場合は、この1行のコードを実行するだけでよい。
WP SET ATTRIBUTES(WParea;wk tab default;2)
// in this case, 2 is two of the current unit (e.g., cm)
または
// In this case, "1.5cm" is a CSS string that will be used (always a dot - not a comma - with no space)
)
WP SET ATTRIBUTES(WParea;wk tab default; "1.5cm"
また、タブの種類を変更したい場合は、3つの属性を持つオブジェクトを作成し、同じ関数に送ればよいのです。
$tab:=New object
$tab [wk type]:=wk left
$tab [wk offset]:="3cm"
$tab [wk leading]:="."
WP SET ATTRIBUTES ($body;wk tab default;$tab)
注:$tab.type は $tab[wk type] と同じ意味です。違いは、定数をブラケット記法で使えることです(ドット記法では使えません)ので、タイプミスを防ぐのに役立ちます。
MOREタブの設定
互換性の観点から、配列を使用することも可能ですが、コレクションを使用する方がはるかに簡単です。あなたが決めることです!
タブを定義するのは、記述するのと同じくらい簡単です。「3つのタブが欲しい。最初のタブは2cm、2番目のタブは8cm、そして最後のタブは13cmです。よし、やってみよう。
WP SET ATTRIBUTES(WParea;wk tabs;New collection("2cm"; "8cm"; "13cm")
)
完了!
待ってください……なぜ、ドキュメントの単位である「cm」を指定する必要があるのでしょうか?
実は、そんなことはありません。コレクションに数値を使っても、現在の単位が使われるのです。
WP SET ATTRIBUTES(WParea;wk tabs;New collection(2;8;13)
)
なんてかっこいいんでしょう
さて、最後のタブは10進数で、先頭の文字としてハッシュ (別名ポンド記号、数字記号)を使いたい。
この場合、3番目のタブ用にオブジェクトを作成する必要があります。
$tab:=新しいオブジェクト
$tab [wk offset]:=13
$tab [wk type]:=wk decimal
$tab [wk leading]:="#"
WP SET ATTRIBUTES (WParea;wk tabs;New collection("2cm"; "8cm";$tab))
HDIの新しい可能性については、4Dドキュメントセンターでご確認ください。