Skip to content

Latest commit

 

History

History
979 lines (598 loc) · 24.8 KB

widgets.ar.md

File metadata and controls

979 lines (598 loc) · 24.8 KB

WebPlatform

[English]

[رجوع]

الـودجات (Widgets)

ودجـة (Widget)

الصنف الأساسي (الجذر) لكل الودجات.

المتغيرات

  • معرف (id): نـص. معرف عنصر DOM المقابل لهذه الودجة.

الخصال

  • اسم_الفئة (className): نـص. اسم الفئة للودجة، وتستعمل لتطبيق طراز تابع لفئة معينة.

الأحداث

عند_تغير_الأبعاد (onResize)
عرف عند_تغير_الأبعاد: إشـارة_حدث_دوم[ودجـة، صـحيح]؛
def onResize: DomEventSignal[Widget, Int];

إشارة بأن أبعاد الودجة تغيرت. الحمولة مهملة في هذا الحدث.

عند_دخول_المؤشر (onMouseEnter)
عرف عند_دخول_المؤشر: إشـارة_حدث_دوم[ودجـة، صـحيح]؛
def onMouseEnter: DomEventSignal[Widget, Int];

إشارة بأن المؤشر دخل المنطقة الخاصة بالودجة. الحمولة مهملة في هذا الحدث.

عند_خروج_المؤشر (onMouseOut)
عرف عند_خروج_المؤشر: إشـارة_حدث_دوم[ودجـة، صـحيح]؛
def onMouseOut: DomEventSignal[Widget, Int];

إشارة بأن المؤشر خرج من المنطقة الخاصة بالودجة. الحملة مهملة في هذا الحدث.

عند_بدء_النقرة (onMouseDown)
عرف عند_بدء_النقرة: إشـارة_حدث_دوم[ودجـة، حـمولة_زر_المؤشر]؛
def onMouseDown: DomEventSignal[Widget, MouseButtonPayload];

إشارة بأنه تم بدء النقر بالمؤشر.

عند_انتهاء_النقرة (onMouseUp)
عرف عند_انتهاء_النقرة: إشـارة_حدث_دوم[ودجـة، حـمولة_زر_المؤشر]؛
def onMouseUp: DomEventSignal[Widget, MouseButtonPayload];

إشارة بأن النقر انتهى.

عند_تحريك_المؤشر (onMouseMove)
عرف عند_تحريك_المؤشر: إشـارة_حدث_دوم[ودجـة، حـمولة_تحريك_المؤشر]؛
def onMouseMove: DomEventSignal[Widget, MouseMovePayload];

إشارة بأن المؤشر تحرك.

عند_بدء_اللمس (onTouchStart)
عرف عند_بدء_اللمس: إشـارة_حدث_دوم[ودجـة، مـصفوفة[حـمولة_لمس]]؛
def onTouchStart: DomEventSignal[Widget, Array[TouchPayload]];

إشارة بأن اللمس بدأ في الأجهزة ذات شاشات اللمس.

عند_انتهاء_اللمس (onTouchEnd)
عرف عند_انتهاء_اللمس: إشـارة_حدث_دوم[ودجـة، مـصفوفة[حـمولة_لمس]]؛
def onTouchEnd: DomEventSignal[Widget, Array[TouchPayload]];

إشارة بأن اللمس انتهى في الأجهزة ذات شاشات اللمس.

عند_تحريك_اللمس (onTouchMove)
عرف عند_تحريك_اللمس: إشـارة_حدث_دوم[ودجـة، مـصفوفة[حـمولة_لمس]]؛
def onTouchMove: DomEventSignal[Widget, Array[TouchPayload]];

إشارة بأن موضع اللمس تغيير في الأجهزة ذات شاشات اللمس.

عند_الضغط (onClick)
عرف عند_الضغط: إشـارة_حدث_دوم[ودجـة، صـحيح]؛
def onClick: DomEventSignal[Widget, Int];

إشارة بأن ضغطة بزر الفأرة قد حدثت. الحمولة مهملة في هذا الحدث.

العمليات

