Кіріспе
Графикалық пайдаланушы интерфейсіндегі өзара әрекеттесу элементі
Графикалық пайдаланушы интерфейсіндегі графикалық виджет (сонымен қатар графикалық басқару элементі немесе басқару элементі) – бұл түйме немесе прокрутка тақтасы сияқты өзара әрекеттесу элементі. Басқару элементтері – компьютер пайдаланушысы қолданба туралы ақпаратты оқу немесе өңдеу үшін тікелей манипуляция арқылы өзара әрекеттесетін бағдарламалық құралдар. Windows Presentation Foundation, Qt, GTK және Cocoa сияқты пайдаланушы интерфейсі кітапханаларында басқару элементтері мен оларды көрсету логикасы бар. Әр виджет пайдаланушының компьютермен әрекеттесуінің белгілі бір түрін жеңілдетеді және тақырып бойынша анықталған және көрсету қозғалтқышымен бейнеленген қолданбаның графикалық пайдаланушы интерфейсінің көрінетін бөлігі ретінде пайда болады. Тақырып барлық виджеттерге бірыңғай эстетикалық дизайнды ұстануға мүмкіндік береді және жалпы тұтастық сезімін қалыптастырады. Кейбір виджеттер пайдаланушымен өзара әрекеттесуді қолдайды, мысалы, жазбалар, батырмалар және тірекшелер. Басқалары оларға қосылған виджеттерді, мысалы терезелерді, панельдерді және қойындыларды топтастыратын контейнерлер ретінде әрекет етеді. Виджет құралдар жиынтығымен пайдаланушы интерфейсін құрылымдау дамытушыларға ұқсас тапсырмалар үшін кодты қайта пайдалануға мүмкіндік береді және пайдаланушыларға өзара әрекеттесу үшін ортақ тіл ұсынады, соның арқасында бүкіл ақпараттық жүйеде тұрақтылық сақталады. Графикалық пайдаланушы интерфейсін жасаушылар пайдаланушы интерфейсінің таңбалау тілін қолдана отырып, GUI-ді WYSIWYG форматында жасауды жеңілдетеді. Олар әзірлеуші ұсынған жалпы сипаттамалардан, әдетте тікелей манипуляция арқылы, барлық бастапқы кодты автоматты түрде құрастырады.
Тарих
1920 жылдары "виджет" сөзі американдық ағылшын тіліне кез келген пайдалы құрылғыны, әсіресе сатуға арналған өнімді білдіретін жалпы термин ретінде енді; гаджет. 1988 жылы "виджет" термині Project Athena және X Window System контекстінде қолданылды. Джоэл Маккормак пен Пол Асентедің "X Toolkit-ке шолу" кітабында былай делінген: Құралдар жиынтығы пайдаланушы интерфейсі компоненттерінің ("виджеттер") кітапханасын ұсынады, мысалы, мәтіндік жазбалар, прокрутка тақталары, команда түймелері және мәзірлер; бағдарламашыларға жаңа виджеттер жасауға мүмкіндік береді; және виджеттерді толыққанды пайдаланушы интерфейсіне біріктіруге қажетті құралдарды қамтамасыз етеді. Сол жылы Ральф Р. Свик пен Терри Вайсманның "X Toolkit виджеттері – C тіліндегі X интерфейсі" нұсқаулығында былай делінген: X Toolkit-те виджет – X терезесінің немесе қосалқы терезесінің және оған байланысты кіріс-шығыс семантикасының үйлесімі. Соңында, сол жылы Ральф Р. Свик пен Марк С. Акерман "виджет" терминінің қайнасын түсіндірді: Біз бұл терминді таңдадық, себебі басқа барлық қолданыстағы терминдерге қате түсініктемелер жабысқан. Дегенмен, күмәнданушыларға мынаны айтамыз: виджеттің негізгі көрінісі – оның байланысты X терезесі және бастапқы әріптерінің сәйкес келуі бекер емес.
The toolkit provides a library of user interface components ("widgets") like text labels, scroll bars, command buttons, and menus; enables programmers to write new widgets; and provides the glue to assemble widgets into a complete user interface. The same year, in the manual X Toolkit Widgets C Language X Interface by Ralph R. Swick and Terry Weissman, it says:
In the X Toolkit, a widget is the combination of an X window or sub window and its associated input and output semantics. Finally, still in the same year, Ralph R. Swick and Mark S. Ackerman explain where the term widget came from:
We chose this term since all other common terms were overloaded with inappropriate connotations. We offer the observation to the skeptical, however, that the principal realization of a widget is its associated X window and the common initial letter is not un useful.
Қолданылуы
Кез келген виджет пайдаланушы өзгерте алатын ақпараттық құрылымды көрсетеді, мысалы, терезе немесе мәтіндік өріс. Виджеттің ерекшелігі – белгілі бір деректерді тікелей манипуляциялау үшін жалғыз өзара әрекеттесу нүктесін ұсыну. Басқаша айтқанда, виджеттер – бұл негізгі визуалды құрылыс блоктары, олар қосымшада біріктіріліп, қосымшада өңделген барлық деректерді және осы деректермен байланысты қолжетімді өзара әрекеттестіктерді қамтиды. GUI виджеттері – бағдарламаның адам-машина интерфейсін құруға арналған графикалық элементтер. GUI виджеттері бағдарламалық компоненттер сияқты жүзеге асырылады. Виджет құралдары мен бағдарламалық платформалар, мысалы GTK+ немесе Qt, оларды бағдарламалық кітапханаларда қамтиды, соның арқасында бағдарламашылар өз бағдарламалары үшін GUI құруға пайдалана алады. Xerox Alto User Interface үшін Palo Alto Research Center Inc. жүргізген зерттеулерге негізделген, жалпы ақпаратты сақтауға арналған, кеңінен қайта пайдаланылатын виджеттер отбасы қалыптасты. Бұл жалпы виджеттердің әртүрлі нұсқалары көбінесе виджет құралдары жиынтығында біріктіріледі, оларды бағдарламашылар графикалық пайдаланушы интерфейстерін (GUI) құру үшін қолданады. Көптеген операциялық жүйелер бағдарламашының қолданбаға енгізіп, оның қалай жұмыс істейтінін анықтай алатын, бейімделуге болатын виджеттер жиынтығын қамтиды. Виджеттердің әр түрі әдетте объектіге бағытталған бағдарламалау (ООП) арқылы класс ретінде анықталады. Сондықтан көптеген виджеттер класс мұрагерлігінен туындайды. Қолданба контекстінде виджет белгілі бір уақытта қосулы немесе өшірілуі мүмкін. Қосулы виджет пернелерді басу немесе тышқанның қимылдары сияқты оқиғаларға жауап беруге қабілетті. Мұндай оқиғаларға жауап бере алмайтын виджет өшірілген деп есептеледі. Виджеттің сыртқы түрі әдетте оның қосулы немесе өшірілген болуына байланысты өзгереді; өшірілген кезде виджет ашық түспен ("сұрланған") көрсетілуі немесе қандай да бір жолмен визуалды түрде жасырылуы мүмкін. Мысалы, жанындағы суретті қараңыз. Қол жеткізбейтін элементтерді мүлдем жасырудың артықшылығы – пайдаланушыларға элемент бар екенін, бірақ қазіргі уақытта қол жеткізбейтінін көрсету (басқа элементтерді өзгерту оны қол жетімді ете алады), әйтпесе пайдаланушы элементті қайдан табуға болатынына қатысты күмәндануы мүмкін. Ашылатын терезелерде түймелер пайда болғаннан кейін қысқа уақыттан кейін сұр түске өтуі мүмкін, бұл кездейсоқ басуды немесе екі рет басуды болдырмау үшін жасалады. Виджеттер кейде физикалық аналогтарынан ажырату үшін "виртуалды" деп аталады, мысалы, көрсеткішпен басуға болатын виртуалды түймелер, бармақпен басылатын физикалық түймелерге (мысалы, компьютерлік тышқандағылар) қарағанда. Байланысты, бірақ ерекше түсінік – десктоп виджеті, бұл шағын, арнайы GUI қосымшасы, ол кейбір визуалды ақпаратты және/немесе жиі қолданылатын функцияларға, мысалы, сағаттарға, күнтізбелерге, жаңалықтар жинағыштарына, калькуляторларға және десктоп жазбаларына оңай қол жеткізуді қамтамасыз етеді. Мұндай виджеттер виджет-қозғалтқышпен хостталатын болады.