Opublikowano wersję projektu Cambalache 0.8.0, rozwijającego narzędzie do szybkiego tworzenia interfejsów dla GTK 3 i GTK 4, korzystającego z paradygmatu MVC oraz filozofii priorytetowego znaczenia modelu danych. W przeciwieństwie do Glade, Cambalache zapewnia wsparcie dla prowadzenia wielu interfejsów użytkownika w jednym projekcie. Pod względem funkcjonalności, wydanie Cambalache 0.8.0 jest bliskie parytetu z Glade. Kod został napisany w Pythonie i dostarczany jest na licencji GPLv2.
Cambalache nie zależy od GtkBuilder i GObject, ale zapewnia model danych zgodny z systemem typów GObject. Model danych może importować i eksportować wiele interfejsów na raz, obsługuje obiekty, właściwości i sygnały GtkBuilder, zapewnia stos cofania operacji (Undo / Redo) oraz możliwość kompresji historii poleceń. Do generowania modelu danych z plików gir dostępne jest narzędzie cambalache-db, a do generowania klas GObject z tabel modelu danych – narzędzie db-codegen.
Interfejs może być generowany w oparciu o GTK 3 lub GTK 4, w zależności od wersji określonej w projekcie. Aby zapewnić wsparcie dla różnych gałęzi GTK, składanie obszaru roboczego odbywa się z wykorzystaniem backendu Broadway, który pozwala na renderowanie wyjścia biblioteki GTK w oknie przeglądarki internetowej. Główny proces Cambalache zapewnia oprawkę opartą na WebKit WebView, w której za pomocą Broadway transmitowane jest wyjście z procesu Merengue, który bezpośrednio zajmuje się renderowaniem interfejsu tworzonego przez użytkownika.
W nowym wydaniu:
- Dodano interaktywny panel wyboru obiektów, który kategoryzuje klasy obiektów i ułatwia wyszukiwanie potrzebnych informacji.

- Zrealizowano wsparcie dla wypełniaczy obszaru roboczego, ułatwiających dodawanie elementów podrzędnych na określone pozycje. Aby dodać widżet zamiast wypełniacza, wystarczy kliknąć na nim dwa razy.

- Zapewniono wsparcie dla tłumaczonych właściwości oraz wprowadzono możliwość zostawiania komentarzy dla tłumaczy.

- Dodano wsparcie dla operacji z buforem schowka (Kopiuj, Wklej, Wytnij i Usuń).

- Poprawiono wyjście informacji o nieobsługiwanych funkcjach podczas importu plików UI oraz podczas eksportu do innego pliku.

Źródło: opennet.ru