الطراز (style)
عملية هذا.الطراز: سـندنا[طـقم_طرز]؛
عملية هذا.الطراز = سـندنا[طـقم_طرز]؛
handler this.style: SrdRef[StyleSet];
handler this.style = SrdRef[StyleSet];

تستخدم لتعديل طقم الطرز المخصص لهذه الودجة. يمكن تعيين طقم طرز مشترك مع ودجات أخرى. في حال محاولة تغيير طقم الطرز الخاص بالودجة قبل تعيين طقم طرز لها سيُنشأ طقم طرز تلقائيًا لهذه الودجة.

هات_الأبعاد (getDimensions)
دالة هذا.هات_الأبعاد(): أبـعاد؛
handler this.getDimensions(): Dimensions;

دالة لجلب الأبعاد الحالية للودجة.

هات_المستطيل_المحيط (getBoundingRect)
دالة هذا.هات_المستطيل_المحيط(): مـستطيل؛
handler this.getBoundingRect(): Rectangle;

دالة لجلب الموقع والأبعاد الحالية للودجة نسبة إلى المشهد، أي الزاوية العليا اليسرى من نافذة المتصفح.

التمس_احتكار_المؤشر (requestPointerLock)
عملية هذا.التمس_احتكار_المؤشر()؛
handler this.requestPointerLock();

طلب احتكار المؤشر. يؤدي هذا لإزالة مؤشر الفأرة مع استمرار الودجة باستلام إشعارات تحرك المؤشر.

التمس_ملء_الشاشة (requestFullScreen)
عملية هذا.التمس_ملء_الشاشة()؛
handler this.requestFullScreen();

طلب الانتقال إلى وضع ملء الشاشة. سيؤدي هذا لتكبير الودجة لتملأ الشاشة.

مرر_إلى_المرأى (scrollIntoView)
عملية هذا.مرر_إلى_المرأى();
handler this.scrollIntoView();

طريقة تسمح بالنزول في الصفحة الحاوية لمجموعة عناصر إلى العنصر الذي استدعى هذه الطريقة ليصبح مرئياً.

صـندوق (Box)

يمثل هذا الصنف مساحة مستطيلة الشكل تحوي على ودجات أخرى.

المتغيرات

  • فروع (children): مـصفوفة[سـندنا[ودجـة]] (Array[SrdRef[Widget]]). مصفوفة تحمل الودجات التي يحويها هذا الصنف.

العمليات

أضف_فروعا (addChildren)
عملية هذا.أضف_فروعا(عدد: صـحيح، فروع: ...سند_مؤقت[سـندنا[ودجـة]])؛
handler this.addChildren (count: Int, children: ...temp_ref[SrdRef[Widget]]);

طريقة لإضافة فرع جديد أو أكثر ضمن هذا الصنف.

المعطيات:

  • عدد (count) عدد الفروع التي نرغب بإضافتها.

  • فروع (children) الفروع التي نريد إضافتها و التي هي عبارة عن ودجات.

احشر_فرعا (insertChild)
عملية هذا.احشر_فرعا (تسلسل: صـحيح، فرع: سـندنا[ودجـة])؛
handler this.insertChild (index: Int, child: SrdRef[Widget]);

أضف فرعًا جديدًا عند تسلسل محدد.

المعطيات:

  • تسلسل (index) التسلسل الذي سيُضاف عنده الفرع الجديد.

  • فرع (child) الودجة المراد إضافتها.

أزل_فروعا (removeChildren)
عملية هذا.أزل_فروعا(عدد: صـحيح، فروع: ...سند_مؤقت[سـندنا[ودجـة]])؛
handler this.removeChildren (count: Int, children: ...temp_ref[SrdRef[Widget]]);

طريقة لإزالة فرع أو أكثر من الصنف.

المعطيات:

  • عدد (count): عدد الفروع التي نرغب بإزالتها.

  • فروع (children): الفروع التي نريد إزالتها و التي هي عبارة عن ودجات.

أزل_كل_الفروع (removeAllChildren)
عملية هذا.أزل_كل_الفروع()؛
handler this.removeAllChildren ();

