LineCursor क्लास
लाइन कर्सर के लिए क्लास.
हस्ताक्षर:
export declare class LineCursor extends Marker
एक्सटेंड करता है: मार्कर
निर्माता
निर्माता | मॉडिफ़ायर | ब्यौरा |
---|---|---|
(constructor)(workspace) | LineCursor क्लास का नया इंस्टेंस बनाता है |
प्रॉपर्टी
प्रॉपर्टी | मॉडिफ़ायर | टाइप | ब्यौरा |
---|---|---|---|
type | स्ट्रिंग | ||
workspace |
|
WorkspaceSvg |
तरीके
तरीका | मॉडिफ़ायर | ब्यौरा |
---|---|---|
atEndOfLine() | अगर in() को कॉल करने पर हम जिस नोड पर जाते हैं वह next() को कॉल करने पर हम जिस नोड पर जाते हैं उसके बराबर है, तो यह फ़ंक्शन true दिखाता है. इसका मतलब है कि अगर LineCursor प्रोग्राम की 'मौजूदा लाइन' के आखिर में है, तो यह फ़ंक्शन true दिखाता है. | |
getCurNode() | कर्सर की मौजूदा जगह की जानकारी पाएं. यह फ़ंक्शन, Marker के सामान्य getCurNode फ़ंक्शन को बदलता है, ताकि चुने गए ब्लॉक से मौजूदा नोड को अपडेट किया जा सके. आम तौर पर, ऐसा सिलेक्शन लिसनर के ज़रिए होता है. हालांकि, जब |
|
getFirstNode() | वर्कस्पेस पर मौजूद पहले नेविगेट किए जा सकने वाले नोड को पाएं. अगर ऐसा कोई नोड मौजूद नहीं है, तो null पाएं. | |
getLastNode() | फ़ाइल फ़ोल्डर में मौजूद आखिरी नोड पाएं या अगर कोई नोड मौजूद नहीं है, तो null पाएं. | |
getNextNode(node, isValid, loop) | एएसटी में अगला नोड पाएं. इसमें लूपबैक की अनुमति देने का विकल्प होता है. | |
getPreviousNode(node, isValid, loop) | यह फ़ंक्शन, AST में मौजूद पिछले नोड को वापस लाता है. इसमें लूपबैक की अनुमति देने का विकल्प भी होता है. | |
in() | इससे कर्सर, प्री ऑर्डर ट्रैवर्सल में अगले इनपुट कनेक्शन या फ़ील्ड पर चला जाता है. | |
next() | यह कर्सर को प्री-ऑर्डर ट्रैवर्सल में अगले ब्लॉक या वर्कस्पेस की टिप्पणी पर ले जाता है. | |
out() | इस कुंजी का इस्तेमाल करने पर, कर्सर को प्री ऑर्डर ट्रैवर्सल में पिछले इनपुट कनेक्शन या फ़ील्ड पर ले जाया जाता है. | |
postDelete() | ब्लॉक मिटाने के बाद, कर्सर को इस.potentialNodes में मौजूद पहली मान्य जगह पर ले जाएं. | |
preDelete(deletedBlock) | हम ब्लॉक को मिटाने की तैयारी कर रहे हैं. इसके लिए, हम उन नोड की सूची बना रहे हैं जिन पर कर्सर को बाद में ले जाया जा सकता है. साथ ही, हम इसे this.potentialNodes में सेव कर रहे हैं. मिटाने की प्रोसेस पूरी होने के बाद, postDelete को कॉल करें, ताकि इसे उस सूची में मौजूद पहले मान्य नोड पर ले जाया जा सके. इन जगहों पर कोशिश करें (प्राथमिकता के क्रम में): - मौजूदा जगह की जानकारी. - वह कनेक्शन जिससे मिटाया गया ब्लॉक अटैच है. - मिटाए गए ब्लॉक के अगले कनेक्शन से जुड़ा ब्लॉक. - मिटाए गए ब्लॉक का पैरंट ब्लॉक. - मिटाए गए ब्लॉक के नीचे मौजूद वर्कस्पेस पर कोई जगह. N.B.: किसी ब्लॉक को मिटाने पर, उस ब्लॉक के इनपुट से जुड़े सभी ब्लॉक भी मिट जाते हैं. हालांकि, उसके अगले कनेक्शन से जुड़े ब्लॉक नहीं मिटते. |
|
prev() | इस कुंजी का इस्तेमाल करने पर, कर्सर को प्री-ऑर्डर ट्रैवर्सल में पिछले ब्लॉक या फ़ाइल फ़ोल्डर की टिप्पणी पर ले जाया जाता है. | |
setCurNode(newNode) | कर्सर की जगह सेट करें और उसे बनाएं. यह फ़ंक्शन, Marker के setCurNode लॉजिक को ओवरराइड करता है, ताकि सीधे तौर पर this.drawer.draw() को कॉल करने के बजाय, this.drawMarker() को कॉल किया जा सके. |