Traits(file formats) Traits(file formats)

Traits - فهرست ویژگی‌های (traits) مورد استفاده در جعبه‌ابزار Motif.

یک ویژگی (trait) مشخصه‌ای از یک ویجت (widget) است. ویجتی که دارای یک ویژگی خاص باشد، توانایی خاصی را به سایر ویجت‌ها اعلام می‌کند. جدول زیر خلاصه‌ای از ویژگی‌های استاندارد Motif را ارائه می‌دهد.

هدف
نام ویژگی
ویجت دارای
T}


XmQTaccessTextual نمایش یک بخش متنی اصلی.


XmQTactivatable تبدیل شدن به یک دکمه دستور در کادر محاوره (dialog box).


XmQTcareParentVisual قرض گرفتن اطلاعات بصری والد خود.


XmQTcontainer مدیریت فرزندان آیتم ظرف (container item children).


XmQTcontainerItem تبدیل شدن به فرزند یک ویجت ظرف (container widget).


XmQTdialogShellSavvy تبدیل شدن به فرزند یک DialogShell.


XmQTjoinSide متصل شدن به یک سمت از یک والد مناسب.


XmQTmenuSavvy تبدیل شدن به فرزند منو.


XmQTmenuSystem مدیریت یک سامانه منو.


XmQTnavigator عمل کردن به عنوان ناوبری‌کننده (navigator) برای یک ویجت پیمایش‌پذیر.


XmQTscrollFrame مدیریت یک یا چند ویجت ناوبری‌کننده (navigator widgets).


XmQTspecifyRenderTable ارائه نام‌های جدول‌های رندر پیش‌فرض خود.


XmQTtakesDefault تغییر ظاهر خود برای نشان دادن اینکه دکمه پیش‌فرض است.


XmQTtransfer انتقال داده به سایر ویجت‌ها و/یا دریافت داده از سایر ویجت‌ها.


ویژگی‌ها (Traits) اغلب در برنامه‌های کاربردی Motif استفاده نمی‌شوند. با این حال، ویژگی‌ها برای نویسندگان ویجت بسیار مهم هستند. برای جزئیات کامل درباره ویژگی‌ها، به Motif Widget Writer's Guide مراجعه کنید.

جدول زیر نام تمام ویجت‌ها و گجت‌ها را در مجموعه ویجت‌های استاندارد Motif که دارای یک ویژگی خاص هستند، فهرست می‌کند. برای نمونه، جدول زیر نشان می‌دهد که ویژگی XmQTcontainerItem توسط XmIconGadget نگهداری می‌شود. همان‌طور که جدول نشان می‌دهد، برخی از ویژگی‌ها توسط بسیاری از ویجت‌های استاندارد Motif نگهداری می‌شوند.

نصب ویژگی در مجموعه ویجت استاندارد
نام ویژگی
روی ویجت‌های
T}


XmQTaccessTextual XmLabel و تمام زیرکلاس‌های آن؛ XmLabelGadget و تمام زیرکلاس‌های آن؛ XmText; XmTextField


XmQTactivatable XmArrowButton; XmArrowButtonGadget; XmDrawnButton; XmPushButton; XmPushButtonGadget


XmQTcareParentVisual تمام زیرکلاس‌های XmGadget (اما نه خود XmGadget)؛ XmPrimitive و تمام زیرکلاس‌های آن


XmQTcontainer XmContainer


XmQTcontainerItem XmIconGadget


XmQTdialogShellSavvy XmBulletinBoard


XmQTjoinSide هیچ ویجتی این ویژگی را نصب نمی‌کند


XmQTmenuSavvy XmLabel; XmDrawnButton; XmCascadeButton; XmPushButton; XmToggleButton; XmLabelGadget; XmCascadeButtonGadget; XmPushButtonGadget; XmToggleButtonGadget


XmQTmenuSystem XmRowColumn


XmQTnavigator XmScrollBar;


XmQTscrollFrame XmNotebook;


XmQTspecifyRenderTable XmBulletinBoard و تمام زیرکلاس‌های آن؛ XmMenuShell; XmVendorShell


XmQTtakesDefault XmPushButton;


XmQTtransfer XmContainer; XmLabel و تمام زیرکلاس‌های آن؛ XmLabelGadget و تمام زیرکلاس‌های آن؛ XmList; XmScale; XmText; XmTextField