تزيل كل الفروع المضافة لهذا الصندوق.

مـرسم (Canvas)

يمثل هذه الصنف مساحة تستعمل للرسم بشكل حر.

المتغيرات

  • معرف_مورد (resourceId): صـحيح_متكيف. المعرف الخاص بهذا المرسم، و هو فريد يمكن تمييز مرسم عن آخر بواسطته.

الوسائط

  • رسم (drawing): رسـم (Drawing). يوفر هذا الصنف مكون رسـم لتمكين عمليات الرسم. راجع الصنف رسـم لمعرفة العمليات الرسومية التي يدعهما هذا الصنف.

الخصال

  • عرض_الصورة (bitmapWidth): سـندنا[مـسافة] (SrdRef[Length]). عرض مساحة الرسم التي نريدها.

  • طول_الصورة (bitmapHeight): سـندنا[مـسافة] (SrdRef[Length]). طول مساحة الرسم التي نريدها.

صـورة (Image)

صنف يمثل صورة.

الخصال

  • الرابط (url): نـص (String). رابط الصورة المراد عرضها.

فـيديو Video

صنف يمثل الفيديو

الخصال

  • مصفوفة_مصدر (sourceArray): مصفوفة [مـصدر_فيديو] ( Array[VideoSource]). المصادر والانواع للفيديو.
  • مصفوفة_مسار (trackArray): مصفوفة [مـسار_فيديو] ( Array[VideoTrack]). المسارات والترجمات للفيديو.
  • التحكمات (controls): ثنائي ( bool). اظهار ازرار التحكم في الفيدو او عدم اظهاررها.
  • التشغيل_التلقائي (autoplay): ثنائي ( bool). تشغيل الفيديو بشكل تلقائي او عدم تشغيله.

مـصدر_فيديو VideoSource

صنف يمثل مصدر الفيديو

الخصال

  • مصدر (src): نص (String). مسار مصدر الفيديو.
  • نوع_الفيديو (videoType): نص ( String).نوع الفيديو.

مـسار_فيديو VideoTrack

صنف يمثل مسار الفيديو مثل الترجمة او الدبلجة

الخصال

  • مصدر (src): نص ( String). مصدر المسار.
  • نوع (kind): نص ( String). نوع المسار ترجمة او صوت.
  • مصدر_الترجمة (srclang): نص ( String). مصدر الترجمة للمسار.
  • تصنيف (label): نص ( String). التصنيف الذي يظهر للمسار.

صـورة_متعددة Picture

صنف يمثل عنصر "picture" من HTML. يمكن للمستخدم باستخدام هذا الصنف إضافة عدة مصادر للصورة وترك المتصفح يختار الصورة الملائمة لجهاز المستخدم.

الخصال

  • مصفوفة_مصدر (sourceArray): مصفوفة [مـصدر_صورة] ( Array[ImageSource]). المصادر والحجم الأعظمي للصورة.

مـصدر_صورة ImageSource

صنف يمثل مصدر الصورة

الخصال

  • مصدر (src): نص (String). مسار مصدر الصورة.
  • العرض_الأعظمي (maxWidth): نص ( String).العرض الأعظمي للصورة.

العمليات

حدد_الفرع (setChild)
عملية هذا.حدد_الفرع(الفرع: سند_مؤقت[سـندنا[صورة]])؛
handler this.setChild (child: temp_ref[SrdRef[Image]]);

تحديد قيمة الفرع.

كـتابة (Text)

صنف لعرض كتابة ثابتة.

التهيئة

كـتابة()؛
كـتابة(النص: نـص)؛
كـتابة(الوسم: نـص، النص: نـص)؛
Text();
Text(text: String);
Text(tag: String, text: String);

النسخة الثالثة من دالة التهيئة تستلم نوع الوسم المراد استخدامه لعرض النص. مبدئيًا تستخدم هذه الودجة الوسم span، لكن باستخدام النسخة الثالثة يمكن تحديد وسم مختلف، على سبيل المثال "h1".

