ব্লকলি > ওয়ার্কস্পেসএসভিজি

ওয়ার্কস্পেসএসভিজি ক্লাস

একটি কর্মক্ষেত্রের জন্য ক্লাস। এটি ঐচ্ছিক ট্র্যাশক্যান, স্ক্রলবার, বুদবুদ এবং টেনে আনা সহ একটি অনস্ক্রিন এলাকা।

স্বাক্ষর:

export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg 

প্রসারিত: কর্মক্ষেত্র

প্রয়োগ: IASTNodeLocationSvg

কনস্ট্রাক্টর

কনস্ট্রাক্টর সংশোধক বর্ণনা
(নির্মাতা)(বিকল্প) WorkspaceSvg ক্লাসের একটি নতুন উদাহরণ তৈরি করে

বৈশিষ্ট্য

সম্পত্তি সংশোধক টাইপ বর্ণনা
কনফিগার কনটেক্সটমেনু ((menuOptions: ContextMenuOption[], e: Event) => void) | খালি ডেভেলপাররা ওয়ার্কস্পেসের প্রসঙ্গ মেনুতে কাস্টম মেনু বিকল্প যোগ করতে বা ওয়ার্কস্পেস-তৈরি মেনু বিকল্পগুলির সেট সম্পাদনা করতে এই ফাংশনটি সংজ্ঞায়িত করতে পারে।
কীবোর্ড অ্যাক্সেসিবিলিটি মোড বুলিয়ান কীবোর্ড অ্যাক্সেসিবিলিটি মোড চালু থাকলে সত্য, অন্যথায় মিথ্যা।
অনুষ্ঠিত বুলিয়ান একটি SVG ওয়ার্কস্পেসের রেন্ডার স্ট্যাটাস। হেডলেস ওয়ার্কস্পেসের জন্য false এবং WorkspaceSvg এর উদাহরণের জন্য সত্য প্রদান করে।
স্কেল সংখ্যা বর্তমান স্কেল।
স্ক্রল বার ScrollbarPair | খালি এই কর্মক্ষেত্রের স্ক্রলবার, যদি তারা বিদ্যমান থাকে।
scrollX সংখ্যা

পিক্সেল ইউনিটে বর্তমান অনুভূমিক স্ক্রলিং অফসেট, কর্মক্ষেত্রের উত্সের সাথে সম্পর্কিত।

একটি দৃশ্য সম্পর্কে চিন্তা করা দরকারী, এবং সেই দৃশ্যের নীচে একটি ক্যানভাস চলমান। ক্যানভাস ডানদিকে অগ্রসর হওয়ার সাথে সাথে এই মানটি আরও ইতিবাচক হয়ে ওঠে এবং দৃশ্যটি এখন ক্যানভাসের বাম দিকে "দেখছে"। ক্যানভাস বাম দিকে সরে যাওয়ার সাথে সাথে এই মানটি আরও নেতিবাচক হয়ে ওঠে এবং দৃশ্যটি এখন ক্যানভাসের ডান দিকে "দেখছে"।

এই মান সম্পর্কে বিভ্রান্তিকর বিষয় হল যে এটি পরম বাম অফসেট অন্তর্ভুক্ত করে না এবং অবশ্যই অন্তর্ভুক্ত করবে না। কারণ এটি ভিউলেফ্ট মান গণনা করতে ব্যবহৃত হয়।

ভিউলেফ্ট কর্মক্ষেত্রের উৎপত্তির সাথে আপেক্ষিক (যদিও পিক্সেল ইউনিটে)। ওয়ার্কস্পেসের উৎপত্তি হল ওয়ার্কস্পেসের উপরের-বাম কোণে (অন্তত যখন এটি সক্রিয় থাকে)। এটি ব্লকলিডিভের উপরের-বাম থেকে স্থানান্তরিত হয়েছে যাতে টুলবক্সের নীচে না থাকে।

