R-grid.pot の和訳とチェックのページ

以下は R-grid.pot の素(粗)訳です.元ファイルと各メッセージのソース部分 を取り出したファイルを添付します.

舟尾 (第一稿 2005.03.27)

  • implemented, unimplimented の訳が推奨となっている箇所が複数ありますが、「実装」もしくは「未実装」です。 -- 2005-03-27 (日) 17:05:37
  • 「特定」も「指定」でしょうね -- 2005-03-27 (日) 17:09:50
  • 間瀬先生,ソースの添付をありがとうございます.ソースと照合して訳を見直していきます.
    また,多数ご指摘いただきましてありがとうございます.ある程度時間がたった後に,訳に反映します. -- 舟尾? 2005-03-27 (日) 23:27:54
  • 多数の貴重なご意見、本当にありがとうございました。私自身、かなり勉強させてもらいました!3/30付けで修正致しましたので、よろしくお願い致します。 -- 舟尾? 2005-03-30 (水) 23:09:23

msgid ""
msgstr ""
"Project-Id-Version: R 2.1.0\n"
"Report-Msgid-Bugs-To: bugs@r-project.org\n"
"POT-Creation-Date: 2005-03-08 07:39\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

1-20

msgid "Invalid 'at' location in 'axis'"
msgstr "'axis'中の 'at' のロケーション(location)が不正です"

msgid "Invalid to specify axis labels when 'at' is NULL"
msgstr "'at' が NULL である場合,axis ラベルを特定するのは無効です"

msgid "'labels' and 'at' locations must have same length"
msgstr "'labels' と 'at' のロケーション(location)は同じ長さでなければなりません"

msgid "Invalid 'edit' information"
msgstr "不正な 'edit' 情報です"

msgid "'gEditList' can only contain 'gEdit' objects"
msgstr "'gEditList' には 'gEdit' オブジェクトしか含めることが出来ません"

msgid "Invalid 'frame'"
msgstr "不正な 'frame' です"

msgid "Invalid 'grob'"
msgstr "不正な 'grob' です"

msgid "Invalid 'row' and/or 'col' (no such cell in frame layout)"
msgstr "不正な 'row' かつ/または 'col' です(frame layout の中にそのようなセルは存在しません)"

msgid "'col' can only be a range of existing columns"
msgstr "'col' は存在する列の範囲しかとり得ません"

msgid "Invalid 'col' specification"
msgstr "不正な 'col' の指定です"

msgid "'row' can only be a range of existing rows"
msgstr "'row' は存在する行の範囲しかとり得ません"

msgid "Invalid 'row' specification"
msgstr "不正な 'row' の指定です"

msgid "Cannot specify more than one of 'side=[\"left\", \"right\"]', 'col', 
       'col.before', or 'col.after'"
msgstr "'side=[\"left\", \"right\"]', 'col', 'col.before', 'col.after' 
        のうち 1 つ以上を特定することが出来ません"

msgid "Must specify exactly one of 'side=[\"top\", \"bottom\"]', 'row', 
       'row.before', or 'row.after'"
msgstr "'side=[\"top\", \"bottom\"]', 'row', 'row.before', 'row.after' 
        のうち 1 つを正確に特定しなければいけません"

msgid "gpar element '%s' must not be length 0"
msgstr "gpar の要素 '%s' は長さ 0 にしてはいけません"

msgid "'gamma' gpar is deprecated"
msgstr "'gamma' gpar は廃止予定です"

msgid "Invalid 'linemitre' value"
msgstr "不正な 'linemitre' 値です"

msgid "Invalid 'alpha' value"
msgstr "不正な 'alpha' 値です"

msgid "Must specify only one of 'font' and 'fontface'"
msgstr "'font' または 'fontface' の 1 つのみを特定しなければいけません"

msgid "Invalid font face"
msgstr "不正なフォントの書体です"
  • "'labels' と 'at' のロケーション(location)は同じ長さでなければなりません" => "'labels' と、位置 'at' は同じ長さでなければなりません" -- 2005-03-27 (日) 20:53:27
  • msgstr "'side=[\"top\", \"bottom\"]', 'row', 'row.before', 'row.after' のうち 1 つを正確に特定しなければいけません" => msgstr "'side=[\"top\", \"bottom\"]', 'row', 'row.before', 'row.after' のうちちょうど一つを指定しなければいけません" -- 2005-03-27 (日) 20:55:12

21-40

msgid "Argument must be a 'gpar' object"
msgstr "引数は 'gpar' オブジェクトでなければなりません"

msgid "Must specify only valid 'gpar' names"
msgstr "有効な 'gpar' の名前のみを特定しなければいけません"

msgid "Invalid display list element"
msgstr "不正なディスプレイリストの要素です"

msgid "grob(s) overwritten (grab WILL not be faithful; try 'wrap=TRUE')"
msgstr "grob(s) が上書きされました(おそらく grab は信用できるものではありません; 'wrap=TRUE' を試してください)"

msgid "viewport overwritten (grab MAY not be faithful)"
msgstr "viewport が上書きされました(おそらく grab は信用できるものではありません)"

msgid "grob pushed viewports and did not pop/up them (grab MAY not be faithful)"
msgstr "grob が viewports に push され,viewports は pop/up されませんでした
       (おそらく grab は信用できるものではありません)"

msgid "Only valid to push viewports"
msgstr "viewports を push することだけが有効です"

msgid "Must specify at least one viewport"
msgstr "少なくとも 1 つの viewport を特定しなければいけません"

msgid "Viewport '%s' was not found"
msgstr "Viewport '%s' が見つかりません"

msgid "Must pop at least one viewport"
msgstr "少なくとも 1 つの viewport を pop しなければいけません"

msgid "Must navigate up at least one viewport"
msgstr "少なくとも 1 つの viewport を navigate up しなければいけません"

msgid "The vp argument is deprecated"
msgstr "引数 vp は廃止予定です"

msgid "Invalid 'ask' value"
msgstr "不正な 'ask' 値です"

msgid "Invalid object inserted on the display list"
msgstr "ディスプレイリスト上に不正なオブジェクトが挿入されました"

msgid "Invalid 'vp' slot"
msgstr "不正な 'vp' スロットです"

msgid "Invalid 'gp' slot"
msgstr "不正な 'gp' スロットです"

msgid "Invalid 'grob' class"
msgstr "不正な 'grob' クラスです"

msgid "grid.grob() is deprecated; please use grob() instead"
msgstr "grid.grob() は廃止予定です; 代わりに grob() を使って下さい"

msgid "A 'grob' path must contain at least one 'grob' name"
msgstr "'grob' のパスは少なくとも 1 つの 'grob' の名前を含んでいなければなりません"

msgid "Invalid 'grob' name(s)"
msgstr "不正な 'grob' の名前です"

41-60

msgid "Only 'grobs' allowed in 'gList'"
msgstr "'grobs' は 'gList' 中でのみ許されます"

msgid "Invalid element to add to 'gList'"
msgstr "'gList' に不正な要素が加えられました"

msgid "Can only set 'children' for a 'gTree'"
msgstr "'gTree' には 'children' しかセットできません"

msgid "'children' must be a 'gList'"
msgstr "'children' は 'gList' でなければなりません"

msgid "It is only valid to get 'children' from a 'gTree'"
msgstr "'children' は 'gTree' からしか得ることが出来ません"

msgid "Invalid 'gTree' class"
msgstr "不正な 'gTree' クラスです"

msgid "'allDevices' not yet implemented"
msgstr "'allDevices' はまだ推奨されていません"

msgid "Invalid 'gPath'"
msgstr "不正な 'gPath' です"

msgid "Invalid 'grep' value"
msgstr "不正な 'grep' 値です"

msgid "It is only valid to get a child from a 'gTree'"
msgstr "child は 'gTree' からしか得ることが出来ません"

msgid "'gPath' does not specify a valid child"
msgstr "'gPath' は有効な child を特定することが出来ません"

msgid "It is only valid to set a child of a 'gTree'"
msgstr "'gTree' の child をセットすることだけが有効です"

msgid "It is only valid to set a 'grob' as child of a 'gTree'"
msgstr "'grob' を 'gTree' の child としてセットすることだけが有効です"

msgid "New 'grob' name (%s) does not match 'gPath' (%s)"
msgstr "新しい 'grob' 名(%s)は 'gPath'(%s) に合致しません"

msgid "It is only valid to add a 'grob' to a 'gTree'"
msgstr "'grob' を 'gTree' に加えることだけが有効です"

msgid "It is only valid to add a child to a 'gTree'"
msgstr "child を 'gTree' に加えることだけが有効です"

msgid "It is only valid to remove a child from a 'gTree'"
msgstr "child を 'gTree' から取り払うことだけが有効です"

msgid "It is only valid to edit a child of a 'gTree'"
msgstr "'gTree' の child を編集することだけが有効です"

msgid "It is invalid to directly edit the 'children' or 'childrenOrder' slot"
msgstr "'children' または 'childrenOrder' のスロットを直接編集することだけが有効です"

msgid "Invalid 'result'"
msgstr "不正な 'result' です"
  • "'children' または 'childrenOrder' のスロットを直接編集することだけが有効です" => "'children' または 'childrenOrder' スロットを直接編集してはいけません" -- 2005-03-27 (日) 16:54:21
  • "'gPath' は有効な child を特定することが出来ません" => "'gPath' は有効な child を指定していません" -- 2005-03-27 (日) 17:07:07
  • "'grobs' は 'gList' 中でのみ許されます" => "''gList' 中には 'grobs' のみが許されます" -- 2005-03-27 (日) 20:50:47

61-80

msgid "The new 'grob' must have the same name as the old 'grob'"
msgstr "新しい 'grob' は古い 'grob' と同じ名前でなければなりません"

msgid "Slot '%s' not found"
msgstr "スロット '%s' が見つかりません"

msgid "'gPath' (%s) not found"
msgstr "'gPath'(%s) が見つかりません"

msgid "gPath (%s) not found"
msgstr "gPath(%s) が見つかりません"

msgid "Grob '%s' not found"
msgstr "Grob '%s' が見つかりません"

msgid "Invalid element in the display list"
msgstr "ディスプレイリストの中に不正な要素があります"

msgid "This function is redundant and will disappear in future versions."
msgstr "この関数は余分で,将来のバージョンの中で消えるでしょう"

msgid "'l' must be a layout"
msgstr "'l' は layout でなければなりません"

msgid "'pch' and 'labels' not the same length"
msgstr "'pch' と 'labels' は同じ長さでなければなりません"

msgid "'hgap' must be single unit"
msgstr "'hgap' は一つの単位(unit)でなければなりません"

msgid "'vgap' must be single unit"
msgstr "'vgap' は一つの単位(unit)でなければなりません"

msgid "Invalid justification"
msgstr "不正な正当化(justification)です   ???????????"

msgid "Invalid horizontal justification"
msgstr "不正な水平の正当化(horizontal justification)です   ???????????"

msgid "Invalid vertical justification"
msgstr "不正な垂直の正当化(horizontal justification)です   ???????????"

msgid "'respect' must be logical or an 'nrow' by 'ncol' matrix"
msgstr "'respect' は論理値か 'ncol' 行列による 'nrow' でなければなりません"

