Difference between revisions of "Report API/he"

From Gramps
m (fix inner link)
m (מסמך API מילולי: format)
 
(22 intermediate revisions by the same user not shown)
Line 14: Line 14:
 
מתוך הסוגים שלעיל, רק דוחות מילוליים, דוחות חזותיים ותרשימים משתמשים ב־API  דוחות (מסמך), מכיוון שדוחות מרשתת כותבים את הפלט ישירות לקבצים, בעוד שספר דוחות הוא פשוט שילוב של דוחות מילוליים ודוחות חזותיים שמקובצים יחדיו כ{{man label|ספר דוחות}}.
 
מתוך הסוגים שלעיל, רק דוחות מילוליים, דוחות חזותיים ותרשימים משתמשים ב־API  דוחות (מסמך), מכיוון שדוחות מרשתת כותבים את הפלט ישירות לקבצים, בעוד שספר דוחות הוא פשוט שילוב של דוחות מילוליים ודוחות חזותיים שמקובצים יחדיו כ{{man label|ספר דוחות}}.
  
==מקובל API==
+
== API משותף ==
At the moment the combination of textual and graphical elements within one document is not supported (for future plans refer to Report API redesign), thus Text and Graphical reports are implemented via separate APIs, though they have a common part.
+
לעת עתה שילוב רכיבים מילוליים וחזותיים בתוך מסמך אחד לא נתמך (לתוכניות עתידיות נא עיין בעיצוב מחדש של API דוחות), לכן דוחות מילוליים וחזותיים מיושמים באמצעות מנשקי API נפרדים, אם כי יש להם מרכיב משותף.
This common part is implemented in the [http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.basedoc.BaseDoc BaseDoc class], which contains among others basic document opening, closing, and stylesheet handling methods. It also stores the physical description of a page (sheet of paper in print).
+
מרכיב משותף זה מיושם באמצעות [http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.basedoc.BaseDoc מחלקת BaseDoc], שמכיל בין היתר ראש וסיומת עמוד של מסמכים בסיסיים , ושיטות טיפול בגיליון סגנונות. המנשק מאחסן גם את התיאור הממשי של העמוד (גיליון נייר בדפוס).
  
{{man note|הערה!|The <tt>BaseDoc.open</tt> and the <tt>BaseDoc.close</tt> methods have to be implemented by the subclassed document generators.}}
+
{{man note|הערה!|את שיטות <tt>BaseDoc.open</tt> ו-<tt>BaseDoc.close</tt> יש ליישם על ידי מחוללי מסמכים מחלקה משנית.}}
 +
===עימוד===
 +
[[Image:Doc_paper.png|left|thumb|400px]]  התיאור ומאפייני הדף אליו יועבר תצוג כל דוח באשר הוא, מאוחסן על ידי אדגם  [http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.paperstyle.paperstyle Classyle]. אדגם זה זמין דרך תכונת מחלקה <tt>basedoc.paper_style</tt>. סוג ה־PaperStyle שנבחר מועבר למחולל המסמכים בעת האתחול, ומטופל על ידי מסגרת פתוח הדוחות.
  
===עמוד===
+
רכיב <tt>PaperStyle</tt> מכיל מידע על גודל הדף ([http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.paperstyle.PaperStyle מחלקה PaperSize ] לדוגמה), גודל השוליים וכיוון הדף. כדי לקבל את הערכים יש להשתמש בשיטות העזר המתאימות. כדי לקבל את תשקיל האזור בו ניתן להשתמש בדף (דף ללא שוליים) אפשר גם להשתמש ב[http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.paperstyle שיטות נוחות. רוחב שמיש] ו־[http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.paperstyle.PaperStyle.get_usable_height גובה שמיש]. רוחב וגובה מתקבלים תמיד לפי כיוון הנייר (לאורך או לרוחב), ולכן הרוחב הוא תמיד הממד האופקי והגובה הוא תמיד הממד האנכי.
[[Image:Doc_paper.png|right|thumb|400px]] Description of the paper, which every report will be rendered on, is stored by an instance of the [http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.paperstyle.PaperStyle PaperStyle class]. This instance is available via the <tt>BaseDoc.paper_style</tt> class attribute. The chosen PaperStyle is given to the document generator at initialization, and is handled by the reporting framework.
 
  
The <tt>PaperStyle</tt> holds information on the size of the paper ([http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.paperstyle.PaperStyle PaperSize class] instance), the size of the margins, and the orientation of the paper. Use the proper accessor methods to get the values. To get the metrics of the usable area of a paper (page without the margins) one can also use the [http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.paperstyle.PaperStyle.get_usable_width PaperStyle.get_usable_width] and [http://www.gramps-project.org/docs/gen/gen_plug.html#gen.plug.docgen.paperstyle.PaperStyle.get_usable_height PaperStyle.get_usable_height] convenience methods. Width and height are always given according to the orientation of the paper, thus width is always the horizontal, and height is always the vertical dimension.
+
לדוחות מלל אין צורך לדאוג למאפייני דף, שכן מחולל המסמכים (או המשקף החיצוני) מספרר את הדוח בהתאם לאותם מאפיינים. מאידך, דוחות חזותיים כן נדרשים להתחשב במאפייני הדף בעת יצירת רכיבים חזותיים, כלומר הם לא אמורים לגלוש לשוליים.
 
+
<!--[[Image:gramps-devel.png|left|22px]] ''מחולל מסמכים צריך להסתיר גם מאפייני דף עבור דוחות חזותיים'-->
Text reports do not need to care about paper properties, as the document generator (or the external viewer) paginates the report according to those properties. While, on the other hand, graphical reports do need to take paper properties into account when creating graphical elements, i.e. they should not draw on the margins.
 
<!--[[Image:gramps-devel.png|left|22px]] ''document generator should hide paper properies for graphical reports too''-->
 
 
 
The origin of the coordinate system is the top left corner of the usable area.
 
  
 +
מקור  מערכת הצירים הוא תמיד הפינה השמאלית העליונה של האזור בו ניתן להשתמש.
 
{{-}}
 
{{-}}
  
==מסמך מילולי API==
+
==מסמך API מילולי ==
  
The specification of the Textdoc API is [https://gramps-project.org/docs/gen/gen_plug.html#gramps.gen.plug.docgen.textdoc.TextDoc here]
+
את מפרט ה־API לרכיב Textdoc ניתן למצוא בקישור הבא: [https://gramps-project.org/docs/gen/gen_plug.html#gramps.gen.plug.docgen.textdoc.TextDoc TextDoc]
  
The interface for adding media objects is as follows:
+
המנשק להוספת עצמי מדיה הוא כדלקמן:
  
 +
<div dir="ltr">
 
<pre>
 
<pre>
  add_media_object(name, align, w_cm, h_cm, alt='', style_name=None, crop=None)[source]
+
  add_media_object(name, align, w_cm, h_cm, alt='', style_name=None, crop=None)[מקור]
 
+
</pre>
    Add a photo of the specified width (in centimeters).
+
</div>
    Parameters:
+
הוספת תמונה ברוחב שצוין (בסנטימטרים).  
 
+
משתנים:
        name – filename of the image to add
+
<div dir="ltr">
        align – alignment of the image. Valid values are ‘left’, ‘right’, ‘center’, and ‘single’
+
<pre>
        w_cm – width in centimeters
+
name – שם קובץ התמונה אותה מעוניינים להוסיף&rlm;
        h_cm – height in centimeters
+
align – יישור התמונה. ערכים תקינים הם 'שמאל', 'ימין', 'מרכז' ו'יחיד'&rlm;
        alt – an alternative text to use. Useful for eg html reports
+
w_cm – &rlm; רוחב בסנטימטרים
        style_name – style to use for captions
+
h_cm – גובה בסנטימטרים
        crop – image cropping parameters
+
alt – מלל חלופי בו ניתן להשתמש. שימושי לדוגמה בדוחות HTML
 +
style_name – שם הסגנון בו יעשה שימוש בכתוביות
 +
crop – משתנים לחיתוך תמונה
 
</pre>
 
</pre>
 +
</div>
 +
לתשומת לב! עקב מבנה מסמכים אלה, תמונות מותרות רק כמסמכי או תאי צאצא (כלומר עקיבה).
  
Note that because of the structure of these documents, Images are only allowed as children (i.e. following) Document or Cell.
+
מנשק זה משמש בדוחות הבאים:
 
+
{| {{Prettytable}}
This interface is used in the following reports:
 
 
 
{| {{Prettytable}}  
 
 
|-
 
|-
! Report
+
! דוח
! Built-in
+
! סוג
! align
+
! יישור
! style_name
+
! שם סגנון
! how called
+
! אופן קריאה
 
|-
 
|-
| Detailed Ancestral Report
+
| דו"ח אבות־קדמונים מפורט
| Built-in
+
| מובנה
| right
+
| ימין
 
| DDR-Caption
 
| DDR-Caption
| via gen/plug/report/utils.py
+
| על־ידי gen/plug/report/utils.py
 
|-
 
|-
| Detailed Descendant Report
+
| דוח צאצאים מפורט
| Built-in
+
| מובנה
| right
+
| ימין
 
| DDR-Caption
 
| DDR-Caption
| via gen/plug/report/utils.py
+
| על־ידי gen/plug/report/utils.py
 
|-
 
|-
| Individual Complete Report
+
| דוח  אישי מלא
| Built-in
+
| מובנה
| right
+
| ימין
| None
+
| ללא
| direct
+
| יָשִׁיר
 
|-
 
|-
| Book (Title Page)
+
| ספר דוחות (עמוד השער)
| Built-in
+
| מובנה
| center
+
| מֶרְכָּז
| None
+
| ללא
| direct
+
| יָשִׁיר
 
|-
 
|-
| Person Everything
+
| דוח אדם כולל
| Addon
+
| תוסף
| single
+
| יחיד
 
| PE-Level%d
 
| PE-Level%d
| direct
+
| יָשִׁיר
 
|-
 
|-
 
|}
 
|}
  
None of the reports use 'alt'. It is understood (from looking at the code in odfdoc.py) that '''left''' and '''right''' alignment should cause the text to wrap around the media object, while for '''single''' alignment, there should be no text on either side of the media object.
+
הדוחות הללו לא משתמש במלל חלופי 'alt'. מבחינת  שורות הקוד ב־odfdoc.py ברור כי יישור ל'''שמאל''' ול'''ימין''' אמור לגרום למלל להתעטף סביב לעצם המדיה, בעוד שליישור  '''יחיד'', לא אמור להיות מלל משני הצדי עצם המדיה.
 
 
Since style_name should be used as the style for the caption (i.e. the '''alt''' string) it should also be used for the image itself. Otherwise the caption would not be below the picture.
 
  
As at December 2014, output appears as follows:
+
מכיוון ש־style_name צריך לשמש כסגנון עבור הכתובית (כלומר מחרוזת '''alt'''), יש להשתמש בו גם עבור התמונה עצמה. אחרת הכתובית לא תופיעה מתחת ובצמוד לתמונה.<br>
  
 +
נכון לדצמבר 2014, הפלט מופיע כדלקמן:
 
{| {{Prettytable}}
 
{| {{Prettytable}}
 
|-
 
|-
! Format
+
! תסדיר
! right
+
! ימין
! center
+
! מרכז
! single
+
! יחיד
 
|-
 
|-
 
| HTML
 
| HTML
| '''OK''' Picture on right, text wrapped round it
+
| '''בסדר''' תמונה מימין, מלל עטוף סביבה
 
| ?
 
| ?
| Picture on left margin, text not wrapped
+
| תמונה בצמוד לשוליים השמאליים, מלל לא עטוף
 
|-
 
|-
 
| RTF
 
| RTF
| Picture on left margin, text not wrapped
+
| תמונה בצמוד לשוליים השמאליים, מלל לא עטוף
 
| ?
 
| ?
| '''OK''' Picture aligned with previous paragraph, text not wrapped
+
| '''בסדר''' תמונה מיושרת לפסקה הקודמת, מלל לא עטוף
 
|-
 
|-
 
| ODF
 
| ODF
| '''OK''' Picture on right, text wrapped round it
+
| '''בסדר''' תמונה מימין, מלל עטוף סביבה
 
| ?
 
| ?
| Picture centred, text not wrapped
+
| התמונה ממורכזת, מלל לא עטוף
 
|-
 
|-
 
| PDF
 
| PDF
| Picture on right, text not wrapped
+
| תמונה מימין, מלל לא עטוף
 
| ?
 
| ?
| Picture on left margin, text not wrapped
+
| תמונה בצמוד לשוליים השמאליים, מלל לא עטוף
 
|-
 
|-
 
|}
 
|}

Latest revision as of 12:32, 8 October 2024

Gramps-notes.png
מנשק Simple Document API

הוא מנשק API שנועד לדוחות (מנשק תכנות יישומים ) כדי לשרת כותבי תוספים עבור גרמפס

מנשק API של מסמך פשוט מיועד להצגה קלה של הנתונים וניתן להשתמש בו עם מנשק API לגישה קלה.

Gramps-notes.png

תוכן מאמר זה לא שלם או שהוא 'בדל' שמשמש כמציין מיקום.
נא לעדכן או להרחיב את הקטע הזה.


קיימים בגרמפס חמישה סוגים שונים של דוחות:

  • דוח מילולי
  • דוח חזותי
  • תרשים
  • ספר דוחות
  • עמודי מרשתת

מתוך הסוגים שלעיל, רק דוחות מילוליים, דוחות חזותיים ותרשימים משתמשים ב־API דוחות (מסמך), מכיוון שדוחות מרשתת כותבים את הפלט ישירות לקבצים, בעוד שספר דוחות הוא פשוט שילוב של דוחות מילוליים ודוחות חזותיים שמקובצים יחדיו כספר דוחות.

API משותף

לעת עתה שילוב רכיבים מילוליים וחזותיים בתוך מסמך אחד לא נתמך (לתוכניות עתידיות נא עיין בעיצוב מחדש של API דוחות), לכן דוחות מילוליים וחזותיים מיושמים באמצעות מנשקי API נפרדים, אם כי יש להם מרכיב משותף. מרכיב משותף זה מיושם באמצעות מחלקת BaseDoc, שמכיל בין היתר ראש וסיומת עמוד של מסמכים בסיסיים , ושיטות טיפול בגיליון סגנונות. המנשק מאחסן גם את התיאור הממשי של העמוד (גיליון נייר בדפוס).

Gramps-notes.png
הערה!

את שיטות BaseDoc.open ו-BaseDoc.close יש ליישם על ידי מחוללי מסמכים מחלקה משנית.

עימוד

Doc paper.png
התיאור ומאפייני הדף אליו יועבר תצוג כל דוח באשר הוא, מאוחסן על ידי אדגם Classyle. אדגם זה זמין דרך תכונת מחלקה basedoc.paper_style. סוג ה־PaperStyle שנבחר מועבר למחולל המסמכים בעת האתחול, ומטופל על ידי מסגרת פתוח הדוחות.

רכיב PaperStyle מכיל מידע על גודל הדף (מחלקה PaperSize לדוגמה), גודל השוליים וכיוון הדף. כדי לקבל את הערכים יש להשתמש בשיטות העזר המתאימות. כדי לקבל את תשקיל האזור בו ניתן להשתמש בדף (דף ללא שוליים) אפשר גם להשתמש בשיטות נוחות. רוחב שמיש ו־גובה שמיש. רוחב וגובה מתקבלים תמיד לפי כיוון הנייר (לאורך או לרוחב), ולכן הרוחב הוא תמיד הממד האופקי והגובה הוא תמיד הממד האנכי.

לדוחות מלל אין צורך לדאוג למאפייני דף, שכן מחולל המסמכים (או המשקף החיצוני) מספרר את הדוח בהתאם לאותם מאפיינים. מאידך, דוחות חזותיים כן נדרשים להתחשב במאפייני הדף בעת יצירת רכיבים חזותיים, כלומר הם לא אמורים לגלוש לשוליים.

מקור מערכת הצירים הוא תמיד הפינה השמאלית העליונה של האזור בו ניתן להשתמש.

מסמך API מילולי

את מפרט ה־API לרכיב Textdoc ניתן למצוא בקישור הבא: TextDoc

המנשק להוספת עצמי מדיה הוא כדלקמן:

 add_media_object(name, align, w_cm, h_cm, alt='', style_name=None, crop=None)[מקור]

הוספת תמונה ברוחב שצוין (בסנטימטרים). משתנים:

 name – שם קובץ התמונה אותה מעוניינים להוסיף‏
 align – יישור התמונה. ערכים תקינים הם 'שמאל', 'ימין', 'מרכז' ו'יחיד'‏
 w_cm – ‏ רוחב בסנטימטרים
 h_cm – גובה בסנטימטרים
 alt – מלל חלופי בו ניתן להשתמש. שימושי לדוגמה בדוחות HTML
 style_name – שם הסגנון בו יעשה שימוש בכתוביות
 crop – משתנים לחיתוך תמונה

לתשומת לב! עקב מבנה מסמכים אלה, תמונות מותרות רק כמסמכי או תאי צאצא (כלומר עקיבה).

מנשק זה משמש בדוחות הבאים:

דוח סוג יישור שם סגנון אופן קריאה
דו"ח אבות־קדמונים מפורט מובנה ימין DDR-Caption על־ידי gen/plug/report/utils.py
דוח צאצאים מפורט מובנה ימין DDR-Caption על־ידי gen/plug/report/utils.py
דוח אישי מלא מובנה ימין ללא יָשִׁיר
ספר דוחות (עמוד השער) מובנה מֶרְכָּז ללא יָשִׁיר
דוח אדם כולל תוסף יחיד PE-Level%d יָשִׁיר

הדוחות הללו לא משתמש במלל חלופי 'alt'. מבחינת שורות הקוד ב־odfdoc.py ברור כי יישור ל'שמאל ולימין אמור לגרום למלל להתעטף סביב לעצם המדיה, בעוד שליישור יחיד, לא אמור להיות מלל משני הצדי עצם המדיה.

מכיוון ש־style_name צריך לשמש כסגנון עבור הכתובית (כלומר מחרוזת alt), יש להשתמש בו גם עבור התמונה עצמה. אחרת הכתובית לא תופיעה מתחת ובצמוד לתמונה.

נכון לדצמבר 2014, הפלט מופיע כדלקמן:

תסדיר ימין מרכז יחיד
HTML בסדר תמונה מימין, מלל עטוף סביבה ? תמונה בצמוד לשוליים השמאליים, מלל לא עטוף
RTF תמונה בצמוד לשוליים השמאליים, מלל לא עטוף ? בסדר תמונה מיושרת לפסקה הקודמת, מלל לא עטוף
ODF בסדר תמונה מימין, מלל עטוף סביבה ? התמונה ממורכזת, מלל לא עטוף
PDF תמונה מימין, מלל לא עטוף ? תמונה בצמוד לשוליים השמאליים, מלל לא עטוף

מסמך תרשים API

Gramps-notes.png

This article's content is incomplete or a placeholder stub.
Please update or expand this section.


מסמך חזותי API

Gramps-notes.png

תוכן מאמר זה לא שלם או שהוא 'בדל' שמשמש כמציין מיקום.
נא לעדכן או להרחיב את הקטע הזה.