Основи рада са графичким корисничким интерфејсом
Иако се графички интерфејси разликују, сви они имају заједничке принципе рада (и то већ тридесетак година уназад). Већина класичних ГКИ спада у групу WIMP интерфејса – користи (енгл. window), иконе (енгл. icon), меније (енгл. menu) и показивач миша (енгл. mouse pointer).
Ови интерфејси засновани су на метафори (енгл. desktop metaphor), према којој се екран сматра површином стола на којем се налазе различити објекти (документи, фасцикле које их садрже, бележнице, мали уређаји попут калкулатора итд.). У рачунару су они представљени сличицама, тзв. . Документ, односно програм, може се отворити и приказати у прозору на екрану, што одговара постављању папира, односно уређаја, на радну површину стола. Интеракција корисника са системом омогућена је мишем (или неким сличним уређајем), а показивач миша одговара руци која управља објектима на столу. С временом је основна метафора проширивана и не следи се стриктно.
Занимљивост
Често се дешава да се на радној површини рачунара прикажу корпа за отпатке (која се у стварности не држи на столу), иконе које представљају дискове (који би одговарали орманима за чување докумената), па и елементи који немају одговарајућу аналогију у стварној канцеларији (менији, дугмад, палете са алаткама). За позадину екрана користи се термин тапете (енгл. wallpaper) иако се оне не лепе на радни сто.
Начини задавања команди у ГКИ
За разлику од КЛИ, где се са системом комуницира текстуал ним командама, команде код програма са ГКИ обично се задају коришћењем активних елемената интерфејса (дугмади, менија, икона) или притискањем одређених комбинација та стера (пречица на тастатури).
Често се иста команда може задати на више различитих начина (нпр. неку команду могуће је активирати пречицом на тастатури, дугметом у палети са алаткама или из менија).
Одређене команде су у неком тренутку непримерене (на пример, команда за поништавање претходно извршене команде нема смисла ако претходно није извршена ниједна команда). Елементи интерфејса придружени оваквим командама су онемогућени (енгл. disabled), обично се приказују другачијом бојом и њихово активирање није могуће.
Данас се све више користе екрани осетљиви на додир, на којима корисници активирају елементе интерфејса физички их додирујући, док је код обичних екрана за ово неопходно користити миш или неки сличaн уређај. Ипак, основним уређајем за комуникацију човека са рачунаром може се сматрати тастатура. Иако је појавом ГКИ миш постао изузетно популаран (нарочито ако рачунар служи за коришћење, а не за производњу садржаја), и даље је рачунаре могуће користити без миша, али без неког облика тастатуре практично да није.
Задавање команди пречицама на тастатури
Тастатура се користи за куцање текста (о чему ће више речи бити касније), али и за покретање команди тзв. пречицама на тастатури (енгл. keyboard shortcuts). Пречице се ослањају на сабирање тастера (нпр. Ctrl + Alt + Del означава да истовремено треба притиснути тастере Ctrl, Alt и Del).
Акције мишем
Мишем и сродним уређајима (нпр. тачпедом) показивач се помера по екрану. Притиском тастера миша активирају се елементи интерфејса (дугмад, менији) на којима се показивач тренутно налази.
Већ знате да су акције мишем померање показивача у свим смеровима, (леви) клик (енгл. click), дупли клик, десни клик, превлачење тј. развлачење (engl. drag) (реализује се померањем миша уз притиснут леви тастер), скроловање (енгл. scroll) (реализује се окретањем точкића миша ако он постоји, померањем прста по десном крају површине тачпеда или померањем два прста по површини тачпеда), средњи клик (реализује се притиском средњег тастера ако он постоји или истовременим притиском левог и десног тастера), десно превлачење (реализује се померањем миша уз притиснут десни тастер).
Ове акције се комбинују и са специјалним та стерима на тастатури (нпр. Ctrl +леви клик или Shift +превлачење).
Активирање елемената интерфејса тастатуром; фокус
Активирање елемената тастатуром врши се обично тастерима Enter или Space, а да би се знало који се елемент активира, један елемент је увек у фокусу (енгл. focus), односно у жижи.
На пример, активирање дугмета, иконе или ставке у менију врши се тако што се она доведе у фокус, а затим притисне тастер Enter. Елемент доспева у фокус кликом мишем на њега. Коришћење стрелица или тастера Tab помера фокус кроз елементе интерфејса (фокус се ставља на један по један елемент тренутно активног прозора). Пречица Shift + Tab помера фокус у супротном смеру. Неки елементи се могу довести у фокус (или директно активирати) пречицама на тастатури – ако је име неког елемента написано са неким подвученим словом, притисак тог слова уз тастер Alt ставља у фокус или активира тај елемент (нпр. дугме Subscript фокусира се пречицом Alt + B ).
Селектовање
Некада се акције примењују само на део садржаја. На пример, у програму за унос текста треба подебљати само неколико речи или у програму за обраду слика треба посветлити само део слике.
Зато се уводи концепт селектовања (енгл. selection), тј. означавања дела садржаја, тако да се акције обично примењују само на тај део. Он се обично приказује другачије од остатка (промењена му је боја или је уоквирен). Селектује се мишем (уоквиривањем или кликом уз тастере Ctrl или Shift) или тастатуром (стрелицама уз тастере Ctrl или Shift). Више информација о селектовању у одређеним програмима наћи ћете у њиховом опису.
Елементи ГКИ
Прозори
Покретањем програма обично се отвара један или више прозора, кроз које програм комуницира са корисником. Улазне податке корисник уноси у програм коришћењем елемената прозора (нпр. поља за унос), a резултате рада програм приказује опет у елементима прозора (нпр. пољима за приказ).
Прозор обично заузима само део екрана. Могуће је и да прозор заузима цео екран, тј. да је максимализован (енгл. maximized), а и да се не приказује на екрану иако програм и даље ради, тј. да је минимализован (енгл. minimized).
Прозори имају оквир, тј. рам (енгл. frame). На врху оквира налази се насловна линија (енгл. title bar), у којој су обично исписани назив програма и неке додатне информације (на пример, назив тренутно отвореног документа). Прозор се помера по екрану превлачењем насловне линије. Насловна линија обично садржи и три дугмета, чији се положај разликује од система до система, чак и у различитим верзијама истога система. Једно дугме служи за искључивање прозора (тиме и програма ако је то једини прозор придружен програму), једно за минимализовање, а једно за максимализовање (или за враћање у првобитно стање ако је прозор већ максимализован) – исти ефекат се може пост ићи и дуплим кликом мишем на насловну линију. Величину прозора могуће је мењати и развлачењем оквира прозора. Прозор се може искључити и пречицом Alt + F4.
Потпрозори
Једном програму може бити придружено и више прозора. Некада су они потпуно независни, а некада се у оквиру главног прозора, тј. прозора програма(енгл. application window), отвара више мањих потпрозора, тзв. прозора докумената (енгл. document window), и сваки од њих приказује различити документ (текст који се куца, слике, веб-страницу). Прозори докумената могу се слободно организовати (померати, смањивати, повећавати итд.) у оквиру прозора програма, али у новије време прозори докумената све чешће се организују као засебне картице (енгл. tabs) у оквиру главног прозора (тако је, на пример, у свим савременим прегледачима веба). У сваком тренутку активна је тачно једна картица и она је увек максимализована (у односу на прозор који је окружује). Картица се активира кликом мишем на њен врх. Пречица Ctrl + Tab омогућава промену тренутно активног прозора документа, тј. картице (активира се један по један прозор, односно картица). Пречица Ctrl + Shift + Tab исту акцију врши у супротном смеру. Активна картица може се затворити пречицом Ctrl + F4.
Дијалошки прозори
По својој намени и садржају, посебан вид прозора представљају дијалошки прозори, скр. дијалози (енгл. dialog box). Они се користе да би кориснику саопштили неку информацију (на пример, да је дошло до грешке у програму или да је све протекло у реду) или да би се од корисника добио одговор на неко питање (на пример, да ли је сигуран да жели да изврши неку акцију).
Оперативни системи обично нуде неколико стандардних дијалога које програми могу да користе (за потврду, за информацију, за одабир датотеке, за одабир боје). Сложенији дијалози се користе и као својеврсни формулари које корисник попуњава да би обезбедио улазне податке програму. Дијалози често онемогућују било какву даљу интеракцију корисника са програмом док се рад у њима не заврши и овакви дијалози називају се модални (енгл. modal).
Елементи прозора
Садржај прозора зависи од програма коме је тај прозор придружен. Ипак, већина програма у своје прозоре поставља стандардне елементе (каже се и контроле (енгл. control) или виџити (енгл. window gadget – widget)) које им систем ставља на располагање. Неки елементи користе се искључиво у дијалошким, док се неки елементи користе у свим прозорима. Опишимо сада најчешће коришћене елементе прозора у оквиру данашњих апликација.
Менији приказују често коришћене команде. Захваљујући томе, корисник не мора унапред да зна имена команди (што је био случај код КЛИ). Да би се олакшало сналажење, менији су организовани хијерархијски (у неколико нивоа) и сродне команде обично су смештене једна близу друге. Први ниво хијерархије представља трака менија (енгл. menu bar), обично приказана на врху прозора, која садржи ставке (енгл. menu item).
Ставка се активира кликом мишем или тако што се уз тастер Alt притисне слово које је подвучено у њеном називу (на пример, ако је назив ставке File, активира је пречица Alt+F). Активирање било које ставке из траке менија отвара јој придружен падајући мени (енгл. drop-down menu), који садржи ставке на следећем нивоу хијерархије.
Њима се покрећу команде или отварају даљи падајући менији (визуелно, први мени пада ка доле, док се наредни шире на страну). Ставке које отварају нови мени са десне стране означене су троуглићем или стрелицом и, да би се активирале, довољно је само поставити показивач миша изнад њих (није неопходно кликнути). Ставке у отвореном менију могу се активирати и тастатуром – довољно је само притиснути подвучено слово у називу ставке (није неопходно држати тастер Alt) или стрелицама одабрати ставку. Неке команде у менијима могу се покренути и пречицом на тастатури (без постепене навигације кроз хијерархију менија) и ове пречице су често наведене у менију поред назива ставке. Уз назив ставке менија понекад се приказује и икона која приказује ефекат одговарајуће команде.
Осим падајућих, често се користе и тзв. искачући (енгл. pop-up), одно сно контекстни (енгл. context) менији. Контекстни менији се активирају обично десним кликом мишем на садржај или притиском тастера на тастатури док је садржај у фокусу или је селектован. Они су придружени одређеном садржају прозора и нуде команде у вези са њим (на пример, десни клик на слику у веб-страници нуди команде за рад са њом, пре свега чување на локални рачунар). Када се прикаже контекстни мени, нема даљих разлика између њега и падајућег менија.
У многим новијим програмима није подразумевано приказана трака менија (јер су основне команде доступне на други начин). Ако су потребне команде из менија, трака менија се прво мора укључити (подешавањем опција приказа) или активирати тастером Alt.
У окружењy Ubuntu Unity трака менија се подразумевано приказује у врху екрана уместо у врху прозора.
Траке за скроловање (енгл. scrollbar) служе за померање приказа садржаја у прозору. Наиме, прозор је често премали (на пример, веб-страница не може да стане само на један екран) и садржај се приказује део по део. Разликују се хоризонтална и вертикална трака за скроловање. Ако целокупан садржај стаје у прозор, траке за скроловање су онемогућене или се не приказују. Тракe садрже клизач, чијим се превлачењем садржај помера. Померање у малим корацима постиже се и кликтањем на стрелице на крајевима трака. Кликтањем на траку испред или изнад клизача садржај се помера у већим корацима (обично цео екран горе или доле). Вертикално скроловање се може вршити и без коришћења траке за скроловање (точкићем миша или ивицом тачпеда). Скроловање се врши и стрелицама и тастерима PgUp и PgDown (ако цела контрола која се скролује има фокус).
Занимљивост
Реч scroll на енглеском језику означава свитак папира који се намотава са једног на други крај.
Палете алатки (енгл. toolbar) садрже елементе (обично дугмад са иконама) којима су придружене најчешће коришћене команде. Палете се обично налазе при врху или на дну прозора (али положај може да им се мења).
Статусна линија (енгл. status bar) обично се приказује при дну прозора и садржи различите информације које могу бити значајне кориснику.
Елементи дијалошких прозора
Дијалошки прозори имају специфичне елементе.
Натписи (енгл. label) обично не допуштају никакву интеракцију са корисницима, већ служе само да означе улогу других елемената (пре свега поља за унос текста) или да прикажу резултат неког израчунавања.
Поља за унос текста (енгл. text box) омогућавају кориснику да унесе неку (обично краћу) текстуалну информацију. Када поље за унос текста добије фокус, у њему се приказује (енгл. cursor) – трепћућа црта која указује на место на које се уносе наредни карактери. Поља за унос текста понекад садрже и подразумеван, унапред понуђен садржај који корисник може да мења. Више речи о раду са текстом биће у делу посвећеном управо тој теми.
Поља за унос бројева (енгл.spin button, numeric up-down) служе за уношење бројевних вредности. Вредности се могу уносити куцањем, а могуће их је и повећавати и смањивати стрелицама поред поља. Вредности се мењају одређеним кораком (нпр. за 0,1 за 1, за 5, за 10 итд.), који одређује програмер.
Командна дугмад (енгл. command button) служе да корисник потврди неки унос, покрене неку обраду, изврши команду и слично.
Радио-дугмад (енгл. radio button) или опциона дугмад (енгл. option button) служе да кориснику омогуће избор тачно једне од неколико понуђених опција. Дугмад се обично постављају у групи (по једно дугме за сваку опцију), најчешће су кружног облика и избором једног од њих сва остала се поништавају.
Занимљивост
Име радио-дугме потиче од старијих радио-уређаја, код којих је притисак на дугме узроковао да претходно притиснуто дугме аутоматски искочи (па је у једном тренутку могуће изабрати највише једну опцију).
Поља за штриклирање (енгл. check box) служе да корисник прихвати, односно не прихвати понуђену опцију тј. да од више опција одабере више њих, једну или ниједну.
Листе (енгл. list box) омогућавају кориснику да одабере једну (или више) понуђених опција. Листa може бити обична (где су све опције истовремено приказане или се скролују) или падајућа (енгл. drop down list), у којој се опције приказују тек кликом мишем на троуглић приказан у оквиру листе.
Комбиноване листе (енгл. combo box) комбинују функционалност листе и поља за унос текста (могуће је бирати понуђене вредности, али и куцати нове).
Пано (енгл. panel) служи за груписање сродних елемената у целину. Пано са картицама (енгл. tabbed panel) омогућава прављење више целина, које се приказују наизменично коришћењем картица.
Поновимо да је интеракцију са дијалогом (тј. његовим елементима) могуће вршити мишем, али и само тастатуром. Фокус се пребацује са једног на други елемент дијалога тастером Tab (Shift + Tab за кретање у супротном смеру). Дугме које је у фокусу покреће се тастером Enter, док тастер Esc обично затвара цео дијалог (и одговара одабиру акције о тказивања (енгл. cancel)). Када је група радио-дугмади у фокусу, опције се бирају стрелицама. Статус дугмета за штриклирање (опција прихваћена, односно није) мења се тастером Space. Пречица Ctrl + Tab (Shift + Ctrl + Tab у супротном смеру) мења тренутно активирану картицу паноа са картицама.
3.1.3. Пренос садржаја између прозора и програма
Често се јавља потреба да се неки садржај пренесе из једног активног програма у други (тј. из једног прозора и његових елемената у други). На пример, да се део текста веб-странице убаци у семинарски рад или да се одређени пасус у процесору текста помери. Ово се реализује превлачењем (енгл. drag-and-drop) или коришћењем (енгл. clipboard).
Превлачењем (и испуштањем) садржај се мишем премешта (или копира) у оквиру једног отвореног прозора или из једног отвореног прозора у други.
Клипборд је посебна зона меморије рачунара, која привремено складишти податке приликом њиховог преноса са извора на одредиште.
Занимљивост
На енглеском језику клипборд означава таблу са штипаљком која се користи за организовање папира. Размена података преко клипборда може се упоредити са огласном таблом на коју једна особа може да остави неке податке, одакле те податке може да покупи неко други.
Основне акције приликом коришћења клипборда су:
копирање (енгл. copy), које подразумева да се садржај (који је у фокусу или који је селектован) копира у клипборд без мењања оригинала;
исецање (енгл. cut), које подразумева да се садржај (који је у фокусу или који је селектован) смешта у клипборд, с тим да се уклања са полазне локације;
лепљење (енгл. paste), које подразумева да се садржај који је тренутно у клипборду поставља на место у прозору одредишта на којем је акција лепљења покренута.
Најчешће пречице на тастатури су Ctrl + C за копирање, Ctrl + X за исецање и Ctrl + V за лепљење.
Да би се садржај ископирао са места А на место Б, он се на месту А селектује и са њега копира, а затим се на месту Б лепи. Да би се садржај преместио са места А на место Б, он се на месту А селектује и исеца, а затим се на месту Б лепи.
Клипборд обично може да чува само један скуп података. Тада операција копирања или сечења уклања стари садржај клипборда и замењује га новим. Приликом операције лепљења садржај клипборда остаје непромењен (те се може поново налепити на неко друго место).