msgid "Invalid 'origin'"
msgstr "不正な 'origin' です"

msgid "'x' and 'y' must be units"
msgstr "'x' と 'y' は単位(units)でなければなりません"

msgid "'x' and 'y' must have length 1"
msgstr "'x' と 'y' は長さ 1 でなければならない"

msgid "'x0', 'y0', 'x1', and 'y1' must be units"
msgstr "'x0', 'y0', 'x1', 'y1' は単位(units)でなければなりません"

msgid "'x' and 'y' must be units or NULL"
msgstr "'x' と 'y' は単位(units)または NULL でなければなりません"
  • justification とはテキスト(行)を見栄えのよい表示のために左右、上下に整列させる清書法のことです。空白の挿入も含むかも知れません。訳は「ジャスティフィケーション」もしくは「ジャスティファイする」でしょうか。 -- 2005-03-27 (日) 17:01:38
  • "'respect' は論理値か 'ncol' 行列による 'nrow' でなければなりません" => "'respect' は論理値か、 'ncol' x'nrow' 行列でなければなりません" -- 2005-03-27 (日) 17:03:47
  • ソースを見ると justification とは (何の?) right,left,top,bottom, および上下左右の center 指定のことのようですね。そうすると「位置決め指定が不正です」、「水平方向の位置決め指定が不正です」、「垂直方向の位置決め指定が不正です」とでも訳す? -- 2005-03-27 (日) 20:42:15
  • "この関数は余分で,将来のバージョンの中で消えるでしょう" => "この関数は余分で,将来無くなるでしょう" -- 2005-03-27 (日) 20:56:46
  • "'pch' と 'labels' は同じ長さでなければなりません" => "'pch' と 'labels' は同じ長さでありません" -- 2005-03-28 (月) 21:01:23
  • "'pch' と 'labels' は同じ長さでなければなりません" => "'pch' と 'labels' は同じ長さでありません" ですが,何回か書きましたが「が」と「は」は意味がまるっきり違うと思うのですが,それのように思うのは私だけでしょうか。繰り返しますが「は」は単なる事実の陳述,「が」も事実の陳述ではあるけれども,エラーメッセージのコンテクストから言えば,それは暗に間違いですよと言っているように思うんですけど。前にも書きましたけど,エラーメッセージとして「sqrt の引数は負です」と書かれると,確かに,sqrt(-4.321)なんて書いたならあ,負だな,間違えちゃったと思うけど,sqrt(x)って書いてあって,エラーメッセージで「引数は負です」といわれたら,あ,x が正だったかと思うのでは(例では平方根 sqrt だから誤解する方が悪いのだが,あまりよく知らない関数だと,事実として言われたのか,それが悪いと言われているのか区別が付かないのでは?)。それに対して,「引数が負です」と言われたら,あ,間違って負の値を渡しちゃったのかな??と,そういう反応になるのではないでしょうか。ま,丁寧に書けば,「指定された引数が負でした。引数は正でなければなりません。」ということでしょうね。エラーメッセージは,単に誤りの事実を知らせるのではなく,その間違いを正すにはどのように対処しなくてはならないかを明示する方がよい(そのようなエラーメッセージが優れたエラーメッセージ)ということは,よく知られた法則です。元のエラーメッセージに忠実に訳す必要はない(もとのエラーメッセージが優れたエラーメッセージである保証・証拠は何もない)ので,意訳でも良いから,ユーザの役に立つメッセージになれば良いのではないかと思います。 -- 2005-03-28 (月) 21:56:31
  • ご意見は基本的に賛成ですが、意訳が誤訳になっていないという確証がどれだけ持てるかということも考える必要があります。そうした自信が持てない場合は、できるだけ原文に忠実に訳すことも必要ではないでしょうか。実際のところ、一定程度の確度(ここの基準が微妙です)がない限り、むしろ原文のままにしておく方が良いのではとも感じています。ただし、現在はどういう訳が可能なのかを検討する場と思いますから、思いつきでも色んな意見が出る方が良いと思います。これは、R マニュアルの翻訳で散々意訳を行なった(そして後で赤面した)経験からの感想です。 -- 間瀬茂 2005-03-28 (月) 23:00:06
  • 意訳は某出版社のような「超訳」ではないですから,意訳=いい加減な訳ということではないでしょう。エラーメッセージの内容がちゃんとわかっているものについてはより分かりやすいエラーメッセージを付けましょうというようなことだと思います。本来は,英語版のエラーメッセージの改善を提案できるくらいの英語力があれば良いのですが。 -- 2005-03-28 (月) 23:24:55
  • "'pch' と 'labels' は同じ長さでなければなりません" => 指定された "'pch' と 'labels' の長さが違います." -- 2005-03-28 (月) 23:29:56

81-100

msgid "'length' must be a unit object"
msgstr "'length' は単位(units)オブジェクトでなければなりません"

msgid "Invalid 'ends' or 'type' argument"
msgstr "不正な 'ends' 引数か 'type' 引数です"

msgid "Corrupt 'arrows' object"
msgstr "誤った 'arrows' オブジェクトです"

msgid "The 'grob' argument must be a 'line.to', 'lines', or 'segments' grob"
msgstr "'grob' 引数は 'line.to', 'lines', 'segments' のうち,いずれかの grob 
        でなければなりません"

msgid "It is invalid to specify both 'id' and 'id.lengths"
msgstr "'id' と 'id.lengths' の両方を特定することは出来ません"

msgid "'x' and 'y' must be same length"
msgstr "'x' と 'y' は同じ長さでなければなりません"

msgid "'x' and 'y' and 'id' must all be same length"
msgstr "'x', 'y', 'id' は全て同じ長さでなければなりません"

msgid "'x' and 'y' and 'id.lengths' must specify same overall length"
msgstr "'x', 'y', 'id.lengths' は全て同じ長さを特定しなければなりません"

msgid "'x', 'y', and 'r' must be units"
msgstr "'x', 'y', 'r' は全て単位(units)でなければなりません"

msgid "'x', 'y', 'width', and 'height' must be units"
msgstr "'x', 'y', 'width', 'height' は全て単位(units)でなければなりません"

msgid "Invalid 'rot' value"
msgstr "不正な 'rot' 値でなければなりません"

msgid "zero-length 'pch'"
msgstr "長さ 0 の 'pch' です"

msgid "'x', 'y' and 'size' must be units"
msgstr "'x', 'y', 'size' は全て単位(units)でなければなりません"

msgid "'x' and 'y' must be unit objects and have the same length"
msgstr "'x' と 'y' は単位(units)でなければならず,同じ長さでなければなりません"

msgid "'x' must be numeric"
msgstr "'x' は数値でなければなりません"

msgid "'x' and 'units' must have length > 0"
msgstr "'x' と 'units' は 0 より大きい長さでなければなりません"

msgid "'x' argument must be a unit object"
msgstr "引数 'x' は単位(units)オブジェクトでなければなりません"

msgid "Invalid 'axis' or 'type'"
msgstr "不正な 'axis' か 'type' です"

msgid "No string supplied for 'strwidth' unit"
msgstr "'strwidth' 単位(units)を与える文字列がありません"

msgid "No string supplied for 'strheight' unit"
msgstr "'strheight' 単位(units)を与える文字列がありません"
  • "誤った 'arrows' オブジェクトです" => "混乱した 'arrows' オブジェクトです" corrupt は「腐敗した」という意味で、単なる間違いよりも強い、内容が支離滅裂というニュアンスではないでしょうか? -- 2005-03-28 (月) 19:38:53
  • msgstr "'grob' 引数は 'line.to', 'lines', 'segments' のうち,いずれかの grob でなければなりません" => msgstr "'grob' 引数は 'line.to', 'lines', 'segments' のいずれかの grob でなければなりません" -- 2005-03-28 (月) 20:57:48
  • corrupt は,コンピュータ用語では〈プログラム・データが〉エラーのあるということで,端的な苺で言えば「壊れた」と言うような意味。壊れる原因は,コピーの誤りや,ダウンロード時の雑音など。したがって,確かに誤っているのではあるが,その原因は,指定ミスなどのようなものではない。しかし,そのようなことに目くじらを立てて訳してもしょうがない気はする。"Corrupt 'arrows' object" ということであるが,arrow object は壊れるけど,ほかのobject は壊れないのかのかどうか。たぶん,ないのだろうけど。複数人が書くプログラムのエラーメッセージの用語の統一などはあまり期待できない。自分一人で作っているプログラムでも(プログラムでなくても変数名の命名規則でも,ファイル名の命名規則でも)ずいぶん変異が多いというのは,経験済み。 -- 2005-03-28 (月) 23:41:43
  • "不正な 'rot' 値でなければなりません" → "不正な 'rot' 値です" -- 2005-03-28 (月) 23:46:58

101-120

msgid "No 'grob' supplied for 'grobwidth' unit"
msgstr "'grobwidth' 単位(units)を与える 'grob' がありません"

msgid "'gPath' must have depth 1 in 'grobwidth/height' units"
msgstr "'gPath' は 'grobwidth/height' 単位(units)中では深さ 1 でなければなりません"

msgid "No 'grob' supplied for 'grobheight' unit"
msgstr "'grobheight' 単位(units)を与える 'grob' がありません"

msgid "Operator '%s' not meaningful for units"
msgstr "演算子 '%s' は単位(units)として意味をなしません"

msgid "Only one operand may be a unit"
msgstr "1 つのオペランド(operand)のみが単位(units)となります"

msgid "Non-unit operand must be numeric"
msgstr "単位ではないオペランド(operand)は数値でなければなりません"

msgid "Both operands must be units"
msgstr "オペランド(operand)は両方とも単位(units)でなければなりません"

msgid "'Summary' function '%s' not meaningful for units"
msgstr "'Summary' 関数 '%s' は単位(units)として意味をなしません"

msgid "Zero arguments where at least one expected"
msgstr "引数が 0 個ですが,少なくとも 1 つの引数が必要です"

msgid "Index out of bounds (unit subsetting)"
msgstr "添え字が範囲を超えています(単位(unit)の部分集合です??????????)"

msgid "Index out of bounds (unit arithmetic subsetting)"
msgstr "添え字が範囲を超えています(単位(unit)計算の部分集合です??????????)"

msgid "Index out of bounds (unit list subsetting)"
msgstr "添え字が範囲を超えています(単位(unit)リストの部分集合です??????????)"

msgid "It is invalid to combine unit objects with other types"
msgstr "単位(unit)オブジェクトとそれ以外の型のオブジェクトを結合することは出来ません"

msgid "'range' must be numeric"
msgstr "'range' は数値でなければなりません"

msgid "'x', 'y', 'width', and 'height' must all be units of length 1"
msgstr "'x', 'y', 'width', 'height' は全て長さ 1 の単位(units)でなければなりません"

msgid "Invalid graphics parameters"
msgstr "不正なグラフィックスパラメータです"

msgid "Invalid 'clip' value"
msgstr "viewport 中の 'clip' が不正です"

msgid "Invalid 'xscale' in viewport"
msgstr "viewport 中の 'xscale' が不正です"

