تخطَّ إلى المحتوى

عناصر تحكم المستخدم

تأخذ عناصر تحكم المستخدم في الإضافة شكل متغير عام يمكن للمستخدم النهائي تعديله. وتُصدَّر جميعها من الإضافة عبر ControllableParameters() التي تُرجع مصفوفة من كائنات الإعدادات كما هو موضح أدناه.

export function ControllableParameters(){
return [
{"property":"LightingMode", "label":"Lighting Mode", "type":"combobox", "values":["Canvas","Forced"], "default":"Canvas"},
{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},
{"property":"SettingControl", "label":"Enable Setting Control","type":"boolean","default":"false"},
{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"}
];
}

تحتوي كائنات الإعدادات هذه دائمًا على بعض المعاملات الأساسية. وهي صالحة لجميع عناصر تحكم المستخدم في الإضافات.

المعاملالقيمةالنوع
propertyاسم المتغير الذي ترغب في تعيينه لعنصر التحكم.String
labelالتسمية التي ستُعرض للمستخدم.String
typeنوع عنصر التحكم. حاليًا، الخيارات التالية صالحة: boolean, number, hue, color, combobox, and textfieldString
defaultالقيمة الافتراضية لعنصر التحكم.متغيّر

يتيح عنصر التحكم number للمستخدم تحديد قيمة رقمية باستخدام منزلق.

{"property":"dpi1", "label":"DPI","step":"50", "type":"number","min":"200", "max":"18000","default":"800"},

يدعم عنصر التحكم هذا السمات التالية:

المعاملالقيمةالنوع
propertyاسم المتغير الذي ترغب في تعيينه لعنصر التحكم.String
labelالتسمية التي ستُعرض للمستخدم.String
type”number”String
defaultالقيمة الافتراضية لعنصر التحكم.String, Int
minأدنى قيمة قابلة للتحديد في المنزلق. تدعم هذه السمة القيم السالبة.String, Int
maxأعلى قيمة قابلة للتحديد في المنزلق.String, Int
stepقيمة الخطوة التي يزيد بها المنزلق أو ينقصString, Int

يتيح عنصر التحكم boolean للمستخدم تحديد قيمة متغير منطقي باستخدام مفتاح تبديل.

{"property":"AngleSnap", "label":"Angle Snapping", "type":"boolean", "default":"0"},

يدعم عنصر التحكم هذا السمات التالية:

المعاملالقيمةالنوع
propertyاسم المتغير الذي ترغب في تعيينه لعنصر التحكم.String
labelالتسمية التي ستُعرض للمستخدم.String
type”boolean”String
defaultالقيمة الافتراضية لمفتاح التبديل. اضبطها على 1 لجعل حالة “التشغيل” هي الافتراضية.String, Int

يتيح عنصر التحكم لاختيار درجة اللون للمستخدم تحديد مكوّن درجة اللون (hue) باستخدام منزلق

يدعم عنصر التحكم هذا السمات التالية:

المعاملالقيمةالنوع
propertyاسم المتغير الذي ترغب في تعيينه لعنصر التحكم.String
labelالتسمية التي ستُعرض للمستخدم.String
type”hue”String, Int
defaultالقيمة الافتراضية لمنزلق درجة اللون.String
minأدنى قيمة قابلة للتحديد لدرجة اللون. يجب أن تكون هذه القيمة بين 0 و359.String, Int
maxأعلى قيمة قابلة للتحديد لدرجة اللون. يجب أن تكون هذه القيمة بين 1 و360.String, Int

يتيح عنصر التحكم color للمستخدم تحديد لون باستخدام عجلة درجات الألوان ومنزلق التشبّع ومنزلق الإضاءة. تفتح أيقونة المفتاح لوحة ألوان أكثر تقدمًا للاختيار.

{"property":"forcedColor", "label":"Forced Color","min":"0","max":"360","type":"color","default":"#009bde"},

يدعم عنصر التحكم هذا السمات التالية:

المعاملالقيمةالنوع
propertyاسم المتغير الذي ترغب في تعيينه لعنصر التحكم.String
labelالتسمية التي ستُعرض للمستخدم.String
type”color”String
defaultالقيمة الافتراضية لمنتقي الألوان. يجب تحديدها كقيمة سداسية عشرية بالصيغة #RRGGBBString
minأدنى قيمة قابلة للتحديد لدرجة اللون. يجب أن تكون هذه القيمة بين 0 و359.Int
maxأعلى قيمة قابلة للتحديد لدرجة اللون. يجب أن تكون هذه القيمة بين 1 و360.Int

يتيح عنصر التحكم combobox للمستخدم الاختيار من قائمة منسدلة من القيم المُعدّة مسبقًا.

{"property":"SleepModeTime", "label":"Sleep After x Minutes", "type":"combobox", "values":[5,10,15,30,60], "default":10},

يدعم عنصر التحكم هذا السمات التالية:

المعاملالقيمةالنوع
propertyاسم المتغير الذي ترغب في تعيينه لعنصر التحكم.String
labelالتسمية التي ستُعرض للمستخدم.String
type”combobox”String
defaultالقيمة الافتراضية للقائمة المنسدلة. يجب أن تكون هذه القيمة ضمن مصفوفة valuesString, Int
valuesمصفوفة من القيم للقائمة المنسدلة. الأنواع الصالحة هي السلاسل النصية والأعداد الصحيحة.[String, Int]

يتيح عنصر التحكم textfield للمستخدم إدخال نص بحرية مع عامل تصفية RegEx اختياري.

{"property":"textBox", "label":"Text Field", "type":"textfield", "default":"3"},

يدعم عنصر التحكم هذا السمات التالية:

المعاملالقيمةالنوع
propertyاسم المتغير الذي ترغب في تعيينه لعنصر التحكم.String
labelالتسمية التي ستُعرض للمستخدم.String
type”textfield”String
defaultالقيمة الافتراضية لحقل النص.String, Int
filterعامل تصفية RegEx اختياري لتقييد إدخال المستخدمRegEx String

كلما غيّر المستخدم عنصر تحكم، يستدعي SignalRGB الدالة on[property]Changed() المقابلة قبل استدعاء Render() التالي. يجب أن يتطابق اسم الدالة تمامًا مع اسم الخاصية من ControllableParameters()، مسبوقًا بـ on ومتبوعًا بـ Changed. مع مراعاة حالة الأحرف.

// ControllableParameters entry:
{"property":"dpi1", "label":"DPI", "step":"50", "type":"number", "min":"200", "max":"18000", "default":"800"},
// Corresponding callback:
export function ondpi1Changed() {
setDpi(dpi1);
}

هذه الاستدعاءات متاحة دون الحاجة إلى إدخال مقابل في ControllableParameters:

الدالةالوصف
onBrightnessChanged()تُستدعى عندما يحرّك المستخدم منزلق السطوع الرئيسي للجهاز.