جدول زیر ویژگی‌های نصب‌شده روی هر ویجت را فهرست می‌کند. برای نمونه، جدول زیر نشان می‌دهد که ویجت XmArrowButton هر دو ویژگی XmQTactivatable و XmQTcareParentVisual را دارا می‌باشد.

استفاده از ویژگی توسط ویجت
نام ویجت
این ویژگی‌ها
T}


=


XmArrowButton XmQTactivatable, XmQTcareParentVisual


XmArrowButtonGadget XmQTactivatable, XmQTcareParentVisual


XmBulletinBoard XmQTdialogShellSavvy, XmQTspecifyRenderTable


XmCascadeButton XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmCascadeButtonGadget XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer XmComboBox


XmCommand XmQTspecifyRenderTable


XmContainer XmQTcontainer,


XmDialogShell هیچ‌کدام


XmDisplay هیچ‌کدام


XmDragContext هیچ‌کدام


XmDragIcon هیچ‌کدام


XmDrawingArea هیچ‌کدام


XmDrawnButton XmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmDropTransfer هیچ‌کدام


XmFileSelectionBox XmQTspecifyRenderTable


XmForm XmQTspecifyRenderTable


XmFrame هیچ‌کدام


XmGadget هیچ‌کدام


XmIconGadget XmQTcareParentVisual, XmQTcontainerItem


XmLabel XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmLabelGadget XmQTaccessTextual, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtransfer


XmList XmQTcareParentVisual,


XmMainWindow


XmManager


XmMenuShell XmQTspecifyRenderTable


XmMessageBox XmQTspecifyRenderTable


XmNotebook XmQTscrollFrame


XmPanedWindow


XmPrimitive XmQTcareParentVisual


XmPushButton XmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer


XmPushButtonGadget XmQTaccessTextual, XmQTactivatable, XmQTcareParentVisual, XmQTmenuSavvy, XmQTtakesDefault, XmQTtransfer


XmRowColumn XmQTmenuSystem


XmScale XmQTtransfer


XmScreen


XmScrollbar XmQTcareParentVisual,


XmScrolledWindow XmQTscrollFrame


XmSelectionBox XmQTspecifyRenderTable


XmSeparator XmQTcareParentVisual


XmSeparatorGadget XmQTcareParentVisual


XmSpinBox XmQTnavigator


XmText XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


XmTextField XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


XmToggleButton XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


XmToggleButtonGadget XmQTaccessTextual, XmQTcareParentVisual, XmQTtransfer


VendorShell XmQTspecifyRenderTable


جدول زیر خلاصه چگونگی دسترسی ویجت‌های استاندارد Motif به ویژگی‌ها را نشان می‌دهد. دو روش کلی برای دسترسی یک ویجت به ویژگی‌های ویجت دیگر وجود دارد.

یک روش این است که یک ویجت از ویجت دیگر بپرسد آیا ویژگی خاصی را دارا است یا خیر. برای نمونه، XmBulletinBoard از هر یک از ویجت‌های فرزند خود می‌پرسد که آیا آن‌ها ویژگی XmQTtakesDefault را دارند یا خیر. ویجت XmBulletinBoard هیچ‌یک از متدهای ویژگی XmQTtakesDefault را فراخوانی نمی‌کند.

نوع دیگر دسترسی زمانی است که یک ویجت متد(های) ویژگی ویجت دیگر را فراخوانی می‌کند. برای نمونه، XmBulletinBoard متد ویژگی getRenderTable از ویژگی XmQTspecifyRenderTable را فراخوانی می‌کند.

دسترسی به ویژگی توسط ویجت
ویجت به این ویژگی‌ها دسترسی دارد: این متدهای ویژگی را فراخوانی می‌کند:



XmArrowButton هیچ‌کدام هیچ‌کدام



XmArrowButtonGadget هیچ‌کدام هیچ‌کدام



XmBulletinBoard XmQTtakesDefault هیچ‌کدام



XmBulletinBoard XmQTspecifyRenderTable getRenderTable



XmCascadeButton XmQTmenuSystem متدهای متعدد



XmCascadeButton XmQTspecifyRenderTable getRenderTable



XmCascadeButtonGadget XmQTmenuSystem متدهای متعدد



XmCascadeButtonGadget XmQTspecifyRenderTable getRenderTable



XmComboBox XmQTaccessTextual getValue, setValue



XmCommand هیچ‌کدام هیچ‌کدام