الخصال

  • النص (text): نـص (String). النص المراد عرضه.

  • المعرف_المستهدف (targetId): نـص (String). معرف الغرض الذي يرتبط به هذا النص، أي مثلاً نص بجانب مربع دخل يوضح أننا نريد اسم المستخدم.

الـزر (Button)

صنف يمثل زر.

الخصال

  • النص (text): نـص (String). النص الذي نريد عرضه على الزر.

مـدخل_نـص (TextInput)

صنف يستعمل لإدخال نص، أي مثل مربع نص.

الخصال

  • النص (text): نـص (String). النص المدخل من قبل المستخدم.

  • قيمة_وصفية (placeholder): نـص (String). قيمة تظهر قبل أن يقوم المستخدم بالإدخال لتوضيح ما يجب إدخاله.

الأحداث

عند_الغيير (onChanged)
عرف عند_الغيير: إشـارة_حدث_دوم[مـدخل_نـص، صـحيح]؛
def onChanged: DomEventSignal[TextInput, Int];

يُثار هذا الحدث عند تغير النص المدخل. الحمولة مهملة في هذا الحدث.

عند_كبس_مفتاح (onKeyPress)
عرف عند_كبس_مفتاح: إشـارة_حدث_دوم[مـدخل_نـص، نـص]؛
def onKeyPress: DomEventSignal[TextInput, String];

يُثار هذا الحدث عند كبس زر في لوحة المفاتيح.

الحمولة: نـص (String). معرف الزر الذي كُبس.

عند_انتهاء_الكبسة (onKeyUp)
عرف عند_انتهاء_الكبسة: إشـارة_حدث_دوم[مـدخل_نـص، نـص]؛
def onKeyUp: DomEventSignal[TextInput, String];

يُثار هذا الحدث عند انتهاء كبسة زر في لوحة المفاتيح.

الحمولة: نـص (String). معرف الزر الذي كُبس.

مـدخل (Input)

صنف عام يستعمل للإدخال.

الخصال

  • النص (text): نـص (String). القيمة المدخلة من قبل المستخدم.

  • صنف_الإدخال (inputType): نـص (String). نمط القيم المدخلة.

  • قيمة_وصفية (placeholder): نـص (String). قيمة تظهر قبل أن يقوم المستخدم بالإدخال لتوضيح ما يجب إدخاله.

  • معطل (disabled): ثـنائي (bool). إن كانت قيمتها 1 ستُعطل الودجة بحيث لا يستطيع المستخدم تغيير قيمتها.

الأحداث

عند_الغيير (onChanged)
عرف عند_الغيير: إشـارة_حدث_دوم[مـدخل، صـحيح]؛
def onChanged: DomEventSignal[Input, Int];

يُثار الحدث عند تغير القيمة المدخلة. الحمولة مهملة في هذا الحدث.

عند_كبس_مفتاح (onKeyPress)
عرف عند_كبس_مفتاح: إشـارة_حدث_دوم[مـدخل، نـص]؛
def onKeyPress: DomEventSignal[Input, String];

يُثار عند كبس زر على لوحة المفاتيح.

الحمولة: نـص (String). معرف الزر الذي كُبس.

عند_انتهاء_الكبسة (onKeyUp)
عرف عند_انتهاء_الكبسة: إشـارة_حدث_دوم[مـدخل، نـص]؛
def onKeyUp: DomEventSignal[Input, String];

يُثار هذا الحدث عند انتهاء كبسة زر في لوحة المفاتيح.

الحمولة: نـص (String). معرف الزر الذي كُبس.

خيارات (Select)

صنف يمثل عنصر الخيار من متعدد.

الخصال

  • العناصر (items): تـطبيق[نـص، نـص] (Map[String, String]). الخيارات التي نريد المستخدم أن يختار منها.

الأحداث

عند_الغيير (onChanged)
عرف عند_الغيير: إشـارة_حدث_دوم[خيارات، صـحيح]؛
def onChanged: DomEventSignal[Select, Int];

يُثار عند تغير القيمة المختارة. الحمولة مهملة في هذا الحدث.

