blockly > LineCursor

‫LineCursor class

מחלקת קורס לסמן שורה.

Signature:

export declare class LineCursor extends Marker 

הרחבה: Marker

יצרנים

יצרן גורמי שינוי תיאור
(constructor)(workspace) יוצר מופע חדש של המחלקה LineCursor

מאפיינים

נכס גורמי שינוי סוג תיאור
type מחרוזת
workspace

protected

readonly

WorkspaceSvg

Methods

שיטה גורמי שינוי תיאור
atEndOfLine() הפונקציה מחזירה את הערך True אם הצומת שאליו נעבור אם נקרא לפונקציה in() זהה לצומת שאליו נעבור אם נקרא לפונקציה next() – כלומר, אם LineCursor נמצא בסוף של 'השורה הנוכחית' בתוכנית.
getCurNode()

קבלת המיקום הנוכחי של הסמן.

מחליף את הפונקציה הרגילה Marker getCurNode כדי לעדכן את הצומת הנוכחי מהבלוק שנבחר. בדרך כלל זה קורה דרך מאזין הבחירה, אבל הוא לא נקרא באופן מיידי כש-Gesture קורא ל-Blockly.common.setSelected. המאזין פועל במיוחד אחרי הצגת תפריט ההקשר.

getFirstNode() מחזירה את הצומת הראשון שאפשר לנווט אליו בסביבת העבודה, או null אם לא קיים כזה.
getLastNode() קבלת הצומת האחרון שאפשר לנווט אליו בסביבת העבודה, או null אם לא קיים כזה.
getNextNode(node, isValid, loop) מקבלים את הצומת הבא ב-AST, עם אפשרות ללולאה חוזרת.
getPreviousNode(node, isValid, loop) מחזירה את הצומת הקודם ב-AST, עם אפשרות ללולאה חוזרת.
in() העברת הסמן לשדה או לחיבור הקלט הבא בסדר של מעבר על העץ.
next()‎ העברת הסמן לבלוק הבא או לתגובה הבאה במרחב העבודה בסדר המעבר של טרום-הזמנה.
out() העברת הסמן לחיבור הקלט הקודם או לשדה הקודם בסדר המעבר לפני הסדר.
postDelete() מעבירים את הסמן למיקום התקין הראשון ב-this.potentialNodes, אחרי מחיקה של בלוק.
preDelete(deletedBlock)

כדי להתכונן למחיקה של בלוק, יוצרים רשימה של צמתים שאפשר להעביר אליהם את הסמן אחר כך ושומרים אותה ב-this.potentialNodes.

אחרי המחיקה, מפעילים את השיטה postDelete כדי להעביר את הצומת לצומת התקין הראשון ברשימה.

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

– המיקום הנוכחי. – החיבור שאליו מצורף הבלוק שנמחק. – הבלוק שמחובר לחיבור הבא של הבלוק שנמחק. ‫- בלוק האב של הבלוק שנמחק. – מיקום בסביבת העבודה מתחת לבלוק שנמחק.

N.B.: כשמוחקים בלוק, גם כל הבלוקים שמחוברים לכניסות של הבלוק הזה נמחקים, אבל לא הבלוקים שמחוברים לחיבור הבא שלו.

prev() העברת הסמן לבלוק הקודם או לתגובה הקודמת במרחב העבודה בסדר המעבר של ההזמנה מראש.
setCurNode(newNode)

מגדירים את מיקום הסמן ומציירים אותו.

הפונקציה מחליפה את הלוגיקה הרגילה של Marker setCurNode כדי לקרוא ל-this.drawMarker() במקום ל-this.drawer.draw() ישירות.