msgid "Invalid 'yscale' in viewport"
msgstr "viewport 中の 'yscale' が不正です"

msgid "Invalid 'angle' in viewport"
msgstr "viewport 中の 'angle' が不正です"
  • "不正な 'rot' 値でなければなりません" => "不正な 'rot' 値です" -- 2005-03-27 (日) 20:02:58
  • "1 つのオペランド(operand)のみが単位(units)となります" => "一つのオペランド(operand)のみが単位(units)となれます"。operand は訳せば「被演算項」でしょうか。二項演算子等の引数のことだと思います。 -- 2005-03-27 (日) 20:08:43

121-140

msgid "Invalid 'layout' in viewport"
msgstr "viewport 中の 'layout' が不正です"

msgid "Invalid 'layout.pos.row' in viewport"
msgstr "viewport 中の 'layout.pos.row' が不正です"

msgid "Invalid 'layout.pos.col' in viewport"
msgstr "viewport 中の 'layout.pos.col' が不正です"

msgid "Only viewports allowed in 'vpList'"
msgstr "viewports は 'vpList' 中でのみ許されます"

msgid "Only viewports allowed in 'vpStack'"
msgstr "viewports は 'vpStack' 中でのみ許されます"

msgid "'parent' must be a viewport and 'children' must be a 'vpList' in 'vpTree'"
msgstr "'parent' は viewport でなければならず,'children' は 'vpTree' 中の 'vpList' でなければなりません"

msgid "A viewport path must contain at least one viewport name"
msgstr "viewport のパスは少なくとも一つの viewport 名を含んでいる必要があります"

msgid "Invalid viewport name(s)"
msgstr "不正な viewport 名です"

msgid "Must specify at least one of 'x' or 'xscale'"
msgstr "'x' or 'xscale' のうち少なくとも一つを特定しなければなりません"

msgid "Must specify at least one of 'y' or 'yscale'"
msgstr "'y' か 'yscale' のうち少なくとも一つを特定しなければなりません"

ソース