العمليات

هات_القيمة_المختارة (getSelectedValue)
عملية هذا.هات_القيمة_المختارة(): نـص؛
handler this.getSelectedValue(): String;

ترجع القيمة الحالية لاختيار المستخدم.

اختر_قيمة (selectValue)
عملية هذا.اختر_قيمة(القيمة_الجديدة: نـص)؛
handler this.selectValue(newValue: String);

تغيير الخيار الحالي.

ارتباط_تشعبي (Hyperlink)

صنف يمثل ارتباط تشعبي.

الخصال

  • العنوان (url): نـص (String). العنوان الذي يأخذنا إليه النقر على العنصر.

  • فرع (child): سـندنا[ودجـة] (SrdRef[Widget]). العنصر المحتوى ضمن الارتباط التشعبي، مثلاً يمكن أن يحوي عنصر صورة، بحيث الضغط عليها يأخذنا إلى الرابط.

  • لسان_جديد (newTab): ثـنائي (Bool). خصلة تحدد ما إذا كان النقر على الرابط يفتح الموقع المحدد في لسان جديد أم في نفس اللسان.

العمليات

حدد_الفرع (setChild)
عملية هذا.حدد_الفرع(الفرع: سند_مؤقت[سـندنا[ودجـة]])؛
handler this.setChild (child: temp_ref[SrdRef[Widget]]);

تحديد قيمة الفرع.

مشهد_وثيقة (DocView)

صنف يستعمل لعرض وثيقة من النمط HTML أو ماركداون.

التهيئة

مـشهد_وثيقة()؛
مـشهد_وثيقة(لتنف: نـص)؛
DocView();
DocView(html: String);

النسخة الثانية من دالة التهيئة تستلم نص HTML لتهيئة المشهد به.

العمليات

حدد_لتنف (setHtml)
عملية هذا.حدد_لتنف(لتنف: نـص)؛
handler this.setHtml(html: String);

حدد قيمة HTML للمشهد.

حدد_ماركداون (setMarkdown)
عملية هذا.حدد_ماركداون(ماركداون: نـص)؛
عملية هذا.حدد_ماركداون(ماركداون: نـص، روابط_في_لسان_جديد: ثـنائي)؛
handler this.setMarkdown(md: String);
handler this.setMarkdown(md: String, linksInNewTab: Bool);

تحديدة قيمة ماركداون للمشهد. الصيغة الثانية من هذه الدالة تسمح بتحديد ما إن كانت الروابط تقتح في لسان جديد أم في نفس اللسان. الصيغة الأولى تفتح الروابط في نفس اللسان.

مـتصفح (Browser)

مساحة لعرض موقع منفصل. تستخدم هذه الودجة عنصر iframe في HTML.

الخصال

  • الرابط (url): نـص (String). رابط الموقع المراد عرضه.

العمليات

أرسل_رسالة (postMessage)
عملية هذا.أرسل_رسالة(نوع_الرسالة: مـؤشر_محارف، متن_الرسالة: مـؤشر_محارف)؛
handler this.postMessage(msgType: CharsPtr, msgBody: CharsPtr);

ترسل رسالة مخصصة إلى نافذة الصفحة المحملة في الـiframe.

أصناف متعلقة

حـمولة_تحريك_المؤشر (MouseMovePayload)

صنف حـمولة_تحريك_المؤشر {
    عرف موقع_س: عـائم؛
    عرف موقع_ص: عـائم؛
    عرف إزاحة_س: عـائم؛
    عرف إزاحة_ص: عـائم؛
}
class MouseMovePayload {
    def posX: Float;
    def posY: Float;
    def deltaX: Float;
    def deltaY: Float;
}

يحمل هذا الصنف معلومات حدث تحريك المؤشر.

موقع_س (posX) إحداثيات المؤشر على المحور س.

موقع_ص (posY) إحداثيات المؤشر على المحور ص.

إزاحة_س (deltaX) مقدار تحرك المؤشر على المحور س.

إزاحة_ص (deltaY) مقدار تحرك المؤشر على المحور ص.

