ट्री व्यू



ट्री व्यू एक ग्राफिकल यूज़र इंटरफ़ेस (जीयूआई) के भीतर एक ग्राफिकल विजेट (ग्राफिकल कंट्रोल एलीमेंट) है जिसमें उपयोगकर्ता नेविगेट कर सकते हैं और संक्षिप्त, पदानुक्रमित डेटा के साथ ट्री-जैसे प्रारूप में नोड्स के रूप में प्रस्तुत कर सकते हैं। इसे रूपरेखा दृश्य (आउटलाइन व्यू) भी कह सकते हैं।

उपस्थिति
ट्री व्यू प्रायः ट्री जैसी संरचना में व्यवस्थित नोड्स की एक लंबवत सूची होती है। प्रत्येक नोड एक एकल डेटा आइटम का प्रतिनिधित्व करता है, जो पाठ की एक इंडेंट लाइन या एक आयताकार बॉक्स के रूप में प्रदर्शित होता है। इंडेंटेशन (और कभी-कभी नोड्स के बीच खींची गई रेखा) का उपयोग पदानुक्रम के स्तरों को इंगित करने के लिए किया जाता है। प्रत्येक ट्री व्यू में एक रूट नोड होता है जिससे सभी नोड उतरते हैं। रूट नोड के नीचे और दाईं ओर इंडेंट इसके चाइल्ड नोड हैं। प्रत्येक नोड में बिल्कुल एक पैरेंट नोड होता है और इसमें शून्य या अधिक चाइल्ड नोड हो सकते हैं। यदि एक नोड (रूट नोड के अतिरिक्ति) में एक चाइल्ड या चिल्ड्रन हैं, तो इसे शाखा नोड कहा जाता है। यदि इसकी कोई चिल्ड्रन नहीं है, तो यह लीफ नोड है। यह एक पदानुक्रमित ट्री जैसी संरचना बनाता है, जिसमें शाखाएँ और उप-शाखाएँ नीचे और दाईं ओर उभरती हैं। पैरेंट नोड्स और चाइल्ड नोड्स के बीच नेस्टेड रिश्तों को दर्शाने के लिए नोड्स को अलग-अलग रंगों, आइकनों और फोंट से अलग किया जा सकता है। उप-आइटम, यदि कोई उपस्थित है, तो प्रकट करने के लिए एक आइटम का विस्तार किया जा सकता है, और उप-आइटम को छिपाने के लिए संक्षिप्त किया जा सकता है।

अन्तरक्रियाशीलता
ट्री व्यू उपयोगकर्ताओं को विभिन्न तरीकों से पदानुक्रमित डेटा के साथ इंटरैक्ट करने की अनुमति देता है, जैसे:


 * अपने चाइल्ड के नोड्स को प्रकट करने या छिपाने के लिए नोड्स का विस्तार और पतन करना और इस प्रकार ट्री संरचना के माध्यम से अपनी आवश्यकताओं के अनुसार नेविगेट करना।
 * दिनांक जैसे विशिष्ट मानदंडों के आधार पर नोड्स खोजें और फ़िल्टर करें।
 * संदर्भ मेनू का उपयोग करके नाम बदलना या हटाना।
 * ट्री के अन्य वर्गों को पुनर्व्यवस्थित करने के लिए नोड्स को कॉपी और मूव (खींचना और छोड़ना) करना है।
 * एक अलग विंडो में एक नोड खोलना है।

अनुकूलनशीलता
दृश्य अपील और दक्षता के लिए ट्री व्यू को निम्नलिखित तरीकों से अनुकूलित किया जा सकता है:
 * इनपुट पद्धतियां: माउस, कीबोर्ड और स्पर्श इनपुट जैसे विभिन्न इनपुट विधियों का समर्थन करने के लिए ट्री व्यू को अनुकूलित किया जा सकता है ताकि उपयोगकर्ता अपनी पसंदीदा विधि का उपयोग करके बातचीत कर सकें। उपयोगकर्ता इसे चुनने के लिए नोड पर क्लिक करने के लिए अपने माउस का उपयोग कर सकते हैं, अपने माउस को खींचने के लिए ले जा सकते हैं और फिर माउस बटन को नोड्स को पुनर्व्यवस्थित करने के लिए छोड़ सकते हैं। वे ट्री के साथ नेविगेट करने और इंटरैक्ट करने के लिए कीबोर्ड शॉर्टकट का भी उपयोग कर सकते हैं।
 * देखो और महसूस करो: डेवलपर्स (और कभी-कभी उपयोगकर्ता) कुछ अनुप्रयोगों की विशिष्ट दृश्य आवश्यकताओं से मेल खाने के लिए ट्री दृश्यों के रूप और अनुभव को अनुकूलित कर सकते हैं। नोड्स, एनिमेशन और प्रभाव प्रदर्शित करने के लिए उपयोग किए जाने वाले चिह्न, फ़ॉन्ट और रंग नोड विस्तार और पतन का प्रतिनिधित्व करने के लिए, और ड्रैग एंड ड्रॉप क्रियाओं के लिए कस्टम व्यवहार लागू किए जा सकते हैं। संदर्भ मेनू विकल्पों को किसी एप्लिकेशन के लिए अनुकूलित किया जा सकता है ताकि उपयोगकर्ता केवल नोड्स पर विशिष्ट क्रियाएं कर सकें।
 * सरल उपयोग : ट्री दृश्य विकलांग उपयोगकर्ताओं के लिए सरल उपयोग सुविधाओं की प्रस्ताव कर सकते हैं।