ওয়ার্কস্পেস সক্রিয় করা হলে viewLeft এবং ওয়ার্কস্পেসের উৎপত্তি একই X অবস্থানে থাকে। ক্যানভাসটি ভিউয়ের নীচে ডানদিকে স্লাইড করার সাথে সাথে এই মানটি (স্ক্রোলএক্স) আরও ইতিবাচক হয়ে ওঠে এবং ওয়ার্কস্পেসের উত্সের তুলনায় ভিউলেফ্ট আরও নেতিবাচক হয়ে ওঠে (ক্যানভাস নড়াচড়ার সাথে সাথে ডানদিকে স্লাইড করা ক্যানভাসের উপর একটি বিন্দু হিসাবে ওয়ার্কস্পেসের উত্স কল্পনা করুন) .

সুতরাং স্ক্রোলএক্স যদি পরম বামকে অন্তর্ভুক্ত করে তবে এটি একটি উপায়ে কর্মক্ষেত্রের উত্সকে "আনশিফ্ট" করবে। এর মানে হল যে viewLeft কর্মক্ষেত্রের বাম প্রান্তের পরিবর্তে blocklyDiv-এর বাম প্রান্তের প্রতিনিধিত্ব করবে।

scrollY সংখ্যা

পিক্সেল ইউনিটে বর্তমান উল্লম্ব স্ক্রোলিং অফসেট, কর্মক্ষেত্রের উত্সের সাথে সম্পর্কিত।

একটি দৃশ্য সম্পর্কে চিন্তা করা দরকারী, এবং সেই দৃশ্যের নীচে একটি ক্যানভাস চলমান। ক্যানভাস নিচের দিকে যাওয়ার সাথে সাথে এই মানটি আরও ইতিবাচক হয়ে ওঠে এবং দৃশ্যটি এখন ক্যানভাসের উপরের অংশটিকে "দেখছে"। ক্যানভাস উপরে যাওয়ার সাথে সাথে এই মানটি আরও নেতিবাচক হয়ে ওঠে এবং দৃশ্যটি ক্যানভাসের নীচের অংশটিকে "দেখতে" হয়।

এই মান সম্পর্কে এই বিভ্রান্তিকর বিষয় হল যে এটি absoluteTop অফসেট অন্তর্ভুক্ত করে না এবং অবশ্যই অন্তর্ভুক্ত করবে না। কারণ এটি ভিউটপ মান গণনা করতে ব্যবহৃত হয়।

ভিউটপ কর্মক্ষেত্রের উৎপত্তির সাথে আপেক্ষিক (যদিও পিক্সেল ইউনিটে)। ওয়ার্কস্পেসের উৎপত্তি হল ওয়ার্কস্পেসের উপরের-বাম কোণে (অন্তত যখন এটি সক্রিয় থাকে)। এটি ব্লকলিডিভের উপরের-বাম থেকে স্থানান্তরিত হয়েছে যাতে টুলবক্সের নীচে না থাকে।

ওয়ার্কস্পেস সক্রিয় করা হলে viewTop এবং ওয়ার্কস্পেসের উৎপত্তি একই Y অবস্থানে থাকে। ক্যানভাস নীচের দিকে স্লাইড করার সাথে সাথে এই মান (স্ক্রোলওয়াই) আরও ইতিবাচক হয়ে ওঠে এবং ওয়ার্কস্পেসের উত্সের তুলনায় ভিউটপ আরও নেতিবাচক হয়ে ওঠে (ক্যানভাসের উপর একটি বিন্দু হিসাবে কর্মক্ষেত্রের উত্সের চিত্রটি ক্যানভাস সরানোর সাথে সাথে নীচের দিকে স্লাইড করে)।

সুতরাং স্ক্রোলওয়াই যদি absoluteTop অন্তর্ভুক্ত করে তবে এটি একটি উপায়ে ওয়ার্কস্পেসের উত্সকে "আনশিফ্ট" করবে। এর মানে হল যে viewTop কর্মক্ষেত্রের উপরের প্রান্তের পরিবর্তে blocklyDiv-এর উপরের প্রান্তের প্রতিনিধিত্ব করবে।

