note decription: "Motif functions that can be used on objects."; status: "See notice at end of class."; date: "$Date$"; revision: "$Revision$" class MEL_XM_FUNCTIONS feature {NONE} -- Implementation xm_change_color (a_target: POINTER; a_pixel: POINTER) -- Change all of the colors for the specified widget -- based on the new background color. external "C (Widget, Pixel) | " alias "XmChangeColor" end; get_xm_string_direction (a_target: POINTER; a_resource_name: POINTER): INTEGER -- Value of string direction resource with a_resource_name -- as name. require target_not_null: a_target /= default_pointer; resource_name_not_null: a_resource_name /= default_pointer do Result := c_get_string_direction (a_target, a_resource_name) end; set_xm_string_direction (a_target: POINTER; a_resource_name: POINTER; a_direction: INTEGER) -- Assign a_direction to target string direction resource -- with a_resource_name as name. require target_not_null: a_target /= default_pointer; resource_name_not_null: a_resource_name /= default_pointer do c_set_string_direction (a_target, a_resource_name, a_direction) end; get_xm_string_table (a_target: POINTER; a_resource_name: POINTER): POINTER -- Value of string direction resource with a_resource_name -- as name. require target_not_null: a_target /= default_pointer; resource_name_not_null: a_resource_name /= default_pointer do Result := c_get_string_table (a_target, a_resource_name) end; set_xm_string_table (a_target: POINTER; a_resource_name: POINTER; a_string_table: POINTER) -- Assign a_direction to target string direction resource -- with a_resource_name as name. require target_not_null: a_target /= default_pointer; resource_name_not_null: a_resource_name /= default_pointer do c_set_string_table (a_target, a_resource_name, a_string_table) end; get_xm_string (a_target: POINTER; a_resource_name: POINTER): MEL_STRING -- Value of X string resource with a_resource_name -- as name. require target_not_null: a_target /= default_pointer; resource_name_not_null: a_resource_name /= default_pointer local p: POINTER do p := c_get_xmstring (a_target, a_resource_name); if p /= default_pointer then create Result.make_from_existing (p) end end; set_xm_string (a_target: POINTER; a_resource_name: POINTER; a_compound_string: MEL_STRING) -- Assign a_compound_string to target string resource -- with a_resource_name as name. require target_not_null: a_target /= default_pointer; not_a_resource_name_null: a_resource_name /= default_pointer; valid_compound_string: a_compound_string /= Void and then a_compound_string.is_valid do c_set_xmstring (a_target, a_resource_name, a_compound_string.handle) end; get_xm_font_list (a_target: POINTER; a_resource_name: POINTER): MEL_FONT_LIST -- Value of X string resource with a_resource_name -- as name. require target_not_null: a_target /= default_pointer; resource_name_not_null: a_resource_name /= default_pointer do create Result.make_from_existing ( c_get_font_list (a_target, a_resource_name)); Result.set_shared end; set_xm_font_list (a_target: POINTER; a_resource_name: POINTER; a_font: MEL_FONT_LIST) -- Assign a_compound_string to target string resource -- with a_resource_name as name. require target_not_null: a_target /= default_pointer; a_resource_name_not_null: a_resource_name /= default_pointer; valid_font: a_font /= Void and then a_font.is_valid do c_set_font_list (a_target, a_resource_name, a_font.handle) end; feature {NONE} -- Widget queries xm_is_scroll_bar (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsScrollBar" end; xm_is_label (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsLabel" end; xm_is_label_gadget (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsLabelGadget" end; xm_is_arrow_button (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsArrowButton" end; xm_is_arrow_button_gadget (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsArrowButtonGadget" end; xm_is_cascade_button (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsCascadeButton" end; xm_is_cascade_button_gadget (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsCascadeButtonGadget" end; xm_is_push_button_gadget (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsPushButtonGadget" end; xm_is_push_button (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsPushButton" end; xm_is_list (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsList" end; xm_is_sash (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsSash" end; xm_is_text (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsText" end; xm_is_text_field (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsTextField" end; xm_is_toggle_button (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsToggleButton" end; xm_is_toggle_button_gadget (widget: POINTER): BOOLEAN external "C [macro ] (Widget): EIF_BOOLEAN" alias "XmIsToggleButtonGadget" end; feature {NONE} -- External features c_get_string_direction (scr_obj: POINTER; resource: POINTER): INTEGER external "C" end; c_set_string_direction (scr_obj: POINTER; resource: POINTER; val: INTEGER) external "C" end; c_get_string_table (scr_obj: POINTER; resource: POINTER): POINTER external "C" end; c_set_string_table (scr_obj: POINTER; resource: POINTER; val: POINTER) external "C" end; c_set_xmstring (scr_obj: POINTER; resource: POINTER; val: POINTER) external "C" end; c_get_xmstring (scr_obj: POINTER; resource: POINTER): POINTER external "C" end; c_set_font_list (scr_obj: POINTER; resource: POINTER; val: POINTER) external "C" end; c_get_font_list (scr_obj: POINTER; resource: POINTER): POINTER external "C" end; note copyright: "Copyright (c) 1984-2006, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 356 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class MEL_XM_FUNCTIONS