लाभ
ट्री दृश्य निम्नलिखित लाभ प्रदान करते हैं:
 * वे पदानुक्रमित डेटा को एक संक्षिप्त और आसान-से-अनुसरण प्रारूप में प्रदर्शित करते हैं, ताकि उपयोगकर्ता आसानी से डेटा के माध्यम से चल सकें और बातचीत कर सकें।
 * वे अनुकूलन योग्य हैं, इसलिए उनकी उपस्थिति और व्यवहार को किसी एप्लिकेशन की विशिष्ट आवश्यकताओं को पूरा करने के लिए तैयार किया जा सकता है।
 * वे इंटरैक्टिव हैं और विभिन्न इनपुट विधियों के उपयोग की अनुमति देते हैं।
 * वे लचीले और शक्तिशाली नौवहन उपकरण हैं जिनका उपयोग विभिन्न प्रकार के अनुप्रयोगों में किया जा सकता है (जैसे फ़ाइल प्रबंधक)

नुकसान

 * यदि वस्तुओं के नेस्टेड या श्रेणीबद्ध संबंध पर जोर नहीं दिया जाता है, तो ट्री व्यू इष्टतम विकल्प नहीं होगा। एक नियमित सूची अधिक उपयुक्त होगी।
 * बड़ी मात्रा में डेटा या गहराई से नेस्टेड पदानुक्रमों के लिए, ट्री के दृश्य नेत्रहीन रूप से अव्यवस्थित और नेविगेट करने में मुश्किल हो सकते हैं, जिससे अक्षमता और उत्पादकता में कमी आती है क्योंकि उपयोगकर्ता डेटा के साथ काम करने की तुलना में संरचना के माध्यम से चलने में अधिक समय व्यतीत करेंगे।
 * वे अधिक जटिल हैं और इस प्रकार सूचियों और तालिकाओं जैसी सरल संरचनाओं की तुलना में उन्हें बनाए रखना अधिक कठिन है।
 * डेवलपर्स के लिए, एनिमेशन और जटिल व्यवहारों के साथ अनुकूलन विकल्प कार्यान्वयन और डिबगिंग पर खर्च किए गए समय को बढ़ा सकते हैं।

आवेदन
ट्री व्यू का उपयोग उन स्थितियों में किया जाता है जहां पदानुक्रमित डेटा को ग्राफिकल इंटरफ़ेस में प्रदर्शित और नेविगेट करने की आवश्यकता होती है। उदाहरण के लिए, उनका उपयोग इसमें किया गया है:
 * फ़ाइल प्रबंधकों को निर्देशिका (फाइल सिस्टम) की पदानुक्रमित संरचना और कंप्यूटर फ़ाइल सिस्टम में रहने वाली फ़ाइलों को प्रदर्शित करने के लिए ताकि उपयोगकर्ता निर्देशिका ट्री को नेविगेट कर सकें और अपनी फ़ाइलों को अधिक कुशलता से खोल सकें, बंद कर सकें और प्रबंधित कर सकें।
 * ईमेल क्लाइंट ईमेल फ़ोल्डरों और संदेशों की पदानुक्रमित संरचना प्रदर्शित करने के लिए, उपयोगकर्ताओं को ईमेल संदेशों को देखने और उनका जवाब देने और उनके इनबॉक्स को प्रबंधित करने में सहायता करते हैं।
 * संगठनात्मक चार्ट एक संगठन के कर्मचारियों और विभागों की श्रेणीबद्ध संरचना प्रदर्शित करने के लिए।
 * नेटवर्क टोपोलॉजी
 * ग्राफिकल अनुप्रयोगों के निर्माण के लिए प्रोग्रामिंग फ्रेमवर्क है।
 * XML दस्तावेज़ पदानुक्रमित डेटा प्रस्तुत करने के लिए है।
 * आउटलाइनर एप्लिकेशन (विस्तारित ट्री व्यू के रूप में), जहां प्रत्येक नोड में संपादन योग्य पाठ होता है।

यह भी देखें

 * निर्देशिका (फाइल सिस्टम) - ट्री व्यू के अनुप्रयोग का एक उदाहरण
 * फ़ाइल मैनेजर
 * वंशावली सॉफ्टवेयर

बाहरी संबंध

 * Treeview in pure HTML+CSS
 * Tree view widget in the GTK+ API
 * Tree view control in the Win32 API (MSDN)
 * Yahoo! UI Library y
 * Extended TreeView for .NET WinForms
 * TreeView Control in ASP.NET 2.0
 * Interview with Henk Hagedoorn, developer of first tree-view PIM