Skip to content

رسومات: قوائم وأوامر — رسم Menu/Toolbar/SegmentedControl حرًّا (م٣ من خطّة الودجات)#285

Merged
SalehKadah merged 1 commit into
devfrom
رسومات/م3-قوائم-وأوامر
Jul 25, 2026

Hidden character warning

The head ref may contain hidden characters: "\u0631\u0633\u0648\u0645\u0627\u062a/\u06453-\u0642\u0648\u0627\u0626\u0645-\u0648\u0623\u0648\u0627\u0645\u0631"
Merged

رسومات: قوائم وأوامر — رسم Menu/Toolbar/SegmentedControl حرًّا (م٣ من خطّة الودجات)#285
SalehKadah merged 1 commit into
devfrom
رسومات/م3-قوائم-وأوامر

Conversation

@SalehKadah

Copy link
Copy Markdown
Collaborator

ما هذا

المرحلة ٣ من خطّة مكتبة ودجات سطح المكتب: قوائم وأوامر. ثلاثة أنواع UINodeType موجودة سلفًا في التعداد لكن بلا مظهر خاصّ على الباطن الحرّ (تسقط default ⇒ مظهرها في مولّد الويب فقط). تضيف هذه الرقعة حالات الرسم الحرّة لها — طبقة رسم فقط، لا توسيع SoT، لا حاجة لـ RFC (الأنواع مقنَّنة أصلًا).

العنصر المظهر على الباطن الحرّ
قائمة_خيارات Menu لوح منبثق مرتفع بظلّ + إطار (يخدم القائمة المنسدلة والسياقيّة)
شريط_أدوات Toolbar شريط فاتح بحدّ سفليّ (حاوية لأزرار الأوامر)
تحكم_مقسم SegmentedControl حبّة مستديرة تحوي الشرائح (أبناء)

التغييرات (ملفّان، +50)

  • platform_renderer.cpp: ٣ حالات renderNode (نمط Dialog/StartMenu/Taskbar/ScrollBar)
  • layout.cpp: أحجام measureLeaf احتياطيّة لـ Toolbar/SegmentedControl/Menu

التحقّق

  • مراجعة Amelia (عدائيّة متزامنة، للقراءة فقط): سليم صحّةً وأمانًا. لا case مزدوج (كلّ نوع مرّة واحدة)، كلّ switch فيه default ⇒ لا كسر بناء تحت -Werror.
  • بناء: مكتبة الرسم + ثنائيّ سطح مكتب sad-os الحرّ بلا أخطاء.
  • برهان بصريّ: مشهد (شريط أدوات «ملف/تحرير/عرض/مساعدة» + تحكّم مقسّم «يومي/أسبوعي/شهري» + قائمة سياق «قص/نسخ/لصق/حذف») صُيِّر عبر FreestandingRenderer (٤٢ غليف HD).

دَين متتبَّع (رصدته Amelia — سابق لهذه الرقعة)

بنّاء SegmentedControlBuilder::build() يضيف الشرائح Text مباشرةً بلا غلاف Row ⇒ تُكدَّس رأسيًّا في التوزيع الافتراضيّ (measureColumn). رقعة الرسم هذه ترسم الحبّة صحيحةً؛ إصلاح غلاف Row في البنّاء = متابعة منفصلة.

🤖 Generated with Claude Code

… خطّة الودجات)

هذه الأنواع الثلاثة معرَّفة سلفًا في UINodeType لكن بلا مظهر خاصّ على الباطن
الحرّ (تسقط default ⇒ مظهرها في مولّد الويب فقط). تضيف هذه الرقعة حالات
renderNode لها (طبقة رسم فقط — لا توسيع SoT، الأنواع قائمة):

- قائمة_خيارات (Menu): لوح منبثق مرتفع بظلّ + إطار (يخدم القائمة المنسدلة
  والقائمة السياقية) — حاوية لبنودها
- شريط_أدوات (Toolbar): شريط فاتح بحدّ سفليّ — حاوية لأزرار الأوامر
- تحكم_مقسم (SegmentedControl): حبّة مستديرة تحوي الشرائح (أبناء)

+ أحجام measureLeaf افتراضيّة لـ Toolbar/SegmentedControl/Menu.

النمط يطابق Dialog/BottomNav/Card. مبنيّ فوق م٠..م٢ المدموجة في dev.
مُتحقَّق: يترجم ويُربط في ثنائيّ سطح مكتب sad-os الحرّ.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

📚 تذكير مزامنة دليل المطوّرين

هذا الـPR يلمس مصادر موثَّقة في دليل المطوّرين. راجع الفصول الآتية وحدّثها إن تغيّر سلوكها، ثم ثبّت البصمات هناك (python scripts/check_sync.py --update):

بندٌ في معيار الإنجاز. تذكيرٌ آليّ — لا يحجب الدمج.

@SalehKadah
SalehKadah merged commit b30fac7 into dev Jul 25, 2026
16 checks passed
@SalehKadah
SalehKadah deleted the رسومات/م3-قوائم-وأوامر branch July 25, 2026 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant