خلاصه
کامپوننت List به شما اجازه میدهد فهرستهای بزرگی بسازید که از طریق توابع اولیهسازی (initialization) و کالبکها بهشدت قابل شخصیسازی هستند. برای اطلاعات بیشتر در مورد استفاده از این کامپوننت به مقاله Build a List COMP مراجعه کنید.
همچنین ببینید: Lister Custom COMP، یک لیست سفارشی پیشرفته با پایتون.
کالبکها (Callbacks)
هر سلول، ردیف، ستون و جدول در یک کامپوننت List توسط ویژگیهایی تعریف میشود که از طریق توابع initialize
و callback
مشخص شدهاند. برای نحوه استفاده به صفحهی listCOMP_Class مراجعه کنید.
کشیدن/رها کردن (Drag/Drop)
کامپوننت listCOMP از کالبکهای Drag/Drop برای پیادهسازی رفتار کشیدن و رها کردن استفاده میکند. دیکشنری اطلاعاتی که در این کالبکها ارائه میشود شامل عضوی به نام listCell است که توضیح میدهد کدام سلول در حال کشیده شدن یا رها شدن است. یک ListCell همچنین میتواند در لیست dragItems
وجود داشته باشد.
آبجکتهای ListCell شامل اعضای زیر هستند:
owner: اپراتور listCOMP که سلول در آن قرار دارد.
row: شماره ردیف سلول.
col: شماره ستون سلول.
برای ایجاد یک آبجکت ListCell از این تابع استفاده کنید:ListCell(owner, row, col)
پارامترها – صفحه List
Callbacks (callbacks): مرجع به DAT کالبک.
Rows (rows): تعداد ردیفها در لیست.
Columns (cols): تعداد ستونها در لیست.
Lock First Row (lockfirstrow): قفلکردن ردیف اول هنگام اسکرول افقی.
Lock First Col (lockfirstcol): قفلکردن ستون اول هنگام اسکرول عمودی.
Horizontal Scroll Bar (hscrollbar): فعالکردن اسکرولبار افقی.
Vertical Scroll Bar (vscrollbar): فعالکردن اسکرولبار عمودی.
Off Cell Callbacks (offcellcallbacks): وقتی روشن باشد، کالبکها (مثل انتخاب، هاور و …) برای بخشهایی از List که سلولی در آنها وجود ندارد هم فعال میشوند. مثل فضای خالی زیر یک لیست که فقط چند آیتم بالا دارد.
Reset (reset): جدول را با اجرای کالبکهای initialize ریست میکند.
پارامترها – صفحه Layout
صفحه Layout اندازه و موقعیت پنل را کنترل میکند.
X (x): موقعیت افقی (پیکسل) نسبت به والد.
Y (y): موقعیت عمودی (پیکسل) نسبت به والد.
Width (w): عرض پنل (پیکسل).
Height (h): ارتفاع پنل (پیکسل).
Fixed Aspect (fixedaspect): اجازه میدهد پنلها با نسبت خاصی ساخته شوند (بر اساس پارامتر Aspect Ratio). فقط لازم است عرض یا ارتفاع مشخص شود، بعدی خودکار محاسبه میشود.
Off: خاموش
Use Horizontal: استفاده از افقی
Use Vertical: استفاده از عمودی
Aspect Ratio (aspect): نسبت عرض به ارتفاع زمانی که Fixed Aspect فعال است.
Depth Layer (layer): ترتیب نمایش پنلها را تعیین میکند (مشابه لایهها در فتوشاپ). مقدار بالاتر روی مقدار پایینتر کشیده میشود. اگر برابر باشند، ترتیب براساس نام اپراتور خواهد بود.
حالتهای افقی (Horizontal Mode – hmode)
سه حالت:
Fixed Width: استفاده از مقدار Width برای تعیین عرض.
Fill: عرض برابر عرض پنل والد میشود.
Anchors: عرض بر اساس پارامترهای Left Anchor و Right Anchor تعیین میشود و متناسب با تغییر اندازه والد کش میآید (مانند uv با بازه 0 تا 1).
Left Anchor (leftanchor): موقعیت نقطه لنگر چپ (۰ = لبه چپ والد، ۱ = لبه راست والد).
Left Offset (leftoffset): آفست افقی (پیکسل) برای Anchor چپ.
Right Anchor (rightanchor): موقعیت نقطه لنگر راست.
Right Offset (rightoffset): آفست افقی (پیکسل) برای Anchor راست.
Horizontal Origin (horigin): تعیین مبدا افقی پنل. پیشفرض (0,0) گوشه پایین-چپ است.
Horizontal Fill Weight (hfillweight): وقتی چند پنل در حالت Fill هستند، وزن پرشدن عرض را مشخص میکند.
حالتهای عمودی (Vertical Mode – vmode)
سه حالت:
Fixed Height: استفاده از مقدار Height برای تعیین ارتفاع.
Fill: ارتفاع برابر ارتفاع والد.
Anchors: ارتفاع بر اساس Bottom Anchor و Top Anchor تعیین میشود و متناسب با تغییر والد کش میآید.
Bottom Anchor (bottomanchor): موقعیت نقطه لنگر پایین.
Bottom Offset (bottomoffset): آفست پایین.
Top Anchor (topanchor): موقعیت نقطه لنگر بالا.
Top Offset (topoffset): آفست بالا.
Vertical Origin (vorigin): مبدا عمودی پنل. پیشفرض (0,0) گوشه پایین-چپ.
Vertical Fill Weight (vfillweight): وزن پرشدن ارتفاع زمانی که چند پنل Fill هستند.
تراز والد (Parent Alignment – alignallow)
Allow: تراز شدن بر اساس والد.
Ignore: نادیده گرفتن تراز ولی رعایت کردن margin.
Ignore and Ignore Margins: نادیده گرفتن تراز و margin.
Align Order (alignorder): ترتیب تراز وقتی والد روی حالت Align تنظیم شده باشد.
Post Offset (postoffset): آفست نهایی بعد از اعمال همه تنظیمات. (x, y)
Size from Window (sizefromwindow): وقتی فعال باشد، عرض و ارتفاع پنل براساس تغییر اندازه پنجره شناورش تنظیم میشود.
پارامترها – صفحه Panel
این صفحه ویژگیهایی مثل نمایش/مخفیسازی، فعال/غیرفعال بودن، کمک (help) و تعامل با ماوس/اشارهگر را کنترل میکند.
Display (display): نمایش یا مخفی کردن پنل.
Enable (enable): غیرفعالسازی تعامل با پنل.
Help DAT (helpdat): مسیر یک Text DAT برای نمایش متن راهنما بهصورت پاپآپ هنگام هاور.
Cursor (cursor): تعیین نوع اشارهگر روی پنل (Pointer, Link, IBeam, Cross, Busy, Activate, Invisible).
لمس چندگانه (Multi-Touch)
Use Parent’s Setting (mtouchparent): استفاده از تنظیم والد (پیشفرض فعال در root).
Use Built-in Multi-Touch (mtouchyes): لمس اول مثل کلیک ماوس پردازش شود.
Do Not Use (mtouchno): لمس اول نادیده گرفته شود.
ویژگیهای بیشتر
Constrain Cursor: محدودکردن اشارهگر به داخل پنل.
Click Through: نادیده گرفتن کلیکهای ماوس.
Use Mouse Wheel: فعالسازی دریافت رویدادهای اسکرول ماوس.
Mouse UV Buttons: تعیین کدام دکمه ماوس مقادیر uv را تغییر دهد (چپ، وسط، راست).
Relative UV: حرکت نسبی ماوس روی uv اعمال شود.
Drag Edges to Resize: امکان تغییر اندازه با گرفتن لبهها (چپ، راست، بالا، پایین).
Resize W/H Range: محدودیت محدوده تغییر اندازه عرض/ارتفاع.
Drag to Reposition: امکان جابجایی پنل یا پنجره با کشیدن ماوس (خاموش، Window، Component).
Component (repocomp): مسیر پنل انتخابی برای جابجایی با ماوس.
Anchor Drag: هنگام Drag-to-Reposition مشخص میکند Anchorها تغییر کنند یا Offsetها.
Scroll Overlay: مشخص میکند اسکرولبار روی پنل تأثیر بگذارد یا نه (Normal, Ignore, Ignore Over).
پارامترها – صفحه Look (ظاهر)
صفحهی Color (رنگ) ویژگیهای پسزمینه، کادر و رنگ غیرفعال پنل را مشخص میکند.
Background Color (bgcolor) – ⊞ – مقادیر RGB برای پسزمینه. (پیشفرض: مشکی (0,0,0))
Red (bgcolorr) – مقدار قرمز
Green (bgcolorg) – مقدار سبز
Blue (bgcolorb) – مقدار آبی
Background Alpha (bgalpha) – تعیین مقدار آلفا برای پسزمینه.
Background TOP (top) – مشخص کردن یک TOP بهعنوان پسزمینهی پنل.
TOP Fill (topfill) – ⊞ – نحوهی پر شدن پسزمینه توسط TOP انتخابی:
Stretch (کشیده شود)
Fill Width (پر کردن عرض)
Fill Height (پر کردن ارتفاع)
Fill Best (بهترین تطبیق)
Native Resolution (رزولوشن اصلی)
Fill Outside (پر کردن بیرونی)
TOP Smoothness (topsmoothness) – ⊞ – تعیین نحوهی هموارسازی نمایش TOP در پسزمینه:
Nearest Pixel (پیکسل نزدیک، نمایش دقیق اما دندانهدار در زوم غیر اصلی)
Interpolate Pixels (میانیابی پیکسلها، نمایش نرمتر در زومهای مختلف)
Mipmap Pixels (فیلتر چندسطحی برای کاهش نویز و جزئیات اضافی در تصاویر متحرک/مقیاسشده)
Border A (bordera) – ⊞ – مقادیر RGB برای رنگ کادر A
Border A Alpha (borderaalpha) – مقدار آلفای کادر A
Border B (borderb) – ⊞ – مقادیر RGBA برای رنگ کادر B
Border B Alpha (borderbalpha) – مقدار آلفای کادر B
تنظیم رنگ برای لبهها:
Left Border / Inside – رنگ ۲ پیکسل چپ یا لبه داخلی
Right Border / Inside – رنگ ۲ پیکسل راست یا لبه داخلی
Bottom Border / Inside – رنگ ۲ پیکسل پایین یا لبه داخلی
Top Border / Inside – رنگ ۲ پیکسل بالا یا لبه داخلی
Border Over Children (borderover) – کشیدن کادر پنل بالای تمام پنلهای فرزند.
Disable Color (dodisablecolor / disablecolor) – فعالسازی رنگ ویژه برای زمانی که پنل غیرفعال است.
RGB (disablecolorr, disablecolorg, disablecolorb)
Alpha (disablealpha)
Multiply RGB by Alpha (multrgb) – ضرب کانالهای RGB در آلفا.
Composite (composite) – ⊞ – روش ترکیب پنل با سایر پنلها (مانند Composite TOP):
Over، Under، Inside، Outside، Add، Subtract، Multiply
Opacity (opacity) – تنظیم شفافیت پنل.
پارامترها – صفحه Children (فرزندان)
مدیریت چینش، اندازه و موقعیت پنلهای فرزند.
Align (align) – ⊞ – نحوهی چینش فرزندان درون پنل:
None (بدون چینش)
Left to Right (چپ به راست)
Right to Left (راست به چپ)
Top to Bottom (بالا به پایین)
Bottom to Top (پایین به بالا)
Grid Rows (سطرهای شبکهای)
Grid Columns (ستونهای شبکهای)
Match Network Nodes (تطبیق با گرهها)
Spacing (spacing) – فاصله بین فرزندان هنگام چینش.
Max per Line (alignmax) – حداکثر تعداد فرزندان در هر ردیف/ستون.
Margin (margin) – ⊞ – فاصله بین مرز پنل و لبه بیرونی.
Justify Method (justifymethod) – گروهی یا جداگانه.
Justify Horizontal / Vertical (justifyh / justifyv) – ترازبندی افقی و عمودی.
Fit (fit) – ⊞ – مقیاسدهی به فرزندان (عرض، ارتفاع یا بهترین).
Scale (scale) – ⊞ – مقیاس یکنواخت فرزندان در X و Y.
Offset (offset) – ⊞ – جابجایی فرزندان در X و Y.
Crop (crop) – ⊞ – مشخص میکند آیا بخشهای بیرونزدهی فرزندان بریده شوند یا نه.
Scrollbars (phscrollbar / pvscrollbar) – اسکرولبار افقی و عمودی (خاموش، روشن یا خودکار).
Thickness (scrollbarthickness) – ضخامت اسکرولبارها.
پارامترها – صفحه Drag/Drop (کشیدن/رها کردن)
مدیریت رفتار درگ و دراپ بین پنلها.
When Dragging This (drag) – ⊞ – آیا پنل قابل درگ شدن است یا نه.
Drag Script (dragscript) – اسکریپت اجرا شونده هنگام شروع درگ.
Drop Destination Script (dropdestscript) – اسکریپت اجرا شونده هنگام رها کردن.
Drop Types (droptypescript) – مشخص کردن نوع دادههایی که اسکریپت مقصد میتواند بپذیرد.
Dropped Operator (paneldragop) – اپراتور جایگزین برای دراپ.
On Dropping Into (drop) – ⊞ – مشخص میکند آیا این پنل آیتمها را هنگام دراپ میپذیرد یا نه.
Drop Script (dropscript) – اسکریپت اجرا شونده هنگام رها کردن یک کامپوننت یا فایل خارجی داخل پنل.
پارامترها – صفحه Extensions (افزونهها)
مدیریت اکستنشنهای پایتون در کامپوننت.
Extension (ext) – تعریف اطلاعات افزونهها.
Object (ext0object) – نمونههای کلاسی پیوستشده به کامپوننت.
Name (ext0name) – نام اختیاری برای جستجو.
Promote (ext0promote) – دسترسی مستقیم یا از طریق
.ext
.Re-Init Extensions (reinitextensions) – بازکامپایل همه اکستنشنها.
پارامترها – صفحه Common (عمومی)
ویژگیهای کلی کامپوننت مانند نمایشگر نود و ارتباط با کلونها.
Parent Shortcut / Global OP Shortcut – میانبر برای دسترسی سریع.
Internal OP (iop) – مدیریت اپراتورهای داخلی.
Node View (nodeview) – تعیین نمایشگر نود (پیشفرض یا یک اپراتور مشخص).
Keep in Memory (keepmemory) – نگهداری در حافظه.
Enable Cloning (enablecloning) – فعالسازی کلونینگ.
Clone Master (clone) – مسیر کامپوننت کلون مستر.
Load on Demand (loadondemand) – بارگذاری فقط هنگام نیاز.
Enable External .tox / Path (externaltox) – بارگذاری از فایل خارجی tox.
Reload Parameters (reloadcustom / reloadbuiltin) – بازخوانی پارامترها هنگام ریلود tox.
Save Backup of External (savebackup) – ذخیره نسخه پشتیبان در فایل toe.
Sub-Component to Load (subcompname) – بارگذاری تنها یک زیرکامپوننت از tox.
Relative File Path Behavior (relpath) – تنظیم رفتار مسیرهای نسبی (نسبت به toe یا tox).
کانالهای Info CHOP
اطلاعات اضافه درباره List COMP.
Common COMP Info Channels
num_children – تعداد فرزندان
Common Operator Info Channels
total_cooks – تعداد دفعات cook شدن
cook_time – مدت زمان آخرین cook (میلیثانیه)
cook_frame – شماره فریم آخرین cook در تایملاین کامپوننت
cook_abs_frame – شماره فریم آخرین cook در زمان مطلق
cook_start_time / cook_end_time – زمان شروع و پایان cook (میلیثانیه)
cooked_this_frame – اگر در این فریم cook شده باشد (1)
warnings – تعداد هشدارها
errors – تعداد خطاها