כיתה ב-WorkspaceSvg
כיתה לסביבת עבודה. זהו אזור במסך עם פח אשפה, סרגלי גלילה, בועות וגרירה אופציונליים.
Signature:
export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg
הרחבה: Workspace
הטמעות: IASTNodeLocationSvg
יצרנים
יצרן | גורמי שינוי | תיאור |
---|---|---|
(constructor)(options) | יצירה של מופע חדש של המחלקה WorkspaceSvg |
מאפיינים
נכס | גורמי שינוי | סוג | תיאור |
---|---|---|---|
configureContextMenu | ((menuOptions: ContextתפריטOption[], e: Event) => cancel) | null | מפתחים יכולים להגדיר את הפונקציה הזו כדי להוסיף אפשרויות תפריט מותאמות אישית לתפריט ההקשר של סביבת העבודה או לערוך את קבוצת אפשרויות התפריט שנוצרו על ידי סביבת העבודה. | |
keyboardAccessibilityMode | בוליאני | הערך הוא True אם מצב הנגישות של המקלדת מופעל. אחרת, הערך הוא False. | |
עובד | בוליאני | סטטוס העיבוד של סביבת עבודה מסוג SVG. הפונקציה מחזירה את הערך false לסביבות עבודה ללא GUI ו-True למכונות של WorkspaceSvg . |
|
קנה מידה | number | קנה המידה הנוכחי. | |
סרגל גלילה | ScrollbarPair | null | סרגלי הגלילה של סביבת העבודה, אם יש כאלה. | |
scrollX | number | ההיסט הנוכחי של הגלילה האופקית ביחידות פיקסלים, ביחס למקור של סביבת העבודה. כדאי לחשוב על תצוגה ועל קנבס שזז מתחת לתצוגה הזו. ככל שהאזור זז ימינה, הערך הזה הופך לחיובי יותר והתצוגה היא עכשיו 'רואים' הצד השמאלי של אזור העריכה. ככל שהאזור זז שמאלה, הערך הזה הופך לשלילי יותר והתצוגה היא עכשיו 'רואים'. הצד הימני של אזור העריכה. הדבר המבלבל בערך הזה הוא שהוא לא כולל, ולא יכול לכלול את ההיסט השמאלי המוחלט. הסיבה לכך היא שהוא משמש לחישוב הערך viewLeft. אזור התצוגה השמאלי מוגדר ביחס למקור של סביבת העבודה (אף על פי ביחידות פיקסלים). המקור של סביבת העבודה הוא בפינה הימנית העליונה של סביבת העבודה (לפחות כשהוא מופעל). הוא זז מהפינה השמאלית העליונה של ה-blocklyDiv כדי שלא יהיה מתחת לארגז הכלים. כשסביבת העבודה מופעלת, המקור ViewLeft ומקור סביבת העבודה נמצאים באותו מיקום X. כשהקנבס מחליק ימינה מתחת לתצוגה, הערך (scrollX) הופך להיות חיובי יותר, והתצוגה שמשמאל הופכת לשלילית יותר ביחס למקור של סביבת העבודה (נניח את המקור של סביבת העבודה כנקודה על אזור העריכה שזזה ימינה בזמן שהאזור זז). אם הגלילה X תכלול את השמאל המוחלט, התוצאה תהיה "ביטול הזזה" המקור של סביבת העבודה. המשמעות היא ש-view left תייצג את הקצה השמאלי של blocklyDiv, ולא את הקצה השמאלי של סביבת העבודה. |
|
scrollY | number | ההיסט הנוכחי של הגלילה האנכית ביחידות פיקסלים, ביחס למקור של סביבת העבודה. כדאי לחשוב על תצוגה ועל קנבס שזז מתחת לתצוגה הזו. ככל שהאזור זז למטה, הערך הזה הופך לחיובי יותר והתצוגה היא עכשיו 'רואים'. בחלק העליון של אזור העריכה. ככל שהאזור זז, הערך הזה הופך לשלילי יותר והתצוגה היא 'רואים'. בחלק התחתון של אזור העריכה. הדבר המבלבל הזה לגבי הערך הזה הוא שהוא לא כולל, ולא יכול לכלול את ההיסט הראשון. הסיבה לכך היא שהוא משמש לחישוב הערך viewTop. תצוגת ה-viewTop מתייחסת למקור של סביבת העבודה (למרות שביחידות פיקסלים). המקור של סביבת העבודה הוא בפינה הימנית העליונה של סביבת העבודה (לפחות כשהוא מופעל). הוא זז מהפינה השמאלית העליונה של ה-blocklyDiv כדי שלא יהיה מתחת לארגז הכלים. כשסביבת העבודה מופעלת, המקור viewTop והמקור של סביבת העבודה נמצאים באותו מיקום Y. ככל שהקנבס מחליק למטה, הערך (scrollY) הופך להיות חיובי יותר, וה-viewTop הופך לשלילי יותר ביחס למקור של סביבת העבודה (התמונה במקור של סביבת העבודה היא כנקודה באזור העריכה שזזה למטה ככל שהקנבס זז). אז אם ערך ה-גלילהY יכלול את הערך הגבוה ביותר, התוצאה תהיה "ביטול הסטה" המקור של סביבת העבודה. כלומר, ViewTop תייצג את הקצה העליון של ה-blocklyDiv ולא את הקצה העליון של סביבת העבודה. |
|
startScrollX | number | ערך של גלילה אופקית כשהגלילה מתחילה ביחידות פיקסלים. | |
startScrollY | number | הערך של גלילה אנכית כשהגלילה התחילה ביחידות פיקסלים. | |
svgBackground_ | SVGElement | ||
svgBlockCanvas_ | SVGElement | ||
svgBubbleCanvas_ | SVGElement | ||
svgGroup_ | SVGElement | ||
themeManager_ | protected |
ThemeManager | |
פח אשפה | אשפה | null | פח האשפה של סביבת העבודה (אם יש כזה). | |
zoomControls_ | ZoomControls | null |
שיטות
שיטה | גורמי שינוי | תיאור |
---|---|---|
addTopBlock(block) | הוספת בלוק לרשימת הבלוקים העליונים. | |
addTopBoundedElement(element) | הפונקציה מוסיפה רכיב תחום לרשימת הרכיבים המוגבלים העליונים. | |
addTopComment(comment) | הוספה של תגובה לרשימת התגובות המובילות. | |
centerOnBlock(id, blockOnly) | גוללים את סביבת העבודה כדי למרכז את הבלוק הנתון. אם מתחת לבלוק יש בלוקים אחרים בערימה, סביבת העבודה תתמרכז בסטאק, אלא אם כן blockOnly מתקיים. | |
cleanUp() | כדי לפנות סביבת עבודה, צריך לסדר את כל הבלוקים בעמודה. | |
clear() | יש להשליך את כל הבלוקים בסביבת העבודה, עם אופטימיזציה למניעת שינויים של גודל. | |
createDom(opt_backgroundClass, injectionDiv) | יוצרים את רכיבי ה-DOM של סביבת העבודה. | |
createVariable(name, opt_type, opt_id) | יוצרים משתנה חדש עם השם הנתון. מעדכנים את התפריט הנפתח כך שהמשתנה החדש יוצג באופן מיידי. | |
deleteVariableById(id) | מוחקים משתנה לפי המזהה שהועבר. מעדכנים את התפריט הנפתח כך שהמשתנה נמחק באופן מיידי. | |
dispose() | צריך להשליך את סביבת העבודה הזו. כדי למנוע דליפות זיכרון, צריך לבטל את הקישור של כל רכיבי ה-DOM. | |
getAllBlocks(ordered) | חיפוש כל הבלוקים בסביבת העבודה. הבלוקים ממוינים לפי מיקום באופן אופציונלי. מלמעלה למטה (עם הטיית LTR או RTL קלה). | |
getAudioManager() | יש להוריד את מנהל האודיו לסביבת העבודה הזו. | |
getBlockById(id) | מאתרים את הבלוק בסביבת העבודה הזו עם המזהה שצוין. | |
getBlocksBoundingBox() | מחשבים את התיבה התוחמת של הבלוקים בסביבת העבודה. מערכת ניהול צוותים: הקואורדינטות של סביבת העבודה. | |
getBubbleCanvas() | מוצאים את רכיב ה-SVG שיוצר את משטח הבועה. | |
getButtonCallback(key) | מקבלים את פונקציית הקריאה החוזרת שמשויכת למפתח נתון, לקליקים על לחצנים ותוויות ב-Flyout. | |
getCanvas() | מקבלים את רכיב ה-SVG שיוצר את משטח השרטוט. | |
getComponentManager() | קבלת מנהל הרכיבים של סביבת העבודה הזו. | |
getCursor() | הסמן של סביבת העבודה הזו. | |
getDragTarget(e) | הפונקציה מחזירה את יעד הגרירה שאירוע הסמן הסתיים. | |
getFlyout(opt_own) | שדה תעופה לטיסה המשויכת לסביבת העבודה הזו. האפשרות הנשלפת הזו יכולה להיות בבעלות של ארגז הכלים או של סביבת העבודה, בהתאם להגדרות של ארגז הכלים. הערך יהיה null אם לא יהיה עף. | |
getGrid() | מקבלים את אובייקט הרשת של סביבת העבודה הזו, או null אם אין כזה. | |
getInverseScreenCTM() | Getter ל-CTM במסך ההופכי. | |
getLayerManager() | ||
getMarkerManager() | צריך להוריד את מנהל הסמנים לסביבת העבודה הזו. | |
getMetricsManager() | קבלת מנהל המדדים של סביבת העבודה הזו. | |
getParentSvg() | מקבלים את רכיב ה-SVG שמכיל את סביבת העבודה הזו. הערה: אנחנו מניחים שהקריאה הזו מתבצעת רק אחרי שסביבת העבודה הוחדרה ל-DOM. | |
getRenderer() | אפשר לצרף את כלי לרינדור הבלוקים לסביבת העבודה הזו. | |
getRootWorkspace() | ||
getScale() | קבלת הגורם לשינוי מרחק התצוגה של סביבת העבודה. אם לסביבת העבודה יש הורה, אנחנו שולחים קריאה להורה כדי לקבל את קנה המידה של סביבת העבודה. | |
getSvgGroup() | מחזירה את קבוצת ה-SVG של סביבת העבודה. | |
getTheme() | מוצאים את אובייקט העיצוב של סביבת העבודה. | |
getToolbox() | רכיב ראשי של ארגז הכלים שמשויך לסביבת העבודה הזו, אם יש כזה. | |
getToolboxCategoryCallback(key) | לקבל את פונקציית הקריאה החוזרת שמשויכת למפתח נתון, כדי לאכלס קטגוריות של ארגז כלים בהתאמה אישית בסביבת העבודה הזו. | |
getTopBlocks(ordered) | היא מוצאת את הבלוקים ברמה העליונה ומחזירה אותם. הבלוקים ממוינים לפי מיקום באופן אופציונלי. מלמעלה למטה (עם הטיית LTR או RTL קלה). | |
getTopBoundedElements() | מוצאת את הרכיבים עם גבולות ברמה העליונה ומחזירה אותם. | |
getWidth() | מחזירה את ההיסט האופקי של סביבת העבודה. מיועד לתאימות LTR/RTL ב-XML. | |
hideChaff(onlyClosePopups) | סגירת הסברים קצרים, תפריטי הקשר, בחירות נפתחות וכו'. | |
hideComponents(onlyClosePopups) | הסתרת רכיבים שניתנים להסתרה אוטומטית (כמו עטיפת משטח, פח אשפה וכל הרכיבים שרשומים על ידי המשתמש). | |
highlightBlock(id, opt_state) | מדגישים בלוק או מבטלים את ההדגשה שלו בסביבת העבודה. לרוב, הדגשה של חסימה משמשת לסימון חזותי של בלוקים שמתבצעים כרגע. | |
isDraggable() | האם אפשר לגרור את סביבת העבודה הזו? | |
isDragging() | האם המשתמש גורר כרגע בלוק או גולל את התפריט הנפתח או את סביבת העבודה? | |
isMovable() | האם אפשר להזיז את סביבת העבודה הזו? כלומר, המשתמש יכול לשנות את מיקום הקואורדינטות של X Y של סביבת העבודה באמצעות קלט. ניתן לעשות זאת באמצעות סרגלי גלילה, גלגל גלילה, גרירה או שינוי מרחק התצוגה באמצעות גלגל הגלילה או תנועת צביטה (כי מרחק התצוגה נמצא במרכז על מיקום העכבר). הפעולות האלה לא כוללות שינוי מרחק התצוגה באמצעות הפקדים לשינוי מרחק התצוגה, מאחר שקואורדינטות X Y נקבעות באופן פרוגרמטי. |
|
isMovableHorizontally() | האם אפשר להזיז את סביבת העבודה הזו לרוחב? | |
isMovableVertically() | האם אפשר להזיז את סביבת העבודה הזו אנכית? | |
isVisible() | המקבל עבור גלוי | |
markFocused() | סימון סביבת העבודה הזו כסביבת העבודה הראשית המטורגטת כרגע. | |
moveDrag(e) | מעקב אחרי גרירה של אובייקט בסביבת העבודה הזו. | |
newBlock(prototypeName, opt_id) | משיגים בלוק חדש שנוצר. | |
newComment(id) | קבלת תגובה חדשה שנוצרה. | |
recordDragTargets() | ליצור רשימה של כל האזורים למחיקה בסביבת העבודה הזו. | |
refreshTheme() | אחרי עדכון עיצוב, צריך לרענן את כל הבלוקים בסביבת העבודה. | |
registerButtonCallback(key, func) | רישום פונקציית קריאה חוזרת המשויכת למפתח נתון, עבור קליקים על לחצנים ותוויות ב-flyout. למשל, לחצן שצוין באמצעות ה-XML צריך להתאים באמצעות קריאה לרישום לחצןCallback("CREATE_VARIABLE", yourCallbackFunction). | |
registerToolboxCategoryCallback(key, func) | רישום פונקציית קריאה חוזרת שמשויכת למפתח נתון, כדי לאכלס קטגוריות של ארגז כלים בהתאמה אישית בסביבת העבודה הזו. אפשר לראות את הקטגוריות של המשתנים והתהליכים כדוגמה. | |
removeButtonCallback(key) | הסרה של קריאה חוזרת (callback) מקליק על לחצן בתפריט הנפתח. | |
removeToolboxCategoryCallback(key) | הסרת קריאה חוזרת (callback) מקליק על שם של קטגוריה מותאמת אישית מארגז הכלים. | |
removeTopBlock(block) | מסירה בלוק מרשימת הבלוקים העליונים. | |
removeTopBoundedElement(element) | מסירה רכיב תחום מרשימת הרכיבים בעלי גבולות עליונים. | |
removeTopComment(comment) | מסירה תגובה מרשימת התגובות המובילות. | |
renameVariableById(id, newName) | כדי לשנות שם של משתנה, מעדכנים את השם שלו במפת המשתנים. מעדכנים את התפריט הנשלף כדי שמשתנה עם השם החדש יוצג מיד. | |
render() | עיבוד כל הבלוקים בסביבת העבודה. | |
resize() | שינוי הגודל והמיקום מחדש של כל ה-Chrome של סביבת העבודה (ארגז כלים, אשפה, סרגלי גלילה וכו') יש לקרוא לכך כאשר משהו משתנה ומחייב חישוב מחדש של המימדים והמיקומים של האשפה, מרחק התצוגה, ארגז הכלים וכו' (למשל, שינוי גודל של חלון). | |
scrollCenter() | מרכו את סביבת העבודה. | |
setResizeHandlerWrapper(handler) | שמירת נתוני ה-handler של שינוי הגודל כדי שנוכל למחוק אותם מאוחר יותר ולהשמיד אותם. | |
setResizesEnabled(enabled) | צריך לעדכן אם הופעלה האפשרות לשנות את הגודל של סביבת העבודה. אם ההגדרה מופעלת, הגודל של סביבת העבודה ישתנה לפי הצורך. אם המדיניות מושבתת, הגודל של סביבת העבודה לא ישתנה עד שהיא תופעל מחדש. משמש למניעת שינוי גודל במהלך פעולה באצווה, לביצועים. | |
setScale(newScale) | מגדירים את גורם הזום של סביבת העבודה. | |
setTheme(theme) | מגדירים את אובייקט העיצוב של סביבת העבודה. אם לא הועבר עיצוב, ברירת המחדל היא Classic . |
|
setVisible(isVisible) | הצגה או הסתרה של סביבת העבודה. כרגע מיועד רק לסביבת העבודה הראשית. | |
startDrag(e, xy) | אפשר להתחיל לעקוב אחרי גרירה של אובייקט בסביבת העבודה הזו. | |
Translate(x, y) | תרגום של סביבת העבודה הזו לקואורדינטות חדשות. | |
updateInverseScreenCTM() | סימון ה-CTM במסך ההופכי כמלוכלך. | |
updateToolbox(toolboxDef) | שינוי עץ הבלוקים בארגז הכלים הקיים. | |
Zoom(x, y, amount) | התקרבות או התרחקות של סביבת העבודה ביחס לקואורדינטה הנתונה (x, y) או במרכזה. | |
zoomCenter(type) | שינוי מרחק התצוגה של הבלוקים במרכז התצוגה, על ידי הגדלה או הקטנה של התצוגה. | |
zoomToFit() | רצוי לשנות את מרחק התצוגה של הבלוקים כך שיתאימו לסביבת העבודה. |