حـمولة_زر_المؤشر (MouseButtonPayload)

صنف حـمولة_زر_المؤشر {
    عرف الزر: صـحيح؛
    عرف موقع_س: عـائم؛
    عرف موقع_ص: عـائم؛
}
class MouseButtonPayload {
    def button: Int;
    def posX: Float;
    def posY: Float;
}

يحمل هذا الصنف معلومات حدث نقر المؤشر.

الزر (button) الزر الذي تم الضغط عليه.

موقع_س (posX) إحداثيات المؤشر على المحور س.

موقع_ص (posY) إحداثيات المؤشر على المحور ص.

حـمولة_لمس (TouchPayload)

صنف حـمولة_لمس {
        عرف المعرف: نـص؛
        عرف شاشة_س: عـائم؛
        عرف شاشة_ص: عـائم؛
        عرف مشهد_س: عـائم؛
        عرف مشهد_ص: عـائم؛
        عرف وثيقة_س: عـائم؛
        عرف وثيقة_ص: عـائم؛
        عرف نق_س: عـائم؛
        عرف نق_ص: عـائم؛
        عرف الزاوية: عـائم؛
        عرف القوة: عـائم؛
        عرف مغيرة: ثـنائي؛
}
class TouchPayload {
    def identifier: String;
    def screenX: Float;
    def screenY: Float;
    def clientX: Float;
    def clientY: Float;
    def pageX: Float;
    def pageY: Float;
    def radiusX: Float;
    def radiusY: Float;
    def rotationAngle: Float;
    def force: Float;
    def changed: Bool;
}

يحمل هذا الصنف معلومات لمسة واحدة من أحد أحداث اللمس. كل حدث من أحداث اللمس يحتوي مصفوفة من هذا الصنف لتمثيل كافة اللمسات.

المعرف (identifier) معرف فريد لتمييز اللمسة الواحدة المستمرة من بين مجموعة من اللمسات في أحداث لمس متعاقبة.

شاشة_س (screenX) إحداثيات موقع اللمس على المحور س نسبة لشاشة الجهاز.

شاشة_ص (screenY) إحداثيات موقع اللمس على المحور ص نسبة لشاشة الجهاز.

مشهد_س (clientX) إحداثيات موقع اللمس على المحور س نسبة للمتصفح.

مشهد_ص (clientY) إحداثيات موقع اللمس على المحور ص نسبة للمتصفح.

وثيقة_س (pageX) إحداثيات موقع اللمس على المحور س نسبة للصفحة المعروضة في المتصفح. هذه القيمة تضع في الحسبان حالة التمرير للصفحة وتعطيك الإحداثيات كما لو كانت الصفحة ظاهرة بشكل كامل على الشاشة.

وثيقة_ص (pageY) إحداثيات موقع اللمس على المحور ص نسبة للصفحة المعروضة في المتصفح. هذه القيمة تضع في الحسبان حالة التمرير للصفحة وتعطيك الإحداثيات كما لو كانت الصفحة ظاهرة بشكل كامل على الشاشة.

نق_س (radiusX) نصف القطر على المحور السيني للشكل البيضاوي الأمثل الذي يحوط مساحة اللمس.

نق_ص (radiusY) نصف القطر على المحور الصادي للشكل البيضاوي الأمثل الذي يحوط مساحة اللمس.

الزاوية (rotationAngle) زاوية دوران الشكل البيضاوي الأمثل الذي يحوط مساحة اللمس. الزاوية مع عقارب الساعة ووحدة قياسها الدرجات (360 درجة للدورة الكاملة).

القوة (force) قوة الضغط على الشاشة لهذه اللمسة. تتراوح ما بين 0.0 تمثل لمسا دون أي ضغط و 1.0 تمثل أقصى قوة ضغط يمكن تحسسها.

مغيرة (changed) يحدد ما إن كانت هذه اللمسة مغيرة أو جديدة في هذا الحدث. تستخدم هذه القيمة لمعرفة اللمسات التي تغيرت منذ الحدث السابق.