التحديد هو أي عنصر محدّد حاليًا في صفحة عرض تقديمي مفتوحة، مثل نطاق من النص المميّز أو جدول. يوضّح لك هذا الدليل كيفية الحصول على التحديد وضبطه في عرض تقديمي نشط باستخدام "برمجة تطبيقات Google".
التحديد هو لقطة لما كان عليه عند بدء النص البرمجي. إذا نقر المستخدم وتغيّر الاختيار أثناء تشغيل النص البرمجي، لن تنعكس هذه التغييرات.
الاختيارات ونوع الاختيار
يمكنك قراءة النص المحدّد باستخدام فئة Selection. تحتوي الفئة على طرق مختلفة للحصول على الكائنات المحدّدة استنادًا إلى نوع الكائنات المحدّدة.
يمثّل تعداد SelectionType النوع المحدّد للعناصر المحدّدة. على سبيل المثال، إذا اختار المستخدم بعض النص في شكل، سيكون نوع التحديد TEXT. في هذه الحالة، يمكنك استرداد النطاق المحدّد من النص باستخدام الطريقة selection.getTextRange()
.
يمكنك أيضًا استرداد العنصر الذي يحتوي على النص المحدّد. بمتابعة المثال أعلاه، يمكنك استرداد الشكل الذي يحتوي على النص المحدّد باستخدام selection.getPageElementRange().getPageElements()[0]
. وبالمثل، الصفحة التي تحتوي على الشكل المحيط هي الصفحة النشطة الحالية. لاسترداد هذه الصفحة، استخدِم selection.getCurrentPage()
.
قراءة النص المحدَّد
لقراءة النص المحدّد، استخدِم طريقة Presentation.getSelection() كما هو موضّح في المثال التالي:
قراءة الصفحة الحالية
لاسترداد الصفحة الحالية التي يعرضها المستخدم، استخدِم الطريقتَين getSelection() وgetCurrentPage() على النحو التالي:
يُرجى العِلم أنّ الصفحة الحالية يمكن أن تكون من أيّ من الأنواع التالية:
يمكن أن تحتوي الصفحة الحالية على عنصر واحد أو أكثر من العناصر المحدّدة، ويحدّد SelectionType نوع التحديد.
قراءة النص المحدّد استنادًا إلى نوع التحديد
يوضّح المثال التالي كيف يمكنك استخدام نوع التحديد لقراءة التحديد الحالي بطريقة مناسبة للنوع.
قراءة النصوص المحدّدة
يمكنك قراءة النص المحدّد باستخدام طريقة Selection.getTextRange(). هناك نوعان من تحديد النص:
- اختيار النطاق: إذا كان الشكل يحتوي على النص "Hello" وتم اختيار "He"، سيكون النطاق الذي تم إرجاعه هو startIndex=0 وendIndex=2.
- تحديد المؤشر: إذا كان الشكل يحتوي على النص "Hello"، وكان المؤشر بعد "H" ("H|ello")، سيكون النطاق الذي تم إرجاعه نطاقًا فارغًا مع startIndex=1 وendIndex=1.
تعديل الجزء المحدّد
يمكن للنص البرمجي تعديل اختيار المستخدم. تظهر أي تغييرات في التحديد يجريها النص البرمجي على العرض التقديمي في عمليات التحديد اللاحقة طوال مدة تنفيذ النص البرمجي.
لا تظهر تغييرات التحديد في متصفّح المستخدم إلا بعد اكتمال تنفيذ النص البرمجي، أو عند استدعاء Presentation.saveAndClose()
.
اختيار الصفحة الحالية
يمكن اختيار صفحة في العرض التقديمي النشط لتكون الصفحة الحالية من خلال استدعاء الطريقة selectAsCurrentPage(). تؤدي هذه الطريقة إلى إزالة أي عنصر أو صفحة أو نص محدّد سابق. لذا، يتيح لك استخدام هذه الطريقة على الصفحة الحالية إلغاء اختيار أي عناصر محدّدة حاليًا على الصفحة. على سبيل المثال:
اختيار عنصر صفحة
لاختيار عنصر صفحة في صفحة، استخدِم طريقة PageElement.select(). سيؤدي ذلك أيضًا إلى إلغاء اختيار أي عناصر صفحة تم اختيارها سابقًا.
على سبيل المثال:
اختيار عناصر متعدّدة في الصفحة
لإضافة عناصر صفحة إضافية إلى التحديد، استخدِم طريقة PageElement.select(false). يجب أن تكون جميع عناصر الصفحة في الصفحة الحالية.
تحويل الجزء المحدّد
يمكن أن تؤدي التعديلات التي ينفّذها النص البرمجي إلى تغيير التحديد الحالي، ما يؤدي إلى تغيير العناصر المحدّدة نتيجةً للتعديل. على سبيل المثال:
- لنفترض أنّ لديك شكلَين "أ" و"ب" محدَّدَين.
- بعد ذلك، يزيل النص البرمجي الشكل A.
- نتيجةً لذلك، يتم تحويل التحديد بما يتوافق مع التعديل بحيث يتم تحديد الشكل B فقط.
يوضّح المثال التالي كيف يمكن تحويل التحديد من خلال التلاعب بعناصر الصفحة المحدّدة.
تحديد نص
يمكن تحديد النص الوارد في شكل أو في خلية جدول باستخدام الطريقة TextRange.select(). إذا كان النص مضمّنًا في شكل، سيتم تحديد هذا الشكل أيضًا. إذا كان النص مضمّنًا في خلية جدول، سيتم اختيار خلية الجدول والجدول الذي يضمّها.
يؤدي ذلك أيضًا إلى ضبط الصفحة الأصلية كصفحة حالية.
اختيار النطاق في شكل
يوضّح المثال التالي كيفية تحديد نطاق ضمن نص مضمّن في شكل.
اختيار المؤشر في شكل
يوضّح المثال التالي كيفية تحديد مؤشر ضمن نص مضمّن في شكل.
اختيار النطاق في خلية جدول
يوضّح المثال التالي كيفية تحديد نطاق ضمن نص مضمّن في خلية جدول.
اختيار المؤشر في TableCell
يوضّح المثال التالي كيفية تحديد المؤشر ضمن نص مضمّن في خلية جدول.
تحويل التحديد باستخدام تعديلات نصية
يوضّح المثال التالي كيف يمكن تحويل النص المحدّد من خلال تعديله.
إلغاء الاختيار
لا تتوفّر طرق واضحة لإلغاء تحديد النص أو عناصر الصفحة. ومع ذلك، يمكن تحقيق هذه النتيجة باستخدام الطريقتَين Page.selectAsCurrentPage()
أو pageElement.select()
.
اختيار صفحة حالية
يوضّح المثال التالي كيفية إلغاء اختيار أي اختيارات حالية في صفحة من خلال ضبط هذه الصفحة كصفحة حالية.
اختيار عنصر صفحة
يوضّح المثال التالي كيفية إلغاء تحديد أي اختيارات حالية على صفحة من خلال اختيار أحد عناصر الصفحة، وبالتالي إزالة جميع العناصر الأخرى من التحديد.