startScrollX সংখ্যা পিক্সেল ইউনিটে স্ক্রলিং শুরু হলে অনুভূমিক স্ক্রোল মান।
startScrollY সংখ্যা পিক্সেল ইউনিটে স্ক্রলিং শুরু হলে উল্লম্ব স্ক্রোল মান।
svg ব্যাকগ্রাউন্ড_ SVGE উপাদান
svgBlockCanvas_ SVGE উপাদান
svgBubbleCanvas_ SVGE উপাদান
svgGroup_ SVGE উপাদান
থিম ম্যানেজার_ protected থিম ম্যানেজার
আবর্জনা ট্র্যাশক্যান | খালি কর্মক্ষেত্রের ট্র্যাশক্যান (যদি থাকে)।
জুম কন্ট্রোল_ জুম কন্ট্রোল | খালি

পদ্ধতি

পদ্ধতি সংশোধক বর্ণনা
addTopBlock(ব্লক) শীর্ষ ব্লকের তালিকায় একটি ব্লক যোগ করে।
addTopBoundedElement(উপাদান) শীর্ষ আবদ্ধ উপাদানের তালিকায় একটি আবদ্ধ উপাদান যোগ করে।
অ্যাডটপ মন্তব্য(মন্তব্য) শীর্ষ মন্তব্যের তালিকায় একটি মন্তব্য যোগ করে।
centerOnBlock (আইডি, শুধুমাত্র ব্লক) প্রদত্ত ব্লকের কেন্দ্রে ওয়ার্কস্পেস স্ক্রোল করুন। যদি ব্লকের নীচে অন্যান্য ব্লক স্ট্যাক করা থাকে, তাহলে ওয়ার্কস্পেস স্ট্যাকের উপর কেন্দ্রীভূত হবে, যদি না blockOnly সত্য হয়।
পরিষ্কার কর() একটি কলামে সমস্ত ব্লক অর্ডার করে ওয়ার্কস্পেস পরিষ্কার করুন।
পরিষ্কার() আকার পরিবর্তন প্রতিরোধ করার জন্য একটি অপ্টিমাইজেশন সহ কর্মক্ষেত্রে সমস্ত ব্লক নিষ্পত্তি করুন।
createDom(opt_backgroundClass, injectionDiv) ওয়ার্কস্পেস DOM উপাদান তৈরি করুন।
CreateVariable(নাম, opt_type, opt_id) প্রদত্ত নাম দিয়ে একটি নতুন ভেরিয়েবল তৈরি করুন। অবিলম্বে নতুন ভেরিয়েবল দেখানোর জন্য ফ্লাইআউট আপডেট করুন।
ডিলিট ভ্যারিয়েবলবাইআইডি(আইডি) পাস করা আইডি দ্বারা একটি পরিবর্তনশীল মুছুন। ভেরিয়েবলটি মুছে ফেলা হয়েছে তা অবিলম্বে দেখানোর জন্য ফ্লাইআউট আপডেট করুন।
নিষ্পত্তি() এই কর্মক্ষেত্র নিষ্পত্তি. মেমরি লিক প্রতিরোধ করতে সমস্ত DOM উপাদান থেকে লিঙ্কমুক্ত করুন৷
GetAllBlocks (অর্ডার করা) কর্মক্ষেত্রে সমস্ত ব্লক খুঁজুন। ব্লকগুলি ঐচ্ছিকভাবে অবস্থান অনুসারে সাজানো হয়; উপরে থেকে নীচে (সামান্য LTR বা RTL পক্ষপাত সহ)।
getAudioManager() এই কর্মক্ষেত্রের জন্য অডিও ম্যানেজার পান।
getBlockById(আইডি) নির্দিষ্ট আইডি সহ এই কর্মক্ষেত্রে ব্লক খুঁজুন।
getBlocksBoundingBox() কর্মক্ষেত্রে ব্লকগুলির জন্য বাউন্ডিং বাক্স গণনা করুন। সমন্বয় ব্যবস্থা: কর্মক্ষেত্র স্থানাঙ্ক।
বুদবুদ ক্যানভাস () SVG উপাদান পান যা বুদবুদ পৃষ্ঠ গঠন করে।
getButtonCallback(কী) ফ্লাইআউটে বোতাম এবং লেবেলগুলিতে ক্লিকের জন্য একটি প্রদত্ত কী-এর সাথে যুক্ত কলব্যাক ফাংশন পান৷
getCanvas() SVG উপাদান পান যা অঙ্কন পৃষ্ঠ গঠন করে।
getComponentManager() এই কর্মক্ষেত্রের জন্য কম্পোনেন্ট ম্যানেজার পান।
getCursor() এই কর্মক্ষেত্রের জন্য কার্সার।
getDragTarget(e) পয়েন্টার ইভেন্ট শেষ হওয়ার টার্গেট টেনে দেয়।
getFlyout(opt_own) এই কর্মক্ষেত্রের সাথে যুক্ত ফ্লাইআউটের জন্য গেটার। টুলবক্স কনফিগারেশনের উপর নির্ভর করে এই ফ্লাইআউটটি টুলবক্স বা ওয়ার্কস্পেসের মালিকানাধীন হতে পারে। কোন ফ্লাইআউট না থাকলে এটি শূন্য হবে।
getGrid() এই ওয়ার্কস্পেসের জন্য গ্রিড অবজেক্ট পান, বা কোনোটি না থাকলে শূন্য করুন।
getInverseScreenCTM() ইনভার্টেড স্ক্রীন CTM এর জন্য গেটার।
getMarkerManager() এই কর্মক্ষেত্রের জন্য মার্কার ম্যানেজার পান।
getMetricsManager() এই কর্মক্ষেত্রের জন্য মেট্রিক্স ম্যানেজার পান।
getParentSvg() এই ওয়ার্কস্পেস ধারণ করে এমন SVG উপাদান পান। দ্রষ্টব্য: আমরা ধরে নিই যে ওয়ার্কস্পেসটি DOM-এ ইনজেকশন করার পরেই এটি বলা হয়।
getRenderer() এই কর্মক্ষেত্রে সংযুক্ত ব্লক রেন্ডারার পান।
getRootWorkspace()
getScale() কর্মক্ষেত্রের জুম ফ্যাক্টর পান। যদি ওয়ার্কস্পেসের কোনো অভিভাবক থাকে, আমরা কর্মক্ষেত্র স্কেল পেতে অভিভাবককে কল করি।
getSvgGroup() কর্মক্ষেত্রের জন্য SVG গ্রুপ ফেরত দেয়।
থিম পেতে() ওয়ার্কস্পেস থিম অবজেক্ট পান।
getToolbox() এই কর্মক্ষেত্রের সাথে যুক্ত টুলবক্সের জন্য গেটার, যদি একটি বিদ্যমান থাকে।
getToolboxCategoryCallback(কী) এই ওয়ার্কস্পেসে কাস্টম টুলবক্স বিভাগগুলিকে পপুলেট করার জন্য একটি প্রদত্ত কী-এর সাথে যুক্ত কলব্যাক ফাংশন পান৷
getTopBlocks (অর্ডার করা) শীর্ষ-স্তরের ব্লকগুলি খুঁজে বের করে এবং তাদের ফেরত দেয়। ব্লকগুলি ঐচ্ছিকভাবে অবস্থান অনুসারে সাজানো হয়; উপরে থেকে নীচে (সামান্য LTR বা RTL পক্ষপাত সহ)।
getTopBoundedElements() শীর্ষ-স্তরের আবদ্ধ উপাদানগুলি খুঁজে বের করে এবং তাদের ফেরত দেয়।
getWidth() কর্মক্ষেত্রের অনুভূমিক অফসেট প্রদান করে। XML-এ LTR/RTL সামঞ্জস্যের উদ্দেশ্যে।
হাইডচাফ (শুধু ক্লোজপপআপ) টুলটিপ, প্রসঙ্গ মেনু, ড্রপডাউন নির্বাচন ইত্যাদি বন্ধ করুন।
কম্পোনেন্ট লুকান(শুধু ক্লোজপপআপ) যেকোন স্বয়ংক্রিয়ভাবে লুকানো যায় এমন উপাদান লুকান (যেমন ফ্লাইআউট, ট্র্যাশক্যান এবং ব্যবহারকারী-নিবন্ধিত যেকোনো উপাদান)।
হাইলাইটব্লক (আইডি, অপ্ট_স্টেট) কর্মক্ষেত্রে একটি ব্লক হাইলাইট বা আনহাইলাইট করুন। ব্লক হাইলাইটিং প্রায়ই বর্তমানে কার্যকর করা ব্লকগুলিকে দৃশ্যত চিহ্নিত করতে ব্যবহৃত হয়।
ড্র্যাগেবল() এই কর্মক্ষেত্র কি টেনে আনা যায়?
ড্র্যাগিং() ব্যবহারকারী কি বর্তমানে একটি ব্লক টেনে আনছেন বা ফ্লাইআউট/ওয়ার্কস্পেস স্ক্রোল করছেন?
অস্থাবর()