XmContainer XmQTcontainerItem getValues, setValues



XmContainer XmQTscrollFrame getInfo



XmDialogShell XmQTdialogShellSavvy callMapUnmapCB



XmDisplay هیچ‌کدام هیچ‌کدام



XmDragContext هیچ‌کدام هیچ‌کدام



XmDragIcon هیچ‌کدام هیچ‌کدام



XmDrawingArea هیچ‌کدام هیچ‌کدام



XmDrawnButton XmQTmenuSystem متدهای متعدد



XmDrawnButton XmQTspecifyRenderTable getRenderTable



XmDropTransfer هیچ‌کدام هیچ‌کدام



XmFileSelectionBox XmQTactivatable هیچ‌کدام



XmForm هیچ‌کدام هیچ‌کدام



XmFrame هیچ‌کدام هیچ‌کدام



XmGadget هیچ‌کدام هیچ‌کدام



XmIconGadget XmQTcontainer getValues



XmIconGadget XmQTspecifyRenderTable getRenderTable



XmLabel XmQTmenuSystem متدهای مختلف



XmLabel XmQTspecifyRenderTable getRenderTable



XmLabelGadget XmQTmenuSystem متدهای مختلف



XmLabelGadget XmQTspecifyRenderTable getRenderTable



XmList XmQTnavigator getValues



XmList XmQTscrollFrame getInfo, init



XmList XmQTspecifyRenderTable getRenderTable



XmMainWindow XmQTmenuSystem متدهای مختلف



XmManager هیچ‌کدام هیچ‌کدام



XmMenuShell XmQTmenuSystem متدهای مختلف



XmMenuShell XmQTspecifyRenderTable getRenderTable



XmMessageBox XmQTactivatable هیچ‌کدام



XmNotebook XmQTscrollFrame init, addNavigator, removeNavigator



XmNotebook XmQTnavigator getValue



XmNotebook XmQTactivatable changeCB



XmNotebook XmQTaccessTextual هیچ‌کدام



XmPanedWindow هیچ‌کدام هیچ‌کدام



XmPrimitive هیچ‌کدام هیچ‌کدام



XmPushButton XmQTmenuSystem متدهای مختلف



XmPushButton XmQTspecifyRenderTable getRenderTable



XmPushButtonGadget XmQTmenuSystem متدهای مختلف



XmPushButtonGadget XmQTspecifyRenderTable getRenderTable



XmRowColumn XmQTmenuSavvy getAccelerator, getMnemonic, getActivateCBName



XmRowColumn XmQTmenuSystem متدهای مختلف



XmScale XmQTspecifyRenderTable getRenderTable



XmScreen هیچ‌کدام هیچ‌کدام



XmScrollbar هیچ‌کدام هیچ‌کدام



XmScrolledWindow XmQTnavigator getValue



XmScrolledWindow XmQTscrollFrame init, addNavigator



XmSelectionBox XmQTaccessTextual setValue;



XmSelectionBox XmQTactivatable هیچ‌کدام



XmSeparator هیچ‌کدام هیچ‌کدام



XmSeparatorGadget هیچ‌کدام هیچ‌کدام



XmSpinBox XmQTaccessTextual setValue



XmText XmQTaccessTextual getValue, setValue



XmText XmQTnavigator getValue



XmText XmQTscrollFrame getInfo, init



XmText XmQTspecifyRenderTable getRenderTable



XmTextField XmQTspecifyRenderTable getRenderTable



XmToggleButton XmQTmenuSystem متدهای مختلف



XmToggleButton XmQTspecifyRenderTable getRenderTable



XmToggleButtonGadget XmQTmenuSystem متدهای مختلف



XmToggleButtonGadget XmQTspecifyRenderTable getRenderTable



VendorShell XmQTspecifyRenderTable getRenderTable



صفحات مرجع زیر در Motif Widget Writer's Guide مستند شده‌اند: XmeTraitSet(3)، XmeTraitGet(3)، XmQTaccessTextual(3)، XmQTactivatable(3)، XmQTcareParentVisual(3)، XmQTcontainer(3)، XmQTcontainerItem(3)، XmQTdialogShellSavvy(3)، XmQTjoinSide(3)، XmQTmenuSavvy(3)، XmQTmenuSystem(3)، XmQTnavigator(3)، XmQTscrollFrame(3)، XmQTspecifyRenderTable(3)، و XmQTtakesDefault(3).