โครงการ GNOME ได้เผยแพร่ Libadwaita 1.3 ซึ่งประกอบด้วยชุดส่วนประกอบสำหรับการออกแบบส่วนต่อประสานผู้ใช้ที่เป็นไปตาม GNOME HIG (แนวทางส่วนต่อประสานกับมนุษย์) ไลบรารีประกอบด้วยวิดเจ็ตและออบเจ็กต์สำเร็จรูปสำหรับสร้างแอปพลิเคชันที่สอดคล้องกับสไตล์ GNOME ทั่วไป ซึ่งอินเทอร์เฟซสามารถปรับให้เข้ากับหน้าจอทุกขนาดได้ รหัสไลบรารีเขียนด้วยภาษา C และเผยแพร่ภายใต้ใบอนุญาต LGPL 2.1+
ไลบรารี libadwaita ใช้ร่วมกับ GTK4 และรวมส่วนประกอบของธีม Adwaita ที่ใช้ใน GNOME ซึ่งถูกย้ายออกจาก GTK ไปยังไลบรารีแยกต่างหาก การย้ายองค์ประกอบการจัดรูปแบบ GNOME ไปยังไลบรารีที่แยกจากกันทำให้การเปลี่ยนแปลงเฉพาะของ GNOME ได้รับการพัฒนาแยกจาก GTK ช่วยให้นักพัฒนา GTK มุ่งเน้นไปที่เนื้อหาหลักและนักพัฒนา GNOME จึงสามารถผลักดันการเปลี่ยนแปลงสไตล์ที่ต้องการได้อย่างรวดเร็วและยืดหยุ่นมากขึ้น โดยไม่ส่งผลกระทบต่อ GTK เอง
ไลบรารีประกอบด้วยวิดเจ็ตมาตรฐานที่ครอบคลุมองค์ประกอบอินเทอร์เฟซต่างๆ เช่น รายการ แผง บล็อกการแก้ไข ปุ่ม แท็บ แบบฟอร์มการค้นหา กล่องโต้ตอบ ฯลฯ วิดเจ็ตที่นำเสนอช่วยให้คุณสร้างอินเทอร์เฟซสากลที่ทำงานได้อย่างราบรื่นทั้งบนหน้าจอพีซีและแล็ปท็อปขนาดใหญ่ และบนหน้าจอสัมผัสขนาดเล็กของสมาร์ทโฟน อินเทอร์เฟซของแอปพลิเคชันเปลี่ยนแปลงแบบไดนามิกขึ้นอยู่กับขนาดหน้าจอและอุปกรณ์อินพุตที่มีอยู่ ไลบรารียังมีชุดสไตล์ Adwaita ที่ทำให้รูปลักษณ์สอดคล้องกับหลักเกณฑ์ของ GNOME โดยไม่จำเป็นต้องปรับด้วยตนเอง
การเปลี่ยนแปลงที่สำคัญใน libadwaita 1.3:
- ใช้วิดเจ็ต AdwBanner ที่สามารถใช้แทนวิดเจ็ต GTK GtkInfoBar เพื่อแสดงหน้าต่างแบนเนอร์ที่มีชื่อและปุ่มตัวเลือกหนึ่งปุ่ม เนื้อหาของวิดเจ็ตจะเปลี่ยนไปตามขนาด และสามารถใช้ภาพเคลื่อนไหวได้เมื่อแสดงและซ่อน
- เพิ่มวิดเจ็ต AdwTabOverview ซึ่งออกแบบมาสำหรับภาพรวมของแท็บหรือหน้าเว็บที่แสดงโดยใช้คลาส AdwTabView วิดเจ็ตใหม่สามารถใช้เพื่อจัดระเบียบงานกับแท็บบนอุปกรณ์มือถือโดยไม่ต้องสร้างการใช้งานสวิตช์ของคุณเอง
- เพิ่มวิดเจ็ต AdwTabButton เพื่อแสดงปุ่มพร้อมข้อมูลเกี่ยวกับจำนวนแท็บที่เปิดอยู่ใน AdwTabView ซึ่งสามารถใช้กับอุปกรณ์เคลื่อนที่เพื่อเปิดมุมมองแท็บ
- วิดเจ็ต AdwViewStack, AdwTabView และ AdwEntryRow รองรับคุณสมบัติการเข้าถึงแล้ว
- เพิ่มคุณสมบัติในคลาส AdwAnimation เพื่อละเว้นการปิดใช้งานภาพเคลื่อนไหวในการตั้งค่าระบบ
- ขณะนี้คลาส AdwActionRow สามารถเน้นคำบรรยายได้แล้ว
- เพิ่มคุณสมบัติบรรทัดหัวเรื่องและบรรทัดคำบรรยายลงในคลาส AdwExpanderRow แล้ว
- มีการเพิ่มเมธอด Grab_focus_without_selecting() ให้กับคลาส AdwEntryRow ซึ่งคล้ายกับ GtkEntry
- มีการเพิ่มเมธอด async select() ให้กับคลาส AdwMessageDialog ซึ่งคล้ายกับ GtkAlertDialog
- เพิ่มการเรียก API ที่เกี่ยวข้องกับอินเทอร์เฟซแบบลากและวางในคลาส AdwTabBar
- คลาส AdwAvatar ช่วยให้มั่นใจได้ถึงการปรับขนาดภาพที่ถูกต้อง
- เพิ่มความสามารถในการใช้สไตล์มืดและโหมดคอนทราสต์สูงเมื่อทำงานบนแพลตฟอร์ม Windows
- ตอนนี้องค์ประกอบที่เลือกของรายการและตารางจะถูกเน้นด้วยสีที่ใช้เพื่อเน้นองค์ประกอบที่ใช้งานอยู่ (เน้นเสียง)
ที่มา: opennet.ru