Invalid 'at' location in 'axis'
components.R-    x$at <- as.numeric(x$at)
components.R-    if (length(x$at) < 1 ||
components.R-        !is.finite(x$at))
components.R:      stop("Invalid 'at' location in 'axis'")
components.R-  }
components.R-  if (!is.logical(x$label)) {
components.R-    # labels specified
Invalid to specify axis labels when 'at' is NULL
components.R-    # labels specified
components.R-    # Can only spec labels if at is not NULL
components.R-    if (is.null(x$at))
components.R:      stop("Invalid to specify axis labels when 'at' is NULL")
components.R-    # Must be either language object or string
components.R-    if (!is.language(x$label))
components.R-      x$label <- as.character(x$label)
'labels' and 'at' locations must have same length
components.R-      x$label <- as.character(x$label)
components.R-    # Must be same number of labels as "at" locations
components.R-    if (length(x$label) != length(x$at))
components.R:      stop("'labels' and 'at' locations must have same length")
components.R-  }
components.R-  x$main <- as.logical(x$main)
components.R-  x
Invalid 'edit' information
edit.R-    x
edit.R-  } else {
edit.R-    if (!is.gEdit(edit))
edit.R:      stop("Invalid 'edit' information")
edit.R-    # Intended to handle whether edit has gPath spec or not
edit.R-    newx <- do.call("editGrob", c(list(x), edit))
edit.R-    # If edit was specified for non-existent child, newx will be NULL
--
edit.R-      applyEdit(x, edits)
edit.R-    else {
edit.R-      if (!inherits(edits, "gEditList"))
edit.R:        stop("Invalid 'edit' information")
edit.R-      for (i in edits)
edit.R-        x <- applyEdits(x, i)
edit.R-      x
'gEditList' can only contain 'gEdit' objects
edit.R-gEditList <- function(...) {
edit.R-  edits <- list(...)
edit.R-  if (!all(sapply(edits, is.gEdit)))
edit.R:    stop("'gEditList' can only contain 'gEdit' objects")
edit.R-  class(edits) <- "gEditList"
edit.R-  edits
edit.R-}
Invalid 'frame'
frames.R-placeGrob <- function(frame, grob,
frames.R-                      row=NULL, col=NULL) {
frames.R-  if (!inherits(frame, "frame"))
frames.R:    stop("Invalid 'frame'")
frames.R-  if (!is.grob(grob))
frames.R-    stop("Invalid 'grob'")
frames.R-  dim <- frameDim(frame)
--
frames.R-                     force.width=FALSE, force.height=FALSE,
frames.R-                     border=NULL, dynamic=FALSE) {
frames.R-  if (!inherits(frame, "frame"))
frames.R:    stop("Invalid 'frame'")
frames.R-  if (!is.grob(grob))
frames.R-    stop("Invalid 'grob'")
frames.R-  # col/row can be given as a range, but I only want to know
Invalid 'grob'
frames.R-  if (!inherits(frame, "frame"))
frames.R-    stop("Invalid 'frame'")
frames.R-  if (!is.grob(grob))
frames.R:    stop("Invalid 'grob'")
frames.R-  dim <- frameDim(frame)
frames.R-  if (is.null(row))
frames.R-    row <- c(1, dim[1])
--
frames.R-  if (!inherits(frame, "frame"))
frames.R-    stop("Invalid 'frame'")
frames.R-  if (!is.grob(grob))
frames.R:    stop("Invalid 'grob'")
frames.R-  # col/row can be given as a range, but I only want to know
frames.R-  # about the min and max
frames.R-  if (!is.null(col) & length(col) > 1) {
--
grob.R-  g <- list(..., name=name, gp=gp, vp=vp)
grob.R-  if (!is.null(cl) &&
grob.R-      !is.character(cl))
grob.R:    stop("Invalid 'grob' class")
grob.R-  class(g) <- c(cl, "grob", "gDesc")
grob.R-  validGrob(g)
grob.R-}
--
grob.R-  if (n < 1)
grob.R-    stop("A 'grob' path must contain at least one 'grob' name")
grob.R-  if (!all(is.character(names)))
grob.R:    stop("Invalid 'grob' name(s)")
grob.R-  path <- list(path=if (n==1) NULL else
grob.R-               paste(names[1:(n-1)], collapse=.grid.pathSep),
grob.R-               name=names[n],
Invalid 'row' and/or 'col' (no such cell in frame layout)
frames.R-    col <- rep(col, 2)
frames.R-  if (min(row) < 1 || max(row) > dim[1] ||
frames.R-      min(col) < 1 || max(col) > dim[2])
frames.R:    stop("Invalid 'row' and/or 'col' (no such cell in frame layout)")
frames.R-  cgrob <- cellGrob(col, row, NULL, grob, FALSE,
frames.R-                    cellViewport(col, row, NULL))
frames.R-  addGrob(frame, cgrob)
'col' can only be a range of existing columns
frames.R-    # It is an error to specify a range for col which is outside 1..ncol
frames.R-    if (length(col) == 2)
frames.R-      if (col[1] < 1 || col[2] > ncol)
frames.R:        stop("'col' can only be a range of existing columns")
frames.R-      else
frames.R-        result <- FALSE
frames.R-    # It is also an error to specify a single col outside 1..ncol+1
Invalid 'col' specification
frames.R-    # It is also an error to specify a single col outside 1..ncol+1
frames.R-    else
frames.R-      if (col < 1 || col > ncol + 1)
frames.R:        stop("Invalid 'col' specification")
frames.R-      else
frames.R-        result <- col == ncol+1
frames.R-  }
'row' can only be a range of existing rows
frames.R-    # It is an error to specify a range for row which is outside 1..nrow
frames.R-    if (length(row) == 2)
frames.R-      if (row[1] < 1 || row[2] > nrow)
frames.R:        stop("'row' can only be a range of existing rows")
frames.R-      else
frames.R-        result <- FALSE
frames.R-    # It is also an error to specify a single row outside 1..nrow+1
Invalid 'row' specification
frames.R-    # It is also an error to specify a single row outside 1..nrow+1
frames.R-    else
frames.R-      if (row < 1 || row > nrow + 1)
frames.R:        stop("Invalid 'row' specification")
frames.R-      else
frames.R-        result <- row == nrow+1
frames.R-  }
Cannot specify more than one of 'side=["left", "right"]', 'col', 'col.before', or 'col.after'
Must specify exactly one of 'side=["top", "bottom"]', 'row', 'row.before', 
 or 'row.after'
gpar element '%s' must not be length 0
gpar.R-  # Check a (non-NULL) gpar is not of length 0
gpar.R-  check.length <- function(gparname) {
gpar.R-    if (length(gpars[[gparname]]) == 0)
gpar.R:      stop(gettextf("gpar element '%s' must not be length 0", gparname),
gpar.R-           domain = NA)
gpar.R-  }
gpar.R-  # Check a gpar is numeric and not NULL
'gamma' gpar is deprecated
gpar.R-  numnotnull("lex")
gpar.R-  # gamma deprecated
gpar.R-  if ("gamma" %in% names(gpars))
gpar.R:    warning("'gamma' gpar is deprecated")
gpar.R-  numnotnull("gamma")
gpar.R-  numnotnull("alpha")
gpar.R-  # col and fill are converted in C code
--
gpar.R-  temp <- grid.Call("L_getGPar")
gpar.R-  # gamma deprecated
gpar.R-  if ("gamma" %in% names(gp))
gpar.R:      warning("'gamma' gpar is deprecated")
gpar.R-  # Special case "cex" (make it cumulative)
gpar.R-  if (match("cex", names(gp), nomatch=0))
gpar.R-    tempcex <- temp$cex * gp$cex
--
gpar.R-      stop("Must specify only valid 'gpar' names")
gpar.R-    # gamma deprecated
gpar.R-    if ("gamma" %in% names)
gpar.R:      warning("'gamma' gpar is deprecated")
gpar.R-    result <- grid.Call("L_getGPar")[names]
gpar.R-  }
gpar.R-  class(result) <- "gpar"
Invalid 'linemitre' value
gpar.R-  numnotnull("linemitre")
gpar.R-  if (!is.na(match("linemitre", names(gpars)))) {
gpar.R-    if (any(gpars$linemitre < 1))
gpar.R:      stop("Invalid 'linemitre' value")
gpar.R-  }
gpar.R-  # alpha should be 0 to 1
gpar.R-  if (!is.na(match("alpha", names(gpars)))) {
Invalid 'alpha' value
gpar.R-  # alpha should be 0 to 1
gpar.R-  if (!is.na(match("alpha", names(gpars)))) {
gpar.R-    if (any(gpars$alpha < 0 || gpars$alpha > 1))
gpar.R:      stop("Invalid 'alpha' value")
gpar.R-  }
gpar.R-  # font should be integer and not NULL
gpar.R-  if (!is.na(match("font", names(gpars)))) {
Must specify only one of 'font' and 'fontface'
gpar.R-  # Illegal to specify both font and fontface
gpar.R-  if (!is.na(match("fontface", names(gpars)))) {
gpar.R-    if (!is.na(match("font", names(gpars))))
gpar.R:      stop("Must specify only one of 'font' and 'fontface'")
gpar.R-    if (is.null(gpars$fontface))
gpar.R-      gpars$font <- NULL
gpar.R-    else {
Invalid font face
gpar.R-                                cyrillic=5,
gpar.R-                                cyrillic.oblique=6,
gpar.R-                                EUC=7,
gpar.R:                                stop("Invalid font face"))
gpar.R-        gpars$font <- as.integer(temp.num)
gpar.R-      }
gpar.R-    }
Argument must be a 'gpar' object
gpar.R-
gpar.R-set.gpar <- function(gp) {
gpar.R-  if (!is.gpar(gp))
gpar.R:    stop("Argument must be a 'gpar' object")
gpar.R-  temp <- grid.Call("L_getGPar")
gpar.R-  # gamma deprecated
gpar.R-  if ("gamma" %in% names(gp))
Must specify only valid 'gpar' names
gpar.R-  else {
gpar.R-    if (!is.character(names) ||
gpar.R-        !all(names %in% .grid.gpar.names))
gpar.R:      stop("Must specify only valid 'gpar' names")
gpar.R-    # gamma deprecated
gpar.R-    if ("gamma" %in% names)
gpar.R-      warning("'gamma' gpar is deprecated")
Invalid display list element
grab.R-
grab.R-wrap.default <- function(x) {
grab.R-  if (!is.null(x))
grab.R:    stop("Invalid display list element")
grab.R-  NULL
grab.R-}
grab.R-
grob(s) overwritten (grab WILL not be faithful; try 'wrap=TRUE')
grab.R-      names <- getNames()
grab.R-      # Check for overwriting existing grob
grab.R-      if (length(unique(names)) != length(names))
grab.R:        warning("grob(s) overwritten (grab WILL not be faithful; 
   try 'wrap=TRUE')")
grab.R-    }
grab.R-    grid.newpage(recording=FALSE)
grab.R-    # Start at 2 because first element is viewport[ROOT]
viewport overwritten (grab MAY not be faithful)
grab.R-            # with existing viewport name
grab.R-            if (inherits(tempvp, "viewport") &&
grab.R-                vpExists(tempvp))
grab.R:              warning("viewport overwritten (grab MAY not be faithful)")
grab.R-          }
grab.R-          if (!is.null(tempvp))
grab.R-            tempdepth <- depth(tempvp)
--
grab.R-          # Check to see if about to push a viewport
grab.R-          # with existing viewport name
grab.R-          if (vpExists(elt))
grab.R:            warning("viewport overwritten (grab MAY not be faithful)")
grab.R-          grid.draw(elt, recording=FALSE)
grab.R-        ###########
grab.R-        # grabPop
grob pushed viewports and did not pop/up them (grab MAY not be faithful)
grab.R-                pathSame = FALSE
grab.R-            }
grab.R-            if (!pathSame)
grab.R:              warning("grob pushed viewports and did not pop/up them
  (grab MAY not be faithful)")
grab.R-          }
grab.R-          elt$vp <- drawPath
grab.R-          if (!is.null(tempvp))
Only valid to push viewports
grid.R-}
grid.R-
grid.R-push.vp.default <- function(vp, recording) {
grid.R:  stop("Only valid to push viewports")
grid.R-}
grid.R-
grid.R-push.vp.viewport <- function(vp, recording) {
Must specify at least one viewport
grid.R-
grid.R-pushViewport <- function(..., recording=TRUE) {
grid.R-  if (missing(...))
grid.R:    stop("Must specify at least one viewport")
grid.R-  else {
grid.R-    vps <- list(...)
grid.R-    lapply(vps, push.vp, recording)
Viewport '%s' was not found
grid.R-      record(name)
grid.R-    }
grid.R-  } else {
grid.R:    stop(gettextf("Viewport '%s' was not found", as.character(name)),
grid.R-         domain = NA)
grid.R-  }
grid.R-  invisible(result)
Must pop at least one viewport
grid.R-
grid.R-popViewport <- function(n=1, recording=TRUE) {
grid.R-  if (n < 0)
grid.R:    stop("Must pop at least one viewport")
grid.R-  if (n == 0)
grid.R-    n <- vpDepth()
grid.R-  if (n > 0) {
Must navigate up at least one viewport
grid.R-# simply navigate up, leaving pushed viewports in place.
grid.R-upViewport <- function(n=1, recording=TRUE) {
grid.R-  if (n < 0)
grid.R:    stop("Must navigate up at least one viewport")
grid.R-  if (n == 0) {
grid.R-    n <- vpDepth()
grid.R-    upPath <- current.vpPath()
The vp argument is deprecated
grid.R-    # ever see normal viewports, so convert.
grid.R-    vpFromPushedvp(grid.Call("L_currentViewport"))
grid.R-  else {
grid.R:    warning("The vp argument is deprecated")
grid.R-    vp
grid.R-  }
grid.R-}
Invalid 'ask' value
grid.R-  old.prompt <- .Call("L_getAsk")
grid.R-  if (!missing(ask)) {
grid.R-    if (!is.logical(ask))
grid.R:      stop("Invalid 'ask' value")
grid.R-    .Call("L_setAsk", ask)
grid.R-  }
grid.R-  old.prompt
Invalid object inserted on the display list
grid.R-# gets put on the display list
grid.R-record.default <- function(x) {
grid.R-  if (!is.numeric(x))
grid.R:    stop("Invalid object inserted on the display list")
grid.R-  grid.Call("L_setDLelt", x)
grid.R-  inc.display.list()
grid.R-}
Invalid 'vp' slot
grob.R-    if (!inherits(vp, "viewport") &&
grob.R-        !inherits(vp, "vpPath") &&
grob.R-        !is.character(vp))
grob.R:      stop("Invalid 'vp' slot")
grob.R-  # For interactive use, allow user to specify
grob.R-  # vpPath directly (i.e., w/o calling vpPath)
grob.R-  if (is.character(vp))
Invalid 'gp' slot
grob.R-  # gp must be a gpar
grob.R-  if (!is.null(gp))
grob.R-    if (!inherits(gp, "gpar"))
grob.R:      stop("Invalid 'gp' slot")
grob.R-}
grob.R-
grob.R-validDetails <- function(x) {
Invalid 'grob' class
grob.R-  g <- list(..., name=name, gp=gp, vp=vp)
grob.R-  if (!is.null(cl) &&
grob.R-      !is.character(cl))
grob.R:    stop("Invalid 'grob' class")
grob.R-  class(g) <- c(cl, "grob", "gDesc")
grob.R-  validGrob(g)
grob.R-}
grid.grob() is deprecated; please use grob() instead
grob.R-}
grob.R-
grob.R-grid.grob <- function(list.struct, cl=NULL, draw=TRUE) {
grob.R:  warning("grid.grob() is deprecated; please use grob() instead")
grob.R-  g <- do.call("grob", c(list.struct, cl=cl))
grob.R-  if (draw)
grob.R-    grid.draw(g)
A 'grob' path must contain at least one 'grob' name
grob.R-gPathFromVector <- function(names) {
grob.R-  n <- length(names)
grob.R-  if (n < 1)
grob.R:    stop("A 'grob' path must contain at least one 'grob' name")
grob.R-  if (!all(is.character(names)))
grob.R-    stop("Invalid 'grob' name(s)")
grob.R-  path <- list(path=if (n==1) NULL else
Invalid 'grob' name(s)
grob.R-  if (n < 1)
grob.R-    stop("A 'grob' path must contain at least one 'grob' name")
grob.R-  if (!all(is.character(names)))
grob.R:    stop("Invalid 'grob' name(s)")
grob.R-  path <- list(path=if (n==1) NULL else
grob.R-               paste(names[1:(n-1)], collapse=.grid.pathSep),
grob.R-               name=names[n],
Only 'grobs' allowed in 'gList'
grob.R-    class(gl) <- c("gList")
grob.R-    return(gl)
grob.R-  } else {
grob.R:    stop("Only 'grobs' allowed in 'gList'")
grob.R-  }
grob.R-}
grob.R-
Invalid element to add to 'gList'
grob.R-  if (is.null(x))
grob.R-    gList
grob.R-  else
grob.R:    stop("Invalid element to add to 'gList'")
grob.R-}
grob.R-
grob.R-addToGList.grob <- function(x, gList) {
Can only set 'children' for a 'gTree'
grob.R-
grob.R-setChildren <- function(x, children) {
grob.R-  if (!inherits(x, "gTree"))
grob.R:    stop("Can only set 'children' for a 'gTree'")
grob.R-  if (!is.null(children) &&
grob.R-      !inherits(children, "gList"))
grob.R-    stop("'children' must be a 'gList'")
'children' must be a 'gList'
grob.R-    stop("Can only set 'children' for a 'gTree'")
grob.R-  if (!is.null(children) &&
grob.R-      !inherits(children, "gList"))
grob.R:    stop("'children' must be a 'gList'")
grob.R-  # Thin out NULL children
grob.R-  if (!is.null(children)) {
grob.R-    cl <- class(children)
It is only valid to get 'children' from a 'gTree'
grob.R-
grob.R-childNames <- function(gTree) {
grob.R-  if (!inherits(gTree, "gTree"))
grob.R:    stop("It is only valid to get 'children' from a 'gTree'")
grob.R-  gTree$childrenOrder
grob.R-}
grob.R-
Invalid 'gTree' class
grob.R-  gt <- list(..., name=name, gp=gp, vp=vp)
grob.R-  if (!is.null(cl) &&
grob.R-      !is.character(cl))
grob.R:    stop("Invalid 'gTree' class")
grob.R-  class(gt) <- c(cl, "gTree", "grob", "gDesc")
grob.R-  gt <- validGrob(gt, childrenvp)
grob.R-  gt <- setChildren(gt, children)
'allDevices' not yet implemented
grob.R-grid.get <- function(gPath, strict=FALSE, grep=FALSE, global=FALSE,
grob.R-                     allDevices=FALSE) {
grob.R-  if (allDevices)
grob.R:    stop("'allDevices' not yet implemented")
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
--
grob.R-                     grep=FALSE, global=FALSE, allDevices=FALSE,
grob.R-                     redraw=TRUE) {
grob.R-  if (allDevices)
grob.R:    stop("'allDevices' not yet implemented")
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
--
grob.R-                        grep=FALSE, global=FALSE, allDevices=FALSE,
grob.R-                        redraw=TRUE) {
grob.R-  if (allDevices)
grob.R:    stop("'allDevices' not yet implemented")
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
--
grob.R-                      grep=FALSE, global=FALSE, allDevices=FALSE,
grob.R-                      redraw=TRUE) {
grob.R-  if (allDevices)
grob.R:    stop("'allDevices' not yet implemented")
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
Invalid 'gPath'
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
grob.R:    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R-    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
--
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
grob.R:    stop("Invalid 'gPath'")
grob.R-  if (depth(gPath) == 1 && strict) {
grob.R-    gTree$children[[gPath$name]]
grob.R-  } else {
--
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
grob.R:    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R-    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
--
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
grob.R:    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R-    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
--
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
grob.R:    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R-    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
--
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
grob.R:    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R-    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
--
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
grob.R:    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R-    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
--
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
grob.R:    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R-    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
Invalid 'grep' value
grob.R-  if (!inherits(gPath, "gPath"))
grob.R-    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R:    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
grob.R-  getDLfromGPath(gPath, strict, grep, global)
grob.R-}
--
grob.R-    gTree$children[[gPath$name]]
grob.R-  } else {
grob.R-    if (!is.logical(grep))
grob.R:      stop("Invalid 'grep' value")
grob.R-    grep <- rep(grep, length=depth(gPath))
grob.R-    getGTree(gTree, NULL, gPath, strict, grep, global)
grob.R-  }
--
grob.R-  if (!inherits(gPath, "gPath"))
grob.R-    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R:    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
grob.R-  result <- setDLfromGPath(gPath, newGrob, strict, grep)
grob.R-  # result$index will be non-zero if matched the gPath
--
grob.R-  if (!inherits(gPath, "gPath"))
grob.R-    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R:    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
grob.R-  if (depth(gPath) == 1 && strict) {
grob.R-    # gPath must specify an existing child
--
grob.R-  if (!inherits(gPath, "gPath"))
grob.R-    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R:    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
grob.R-  addDLfromGPath(gPath, child, strict, grep, global, redraw)
grob.R-}
--
grob.R-    if (!inherits(gTree, "gTree"))
grob.R-      stop("It is only valid to add a child to a 'gTree'")
grob.R-    if (!is.logical(grep))
grob.R:      stop("Invalid 'grep' value")
grob.R-    grep <- rep(grep, length=depth(gPath))
grob.R-    addGTree(gTree, child, NULL, gPath, strict, grep, global)
grob.R-  }
--
grob.R-  if (!inherits(gPath, "gPath"))
grob.R-    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R:    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
grob.R-  if (depth(gPath) == 1) {
grob.R-    removeNameFromDL(gPath$name, strict, grep, global, warn, redraw)
--
grob.R-  if (!inherits(gPath, "gPath"))
grob.R-    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R:    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
grob.R-  if (depth(gPath) == 1) {
grob.R-    # result will be NULL if no match
--
grob.R-  if (!inherits(gPath, "gPath"))
grob.R-    stop("Invalid 'gPath'")
grob.R-  if (!is.logical(grep))
grob.R:    stop("Invalid 'grep' value")
grob.R-  grep <- rep(grep, length=depth(gPath))
grob.R-  specs <- list(...)
grob.R-  editDLfromGPath(gPath, specs, strict, grep, global, redraw)
--
grob.R-    if (!inherits(grob, "gTree"))
grob.R-      stop("It is only valid to edit a child of a 'gTree'")
grob.R-    if (!is.logical(grep))
grob.R:      stop("Invalid 'grep' value")
grob.R-    grep <- rep(grep, length=depth(gPath))
grob.R-    editGTree(grob, specs, NULL, gPath, strict, grep, global)
grob.R-  }
It is only valid to get a child from a 'gTree'
grob.R-getGrob <- function(gTree, gPath, strict=FALSE,
grob.R-                    grep=FALSE, global=FALSE) {
grob.R-  if (!inherits(gTree, "gTree"))
grob.R:    stop("It is only valid to get a child from a 'gTree'")
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
'gPath' does not specify a valid child
grob.R-    if (redraw)
grob.R-      draw.all()
grob.R-  } else {
grob.R:    stop("'gPath' does not specify a valid child")
grob.R-  }
grob.R-}
grob.R-
--
grob.R-                        newGrob$name, gPath), domain = NA)
grob.R-      }
grob.R-    } else {
grob.R:        stop("'gPath' does not specify a valid child")
grob.R-    }
grob.R-  } else {
grob.R-    gTree <- setGTree(gTree, NULL, gPath, newGrob, strict, grep)
grob.R-    if (is.null(gTree))
grob.R:      stop("'gPath' does not specify a valid child")
grob.R-  }
grob.R-  gTree
grob.R-}
It is only valid to set a child of a 'gTree'
grob.R-# nor is it valid to specify a global destination (i.e., no global arg)
grob.R-setGrob <- function(gTree, gPath, newGrob, strict=FALSE, grep=FALSE) {
grob.R-  if (!inherits(gTree, "gTree"))
grob.R:    stop("It is only valid to set a child of a 'gTree'")
grob.R-  if (!inherits(newGrob, "grob"))
grob.R-    stop("It is only valid to set a 'grob' as child of a 'gTree'")
grob.R-  if (is.character(gPath))
It is only valid to set a 'grob' as child of a 'gTree'
grob.R-  if (!inherits(gTree, "gTree"))
grob.R-    stop("It is only valid to set a child of a 'gTree'")
grob.R-  if (!inherits(newGrob, "grob"))
grob.R:    stop("It is only valid to set a 'grob' as child of a 'gTree'")
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
New 'grob' name (%s) does not match 'gPath' (%s)
grob.R-      if (match(gTree$childrenOrder[old.pos], newGrob$name, nomatch=FALSE)) {
grob.R-        gTree$children[[newGrob$name]] <- newGrob
grob.R-      } else {
grob.R:          stop(gettextf("New 'grob' name (%s) does not match 'gPath' (%s)",
grob.R-                        newGrob$name, gPath), domain = NA)
grob.R-      }
grob.R-    } else {
It is only valid to add a 'grob' to a 'gTree'
grob.R-addGrob <- function(gTree, child, gPath=NULL, strict=FALSE,
grob.R-                    grep=FALSE, global=FALSE) {
grob.R-  if (!inherits(child, "grob"))
grob.R:    stop("It is only valid to add a 'grob' to a 'gTree'")
grob.R-  if (is.null(gPath)) {
grob.R-    addToGTree(gTree, child)
grob.R-  } else {
It is only valid to add a child to a 'gTree'
grob.R-      gPath <- gPathDirect(gPath)
grob.R-    # Only makes sense to specify a gPath for a gTree
grob.R-    if (!inherits(gTree, "gTree"))
grob.R:      stop("It is only valid to add a child to a 'gTree'")
grob.R-    if (!is.logical(grep))
grob.R-      stop("Invalid 'grep' value")
grob.R-    grep <- rep(grep, length=depth(gPath))
--
grob.R-# Assume that child is a grob
grob.R-addToGTree <- function(gTree, child) {
grob.R-  if (!inherits(gTree, "gTree"))
grob.R:    stop("It is only valid to add a child to a 'gTree'")
grob.R-  gTree$children[[child$name]] <- child
grob.R-  # Handle case where child name already exists (so will be overwritten)
grob.R-  if (old.pos <- match(child$name, gTree$childrenOrder, nomatch=0))
--
grob.R-    NULL
grob.R-  else {
grob.R-    if (nameMatch(gPath$name, grob$name, grep))
grob.R:      stop("It is only valid to add a child to a 'gTree'")
grob.R-    else
grob.R-      NULL
grob.R-  }
It is only valid to remove a child from a 'gTree'
grob.R-removeGrob <- function(gTree, gPath, strict=FALSE,
grob.R-                       grep=FALSE, global=FALSE, warn=TRUE) {
grob.R-  if (!inherits(gTree, "gTree"))
grob.R:    stop("It is only valid to remove a child from a 'gTree'")
grob.R-  if (is.character(gPath))
grob.R-    gPath <- gPathDirect(gPath)
grob.R-  if (!inherits(gPath, "gPath"))
--
grob.R-
grob.R-removeFromGTree <- function(gTree, name, grep) {
grob.R-  if (!inherits(gTree, "gTree"))
grob.R:    stop("It is only valid to remove a child from a 'gTree'")
grob.R-  if (grep) {
grob.R-    old.pos <- grep(name, gTree$childrenOrder)
grob.R-    if (length(old.pos) == 0)
It is only valid to edit a child of a 'gTree'
grob.R-      gPath <- gPathDirect(gPath)
grob.R-    # Only makes sense to specify a gPath for a gTree
grob.R-    if (!inherits(grob, "gTree"))
grob.R:      stop("It is only valid to edit a child of a 'gTree'")
grob.R-    if (!is.logical(grep))
grob.R-      stop("Invalid 'grep' value")
grob.R-    grep <- rep(grep, length=depth(gPath))
It is invalid to directly edit the 'children' or 'childrenOrder' slot
grob.R-editDetails.gTree <- function(x, specs) {
grob.R-  # Disallow editing children or childrenOrder slots directly
grob.R-  if (any(match(specs, c("children", "childrenOrder"), nomatch=FALSE)))
grob.R:    stop("It is invalid to directly edit the 'children' or 'childrenOrder' slot")
grob.R-  x
grob.R-}
grob.R-
Invalid 'result'
grob.R-# Should only be when result is NULL
grob.R-growResult.default <- function(result, x) {
grob.R-  if (!is.null(result))
grob.R:    stop("Invalid 'result'")
grob.R-  x
grob.R-}
grob.R-
The new 'grob' must have the same name as the old 'grob'
grob.R-            gTree$children[[newGrob$name]] <- newGrob
grob.R-            found <- TRUE
grob.R-          } else {
grob.R:            stop("The new 'grob' must have the same name as the old 'grob'")
grob.R-          }
grob.R-        } else {
grob.R-          if (is.null(pathsofar))
--
grob.R-      if (match(grob$name, newGrob$name, nomatch=FALSE))
grob.R-        newGrob
grob.R-      else
grob.R:        stop("The new 'grob' must have the same name as the old 'grob'")
grob.R-    else
grob.R-      if (strict)
grob.R-        NULL
Slot '%s' not found
grob.R-        else
grob.R-          grob[[i]] <- specs[[i]]
grob.R-      else
grob.R:        warning(gettextf("Slot '%s' not found", i), domain = NA)
grob.R-  # Check grob slots are ok before trying to do anything with them
grob.R-  # in editDetails
grob.R-  # grob$childrenvp may be non-NULL for a gTree
'gPath' (%s) not found
grob.R-    index <- index + 1
grob.R-  }
grob.R-  if (!found)
grob.R:    stop(gettextf("'gPath' (%s) not found", as.character(gPath)), domain = NA)
grob.R-  else if (redraw)
grob.R-    draw.all()
grob.R-}
gPath (%s) not found
grob.R-    index <- index + 1
grob.R-  }
grob.R-  if (!found)
grob.R:    stop(gettextf("gPath (%s) not found", gPath), domain = NA)
grob.R-  else if (redraw)
grob.R-    draw.all()
grob.R-}
--
grob.R-    index <- index + 1
grob.R-  }
grob.R-  if (!found)
grob.R:    stop(gettextf("gPath (%s) not found", gPath), domain = NA)
grob.R-  else if (redraw)
grob.R-    draw.all()
grob.R-}
--
grob.R-  }
grob.R-  if (!found) {
grob.R-    if (warn)
grob.R:        stop(gettextf("gPath (%s) not found", gPath), domain = NA)
grob.R-  } else if (redraw)
grob.R-    draw.all()
grob.R-}
Grob '%s' not found
grob.R-    index <- index + 1
grob.R-  }
grob.R-  if (is.null(result))
grob.R:    stop(gettextf("Grob '%s' not found", name), domain = NA)
grob.R-  result
grob.R-}
grob.R-
--
grob.R-    index <- index + 1
grob.R-  }
grob.R-  if (is.null(result))
grob.R:    stop(gettextf("Grob '%s' not found", name), domain = NA)
grob.R-  result
grob.R-}
grob.R-
Invalid element in the display list
grob.R-grid.draw.default <- function(x, recording) {
grob.R-  # Allow for "holes" in the DL if a grob has been removed
grob.R-  if (!is.null(x))
grob.R:    stop("Invalid element in the display list")
grob.R-}
grob.R-
grob.R-grid.draw.viewport <- function(x, recording) {
This function is redundant and will disappear in future versions.
grob.R-}
grob.R-
grob.R-grid.copy <- function(grob) {
grob.R:  warning("This function is redundant and will disappear in future versions.")
grob.R-  grob
grob.R-}
grob.R-
'l' must be a layout
highlevel.R-                         cell.label=TRUE, label.col="blue",
highlevel.R-                             unit.col="red", vp=NULL) {
highlevel.R-  if (!is.layout(l))
highlevel.R:    stop("'l' must be a layout")
highlevel.R-  if (newpage)
highlevel.R-    grid.newpage()
highlevel.R-  if (!is.null(vp))
'pch' and 'labels' not the same length
highlevel.R-  labels <- as.character(labels)
highlevel.R-  nkeys <- length(labels)
highlevel.R-  if (length(pch) != nkeys)
highlevel.R:    stop("'pch' and 'labels' not the same length")
highlevel.R-  if (!is.unit(hgap))
highlevel.R-    hgap <- unit(hgap, default.units)
highlevel.R-  if (length(hgap) != 1)
--
highlevel.R-  labels <- as.character(labels)
highlevel.R-  nkeys <- length(labels)
highlevel.R-  if (length(pch) != nkeys)
highlevel.R:    stop("'pch' and 'labels' not the same length")
highlevel.R-  if (!is.unit(hgap))
highlevel.R-    hgap <- unit(hgap, default.units)
highlevel.R-  if (length(hgap) != 1)
'hgap' must be single unit
highlevel.R-  if (!is.unit(hgap))
highlevel.R-    hgap <- unit(hgap, default.units)
highlevel.R-  if (length(hgap) != 1)
highlevel.R:    stop("'hgap' must be single unit")
highlevel.R-  if (!is.unit(vgap))
highlevel.R-    vgap <- unit(vgap, default.units)
highlevel.R-  if (length(vgap) != 1)
--
highlevel.R-  if (!is.unit(hgap))
highlevel.R-    hgap <- unit(hgap, default.units)
highlevel.R-  if (length(hgap) != 1)
highlevel.R:    stop("'hgap' must be single unit")
highlevel.R-  if (!is.unit(vgap))
highlevel.R-    vgap <- unit(vgap, default.units)
highlevel.R-  if (length(vgap) != 1)
'vgap' must be single unit
highlevel.R-  if (!is.unit(vgap))
highlevel.R-    vgap <- unit(vgap, default.units)
highlevel.R-  if (length(vgap) != 1)
highlevel.R:    stop("'vgap' must be single unit")
highlevel.R-  gf <- grid.frame(layout=grid.layout(nkeys, 2), vp=vp, gp=gp,
  draw=FALSE)
highlevel.R-  for (i in 1:nkeys) {
highlevel.R-    if (i==1) {
--
highlevel.R-  if (!is.unit(vgap))
highlevel.R-    vgap <- unit(vgap, default.units)
highlevel.R-  if (length(vgap) != 1)
highlevel.R:    stop("'vgap' must be single unit")
highlevel.R-  legend.layout <-
highlevel.R-    grid.layout(nkeys, 3,
highlevel.R-                widths=unit.c(unit(2, "lines"),
Invalid justification
just.R-    just <- as.integer(match(just[1], c("left", "right", "bottom", "top",
just.R-                                        "centre", "center")) - 1)
just.R-    if (any(is.na(just)))
just.R:      stop("Invalid justification")
just.R-  } else if (length(just) > 1) {
just.R-    # first value must be one of "left", "right", "centre", or "center"
just.R-    just[1] <- as.integer(match(just[1], c("left", "right", "bottom",
  "top",
--
just.R-            switch(just[2] + 1, NA, NA, 0, 1, 0.5, 0.5))
just.R-  # Final paranoid check
just.R-  if (any(is.na(just)))
just.R:    stop("Invalid justification")
just.R-  just
just.R-}
just.R-
Invalid horizontal justification
just.R-    just[1] <- as.integer(match(just[1], c("left", "right", "bottom",
  "top",
just.R-                                           "centre", "center")) - 1)
just.R-    if (!(just[1] %in% c(0, 1, 4, 5)))
just.R:      stop("Invalid horizontal justification")
just.R-    # second value must be one of "bottom", "top", "centre", or "center"
just.R-    just[2] <- as.integer(match(just[2], c("left", "right", "bottom",
  "top",
just.R-                                           "centre", "center")) - 1)
Invalid vertical justification
just.R-    just[2] <- as.integer(match(just[2], c("left", "right", "bottom",
  "top",
just.R-                                           "centre", "center")) - 1)
just.R-    if (!(just[2] %in% c(2, 3, 4, 5)))
just.R:      stop("Invalid vertical justification")
just.R-    just <- as.integer(just)
just.R-  }
just.R-  # Extend to length 2 if necessary
'respect' must be logical or an 'nrow' by 'ncol' matrix
layout.R-  if (!is.logical(respect)) {
layout.R-    respect <- as.matrix(respect)
layout.R-    if (!is.matrix(respect) || any(dim(respect) != c(nrow, ncol))) 
layout.R:      stop("'respect' must be logical or an 'nrow' by 'ncol' matrix")
layout.R-    }
layout.R-  if (is.matrix(respect)) {
layout.R-    respect.mat <- matrix(as.integer(respect),
Invalid 'origin'
origin.R-                             c("bottom.left", "top.left",
origin.R-                               "bottom.right", "top.right")) - 1)
origin.R-  if (any(is.na(origin)))
origin.R:    stop("Invalid 'origin'")
origin.R-  origin
origin.R-}
origin.R-
'x' and 'y' must be units
primitives.R-validDetails.move.to <- function(x) {
primitives.R-  if (!is.unit(x$x) ||
primitives.R-      !is.unit(x$y))
primitives.R:    stop("'x' and 'y' must be units")
primitives.R-  # Make sure that x and y are of length 1
primitives.R-  if (unit.length(x$x) > 1 | unit.length(x$y) > 1)
primitives.R-    stop("'x' and 'y' must have length 1")
--
primitives.R-validDetails.line.to <- function(x) {
primitives.R-  if (!is.unit(x$x) ||
primitives.R-      !is.unit(x$y))
primitives.R:    stop("'x' and 'y' must be units")
primitives.R-  # Make sure that x and y are of length 1
primitives.R-  if (unit.length(x$x) > 1 | unit.length(x$y) > 1)
primitives.R-    stop("'x' and 'y' must have length 1")
--
primitives.R-validDetails.lines <- function(x) {
primitives.R-  if (!is.unit(x$x) ||
primitives.R-      !is.unit(x$y))
primitives.R:    stop("'x' and 'y' must be units")
primitives.R-  x
primitives.R-}
primitives.R-
--
primitives.R-validDetails.arrows <- function(x) {
primitives.R-  if ((!is.null(x$x) && !is.unit(x$x)) ||
primitives.R-      (!is.null(x$y) && !is.unit(x$y)))
primitives.R:    stop("'x' and 'y' must be units or NULL")
primitives.R-  if (!is.unit(x$length))
primitives.R-    stop("'length' must be a unit object")
primitives.R-  x$ends <- as.integer(match(x$ends, c("first", "last", "both")))
--
primitives.R-validDetails.polygon <- function(x) {
primitives.R-  if (!is.unit(x$x) ||
primitives.R-      !is.unit(x$y))
primitives.R:    stop("'x' and 'y' must be units")
primitives.R-  if (!is.null(x$id) && !is.null(x$id.lengths))
primitives.R-    stop("It is invalid to specify both 'id' and 'id.lengths")
primitives.R-  if (unit.length(x$x) != unit.length(x$y))
--
primitives.R-    x$label <- as.character(x$label)
primitives.R-  if (!is.unit(x$x) ||
primitives.R-      !is.unit(x$y))
primitives.R:    stop("'x' and 'y' must be units")
primitives.R-  x$rot <- as.numeric(x$rot)
primitives.R-  if (!all(is.finite(x$rot)) || length(x$rot) == 0)
primitives.R-    stop("Invalid 'rot' value")
'x' and 'y' must have length 1
primitives.R-    stop("'x' and 'y' must be units")
primitives.R-  # Make sure that x and y are of length 1
primitives.R-  if (unit.length(x$x) > 1 | unit.length(x$y) > 1)
primitives.R:    stop("'x' and 'y' must have length 1")
primitives.R-  x
primitives.R-}
primitives.R-
--
primitives.R-    stop("'x' and 'y' must be units")
primitives.R-  # Make sure that x and y are of length 1
primitives.R-  if (unit.length(x$x) > 1 | unit.length(x$y) > 1)
primitives.R:    stop("'x' and 'y' must have length 1")
primitives.R-  x
primitives.R-}
primitives.R-
'x0', 'y0', 'x1', and 'y1' must be units
primitives.R-validDetails.segments <- function(x) {
primitives.R-  if (!is.unit(x$x0) || !is.unit(x$x1) ||
primitives.R-      !is.unit(x$y0) || !is.unit(x$y1))
primitives.R:    stop("'x0', 'y0', 'x1', and 'y1' must be units")
primitives.R-  x
primitives.R-}
primitives.R-
'x' and 'y' must be units or NULL
primitives.R-validDetails.arrows <- function(x) {
primitives.R-  if ((!is.null(x$x) && !is.unit(x$x)) ||
primitives.R-      (!is.null(x$y) && !is.unit(x$y)))
primitives.R:    stop("'x' and 'y' must be units or NULL")
primitives.R-  if (!is.unit(x$length))
primitives.R-    stop("'length' must be a unit object")
primitives.R-  x$ends <- as.integer(match(x$ends, c("first", "last", "both")))
'length' must be a unit object
primitives.R-      (!is.null(x$y) && !is.unit(x$y)))
primitives.R-    stop("'x' and 'y' must be units or NULL")
primitives.R-  if (!is.unit(x$length))
primitives.R:    stop("'length' must be a unit object")
primitives.R-  x$ends <- as.integer(match(x$ends, c("first", "last", "both")))
primitives.R-  x$type <- as.integer(match(x$type, c("open", "closed")))
primitives.R-  if (any(is.na(x$ends)) || any(is.na(x$type)))
Invalid 'ends' or 'type' argument
primitives.R-  x$ends <- as.integer(match(x$ends, c("first", "last", "both")))
primitives.R-  x$type <- as.integer(match(x$type, c("open", "closed")))
primitives.R-  if (any(is.na(x$ends)) || any(is.na(x$type)))
primitives.R:    stop("Invalid 'ends' or 'type' argument")
primitives.R-  x
primitives.R-}
primitives.R-
Corrupt 'arrows' object
primitives.R-drawDetails.arrows <- function(x, recording=TRUE) {
primitives.R-  if (is.null(x$x)) { # y should be null too
primitives.R-    if (!is.null(x$y))
primitives.R:      stop("Corrupt 'arrows' object")
primitives.R-    lineThing <- getGrob(x, childNames(x))
primitives.R-    # This could be done via method dispatch, but that really
primitives.R-    # seemed like overkill
--
primitives.R-widthDetails.arrows <- function(x) {
primitives.R-  if (is.null(x$x)) { # y should be null too
primitives.R-    if (!is.null(x$y))
primitives.R:      stop("Corrupt 'arrows' object")
primitives.R-    lineThing <- getGrob(x, childNames(x))
primitives.R-    widthDetails(lineThing)
primitives.R-  } else {
--
primitives.R-heightDetails.arrows <- function(x) {
primitives.R-  if (is.null(x$x)) { # y should be null too
primitives.R-    if (!is.null(x$y))
primitives.R:      stop("Corrupt 'arrows' object")
primitives.R-    lineThing <- getGrob(x, childNames(x))
primitives.R-    heightDetails(lineThing)
primitives.R-  } else {
The 'grob' argument must be a 'line.to', 'lines', or 'segments' grob
primitives.R-    if (!(inherits(grob, "lines") ||
primitives.R-          inherits(grob, "segments") ||
primitives.R-          inherits(grob, "line.to")))
primitives.R:      stop("The 'grob' argument must be a 'line.to', 'lines', or 
  'segments' grob")
primitives.R-    x <- y <- NULL
primitives.R-  }
primitives.R-  gTree(x=x, y=y, children=if (is.null(grob)) NULL else gList(grob),
It is invalid to specify both 'id' and 'id.lengths
primitives.R-      !is.unit(x$y))
primitives.R-    stop("'x' and 'y' must be units")
primitives.R-  if (!is.null(x$id) && !is.null(x$id.lengths))
primitives.R:    stop("It is invalid to specify both 'id' and 'id.lengths")
primitives.R-  if (unit.length(x$x) != unit.length(x$y))
primitives.R-    stop("'x' and 'y' must be same length")
primitives.R-  if (!is.null(x$id) && (length(x$id) != unit.length(x$x)))
'x' and 'y' must be same length
primitives.R-  if (!is.null(x$id) && !is.null(x$id.lengths))
primitives.R-    stop("It is invalid to specify both 'id' and 'id.lengths")
primitives.R-  if (unit.length(x$x) != unit.length(x$y))
primitives.R:    stop("'x' and 'y' must be same length")
primitives.R-  if (!is.null(x$id) && (length(x$id) != unit.length(x$x)))
primitives.R-    stop("'x' and 'y' and 'id' must all be same length")
primitives.R-  if (!is.null(x$id))
'x' and 'y' and 'id' must all be same length
primitives.R-  if (unit.length(x$x) != unit.length(x$y))
primitives.R-    stop("'x' and 'y' must be same length")
primitives.R-  if (!is.null(x$id) && (length(x$id) != unit.length(x$x)))
primitives.R:    stop("'x' and 'y' and 'id' must all be same length")
primitives.R-  if (!is.null(x$id))
primitives.R-    x$id <- as.integer(x$id)
primitives.R-  if (!is.null(x$id.lengths) && (sum(x$id.lengths) != unit.length(x$x)))
'x' and 'y' and 'id.lengths' must specify same overall length
primitives.R-  if (!is.null(x$id))
primitives.R-    x$id <- as.integer(x$id)
primitives.R-  if (!is.null(x$id.lengths) && (sum(x$id.lengths) != unit.length(x$x)))
primitives.R:    stop("'x' and 'y' and 'id.lengths' must specify same overall
 length")
primitives.R-  if (!is.null(x$id.lengths))
primitives.R-    x$id.lengths <- as.integer(x$id.lengths)
primitives.R-  x
'x', 'y', and 'r' must be units
primitives.R-  if (!is.unit(x$x) ||
primitives.R-      !is.unit(x$y) ||
primitives.R-      !is.unit(x$r))
primitives.R:    stop("'x', 'y', and 'r' must be units")
primitives.R-  x
primitives.R-}
primitives.R-
'x', 'y', 'width', and 'height' must be units
primitives.R-      !is.unit(x$y) ||
primitives.R-      !is.unit(x$width) ||
primitives.R-      !is.unit(x$height))
primitives.R:    stop("'x', 'y', 'width', and 'height' must be units")
primitives.R-  valid.just(x$just)
primitives.R-  if (!is.null(x$hjust))
primitives.R-    x$hjust <- as.numeric(x$hjust)
Invalid 'rot' value
primitives.R-    stop("'x' and 'y' must be units")
primitives.R-  x$rot <- as.numeric(x$rot)
primitives.R-  if (!all(is.finite(x$rot)) || length(x$rot) == 0)
primitives.R:    stop("Invalid 'rot' value")
primitives.R-  valid.just(x$just)
primitives.R-  if (!is.null(x$hjust))
primitives.R-    x$hjust <- as.numeric(x$hjust)
zero-length 'pch'
primitives.R-######################################
primitives.R-valid.pch <- function(pch) {
primitives.R-  if (length(pch) == 0)
primitives.R:    stop("zero-length 'pch'")
primitives.R-  if (is.null(pch))
primitives.R-    pch <- as.integer(1)
primitives.R-  else if (!is.character(pch))
'x', 'y' and 'size' must be units
primitives.R-  if (!is.unit(x$x) ||
primitives.R-      !is.unit(x$y) ||
primitives.R-      !is.unit(x$size))
primitives.R:    stop("'x', 'y' and 'size' must be units")
primitives.R-  if (unit.length(x$x) != unit.length(x$y))
primitives.R-    stop("'x' and 'y' must be unit objects and have the same length")
primitives.R-  x$pch <- valid.pch(x$pch)
'x' and 'y' must be unit objects and have the same length
primitives.R-      !is.unit(x$size))
primitives.R-    stop("'x', 'y' and 'size' must be units")
primitives.R-  if (unit.length(x$x) != unit.length(x$y))
primitives.R:    stop("'x' and 'y' must be unit objects and have the same length")
primitives.R-  x$pch <- valid.pch(x$pch)
primitives.R-  x
primitives.R-}
'x' must be numeric
unit.R-# or 'unit(1, "grob", a.grob)'
unit.R-unit <- function(x, units, data=NULL) {
unit.R-  if (!is.numeric(x))
unit.R:    stop("'x' must be numeric")
unit.R-  units <- as.character(units)
unit.R-  if (length(x) == 0 || length(units) == 0)
unit.R-    stop("'x' and 'units' must have length > 0")
'x' and 'units' must have length > 0
unit.R-    stop("'x' must be numeric")
unit.R-  units <- as.character(units)
unit.R-  if (length(x) == 0 || length(units) == 0)
unit.R:    stop("'x' and 'units' must have length > 0")
unit.R-  valid.unit(x, units, recycle.data(data, FALSE, length(x)))
unit.R-}
unit.R-
'x' argument must be a unit object
unit.R-  whatto <- match(axisTo, c("x", "y")) - 1 +
unit.R-    2*(match(typeTo, c("location", "dimension")) - 1)
unit.R-  if (!is.unit(x))
unit.R:    stop("'x' argument must be a unit object")
unit.R-  if (is.na(whatfrom) || is.na(whatto))
unit.R-    stop("Invalid 'axis' or 'type'")
unit.R-  value <- grid.Call("L_convert", x, as.integer(whatfrom),
Invalid 'axis' or 'type'
unit.R-  if (!is.unit(x))
unit.R-    stop("'x' argument must be a unit object")
unit.R-  if (is.na(whatfrom) || is.na(whatto))
unit.R:    stop("Invalid 'axis' or 'type'")
unit.R-  value <- grid.Call("L_convert", x, as.integer(whatfrom),
unit.R-                 as.integer(whatto), valid.units(unitTo))
unit.R-  if (!valueOnly)
No string supplied for 'strwidth' unit
unit.R-    for (i in (1:n)[str.units])
unit.R-      if (!(length(data) >= i &&
unit.R-            (is.character(data[[i]]) || is.expression(data[[i]]))))
unit.R:        stop("No string supplied for 'strwidth' unit")
unit.R-  str.units <- (units == "strheight" | units == "mystrheight")
unit.R-  if (any(str.units != 0))
unit.R-    for (i in (1:n)[str.units])
No string supplied for 'strheight' unit
unit.R-    for (i in (1:n)[str.units])
unit.R-      if (!(length(data) >= i &&
unit.R-            (is.character(data[[i]]) || is.expression(data[[i]]))))
unit.R:        stop("No string supplied for 'strheight' unit")
unit.R-  # Make sure that a grob has been specified
unit.R-  grob.units <- units == "grobwidth"
unit.R-  if (any(grob.units != 0))
No 'grob' supplied for 'grobwidth' unit
unit.R-      if (!(length(data) >= i &&
unit.R-            (is.grob(data[[i]]) || inherits(data[[i]], "gPath") ||
unit.R-             is.character(data[[i]]))))
unit.R:        stop("No 'grob' supplied for 'grobwidth' unit")
unit.R-      if (is.character(data[[i]]))
unit.R-        data[[i]] <- gPathDirect(data[[i]])
unit.R-      if (inherits(data[[i]], "gPath"))
'gPath' must have depth 1 in 'grobwidth/height' units
unit.R-        data[[i]] <- gPathDirect(data[[i]])
unit.R-      if (inherits(data[[i]], "gPath"))
unit.R-        if (depth(data[[i]]) > 1)
unit.R:          stop("'gPath' must have depth 1 in 'grobwidth/height' units")
unit.R-    }
unit.R-  grob.units <- units == "grobheight"
unit.R-  if (any(grob.units != 0))
--
unit.R-        data[[i]] <- gPathDirect(data[[i]])
unit.R-      if (inherits(data[[i]], "gPath"))
unit.R-        if (depth(data[[i]]) > 1)
unit.R:          stop("'gPath' must have depth 1 in 'grobwidth/height' units")
unit.R-    }
unit.R-  data
unit.R-}
No 'grob' supplied for 'grobheight' unit
unit.R-      if (!(length(data) >= i &&
unit.R-            (is.grob(data[[i]]) || inherits(data[[i]], "gPath") ||
unit.R-             is.character(data[[i]]))))
unit.R:        stop("No 'grob' supplied for 'grobheight' unit")
unit.R-      if (is.character(data[[i]]))
unit.R-        data[[i]] <- gPathDirect(data[[i]])
unit.R-      if (inherits(data[[i]], "gPath"))
Operator '%s' not meaningful for units
unit.R-Ops.unit <- function(e1, e2) {
unit.R-  ok <- switch(.Generic, "+"=TRUE, "-"=TRUE, "*"=TRUE, FALSE)
unit.R-  if (!ok)
unit.R:    stop(gettextf("Operator '%s' not meaningful for units", .Generic),
unit.R-         domain = NA)
unit.R-  if (.Generic == "*")
unit.R-    # can only multiply a unit by a scalar
Only one operand may be a unit
unit.R-    # can only multiply a unit by a scalar
unit.R-    if (nchar(.Method[1])) {
unit.R-      if (nchar(.Method[2]))
unit.R:        stop("Only one operand may be a unit")
unit.R-      else if (is.numeric(e2))
unit.R-        # NOTE that we always put the scalar first
unit.R-        # Use as.numeric to force e2 to be REAL
Non-unit operand must be numeric
unit.R-        # Use as.numeric to force e2 to be REAL
unit.R-        unit.arithmetic(.Generic, as.numeric(e2), e1)
unit.R-      else
unit.R:        stop("Non-unit operand must be numeric")
unit.R-    } else {
unit.R-      if (is.numeric(e1))
unit.R-        # Use as.numeric to force e1 to be REAL
unit.R-        unit.arithmetic(.Generic, as.numeric(e1), e2)
unit.R-      else
unit.R:        stop("Non-unit operand must be numeric")
unit.R-    }
unit.R-  else
unit.R-    # Check that both arguments are units
Both operands must be units
unit.R-    if (nchar(.Method[1]) && nchar(.Method[2]))
unit.R-      unit.arithmetic(.Generic, e1, e2)
unit.R-    else
unit.R:      stop("Both operands must be units")
unit.R-}
unit.R-
unit.R-## <FIXME>
'Summary' function '%s' not meaningful for units
unit.R-  x <- unit.c(...)
unit.R-  ok <- switch(.Generic, "max"=TRUE, "min"=TRUE, "sum"=TRUE, FALSE)
unit.R-  if (!ok)
unit.R:    stop(gettextf("'Summary' function '%s' not meaningful for units",
unit.R-                  .Generic), domain = NA)
unit.R-  unit.arithmetic(.Generic, x)
unit.R-}
Zero arguments where at least one expected
unit.R-  x <- list(...)
unit.R-  numargs <- length(x)
unit.R-  if (numargs == 0)
unit.R:    stop("Zero arguments where at least one expected")
unit.R-  # how long will the result be?
unit.R-  maxlength <- 0
unit.R-  for (i in 1:numargs)
--
unit.R-  x <- list(...)
unit.R-  numargs <- length(x)
unit.R-  if (numargs == 0)
unit.R:    stop("Zero arguments where at least one expected")
unit.R-  # how long will the result be?
unit.R-  maxlength <- 0
unit.R-  for (i in 1:numargs)
Index out of bounds (unit subsetting)
unit.R-  if (is.logical(index))
unit.R-    index <- (1:this.length)[index]
unit.R-  if (top && index > this.length)
unit.R:    stop("Index out of bounds (unit subsetting)")
unit.R-  cl <- class(x);
unit.R-  units <- attr(x, "unit")
unit.R-  valid.units <- attr(x, "valid.unit")
Index out of bounds (unit arithmetic subsetting)
unit.R-  if (is.logical(index))
unit.R-    index <- (1:this.length)[index]
unit.R-  if (top && index > this.length)
unit.R:    stop("Index out of bounds (unit arithmetic subsetting)")
unit.R-  switch(x$fname,
unit.R-         "+"="["(x$arg1, (index - 1) %% this.length + 1, top=FALSE) +
unit.R-             "["(x$arg2, (index - 1) %% this.length + 1, top=FALSE),
Index out of bounds (unit list subsetting)
unit.R-  if (is.logical(index))
unit.R-    index <- (1:this.length)[index]
unit.R-  if (top && index > this.length)
unit.R:    stop("Index out of bounds (unit list subsetting)")
unit.R-  cl <- class(x)
unit.R-  result <- unclass(x)[(index - 1) %% this.length + 1]
unit.R-  class(result) <- cl
It is invalid to combine unit objects with other types
unit.R-                                     length(x[[i]])))
unit.R-      }
unit.R-      else
unit.R:        stop("It is invalid to combine unit objects with other types")
unit.R-    unit(values, units, data=data)
unit.R-  }
unit.R-}
'range' must be numeric
util.R-
util.R-grid.pretty <- function(range) {
util.R-  if (!is.numeric(range))
util.R:    stop("'range' must be numeric")
util.R-  .Call("L_pretty", range, PACKAGE="grid")
util.R-}
util.R-
'x', 'y', 'width', and 'height' must all be units of length 1
viewport.R-                           name) {
viewport.R-  if (unit.length(x) > 1 || unit.length(y) > 1 ||
viewport.R-      unit.length(width) > 1 || unit.length(height) > 1)
viewport.R:    stop("'x', 'y', 'width', and 'height' must all be units of
                     length 1")
viewport.R-  if (!is.gpar(gp))
viewport.R-    stop("Invalid graphics parameters")
viewport.R-  if (!is.logical(clip))
Invalid graphics parameters
viewport.R-      unit.length(width) > 1 || unit.length(height) > 1)
viewport.R-    stop("'x', 'y', 'width', and 'height' must all be units of
                    length 1")
viewport.R-  if (!is.gpar(gp))
viewport.R:    stop("Invalid graphics parameters")
viewport.R-  if (!is.logical(clip))
viewport.R-    clip <- switch(as.character(clip),
viewport.R-                   on=TRUE,
Invalid 'clip' value
viewport.R-                   on=TRUE,
viewport.R-                   off=NA,
viewport.R-                   inherit=FALSE,
viewport.R:                   stop("Invalid 'clip' value"))
viewport.R-  if (!is.numeric(xscale) || length(xscale) != 2 ||
viewport.R-      any(!is.finite(xscale)))
viewport.R-    stop("Invalid 'xscale' in viewport")
Invalid 'xscale' in viewport
viewport.R-                   stop("Invalid 'clip' value"))
viewport.R-  if (!is.numeric(xscale) || length(xscale) != 2 ||
viewport.R-      any(!is.finite(xscale)))
viewport.R:    stop("Invalid 'xscale' in viewport")
viewport.R-  if (!is.numeric(yscale) || length(yscale) != 2 ||
viewport.R-      any(!is.finite(yscale)))
viewport.R-    stop("Invalid 'yscale' in viewport")
Invalid 'yscale' in viewport
viewport.R-    stop("Invalid 'xscale' in viewport")
viewport.R-  if (!is.numeric(yscale) || length(yscale) != 2 ||
viewport.R-      any(!is.finite(yscale)))
viewport.R:    stop("Invalid 'yscale' in viewport")
viewport.R-  if (!is.numeric(angle) || length(angle) != 1 ||
viewport.R-      !is.finite(angle))
viewport.R-    stop("Invalid 'angle' in viewport")
Invalid 'angle' in viewport
viewport.R-    stop("Invalid 'yscale' in viewport")
viewport.R-  if (!is.numeric(angle) || length(angle) != 1 ||
viewport.R-      !is.finite(angle))
viewport.R:    stop("Invalid 'angle' in viewport")
viewport.R-  if (!(is.null(layout) || is.layout(layout)))
viewport.R-    stop("Invalid 'layout' in viewport")
viewport.R-  if (!is.null(layout.pos.row)) {
Invalid 'layout' in viewport
viewport.R-      !is.finite(angle))
viewport.R-    stop("Invalid 'angle' in viewport")
viewport.R-  if (!(is.null(layout) || is.layout(layout)))
viewport.R:    stop("Invalid 'layout' in viewport")
viewport.R-  if (!is.null(layout.pos.row)) {
viewport.R-    layout.pos.row <- as.integer(range(layout.pos.row))
viewport.R-    if (any(!is.finite(layout.pos.row)))
Invalid 'layout.pos.row' in viewport
viewport.R-  if (!is.null(layout.pos.row)) {
viewport.R-    layout.pos.row <- as.integer(range(layout.pos.row))
viewport.R-    if (any(!is.finite(layout.pos.row)))
viewport.R:      stop("Invalid 'layout.pos.row' in viewport")
viewport.R-  }
viewport.R-  if (!is.null(layout.pos.col)) {
viewport.R-    layout.pos.col <- as.integer(range(layout.pos.col))
Invalid 'layout.pos.col' in viewport
viewport.R-  if (!is.null(layout.pos.col)) {
viewport.R-    layout.pos.col <- as.integer(range(layout.pos.col))
viewport.R-    if (any(!is.finite(layout.pos.col)))
viewport.R:      stop("Invalid 'layout.pos.col' in viewport")
viewport.R-  }
viewport.R-  # If name is NULL then we give it a default
viewport.R-  # Otherwise it should be a valid R name
Only viewports allowed in 'vpList'
viewport.R-    class(vps) <- c("vpList", "viewport")
viewport.R-    vps
viewport.R-  } else {
viewport.R:    stop("Only viewports allowed in 'vpList'")
viewport.R-  }
viewport.R-}
viewport.R-
Only viewports allowed in 'vpStack'
viewport.R-    class(vps) <- c("vpStack", "viewport")
viewport.R-    vps
viewport.R-  } else {
viewport.R:    stop("Only viewports allowed in 'vpStack'")
viewport.R-  }
viewport.R-}
viewport.R-
'parent' must be a viewport and 'children' must be a 'vpList' in 'vpTree'
viewport.R-    class(tree) <- c("vpTree", "viewport")
viewport.R-    tree
viewport.R-  } else {
viewport.R:    stop("'parent' must be a viewport and 'children' must be a 'vpList' in 'vpTree'")
viewport.R-  }
viewport.R-}
viewport.R-
A viewport path must contain at least one viewport name
viewport.R-vpPathFromVector <- function(names) {
viewport.R-  n <- length(names)
viewport.R-  if (n < 1)
viewport.R:    stop("A viewport path must contain at least one viewport name")
viewport.R-  if (!all(is.character(names)))
viewport.R-    stop("Invalid viewport name(s)")
viewport.R-  path <- list(path=if (n==1) NULL else
Invalid viewport name(s)
viewport.R-  if (n < 1)
viewport.R-    stop("A viewport path must contain at least one viewport name")
viewport.R-  if (!all(is.character(names)))
viewport.R:    stop("Invalid viewport name(s)")
viewport.R-  path <- list(path=if (n==1) NULL else
viewport.R-               paste(names[1:(n-1)], collapse=.grid.pathSep),
viewport.R-               name=names[n],
Must specify at least one of 'x' or 'xscale'
viewport.R-  extension <- rep(extension, length.out=2)
viewport.R-  if (is.null(xscale)) {
viewport.R-    if (is.null(xData))
viewport.R:      stop("Must specify at least one of 'x' or 'xscale'")
viewport.R-    xscale <- range(xData) + c(-1, 1)*diff(range(xData))*extension[1]
viewport.R-  }
viewport.R-  if (is.null(yscale)) {
Must specify at least one of 'y' or 'yscale'
viewport.R-  }
viewport.R-  if (is.null(yscale)) {
viewport.R-    if (is.null(yData))
viewport.R:      stop("Must specify at least one of 'y' or 'yscale'")
viewport.R-    yscale <- range(yData) + c(-1, 1)*diff(range(yData))*extension[2]
viewport.R-  }
viewport.R-  viewport(xscale=xscale, yscale=yscale, ...)

添付ファイル: fileR-grid.pot 721件 [詳細] fileR-grid_050330.pot 586件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Google
WWW を検索 OKADAJP.ORG を検索
Last-modified: 2015-03-01 (日) 01:15:59 (1543d)