এই কর্মক্ষেত্র অস্থাবর?

এর মানে ব্যবহারকারী ইনপুটের মাধ্যমে ওয়ার্কস্পেসের XY স্থানাঙ্কগুলিকে পুনঃস্থাপন করতে পারে। এটি স্ক্রলবার, স্ক্রোল হুইল, টেনে আনা বা স্ক্রোল হুইল বা চিমটি দিয়ে জুম করার মাধ্যমে হতে পারে (যেহেতু জুমটি মাউসের অবস্থানের উপর কেন্দ্রীভূত হয়)। এতে জুম নিয়ন্ত্রণের সাথে জুম করা অন্তর্ভুক্ত নয় যেহেতু XY স্থানাঙ্কগুলি প্রোগ্রাম্যাটিকভাবে সিদ্ধান্ত নেওয়া হয়।

অস্থাবর অনুভূমিকভাবে() এই কর্মক্ষেত্র কি অনুভূমিকভাবে চলমান?
চলমান উল্লম্বভাবে () এই কর্মক্ষেত্র কি উল্লম্বভাবে চলমান?
দৃশ্যমান() isVisible এর জন্য গেটার
মার্ক ফোকাসড() এই ওয়ার্কস্পেসটিকে বর্তমানে ফোকাস করা প্রধান ওয়ার্কস্পেস হিসেবে চিহ্নিত করুন।
মুভড্র্যাগ(ই) এই কর্মক্ষেত্রে একটি বস্তুর একটি টেনে ট্র্যাক করুন।
নতুন ব্লক (প্রোটোটাইপ নাম, অপ্ট_আইডি) একটি নতুন তৈরি ব্লক পান।
পেস্ট (রাষ্ট্র) প্রদত্ত ব্লক বা ওয়ার্কস্পেস কমেন্ট ওয়ার্কস্পেসে পেস্ট করে। বস্তুর জন্য অবশিষ্ট ক্ষমতা আছে কিনা তা পরীক্ষা করে না, এই পদ্ধতিটি কল করার আগে এটি করা উচিত।
recordDragTargets() এই কর্মক্ষেত্রের জন্য সমস্ত মুছে ফেলা এলাকার একটি তালিকা তৈরি করুন।
রিফ্রেশ থিম() একটি থিম আপডেটের পরে কর্মক্ষেত্রে সমস্ত ব্লক রিফ্রেশ করুন৷
registerButtonCallback (কী, ফাংশন) ফ্লাইআউটে বোতাম এবং লেবেলে ক্লিক করার জন্য প্রদত্ত কী-এর সাথে যুক্ত একটি কলব্যাক ফাংশন নিবন্ধন করুন। উদাহরণস্বরূপ, XML দ্বারা নির্দিষ্ট একটি বোতাম RegisterButtonCallback("CREATE_VARIABLE", yourCallbackFunction) একটি কল দ্বারা মিলিত হওয়া উচিত।
registerToolboxCategoryCallback(কী, func) এই ওয়ার্কস্পেসে কাস্টম টুলবক্স বিভাগগুলিকে পপুলেট করার জন্য একটি প্রদত্ত কী-এর সাথে যুক্ত একটি কলব্যাক ফাংশন নিবন্ধন করুন৷ একটি উদাহরণ হিসাবে পরিবর্তনশীল এবং পদ্ধতি বিভাগ দেখুন.
RemoveButtonCallback(কী) ফ্লাইআউটে একটি বোতামে ক্লিক করার জন্য একটি কলব্যাক সরান৷
RemoveToolboxCategoryCallback(কী) টুলবক্সে একটি কাস্টম বিভাগের নামের উপর একটি ক্লিকের জন্য একটি কলব্যাক সরান৷
টপব্লক অপসারণ (ব্লক) শীর্ষ ব্লকের তালিকা থেকে একটি ব্লক সরিয়ে দেয়।
RemoveTopBoundedElement(উপাদান) শীর্ষ আবদ্ধ উপাদানের তালিকা থেকে একটি আবদ্ধ উপাদান সরিয়ে দেয়।
রিমুভ টপকমেন্ট(মন্তব্য) শীর্ষ মন্তব্যের তালিকা থেকে একটি মন্তব্য সরিয়ে দেয়।
রিনেম ভেরিয়েবলবাইআইডি(আইডি, নতুন নাম) পরিবর্তনশীল মানচিত্রে তার নাম আপডেট করে একটি ভেরিয়েবলের নাম পরিবর্তন করুন। অবিলম্বে পুনঃনামকৃত ভেরিয়েবল দেখানোর জন্য ফ্লাইআউট আপডেট করুন।
রেন্ডার() কর্মক্ষেত্রে সমস্ত ব্লক রেন্ডার করুন।
আকার পরিবর্তন() সমস্ত ওয়ার্কস্পেস ক্রোম (টুলবক্স, ট্র্যাশ, স্ক্রলবার ইত্যাদি) পুনরায় আকার দিন এবং পুনঃস্থাপন করুন (উদাহরণস্বরূপ উইন্ডোর আকার পরিবর্তন করুন)।
স্ক্রোল সেন্টার() কর্মক্ষেত্র কেন্দ্রীভূত করুন।
setResizeHandlerWrapper(হ্যান্ডলার) রিসাইজ হ্যান্ডলার ডেটা সেভ করুন যাতে আমরা পরে ডিসপোজ করে মুছে ফেলতে পারি।
সেট রিসাইজ সক্রিয় (সক্ষম) এই কর্মক্ষেত্রে পুনরায় আকার পরিবর্তন সক্ষম করা আছে কিনা তা আপডেট করুন। যদি সক্রিয় করা হয়, উপযুক্ত হলে ওয়ার্কস্পেসের আকার পরিবর্তন করা হবে। অক্ষম থাকলে, পুনরায় সক্রিয় না হওয়া পর্যন্ত ওয়ার্কস্পেসের আকার পরিবর্তন করা হবে না। একটি ব্যাচ অপারেশন সময় মাপ পরিবর্তন এড়াতে ব্যবহার করুন, কর্মক্ষমতা জন্য.
সেটস্কেল (নতুন স্কেল) কর্মক্ষেত্রের জুম ফ্যাক্টর সেট করুন।
সেট থিম(থিম) ওয়ার্কস্পেস থিম অবজেক্ট সেট করুন। কোনো থিম পাস না হলে, Classic থিমে ডিফল্ট।
সেটভিজিবল(দেখা যায়) কর্মক্ষেত্রের দৃশ্যমানতা টগল করে। বর্তমানে শুধুমাত্র প্রধান কর্মক্ষেত্রের জন্য উদ্দেশ্যে করা হয়েছে।
স্টার্টড্র্যাগ(e, xy) এই কর্মক্ষেত্রে একটি বস্তুর একটি টেনে ট্র্যাক করা শুরু করুন৷
অনুবাদ (x, y) এই কর্মক্ষেত্রটিকে নতুন স্থানাঙ্কে অনুবাদ করুন।
updateInverseScreenCTM() বিপরীত পর্দা CTM নোংরা হিসাবে চিহ্নিত করুন।
updateToolbox(toolboxDef) বিদ্যমান টুলবক্সে ব্লক ট্রি পরিবর্তন করুন।
জুম (x, y, পরিমাণ) প্রদত্ত (x, y) স্থানাঙ্কের সাপেক্ষে/কেন্দ্রিক কর্মক্ষেত্রকে জুম ইন বা আউট করে।
জুম সেন্টার (টাইপ) জুম ইন বা আউট করার মাধ্যমে দৃশ্যের কেন্দ্রে অবস্থিত ব্লকগুলি জুম করা।
zoomToFit() সম্ভব হলে ওয়ার্কস্পেসে ফিট করার জন্য ব্লকগুলি জুম করুন।