پروژه Cambalache 0.10.0 منتشر شده است که یک ابزار توسعه رابط سریع برای GTK 3 و GTK 4 با استفاده از پارادایم MVC و فلسفه مدل داده اول ایجاد می کند. برخلاف Glade، Cambalache از نگهداری چندین رابط کاربری در یک پروژه پشتیبانی می کند. کد به زبان پایتون نوشته شده و تحت مجوز LGPLv2.1 است. بسته ای با فرمت flatpak برای نصب در دسترس است.
Cambalache مستقل از GtkBuilder و GObject است، اما یک مدل داده سازگار با سیستم نوع GObject ارائه می دهد. مدل داده میتواند چندین رابط را بهطور همزمان وارد و صادر کند، اشیاء، ویژگیها و سیگنالهای GtkBuilder را پشتیبانی میکند، یک پشته لغو (Undo/Redo) و توانایی فشردهسازی تاریخچه فرمان را فراهم میکند. ابزار cambalache-db برای تولید یک مدل داده از فایلهای gir، و ابزار db-codegen برای تولید کلاسهای GObject از جداول مدل دادهها ارائه شده است.
این رابط را می توان بر اساس GTK 3 و GTK 4، بسته به نسخه تعریف شده در پروژه ایجاد کرد. برای ارائه پشتیبانی از شاخه های مختلف GTK، فضای کاری با استفاده از باطن Broadway ایجاد می شود، که به شما امکان می دهد خروجی کتابخانه GTK را در یک پنجره مرورگر وب ارائه دهید. فرآیند اصلی Cambalache یک چارچوب مبتنی بر WebKit WebView ارائه میکند که از Broadway برای پخش خروجی از فرآیند Merengue استفاده میکند، که مستقیماً در رندر کردن رابط کاربری نقش دارد.
در نسخه جدید:
- پشتیبانی از کتابخانههای libAdwaita و libHandy اضافه شد که مجموعهای از مؤلفهها را برای استایلسازی رابط کاربری مطابق با توصیههای GNOME HIG ارائه میدهند.
- اضافه شدن پشتیبانی برای تعریف اشیاء جدید به طور مستقیم (Inline) در یک بلوک با ویژگی های یک شی دیگر، بدون استفاده از پیوند. هولا موندو
- پشتیبانی اضافه شده برای تعریف یک نوع فرزند خاص، به عنوان مثال، در ویجت عنوان پنجره استفاده می شود.
- پشتیبانی اضافه شده برای تنظیم مجدد موقعیت های عنصر کودک.
- پشتیبانی از انواع enum و flag برای GdkPixbuf، Pango، Gio، Gdk و Gsk اضافه شده است.
- اضافه شدن ترجمه رابط به اوکراینی.
- ویرایشگرهای جدید اموال پیشنهاد شده است.
منبع: opennet.ru