ग्राफिकल विजेट

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

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

ग्राफिकल यूजर इंटरफेस बिल्डर्स एक यूजर इंटरफेस मार्कअप लैंग्वेज को नियोजित करने के तरीके में जीयूआई के संलेखन की सुविधा प्रदान करते हैं। वे स्वचालित रूप से डेवलपर द्वारा प्रदान किए गए सामान्य विवरणों से एक विजेट के लिए सभी स्रोत कोड उत्पन्न करते हैं, सामान्यतः सीधे क्रमभंग के माध्यम से उत्पन्न करते हैं।

इतिहास
1920 के आसपास, विजेट ने अमेरिकी अंग्रेजी में प्रवेश किया, किसी भी उपयोगी उपकरण के लिए एक सामान्य शब्द के रूप में, विशेष रूप से बिक्री के लिए निर्मित उत्पाद; एक गैजेट।

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

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

जीयूआई विजेट एक प्रोग्राम के मानव-मशीन-इंटरफ़ेस बनाने के लिए उपयोग किए जाने वाले ग्राफ़िकल तत्व हैं। जीयूआई विजेट सॉफ्टवेयर घटकों की तरह कार्यान्वित किए जाते हैं। विजेट टूलकिट और सॉफ्टवेयर फ्रेमवर्क, जैसे उदा. जीटीके+ या क्यूटी (सॉफ़्टवेयर), उन्हें सॉफ़्टवेयर लाइब्रेरी में रखता है ताकि प्रोग्रामर उनका उपयोग अपने प्रोग्राम के लिए जीयूआई बनाने के लिए कर सकें।

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

किसी एप्लिकेशन के संदर्भ में, किसी दिए गए समय पर एक विजेट को सक्षम या अक्षम किया जा सकता है। एक सक्षम विजेट में कीस्ट्रोक्स या माउस क्रियाओं जैसी घटनाओं का जवाब देने की क्षमता होती है। एक विजेट जो ऐसी घटनाओं का जवाब नहीं दे सकता है, उसे अक्षम माना जाता है। एक विजेट की उपस्थिति सामान्यतः इस पर निर्भर करती है कि यह सक्षम या अक्षम है या नहीं; अक्षम होने पर, एक विजेट हल्के रंग (ग्रे आउट) में खींचा जा सकता है या किसी तरह से दृष्टिहीन हो सकता है। उदाहरण के लिए संलग्न छवि देखें।

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

विजेट कभी-कभी वर्चुअलिटी के रूप में योग्य होते हैं ताकि उन्हें उनके भौतिक समकक्षों से अलग किया जा सके, उदा. बटन (कंप्यूटिंग) जिसे एक पॉइंटर (कंप्यूटिंग डब्ल्यूआईएमपी) के साथ क्लिक किया जा सकता है, बनाम भौतिक बटन (नियंत्रण) जिसे एक उंगली से दबाया जा सकता है।

एक संबंधित (लेकिन अलग) अवधारणा डेस्कटॉप विजेट है, एक छोटा सा विशेष जीयूआई अनुप्रयोग जो कुछ दृश्य जानकारी और/या प्रायः उपयोग किए जाने वाले कार्यों जैसे घड़ियां, कैलेंडर, समाचार एग्रीगेटर, कैलकुलेटर और डेस्कटॉप नोट्स तक आसान पहुंच प्रदान करता है। इस प्रकार के विजेट विजेट इंजन द्वारा आयोजित किए जाते हैं।

सामान्य विजेट्स की सूची

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

यह भी देखें

 * ग्राफिकल यूजर इंटरफेस एलिमेंट
 * ज्यामितीय आदिम
 * ज्यादातर असंबंधित, शारीरिक रूप से प्रेरित विगेट्स के लिए विजेट इंजन
 * विजेट टूलकिट - एक सॉफ्टवेयर लाइब्रेरी जिसमें विजेट्स का संग्रह होता है
 * इंटरेक्शन तकनीक

बाहरी कड़ियाँ

 * Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition) - W3C Recommendation 27 November 2012


 * Widgets 1.0: The Widget Landscape (Q1 2008). W3C Working Draft 14 April 2008


 * Requirement For Standardizing Widgets. W3C Working Group Note 27 September 2011