Esitatud on Cambalache 1.0 projekti vÀljaanne, mis arendab GTK 3 ja GTK 4 jaoks kiirete kasutajaliideste arendamise tööriista, kasutades visuaalset projekteerimist (WYSIWYG), MVC paradigma ning andmemudeli prioriteetsuse filosoofiat. Versiooni number 1.0 antakse kui saavutus projekti valmidusest laiemaks kasutamiseks. Kood on kirjutatud Pythoni keeles ja jagatakse LGPLv2.1 litsentsi all. Installimiseks on saadaval flatpak-formaadis paketid.
Erinevalt Gladest pakub Cambalache toetust mitme kasutajaliidese haldamiseks ĂŒhes projektis. Cambalache ei sĂ”ltu GtkBuilderist ja GObjectist, kuid pakub andmemudelit, mis vastab GObjecti tĂŒĂŒbisĂŒsteemile. Toetatakse GTK-stiilide redigeerimist, visualiseerimist ja loomist CSS-vormingus, XML-failide redigeerimist GResources ressursside jaoks, mallide ja vidinate loomist, samuti GtkBuilder XML-faile ja Blueprint-mĂ€rgistust.
Andmemudel suudab importida ja eksportida korraga mitu kasutajaliidest, toetab GtkBuilderi objekte, omadusi ja signaale, pakub toimingute tagasiastumise (Undo / Redo) ja kÀsuhalduse ajalugu kokkusurumise vÔimalust. Andmemudeli genereerimiseks gir-failidest on saadaval utiliit cambalache-db ja GObject klasside genereerimiseks andmemudeli tabelitest on utiliit db-codegen.
Kasutajaliides saab genereerida GTK 3 ja GTK 4 baasil, sĂ”ltuvalt projektis mÀÀratud versioonist. Erinevate GTK harude toetamiseks toimub tööpiirkonna loomine eraldi protsessis, kaasates vidina Casilda, mis vĂ”imaldab GTK4 rakendustes teiste protsesside aknaid integreerida, ja on realiseeritud spetsialiseeritud komposiitina. serverilt, kasutades Waylandi protokolli ja wlrootsi teeki. Casilda loob virtuaalsed sisendid, mille sĂŒndmused kantakse ĂŒle GtkEventController'ilt, ning virtuaalse vĂ€ljundi seadme, mis on sama suur nagu rakenduses integreeritud vidin. Wlrootsi abil renderdatakse eelvaate sisu pikslipuhvrisse ja laaditakse see Cairo (cairo.Surface) pinnana rodina GTK-is.

Allikas: opennet.ru
