aet vstroennuyu podderzhku pechati s vyvodom na razlichnye ustrojstva, vklyuchaya:
Photon takzhe soderzhit vidzhet/dialog vybora printera, oblegchaya pechat' iz prilozhenij.
Dobavlenie Menedzhera okon prevrashchaet Photon v polnofunkcional'nyj nastol'nyj graficheskij interfejs (GUI). Menedzher okon ne yavlyaetsya obyazatel'nym i mozhet otsutstvovat' v bol'shinstve vstroennyh sistem. Menedzher okon pozvolyaet pol'zovatelyam manipulirovat' oknami prilozhenij, izmenyaya ih razmer, peremeshchaya i minimiziruya.
Menedzher okon ispol'zuet koncepciyu fil'tracii sobytij. On pomeshchaet dopolnitel'nye regiony za regionami prilozhenij, na kotoryh "narisovany" elementy upravleniya oknami. Tak kak vid i povedenie interfejsa opredelyayutsya zamenyaemym Menedzherom okon, to mozhno realizovat' razlichnye vidy pol'zovatel'skih interfejsov.
Photon predlagaet biblioteku komponentov, nazyvaemyh vidzhetami,- ob®ektov, sposobnyh, v osnovnom, avtomaticheski upravlyat' svoim povedeniem bez neposredstvennogo programmirovaniya. V rezul'tate, zavershennoe prilozhenie mozhet byt' bystro sobrano iz vidzhetov, s posleduyushchej privyazkoj C-koda k sootvetstvuyushchim callback-funkciyam vidzhetov. Photon Application Builder (PhAB), kotoryj yavlyaetsya chast'yu sistemy razrabotki Photon, podderzhivaet shirokuyu palitru vidzhetov v vizual'noj srede razrabotki.
Photon predlagaet shirokij spektr vidzhetov:
Dannyj vidzhet ispol'zuetsya v osnovnom dlya otobrazheniya tekstovoj informacii. Vidzhet PtLabel yavlyaetsya nadklassovym dlya vseh tekstovyh vidzhetov, obespechivaya mnogie nastraivaemye atributy (naprimer, shrift, vsplyvayushchie ballony, cveta, bordyur, vyravnivanie, polya i t.d.), kotorye nasleduyutsya vsemi podklassami.
Knopki yavlyayutsya neot®emlemym komponentom lyuboj okonnoj obolochki. Obychno oni imeyut vypuklyj vid, kotoryj pri nazhatii smenyaetsya na utoplennyj, vizual'no otrazhaya vybor knopki. V dopolnenie k vizual'nomu otrazheniyu sostoyaniya, pri vybore knopki avtomaticheski vyzyvaetsya opredelennaya prilozheniem callback-funkciya.
Photon predlagaet dva vidzheta tekstovogo vvoda:
Knopki s fiksaciej otobrazhayut odno iz dvuh vozmozhnyh sostoyanij - vklyucheno ili vyklyucheno. Photon predlagaet dva razlichnyh tipa knopok s fiksaciej s razlichnym vneshnim vidom. Knopki s fiksaciej ispol'zuyutsya dlya otobrazheniya ili vvoda informacii o sostoyanii kakoj-libo komandy ili dejstviya.
Photon ne ispytyvaet nedostatka v graficheskih vidzhetah. Sushchestvuyut vidzhety dlya vsego, nachinaya ot prostyh linij i pryamougol'nikov i do slozhnyh mnogosegmentnyh krivyh Bez'e. Graficheskie vidzhety imeyut atributy dlya cvetov, zapolneniya, tolshchiny linij i mnogo drugogo.
Dannyj vidzhet ispol'zuetsya dlya prokrutki izobrazheniya v vidimoj oblasti. Polosa prokrutki takzhe ispol'zuetsya v sostave drugih vidzhetov (naprimer, PtList, PtScrollArea) dlya obespecheniya prokrutki.
Dannyj vidzhet ispol'zuetsya dlya razdeleniya dvuh ili bolee oblastej, pridavaya luchshij vneshnij vid. Razdelitel' mozhet byt' nastroen v sootvetstvii s razlichnymi stilyami i vidami.
Dvizhok otlichaetsya ot polosy prokrutki tem, chto polosa prokrutki opredelyaet interval, v to vremya kak dvizhok zadaet edinstvennoe znachenie. Vidzhet Dvizhok predusmatrivaet bol'shoj spisok nastraivaemyh atributov.
Vidzhet Tajmer sushchestvenno uproshchaet ispol'zovanie tajmera. |tot vidzhet ne otobrazhaetsya vizual'no - on prosto opredelyaet callback-funkciyu, vyzyvaemuyu vsyakij raz pri srabatyvanii tajmera. Prilozhenie mozhet ustanavlivat' znachenie tajmera i, po vyboru, interval povtoreniya.
Photon podderzhivaet vse osnovnye formaty graficheskih fajlov, chto pozvolyaet importirovat' izobrazheniya i pokazyvat' ih vnutri vidzhetov. Mnogie vidzhety Photon neposredstvenno podderzhivayut otobrazhenie grafiki - naibolee ispol'zuemymi yavlyayutsya PtButton, dlya sozdaniya panelej knopok, i PtLabel, dlya pokaza izobrazhenij.
Esli prilozheniyu neobhodimo vypolnit' kakuyu-libo dlitel'nuyu operaciyu (naprimer, zagruzit' fajl), ono mozhet ispol'zovat' indikator hoda processa, chtoby pokazat' pol'zovatelyu, chto proishodit i, chto eshche bolee vazhno, skol'ko eshche vremeni zajmet etot process. Indikator hoda processa mozhet byt' gorizontal'nym ili vertikal'nym i imeet mnogo nastraivaemyh atributov.
Vsplyvayushchie soobshcheniya i preduprezhdeniya tipichny dlya okonnoj sredy. Photon predusmatrivaet ochen' udobnyj vidzhet dialoga, kotoryj pokazyvaet soobshchenie, i do 3 knopok dlya otveta pol'zovatelya. Imeetsya takzhe poleznaya funkciya vyzova modal'nogo dialoga (PtAskQuestion()), osnovannaya na dannom vidzhete.
PtNumericInteger pozvolyaet pol'zovatelyu zadat' celochislennoe znachenie v predelah mezhdu ustanovlennymi minimal'noj i maksimal'noj velichinami. PtNumericFloat pozvolyaet vvesti chislo s plavayushchej tochkoj.
Vidzhet PtUpDown (strelki vverh/vniz) pozvolyaet pol'zovatelyu uvelichivat' ili umen'shat' chislo na zadannuyu velichinu.
Okna yavlyayutsya osnovnymi kontejnerami dlya prilozhenij. Osnovnye komponenty pol'zovatel'skogo interfejsa (linejki menyu, linejki instrumentov i t.d.) poyavlyayutsya s vidzhetom Okno. Vidzhet avtomaticheski vypolnyaet vse neobhodimye vzaimodejstviya s Menedzherom okon Photon (PWM) - vam trebuetsya tol'ko zadat' trebuemuyu funkcional'nost'.
Vidzhety Piktogrammy tesno svyazany s oknami i pokazyvayutsya v papkah Photon Desktop Manager i na paneli zadach PWM.
Vidzhety Panel' yavlyayutsya prostymi vidzhetami-kontejnerami, kotorye ispol'zuyutsya dlya razmeshcheniya drugih vidzhetov. Hotya on i yavlyaetsya roditel'skim vidzhetom, panel' nikakim obrazom ne upravlyaet dochernimi vidzhetami. Paneli ochen' udobny dlya postroeniya form, obychno vstrechayushchihsya v oknah dialoga.
Vidzhet Gruppa - eto ochen' moshchnyj vidzhet, kotoryj upravlyaet geometriej vseh svoih dochernih vidzhetov. On mozhet vyravnivat' vidzhety po gorizontali, po vertikali ili v vide matricy. Gruppa mozhet byt' privyazana k storone lyubogo drugogo kontejnera (naprimer, okna) takim obrazom, chtoby gruppa avtomaticheski izmenyala razmer pri izmenenii razmera okna. Vidzhet Gruppa takzhe predusmatrivaet atributy, kotorye pozvolyayut zadat' neobhodimost' rastyagivaniya dochernih vidzhetov pri uvelichenii razmerov gruppy.
Oblast' prokrutki obespechivaet "okno" prosmotra soderzhimogo kontejnera potencial'no bol'shego razmera. Vy mozhete pomestit' lyuboe kolichestvo vidzhetov vnutr' oblasti prokrutki, i ona avtomaticheski sozdast polosy prokrutki v sluchae, esli vidzhety vyhodyat za granicy vidimoj oblasti. Oblasti prokrutki mogut byt' ispol'zovany dlya sozdaniya okna prosmotra tekstovyh fajlov, tekstovyh redaktorov, prosmotra spiskov i tak dalee.
Dlya bystroj prokrutki dochernih vidzhetov oblast' prokrutki ispol'zuet apparatnyj blitter (pri uslovii, chto on podderzhivaetsya graficheskim drajverom).
Dannyj vidzhet pozvolyaet sozdavat' lyuboj fon, nachinaya ot prostogo perehoda cvetov do simmetrichno raspolozhennyh tekstur. Prakticheski lyuboe trebovanie k fonu mozhet byt' udovletvoreno etim vidzhetom.
Photon predusmatrivaet vse neobhodimoe dlya organizacii menyu. Vidzhet PtMenuBar uproshchaet sozdanie standartnoj linejki menyu. Vidzhet PtMenu obrabatyvaet otobrazhenie vsplyvayushchego menyu, nazhatie-peremeshchenie-otpuskanie (myshi), ukazanie i nazhatie, vvod s klaviatury i vybor punktov menyu. Vidzhet PtMenuButton ispol'zuetsya dlya sozdaniya otdel'nyh punktov menyu.
Dannyj vidzhet upravlyaet spiskom elementov. On predusmatrivaet mnogo razlichnyh rezhimov vybora, vklyuchaya edinichnyj vybor, mnozhestvennyj vybor i vybor diapazona. Vidzhet Spisok takzhe podderzhivaet mnogostolbcovye spiski pri ispol'zovanii vidzheta PtDivider.
Razvorachivaemyj spisok sovmeshchaet vidzhet PtText (dlya vvoda teksta) s knopkoj dlya otobrazheniya vidzheta PtList. Pri vybore pol'zovatelem elementa spiska, vidzhet Tekst avtomaticheski obnovlyaetsya v sootvetstvii s tekushchim vyborom. Razvorachivaemyj spisok ochen' polezen v dlya otobrazheniya spiska v ogranichennom prostranstve. Dialogi i kontejnery zanimayut znachitel'no men'she mesta na ekrane, chto osobenno vazhno dlya vstroennyh prilozhenij.
Vidzhet Derevo napominaet vidzhet Spisok - oni imeyut obshchih predshestvennikov. Osnovnoe otlichie sostoit v tom, chto vidzhet Derevo pokazyvaet elementy v vide ierarhii. |lementy, nazyvaemye vetvyami, mogut byt' razvernuty ili szhaty; mozhet byt' sozdano lyuboe kolichestvo vetvej. Dlya kazhdoj vetvi mozhno opredelit' svoe unikal'noe graficheskoe izobrazhenie.
V chislo prilozhenij Photon, ispol'zuyushchih derev'ya, vhodyat: Fajl-Menedzher (pokaz kataloga), PhAB (ierarhiya vidzhetov), vsin (spisok processov) i mnogie drugie.
Blagodarya etomu vidzhetu est' vozmozhnost' pomestit' tekstovuyu konsol' v svoe prilozhenie. Vidzhet Terminal sozdaet tekstovyj terminal i upravlyaet im.
Bolee togo - on obespechivaet polnuyu funkcional'nost' "cut-and-paste" i bystryj vyzov spravki putem vydeleniya teksta vnutri vidzheta.
|tot vidzhet osushchestvlyaet upravlenie dochernimi vidzhetami unikal'nym obrazom. Esli pomestit' dva ili bolee vidzheta vnutr' vidzheta PtDivider, to on avtomaticheski sozdaet nebol'shie razdeliteli mezhdu dochernimi vidzhetami. Peredvigaya eti razdeliteli, pol'zovatel' mozhet izmenyat' razmery dochernih vidzhetov. |to ochen' udobno, v chastnosti, dlya sozdaniya spiskov so stolbcami izmenyaemoj shiriny. Fakticheski, esli pomestit' vidzhet PtDivider vnutr' PtList, eto avtomaticheski prevratit prostoj spisok v spisok s mnozhestvennymi stolbcami izmenyaemoj shiriny.
Vitzhety Deliteli ne ogranichivayutsya tol'ko etiketkami ili knopkami. Lyuboj vidzhet mozhet byt' pomeshchen vnutr', chtoby sozdavat' ryadom derev'ya s izmenyaemymi razmerami, oblasti prokrutki i tak dalee.
Sistemy real'nogo vremeni chasto trebuyut otobrazheniya graficheskih trendov sostoyaniya processa. Vidzhet RtTrend podderzhivaet otobrazhenie neskol'kih trendov odnovremenno.
Vidzhet RtMeter imeet vid polukruga s riskami, otmechayushchimi 1/3, 1/2 i 2/3 dliny dugi. Strelka mozhet peremeshchat'sya s pomoshch'yu myshi ili klaviatury ili programmno. Odnokratnoe nazhatie knopki myshi peremeshchaet strelku v tekushchuyu poziciyu kursora; pri nazhatii i posleduyushchem peremeshchenii myshi ("drag") strelka sleduet za kursorom.
|tot vidzhet chitaet standartnye fajly konfiguracii shriftov i pokazyvaet spisok dostupnyh shriftov. On pozvolyaet vybrat' shrift i stil' (zhirnyj, kursiv t.d.) i takzhe ukazat' neobhodimost' ispol'zovaniya tehnologii sglazhivaniya (anti-alias).
Vidzhet PtFileSel pozvolyaet otobrazhat' drevovidnuyu ierarhiyu fajlov, katalogov ili proizvol'nyh elementov. S pomoshch'yu etogo vidzheta pol'zovatel' mozhet prosmatrivat' strukturu fajlovoj sistemy i vybirat' trebuemyj fajl ili katalog.
Vidzhet PtPrintSel pozvolyaet pol'zovatelyu vybrat' printer i proizvesti neobhodimuyu nastrojku parametrov pechati. Pol'zovatel' mozhet zadat' diapazon stranic dlya vyvoda na pechat' i kolichestvo kopij.
Ispol'zovanie dannogo vidzheta oblegchaet sozdanie sobstvennogo sredstva prosmotra dokumentacii formata HTML. Vidzhet sam vypolnyaet formatirovanie standartnogo HTML-fajla i dazhe avtomaticheski zagruzhaet kartinki. On obrabatyvaet prokrutku, izmenenie razmera, prakticheski vse trebuemye funkcii.
Esli standartnyh vidzhetov Photon nedostatochno, to vy mozhete legko sozdat' svoi sobstvennye novye vidzhety! V sostav sredy razrabotki Photon vhodit polnaya dokumentaciya i primery ishodnogo koda dlya sozdaniya sobstvennyh vidzhetov. Vy mozhete sozdavat' podklassy sushchestvuyushchih vidzhetov, chtoby obespechit' nasledovanie ih funkcional'nosti, ili sozdat' sobstvennoe derevo vidzhetov.
Photon olicetvoryaet novyj podhod k sozdaniyu graficheskogo pol'zovatel'skogo interfejsa s ispol'zovaniem mikroyadra i "komandy" vzaimodejstvuyushchih processov, a ne monolitnyj podhod, harakternyj dlya drugih okonnyh sistem. V rezul'tate Photon demonstriruet unikal'nye harakteristiki: