File Coverage

blib/lib/Gtk2Fu.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             package Gtk2Fu;
2              
3 1     1   49760 use warnings;
  1         10  
  1         49  
4 1     1   5 use strict;
  1         1  
  1         250  
5              
6             =head1 NAME
7              
8             Gtk2Fu - GTK2 Forked Ultimate, a powerful layer on top of Gtk2. (forked from ugtk2.)
9              
10             =head1 VERSION
11              
12             Version 0.11
13              
14             =cut
15              
16             our $VERSION = '0.11';
17              
18             =head1 INTRODUCTION
19              
20             gtk2-fu is a layer on top of perl gtk2, that brings power, simplicity and speed
21             of development. It brings additional methods to ease the widget creation among
22             other things. But the most important feature is that it brings you a lot of
23             derivated methods from existing methods, that does exactly the same thing,
24             except that ir returns the widget. Example :
25              
26             $window->set_title('foo'); #the normal method
27             $window->set_title_('foo'); #the gtk2-fu derivated method
28              
29             set_title_ does the same things as set_title, but it returns $window.
30              
31             What's the advantage? you can chain actions ! Look at the 2 code examples below :
32              
33             # normal perl-gtk2
34             my $window = Gtk2::Window->new();
35             my $entry = Gtk2::Entry->new();
36             $entry->set_text('foo');
37             $entry->set_editable(0);
38             $window->add($entry);
39              
40             # using gtk2-fu
41             my $window = Gtk2::Window->new();
42             $window->add(
43             Gtk2::Entry->new()
44             ->set_text_('foo')
45             ->set_editable_(0)
46             );
47              
48             You could even get rid of the $window declaration. The gain can seem to you
49             very minor, but in more complex cases, it allows you to create a complex GUI
50             really easilly. You'll find a bigger example at the end of this documentation
51              
52             In addition to this feature, gtk2-fu provides a toolbox of useful help methods
53             to create widgets, ask things to the user, and misc other things.
54              
55             =head1 HISTORY
56              
57             gtk2-fu is a fork of ugtk2 (Ultimate gtk2) which is a port to gtk2 of ugtk
58             (Ultimate gtk), which is an improvment of mygtk, which was the created by pixel
59             at mandrakesoft, to basically address the same issues.
60              
61             ugtk2 is great, but mandrakesoft specific, and not clean enough for me. The
62             derivated methods that return the widget are written one by one by hand; ugtk2
63             goal is not to be exhaustive, but reduced to the need of mandrakesoft coders,
64             so it is useless for external coders. In addition, the derivated methods are
65             not object oriented, you need to call the explicitely. And a lot of helpers
66             functions use specific things related to the MandrakeLinux installer, config
67             tools, or Interactive.
68              
69             OK now to the documentation :
70              
71             =head1 DESCRIPTION
72              
73             =head2 DERIVATED METHODS
74              
75             Not all methods are wrapped so that they can be called with a trailing _ to
76             return the widget. If you need one that is not yet done, mail me at
77            
78              
79             =head3 implemented derivated methods
80              
81             the derivated methods are implemented only for original methods that return
82             nothing (void). Here is the list of derivated methodes, ordered by classes:
83              
84             =head4 Gdk
85              
86             =over 4
87              
88             =item Gtk2::Gdk::Colormap
89              
90             free_colors rgb_find_color
91              
92             =item Gtk2::Gdk::Device
93              
94             set_axis_use set_key set_source
95              
96             =item Gtk2::Gdk::Display
97              
98             beep close set_double_click_time grab keyboard_ungrab pointer_ungrab
99             put_event sync ungrab
100              
101             =item Gtk2::Gdk::DragContext
102              
103             abort drop finish set_icon_default set_icon_pixbuf set_icon_pixmap
104             set_icon_stock set_icon_widget
105              
106             =item Gtk2::Gdk::Drawable
107              
108             set_colormap draw_arc draw_drawable draw_gray_image draw_image
109             draw_indexed_image draw_layout draw_layout_with_colors draw_line draw_lines
110             draw_pixbuf draw_point draw_points draw_polygon draw_rectangle
111             draw_rgb_32_image draw_rgb_32_image_dithalign draw_rgb_image
112             draw_rgb_image_dithalign draw_segments
113              
114             =item Gtk2::Gdk::Event
115              
116             set_screen
117              
118             =item Gtk2::Gdk::GC
119              
120             set_background set_clip_mask set_clip_origin set_clip_rectangle
121             set_clip_region set_colormap copy set_dashes set_exposures set_fill
122             set_font set_foreground set_function set_line_attributes offset
123             set_rgb_background set_rgb_bg_color set_rgb_fg_color set_rgb_foreground
124             rgb_gc_set_background rgb_gc_set_foreground set_stipple set_subwindow
125             set_tile set_ts_origin set_values
126              
127             =item Gtk2::Gdk::PixbufAnimationIter
128              
129             composite composite_color copy_area fill render_threshold_alpha
130             render_to_drawable render_to_drawable_alpha saturate_and_pixelate save
131             scale
132              
133             =item Gtk2::Gdk::PixbufLoader
134              
135             close set_size
136              
137             =item Gtk2::Gdk::Region
138              
139             intersect offset shrink subtract union union_with_rect xor
140              
141             =item Gtk2::Gdk::Screen
142              
143             broadcast_client_message set_default_colormap
144              
145             =item Gtk2::Gdk::Window
146              
147             set_background begin_move_drag begin_paint_rect begin_paint_region
148             begin_resize_drag set_child_shapes clear clear_area clear_area_e set_cursor
149             set_debug_updates set_decorations deiconify destroy
150             end_paint set_events focus freeze_updates fullscreen set_functions
151             gdk_set_sm_client_id set_geometry_hints set_group hide
152             set_icon_list set_icon_name set_icon iconify invalidate_rect
153             invalidate_region lower maximize merge_child_shapes set_modal_hint move
154             move_resize set_override_redirect process_all_updates
155             process_updates property_change property_delete raise register_dnd reparent
156             resize set_role scroll shape_combine_mask shape_combine_region show
157             show_unraised set_skip_pager_hint set_skip_taskbar_hint stick thaw_updates
158             set_title set_transient_for set_type_hint unfullscreen unmaximize unstick
159             set_user_data withdraw
160              
161             =back
162              
163             =head4 Gtk
164              
165             =over 4
166              
167             =item Gtk2::AccelGroup
168              
169             connect connect_by_path lock unlock
170            
171             =item Gtk2::AccelLabel
172              
173             set_accel_widget
174              
175             =item Gtk2::Adjustment
176              
177             changed clamp_page value_changed set_value
178              
179             =item Gtk2::Alignment
180              
181             set
182              
183             =item Gtk2::Arrow
184              
185             set
186              
187             =item Gtk2::AspectFrame
188              
189             set_params
190              
191             =item Gtk2::Bin
192              
193             child get_child
194              
195             =item Gtk2::Box
196              
197             set_child_packing set_homogeneous pack_end pack_end_defaults pack_start
198             pack_start_defaults reorder_child set_spacing
199              
200             =item Gtk2::Button
201              
202             clicked enter set_label leave pressed released set_relief set_use_stock
203             set_use_underline
204              
205             =item Gtk2::ButtonBox
206              
207             set_child_secondary set_layout
208              
209             =item Gtk2::Calendar
210              
211             clear_marks display_options set_display_options freeze marked_date month
212             num_marked_dates select_day selected_day thaw year
213              
214             =item Gtk2::CellEditable
215              
216             editing_done remove_widget start_editing
217              
218             =item Gtk2::CellRenderer
219              
220             set_fixed_size render
221              
222             =item Gtk2::CellRendererText
223              
224             set_fixed_height_from_font
225              
226             =item Gtk2::CellRendererToggle
227              
228             set_active set_radio
229              
230             =item Gtk2::CheckMenuItem
231              
232             set_active set_inconsistent set_show_toggle toggled
233              
234             =item Gtk2::Clipboard
235              
236             clear set_text request_text request_contents
237              
238             =item Gtk2::ColorSelection
239              
240             set_current_alpha set_current_color set_has_opacity_control set_has_palette
241             set_previous_alpha set_previous_color
242              
243             =item Gtk2::Combo
244              
245             set_case_sensitive disable_activate set_item_string set_popdown_strings
246             set_use_arrows_always set_use_arrows set_value_in_list
247              
248             =item Gtk2::Container
249              
250             add add_with_properties set_border_width check_resize child_set
251             child_set_property set_focus_chain set_focus_child set_focus_hadjustment
252             set_focus_vadjustment propagate_expose set_reallocate_redraws remove
253             resize_children set_resize_mode unset_focus_chain
254              
255             =item Gtk2::Curve
256              
257             set_curve_type set_gamma set_range reset set_vector
258              
259             =item Gtk2::Dialog
260              
261             add_action_widget add_buttons set_default_response set_has_separator
262             response set_response_sensitive
263              
264             =item Gtk2::DrawingArea
265              
266             size
267              
268             =item Gtk2::Editable
269              
270             copy_clipboard cut_clipboard delete_selection delete_text set_editable
271             paste_clipboard set_position select_region get_selection_bounds
272              
273             =item Gtk2::Entry
274              
275             set_activates_default append_text set_editable set_has_frame
276             set_invisible_char set_max_length set_position prepend_text select_region
277             set_text set_visibility set_width_chars
278              
279             =item Gtk2::FileSelection
280              
281             complete set_filename hide_fileop_buttons set_select_multiple
282             show_fileop_buttons
283              
284             =item Gtk2::Fixed
285              
286             set_has_window move put
287              
288             =item Gtk2::FontSelection
289              
290             set_preview_text
291              
292             =item Gtk2::FontSelectionDialog
293              
294             set_preview_text
295              
296             =item Gtk2::Frame
297              
298             set_label
299             set_label_widget
300             set_shadow_type
301             get_label_align
302              
303             =item Gtk2::HandleBox
304              
305             set_handle_position set_shadow_type set_snap_edge
306              
307             =item Gtk2::HButtonBox
308              
309             set_spacing_default set_layout_default
310              
311             =item Gtk2::IconFactory
312              
313             add add_default remove_default
314              
315             =item Gtk2::IconSet
316              
317             add_source
318              
319             =item Gtk2::IconSource
320              
321             set_direction set_direction_wildcarded set_filename set_pixbuf set_size
322             set_size_wildcarded set_state set_state_wildcarded
323              
324             =item Gtk2::Image
325              
326             set_from_animation set_from_file set_from_icon_set set_from_image
327             set_from_pixbuf set_from_pixmap set_from_stock
328              
329             =item Gtk2::ImageMenuItem
330              
331             set_image
332              
333             =item Gtk2::Invisible
334              
335             set_screen
336              
337             =item Gtk2::Item
338              
339             deselect select toggle
340              
341             =item Gtk2::ItemFactory
342              
343             create_items delete_entries delete_entry delete_item
344              
345             =item Gtk2::Label
346              
347             set_attributes set_justify set_label set_line_wrap set_markup
348             set_markup_with_mnemonic set_mnemonic_widget set_pattern set_selectable
349             set_text set_text_with_mnemonic set_use_markup set_use_underline
350              
351             =item Gtk2::Layout
352              
353             freeze set_hadjustment move put set_size thaw set_vadjustment
354              
355             =item Gtk2::List
356              
357             append_items clear_items end_drag_selection end_selection extend_selection
358             insert_items prepend_items remove_items scroll_horizontal scroll_vertical
359             select_all select_child select_item set_selection_mode start_selection
360             toggle_add_mode toggle_focus_row toggle_row undo_selection unselect_all
361             unselect_child unselect_item
362              
363             =item Gtk2::ListItem
364              
365             deselect select
366              
367             =item Gtk2::ListStore
368              
369             clear set_column_types set move_after move_before reorder swap set_value
370              
371             =item Gtk2::Menu
372              
373             set_accel_group set_accel_path set_active attach_to_widget detach popdown
374             popup reorder_child reposition set_screen set_tearoff_state set_title
375              
376             =item Gtk2::MenuItem
377              
378             set_accel_path activate deselect remove_submenu set_right_justified select
379             set_submenu toggle_size_allocate
380              
381             =item Gtk2::MenuShell
382              
383             activate_item append deactivate deselect insert prepend select_first
384             select_item
385              
386             =item Gtk2::Misc
387              
388             set_alignment set_padding
389              
390             =item Gtk2::Notebook
391              
392             set_current_page set_menu_label_text next_page popup_disable popup_enable
393             prev_page remove_page reorder_child set_scrollable set_show_border
394             set_show_tabs set_tab_border set_tab_hborder set_tab_label_packing
395             set_tab_label_text set_tab_pos set_tab_vborder
396              
397             =item Gtk2::OptionMenu
398              
399             new get_history set_history get_menu set_menu remove_menu
400              
401             =item Gtk2::Paned
402              
403             add1 add2 child1_resize child1_shrink child2_resize child2_shrink
404             compute_position pack1 pack2 set_position
405              
406             =item Gtk2::Pango::Context
407              
408             set_base_dir set_font_description set_language
409              
410             =item Gtk2::Pango::FontDescription
411              
412             set_family set_family_static merge merge_static set_size set_stretch
413             set_style unset_fields set_variant set_weight
414              
415             =item Gtk2::Pango::Layout
416              
417             set_alignment set_attributes context_changed set_font_description
418             set_indent set_justify set_markup set_single_paragraph_mode set_spacing
419             set_tabs set_text set_width set_wrap
420              
421             =item Gtk2::Pango::TabArray
422              
423             resize set_tab
424              
425             =item Gtk2::Plug
426              
427             construct construct_for_display
428              
429             =item Gtk2::ProgressBar
430              
431             set_fraction set_orientation pulse set_pulse_step set_text
432              
433             =item Gtk2::RadioButton
434              
435             set_group
436              
437             =item Gtk2::RadioMenuItem
438              
439             set_group
440              
441             =item Gtk2::Range
442              
443             set_adjustment set_increments set_inverted set_range set_update_policy
444             set_value
445              
446             =item Gtk2::Ruler
447              
448             draw_pos draw_ticks set_metric set_range
449              
450             =item Gtk2::Scale
451              
452             set_digits set_draw_value set_value_pos
453              
454             =item Gtk2::ScrolledWindow
455              
456             add_with_viewport set_hadjustment set_placement set_policy set_shadow_type
457             set_vadjustment
458              
459             =item Gtk2::SelectionData
460              
461             set
462              
463             =item Gtk2::SizeGroup
464              
465             add_widget set_mode remove_widget
466              
467             =item Gtk2::Socket
468              
469             add_id steal
470              
471             =item Gtk2::SpinButton
472              
473             set_adjustment configure set_digits set_increments set_numeric set_range
474             set_snap_to_ticks spin update set_update_policy set_value set_wrap
475              
476             =item Gtk2::Statusbar
477              
478             set_has_resize_grip pop remove
479              
480             =item Gtk2::Style
481              
482             apply_default_background set_background detach paint_arrow paint_box
483             paint_box_gap paint_check paint_diamond paint_expander paint_extension
484             paint_flat_box paint_focus paint_handle paint_hline paint_layout
485             paint_option paint_polygon paint_resize_grip paint_shadow paint_shadow_gap
486             paint_slider paint_tab paint_vline
487              
488             =item Gtk2::Table
489              
490             attach attach_defaults set_col_spacing set_col_spacings set_homogeneous
491             resize set_row_spacing set_row_spacings
492              
493             =item Gtk2::TargetList
494              
495             add add_table remove
496              
497             =item Gtk2::TextAttributes
498              
499             copy_values
500              
501             =item Gtk2::TextBuffer
502              
503             add_selection_clipboard apply_tag apply_tag_by_name begin_user_action
504             copy_clipboard cut_clipboard delete delete_mark delete_mark_by_name
505             end_user_action insert insert_at_cursor insert_child_anchor insert_pixbuf
506             insert_range insert_with_tags insert_with_tags_by_name set_modified
507             move_mark move_mark_by_name paste_clipboard place_cursor remove_all_tags
508             remove_selection_clipboard remove_tag remove_tag_by_name set_text
509              
510             =item Gtk2::TextIter
511              
512             forward_to_end set_line_index set_line_offset set_line set_offset order
513             set_visible_line_index set_visible_line_offset
514              
515             =item Gtk2::TextMark
516              
517             set_visible
518              
519             =item Gtk2::TextTag
520              
521             set_piority
522              
523             =item Gtk2::TextTagTable
524              
525             add remove
526              
527             =item Gtk2::TextView
528              
529             add_child_at_anchor add_child_in_window set_border_window_size set_buffer
530             set_cursor_visible set_editable set_indent set_justification
531             set_left_margin move_child set_pixels_above_lines set_pixels_below_lines
532             set_pixels_inside_wrap set_right_margin scroll_mark_onscreen scroll_to_mark
533             set_tabs set_wrap_mode
534              
535             =item Gtk2::ToggleButton
536              
537             set_active set_inconsistent set_mode toggled
538              
539             =item Gtk2::Toolbar
540              
541             append_space append_widget set_icon_size insert_space insert_widget
542             set_orientation prepend_space prepend_widget remove_space set_style
543             set_tooltips unset_icon_size unset_style
544              
545             =item Gtk2::Tooltips
546              
547             disable enable force_window set_tip
548              
549             =item Gtk2::TreeModel
550              
551             get_column_type get_flags foreach get iter_children get_iter_first
552             get_iter_from_string get_iter iter_has_child iter_n_children iter_next
553             iter_nth_child iter_parent get_n_columns get_path ref_node row_changed
554             row_deleted row_has_child_toggled row_inserted rows_reordered
555             get_string_from_iter unref_node get_value
556              
557             =item Gtk2::TreeModelSort
558              
559             clear_cache reset_default_sort_func
560              
561             =item Gtk2::TreePath
562              
563             append_index down next prepend_index
564              
565             =item Gtk2::TreeSelection
566              
567             count_selected_rows iter_is_selected get_mode set_mode path_is_selected
568             select_all set_select_function select_iter select_path select_range
569             selected_foreach get_selected get_selected_rows get_tree_view
570             unselect_all unselect_iter unselect_path unselect_range get_user_data
571              
572             =item Gtk2::TreeSortable
573              
574             sort_column_changed set_sort_column_id set_sort_func
575              
576             =item Gtk2::TreeStore
577              
578             clear set_column_types set move_after move_before reorder swap set_value
579              
580             =item Gtk2::TreeView
581              
582             collapse_all columns_autosize set_cursor_on_cell set_drag_dest_row
583             enable_model_drag_dest enable_model_drag_source set_enable_search
584             expand_all expand_to_path set_expander_column set_hadjustment
585             set_headers_clickable set_headers_visible insert_column_with_attributes
586             set_model move_column_after set_reorderable row_activated set_rules_hint
587             scroll_to_point set_search_column unset_rows_drag_dest
588             unset_rows_drag_source set_vadjustment widget_to_tree_coords
589              
590             =item Gtk2::VButtonBox
591              
592             set_layout_default set_spacing_default
593              
594             =item Gtk2::TreeViewColumn
595              
596             add_attribute set_alignment set_attributes cell_set_cell_data clear
597             clear_attributes set_clickable clicked set_fixed_width focus_cell
598             set_max_width set_min_width pack_end pack_start set_reorderable
599             set_resizable set_sizing set_sort_column_id set_sort_indicator
600             set_sort_order set_spacing set_title set_visible set_widget
601              
602             =item Gtk2::Viewport
603              
604             set_hadjustment set_shadow_type set_vadjustment
605              
606             =item Gtk2::Widget
607              
608             set_accel_path add_accelerator add_events app_paintable set_app_paintable
609             can_default can_focus child_notify set_child_visible set_colormap
610             composite_child set_composite_name set_default_colormap
611             set_default_direction destroy set_direction
612             double_buffered set_double_buffered drag_dest_set drag_dest_set_proxy
613             drag_dest_set_target_list drag_dest_unset drag_get_data drag_highlight
614             drag_source_set drag_source_set_icon drag_source_set_icon_pixbuf
615             drag_source_set_icon_stock drag_source_unset drag_unhighlight drawable
616             ensure_style set_events set_extension_events set_flags freeze_child_notify
617             grab_default grab_focus has_default has_focus has_grab hide hide_all
618             is_sensitive map mapped modify_base modify_bg modify_fg modify_font
619             modify_style modify_text set_name no_window parent_sensitive set_parent
620             set_parent_window pop_colormap pop_composite_child
621             propagate_event push_colormap set_size_request
622             push_composite_child queue_draw queue_draw_area
623             queue_resize rc_style realize realized receives_default
624             set_redraw_on_allocate reparent reset_rc_styles reset_shapes
625             selection_add_target selection_add_targets selection_clear_targets
626             selection_remove_all sensitive set_sensitive shape_combine_mask show
627             show_all show_now size_allocate set_state set_style thaw_child_notify
628             toplevel unmap unparent unrealize unset_flags visible
629              
630             =item Gtk2::Window
631              
632             add_accel_group add_embedded_xid add_mnemonic set_auto_startup_notification
633             begin_move_drag begin_resize_drag set_decorated set_default_icon_from_file
634             set_default_icon_list set_default
635             set_default_size deiconify set_destroy_with_parent set_frame_dimensions
636             fullscreen set_geometry_hints set_gravity set_has_frame
637             set_icon_from_file set_icon_list set_icon iconify maximize
638             set_mnemonic_modifier set_modal move set_position present
639             remove_accel_group remove_embedded_xid remove_mnemonic
640             reshow_with_initial_size set_resizable resize set_role set_screen
641             set_skip_pager_hint set_skip_taskbar_hint stick set_transient_for
642             set_type_hint unfullscreen unmaximize unstick set_wmclass set_title
643              
644             =item Gtk2::WindowGroup
645              
646             add_window remove_window
647              
648             =back
649              
650             =head4 Gtk
651              
652             =over 4
653              
654             =item Gnome2::App
655              
656             add_dock_item add_toolbar set_contents create_menus create_toolbar
657             enable_layout_config insert_menus install_menu_hints set_menus
658             remove_menu_range remove_menus set_statusbar_custom set_statusbar
659             set_toolbar
660              
661             =item Gnome2::AppBar
662              
663             clear_prompt clear_stack set_default install_menu_hints pop
664             set_progress_percentage set_prompt push refresh set_status
665              
666             =item Gnome2::AppHelper
667              
668             install_menu_hints_
669              
670             =item Gnome2::Bonobo::Dock
671              
672             add_floating_item_ add_item_ allow_floating_items_ set_client_area_
673              
674             =item Gnome2::Bonobo::Dock
675              
676             set_shadow_type_
677              
678             =item Gnome2::Canvas
679              
680             set_center_scroll_region_ set_dither_ set_pixels_per_unit_ request_redraw_
681             set_scroll_region_ scroll_to_ set_stipple_origin_ update_now_
682              
683             =item Gnome2::Canvas::Bpath
684              
685             set_path_def_
686              
687             =item Gnome2::Canvas::Item
688              
689             affine_absolute_ affine_relative_ grab_focus_ hide_ lower_ lower_to_bottom_ move_
690             raise_ raise_to_top_ reparent_ request_update_ reset_bounds_ show_ ungrab_
691             update_bbox_
692              
693             =item Gnome2::Canvas::PathDef
694              
695             closepath_ closepath_current_ curveto_ ensure_space_ finish_ lineto_
696             lineto_moving_ moveto_ reset_
697              
698             =item Gnome2::Canvas::RichText
699              
700             set_buffer_ copy_clipboard_ cut_clipboard_ paste_clipboard_
701              
702             =item Gnome2::Canvas::Shape
703              
704             set_path_def_
705              
706             =item Gnome2::Client
707              
708             add_static_arg_ set_clone_command_ connect_ set_current_directory_
709             set_discard_command_ disconnect_ set_environment_ flush_
710             set_global_config_prefix_ set_priority_ request_interaction_ request_phase_2_
711             request_save_ set_resign_command_ set_restart_command_ set_restart_style_
712             save_any_dialog_ save_error_dialog_ set_shutdown_command_
713              
714             =item Gnome2::ColorPicker
715              
716             set_d_ set_dither_ set_i16_ set_i8_ set_title_ set_use_alpha_
717              
718             =item Gnome2::DateEdit
719              
720             set_flags_ set_popup_range_ set_time_
721              
722             =item Gnome2::Druid
723              
724             append_page_ set_buttons_sensitive_ insert_page_ set_page_ prepend_page_
725             set_show_finish_ set_show_help_
726              
727             =item Gnome2::DruidPage
728              
729             finish_ prepare_
730              
731             =item Gnome2::DruidPageEdge
732              
733             set_bg_color_ set_logo_bg_color_ set_logo_ set_text_color_ set_text_
734             set_textbox_color_ set_title_color_ set_title_ set_top_watermark_ set_watermark_
735              
736             =item Gnome2::DruidPageStandard
737              
738             append_item_ set_background_ set_contents_background_ set_logo_background_
739             set_logo_ set_title_foreground_ set_title_ set_top_watermark_
740              
741             =item Gnome2::DruidPageStandard
742              
743             append_history_ clear_history_ set_history_id_ set_max_saved_ prepend_history_
744              
745             =item Gnome2::FileEntry
746              
747             set_default_path_ set_directory_entry_ set_filename_ set_modal_ set_title_
748              
749             =item Gnome2::FontPicker
750              
751             fi_set_show_size_ fi_set_use_font_in_label_ set_mode_ set_preview_text_ set_title_
752             uw_set_widget_
753              
754             =item Gnome2::GConf::Client
755              
756             add_dir_ clear_cache_ set_error_handling_ set_ get_list_ notify_remove_ get_pair_
757             preload_ remove_dir_ suggest_sync_
758              
759             =item Gnome2::GConf::Engine
760              
761             notify_remove_ remove_dir_ suggest_sync_
762              
763             =item Gnome2::HRef
764              
765             set_label_ set_text_ set_url_
766              
767             =item Gnome2::IconEntry
768              
769             set_browse_dialog_title_ set_history_id_ set_max_saved_ set_pixmap_subdir_
770              
771             =item Gnome2::IconList
772              
773             clear_ set_col_spacing_ focus_icon_ freeze_ set_hadjustment_ set_icon_border_
774             set_icon_width_ insert_ insert_pixbuf_ moveto_ remove_ set_row_spacing_
775             select_icon_ set_selection_mode_ set_separators_ set_text_spacing_ thaw_
776             unselect_icon_ set_vadjustment_
777              
778             =item Gnome2::IconSelection
779              
780             add_defaults_ add_directory_ clear_ select_icon_ show_icons_ stop_loading_
781              
782             =item Gnome2::IconTextItem
783              
784             configure_ focus_ select_ setxy_ start_editing_ stop_editing_
785              
786             =item Gnome2::IconTheme
787              
788             set_allow_svg_ append_search_path_ set_custom_theme_ prepend_search_path_
789             set_search_path_
790              
791             =item Gnome2::PasswordDialog
792              
793             set_password_ set_readonly_username_ set_username_
794              
795             =item Gnome2::PixmapEntry
796              
797             set_pixmap_subdir_ set_preview_ set_preview_size_
798              
799             =item Gnome2::PopupMenu
800              
801             add_popup_items_ append_from_ attach_to_ do_popup_
802              
803             =item Gnome2::Print::Config
804              
805             dump_
806              
807             =item Gnome2::Print::Dialog
808              
809             set_copies_
810              
811             =item Gnome2::Print::FontPreview
812              
813             set_color_ set_font_ set_phrase_
814              
815             =item Gnome2::Print::FontSelection
816              
817             set_font_
818              
819             =item Gnome2::Print::GlyphList
820              
821             advance_ font_ glyph_ kerning_ letterspace_ moveto_ rmoveto_ text_dumb_
822              
823             =item Gnome2::Print::UnitSelector
824              
825             add_adjustment_ set_bases_ remove_adjustment_ set_unit_
826              
827             =item Gnome2::Rsvg::Handle
828              
829             set_dpi_ set_size_callback_
830              
831             =item Gnome2::Scores
832              
833             set_color_ set_colors_ set_current_player_ set_def_color_ set_logo_label_
834             set_logo_label_title_ set_logo_pixmap_ set_logo_widget_
835              
836             =item Gnome2::ThumbnailFactory
837              
838             create_failed_thumbnail_ save_thumbnail_
839              
840             =item Gnome2::VFS::Application
841              
842             add_mime_type_ set_bool_value_ clear_mime_types_ remove_application_
843             remove_mime_type_ unset_key_ set_value_
844              
845             =item Gnome2::VFS::Async::Handle
846              
847             cancel_ close_ read_ write_
848              
849             =item Gnome2::VFS::Mime::Application
850              
851             save_
852              
853             =item Gnome2::VFS::URI
854              
855             set_host_name_ set_host_port_ set_password_ set_user_name_
856              
857             =item Gnome2::Vte::Terminal
858              
859             set_allow_bold_ set_audible_bellā_ set_background_image_file_
860             set_background_image_ set_background_saturation_ set_background_tint_color_
861             set_background_transparent_ set_backspace_binding_ set_color_background_
862             set_color_bold_ set_color_dim_ set_color_foreground_ set_colors_ copy_clipboard_
863             copy_primary_ set_cursor_blinks_ set_default_colors_ set_delete_binding_
864             set_emulation_ set_encoding_ feed_ feed_child_ set_font_from_string_ set_font_
865             im_append_menuitems_ match_clear_all_ match_remove_ match_set_cursor_
866             match_set_cursor_type_ set_mouse_autohide_ paste_clipboard_ paste_primary_
867             reset_ set_scroll_background_ set_scroll_on_keystroke_ set_scroll_on_output_
868             set_scrollback_lines_ set_size_ set_visible_bell_ set_word_chars_
869              
870             =item Gnome2::Window
871              
872             toplevel_set_title_
873              
874             =item Gnome2::Wnck::Pager
875              
876             set_n_rows_ set_orientation_ set_screen_ set_shadow_type_ set_show_all_
877              
878             =item Gnome2::Wnck::Screen
879              
880             change_workspace_count_ force_update_ move_viewport_ release_workspace_layout_
881             toggle_showing_desktop_
882              
883             =item Gnome2::Wnck::Tasklist
884              
885             set_grouping_limit_ set_icon_loader_ set_include_all_workspaces_
886             set_minimum_height_ set_minimum_width_ set_screen_
887             set_switch_workspace_on_unminimize_
888              
889             =item Gnome2::Wnck::Window
890              
891             activate_ activate_ activate_transient_ activate_transient_ close_ close_
892             set_icon_geometry_ keyboard_move_ keyboard_size_ maximize_
893             maximize_horizontally_ maximize_vertically_ minimize_ move_to_workspace_ pin_
894             shade_ set_skip_pager_ set_skip_tasklist_ stick_ unmaximize_
895             unmaximize_horizontally_ unmaximize_vertically_ unminimize_ unminimize_ unpin_
896             unshade_ unstick_
897              
898             =item Gnome2::Wnck::Workspace
899              
900             activate_ activate_ change_name_
901              
902             =back
903              
904             =cut
905              
906 1     1   531 use Gtk2;
  0            
  0            
907             use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK);
908             @ISA = qw(Exporter);
909             %EXPORT_TAGS = (
910             # helpers => [ qw(add2notebook add_icon_path fill_tiled fill_tiled_coords gtkcolor gtkcreate_img
911             # gtkcreate_pixbuf gtkfontinfo gtkset_background n_line_size set_back_pixbuf set_back_pixmap
912             # string_size string_width string_height wrap_paragraph) ],
913             #
914             create => [ qw(create_window create_entry) ],
915             ask => [ qw(ask_from_info_dialog ask_from_warn_dialog ask_from_err_dialog ask_from_dialog) ],
916              
917             misc => [ qw(gtkflush) ],
918             # ask => [ qw(ask_browse_tree_info ask_browse_tree_info_given_widgets ask_dir ask_from_entry ask_okcancel ask_warn
919             # ask_yesorno ) ],
920             # dialogs => [ qw(err_dialog info_dialog warn_dialog) ],
921              
922             );
923             $EXPORT_TAGS{all} = [ map { @$_ } values %EXPORT_TAGS ];
924             @EXPORT_OK = map { @$_ } values %EXPORT_TAGS;
925              
926             =head2 METHODS for creation
927              
928             These methods return a widget, ready to use. to use them you need to do :
929              
930             use Gtk2Fu qw(:create);
931             or
932              
933             use Gtk2Fu qw(:all);
934              
935             =over 4
936              
937             =item create_window()
938              
939             $widget = create_window($title, $type='toplevel', $resizable=1, $modal=0, $border_width=0, $delete_event=sub{})
940              
941             Creates a window with specified properties.
942              
943             =cut
944              
945             sub create_window {
946             my ($title, $type, $resizable, $modal, $border_width, $delete_event) = @_;
947             Gtk2::Window->new($type || 'toplevel')
948             ->set_title_($title)
949             ->set_resizable_($resizable || 1)
950             ->set_modal_($modal || 0)
951             ->set_border_width_($border_width || 0)
952             ->signal_connect_(delete_event => $delete_event || sub {});
953             }
954              
955             =item create_entry()
956              
957             $entry = create_entry($text)
958              
959             Creates an entry with a default text if provided.
960              
961             =cut
962              
963             sub create_entry {
964             my ($text) = @_;
965             my $e = Gtk2::Entry->new;
966             $text and $e->set_text($text);
967             $e;
968             }
969              
970             package Gtk2::Window;
971             use vars qw(@ISA @EXPORT_OK);
972             push @EXPORT_OK, qw(create_full_menubar);
973              
974             =item create_full_menubar()
975              
976             $menubar = $window->create_full_menubar($menu_items=
977             [
978             [ "/_File" ,undef,0 ,0 ,"" ],
979             [ "/File/_New" ,"N" ,\&callback,0 ,"" ,"gtk-new" ,"create a new file" ],
980             ],
981             $start_path='
');
982             ($menubar, $factory) = $window->create_full_menubar($menu_items=
983             [
984             [ "/_File" ,undef,0 ,0 ,"" ],
985             [ "/File/_New" ,"N" ,\&callback,0 ,"" ,"gtk-new" ,"create a new file" ],
986             ],
987             $start_path='
');
988              
989             Creates a full menubar with menuitems of any type, and shortcuts. In scalar
990             context, returns the menubar ready to be added in a box for instance. In list
991             context, returns the menubar widget, and the factory, for advanced use.
992             $start_path is optional.
993              
994             =cut
995              
996             sub create_full_menubar {
997             my ($w, $menu_items, $start_path) = @_;
998             $start_path ||= '
';
999             $w->add_accel_group(my $accel = Gtk2::AccelGroup->new());
1000             my $f = Gtk2::ItemFactory->new('Gtk2::MenuBar', $start_path, $accel);
1001             $w = $f->create_items_($w, @$menu_items)
1002             ->get_widget($start_path);
1003             wantarray ? ($w, $f) : $w;
1004             }
1005              
1006             package Gtk2::Widget;
1007             use vars qw(@ISA @EXPORT_OK);
1008             push @EXPORT_OK, qw(create_scrolled_window);
1009              
1010             =item create_scrolled_window()
1011              
1012             $viewport = $widget->create_scrolled_window($policy=['automatic','automatic'], $viewport_shadow)
1013              
1014             Creates a scrolled viewport from a given $widget. Returns the viewport
1015              
1016             =cut
1017              
1018             sub create_scrolled_window {
1019             my ($W, $policy, $viewport_shadow) = @_;
1020             my $w = Gtk2::ScrolledWindow->new(undef, undef);
1021             $w->set_policy($policy ? @$policy : ('automatic', 'automatic'));
1022             if (Gtk2Fu::_member(ref($W), qw(Gtk2::Layout Gtk2::Text Gtk2::TextView Gtk2::TreeView Gtk2::SimpleList Gtk2::IconView))) {
1023             $w->add($W)
1024             } else {
1025             $w->add_with_viewport($W);
1026             }
1027             $viewport_shadow and $w->child->set_shadow_type($viewport_shadow);
1028             $W->can('set_focus_vadjustment') and $W->set_focus_vadjustment($w->get_vadjustment);
1029             $W->set_left_margin(6) if ref($W) =~ /Gtk2::TextView/;
1030             $W->show;
1031             if (ref($W) =~ /Gtk2::TextView|Gtk2::TreeView|Gtk2::SimpleList/) {
1032             Gtk2::Frame->new->set_shadow_type_('in')->add_($w)
1033             } else {
1034             $w
1035             }
1036             }
1037              
1038             =back
1039              
1040             =head2 METHODS for interaction with user
1041              
1042             These methods create some widgets, launch a main loop, then return a value.
1043              
1044             The ask_from_dialog methods display a dialog box and returns a value
1045             corresponding to the button clicked. The dialogs can take $options. $options is
1046             a HASHREF with keys/values that can be :
1047              
1048             B> => STRING : an icon for the dialog box
1049              
1050             B> => BOOLEAN : if set to 1, a cancel button will be added
1051              
1052             B> => INTEGER : set a specific width to the dialog box
1053              
1054             B> => INTEGER : set a specific height to the dialog box
1055              
1056             B> => BOOLEAN : set the transient state of the dialog box
1057              
1058             B> => BOOLEAN : use markup or not
1059              
1060             =over 4
1061              
1062             =item ask_from_info_dialog()
1063              
1064             $widget = ask_from_info_dialog($title, $label, $options={});
1065              
1066             Information dialog
1067              
1068             =cut
1069              
1070             package Gtk2Fu;
1071              
1072             sub ask_from_info_dialog {
1073             my ($title, $label, $options) = @_;
1074             $options ||= { };
1075             _add2hash_($options, { stock => 'gtk-dialog-info' });
1076             ask_from_dialog($title, $label, $options);
1077             }
1078              
1079             =item ask_from_warn_dialog()
1080              
1081             $widget = ask_from_warn_dialog($title, $label, {});
1082              
1083             Warning dialog
1084              
1085             =cut
1086              
1087             sub ask_from_warn_dialog {
1088             my ($title, $label, $options) = @_;
1089             $options ||= { };
1090             _add2hash_($options, { stock => 'gtk-dialog-warning', cancel => 1 });
1091             ask_from_dialog($title, $label, $options);
1092             }
1093              
1094             =item ask_from_err_dialog()
1095              
1096             $widget = ask_from_err_dialog($title, $label, {});
1097              
1098             Error dialog
1099              
1100             =cut
1101              
1102             sub ask_from_err_dialog {
1103             my ($title, $label, $options) = @_;
1104             $options ||= { };
1105             _add2hash_($options, { stock => 'gtk-dialog-error' });
1106             ask_from_dialog($title, $label, $options);
1107             }
1108              
1109             sub _create_dialog {
1110             my ($title, $options) = @_;
1111             my $dialog = Gtk2::Dialog->new;
1112             $dialog->set_title($title);
1113             $dialog->set_position('center'); # center-on-parent doesn't work
1114             #may_set_icon($dialog, $wm_icon || $::Wizard_pix_up || "wiz_default_up.png");
1115             $dialog->set_size_request($options->{width} || -1, $options->{height} || -1);
1116             $dialog->set_modal(1);
1117             $dialog->set_transient_for($options->{transient}) if $options->{transient};
1118             $dialog;
1119             }
1120              
1121             =item ask_from_dialog()
1122              
1123             $widget = ask_from_dialog($title, $label, {});
1124              
1125             Normal dialog
1126              
1127             =cut
1128              
1129             sub ask_from_dialog {
1130             my ($title, $label, $options) = @_;
1131             my $ret = 0;
1132             my $dialog = _create_dialog($title, $options);
1133             $dialog->set_border_width(10);
1134             my $text = ref($label) ? $label : $options->{use_markup} ? Gtk2::WrappedLabel->new->set_markup($label) : Gtk2::WrappedLabel->new($label);
1135             $dialog->vbox
1136             ->gtkpack(Gtk2::HBox
1137             ->new->gtkpack_(_if_($options->{stock},
1138             0, Gtk2::Image->new_from_stock($options->{stock}, 'dialog'),
1139             0, Gtk2::Label->new(" "),
1140             ),
1141             1, $options->{scroll} ? $text->create_scrolled_window_([ 'never', 'automatic' ]) : $text,
1142             ),
1143             );
1144            
1145             if ($options->{cancel}) {
1146             my $button2 = Gtk2::Button->new('Cancel');
1147             $button2->signal_connect(clicked => sub { $ret = 0; $dialog->destroy; Gtk2->main_quit });
1148             $button2->can_default(1);
1149             $dialog->action_area->pack_start($button2, 1, 1, 0);
1150             }
1151              
1152             my $button = Gtk2::Button->new('Ok');
1153             $button->can_default(1);
1154             $button->signal_connect(clicked => sub { $ret = 1; $dialog->destroy; Gtk2->main_quit });
1155             $dialog->action_area->pack_start($button, 1, 1, 0);
1156             $button->grab_default;
1157              
1158             $dialog->set_has_separator(0);;
1159             $dialog->show_all;
1160             Gtk2->main;
1161             $ret;
1162             }
1163              
1164             =back
1165              
1166             =head2 toolbox METHODS
1167              
1168             Packing helpers methods. The methods aim to replace the pack_start and pack_end
1169             methods.
1170              
1171             =cut
1172              
1173             package Gtk2::Box;
1174             use vars qw(@ISA @EXPORT_OK);
1175             push @EXPORT_OK, qw(gtkpack gtkpack_ gtkpack__ gtkpack2 gtkpack2_ gtkpack2__);
1176              
1177             =over 4
1178              
1179             =item gtkpack()
1180              
1181             $widget = gtkpack($box, $widget1, $widget2, ...)
1182              
1183             Packs $widgets in $box, with expand set to 1 and fill set to 1
1184              
1185             =item gtkpack_()
1186              
1187             $widget = gtkpack_($box, 0 => $widget1, 1 => $widget2 ...)
1188              
1189             Packs $widgets in $box, with fill set to 1. For each widget, the boolean set
1190             the expand property in the packing.
1191              
1192             =item gtkpack__()
1193              
1194             $widget = gtkpack__($box, $widget1, $widget2, ...)
1195              
1196             Packs $widgets in $box, with expand set to 0 and fill set to 1
1197              
1198             =item gtkpack2()
1199              
1200             $widget = gtkpack2($box, $widget1, $widget2, ...)
1201              
1202             Packs $widgets in $box, with expand set to 1 and fill set to 0
1203              
1204             =item gtkpack2_()
1205              
1206             $widget = gtkpack2_($box, 0 => $widget1, 1 => $widget2 ...)
1207              
1208             Packs $widgets in $box, with fill set to 0. For each widget, the boolean set
1209             the expand property in the packing.
1210              
1211             =item gtkpack2__()
1212              
1213             $widget = gtkpack2__($box, $widget1, $widget2, ...)
1214              
1215             Packs $widgets in $box, with expand set to 0 and fill set to 0
1216              
1217             =back
1218              
1219             =cut
1220              
1221             sub gtkpack { gtkpowerpack(1, 1, @_) }
1222             sub gtkpack_ { gtkpowerpack('arg', 1, @_) }
1223             sub gtkpack__ { gtkpowerpack(0, 1, @_) }
1224             sub gtkpack2 { gtkpowerpack(1, 0, @_) }
1225             sub gtkpack2_ { gtkpowerpack('arg', 0, @_) }
1226             sub gtkpack2__ { gtkpowerpack(0, 0, @_) }
1227              
1228             sub gtkpowerpack {
1229             #- Get Default Attributes (if any). 2 syntaxes allowed :
1230             #- gtkpowerpack( {expand => 1, fill => 0}, $box...) : the attributes are picked from a specified hash ref
1231             #- gtkpowerpack(1, 0, 1, $box, ...) : the attributes are picked from the non-ref list, in the order (expand, fill, padding, pack_end).
1232             my @attributes_list = qw(expand fill padding pack_end);
1233             my $default_attrs = {};
1234             if (ref($_[0]) eq 'HASH') {
1235             $default_attrs = shift;
1236             } elsif (!ref($_[0])) {
1237             foreach (@attributes_list) {
1238             ref($_[0]) and last;
1239             $default_attrs->{$_} = shift;
1240             }
1241             }
1242             my $box = shift;
1243              
1244             while (@_) {
1245             #- Get attributes (if specified). 4 syntaxes allowed (default values are undef ie. false...) :
1246             #- gtkpowerpack({defaultattrs}, $box, $widget1, $widget2, ...) : the attrs are picked from the default ones (if they exist)
1247             #- gtkpowerpack($box, {fill=>1, expand=>0, ...}, $widget1, ...) : the attributes are picked from a specified hash ref
1248             #- gtkpowerpack($box, [1,0,1], $widget1, ...) : the attributes are picked from the array ref : (expand, fill, padding, pack_end).
1249             #- gtkpowerpack({attr=>'arg'}, $box, 1, $widget1, 0, $widget2, etc...) : the 'arg' value will tell gtkpowerpack to always read the
1250             #- attr value directly in the arg list (avoiding confusion between value 0 and Gtk::Label("0"). That can simplify some writings but
1251             #- this arg(s) MUST then be present...
1252             my (%attr, $attrs);
1253             ref($_[0]) eq 'HASH' || ref($_[0]) eq 'ARRAY' and $attrs = shift;
1254             foreach (@attributes_list) {
1255             if (($default_attrs->{$_} || '') eq 'arg') {
1256             ref($_[0]) and die "error in packing definition\n";
1257             $attr{$_} = shift;
1258             ref($attrs) eq 'ARRAY' and shift @$attrs;
1259             } elsif (ref($attrs) eq 'HASH' && defined($attrs->{$_})) {
1260             $attr{$_} = $attrs->{$_};
1261             } elsif (ref($attrs) eq 'ARRAY') {
1262             $attr{$_} = shift @$attrs;
1263             } elsif (defined($default_attrs->{$_})) {
1264             $attr{$_} = int $default_attrs->{$_};
1265             } else {
1266             $attr{$_} = 0;
1267             }
1268             }
1269             #- Get and pack the widget (create it if necessary to a label...)
1270             my $widget = ref($_[0]) ? shift : new Gtk2::Label(shift);
1271             my $pack_call = 'pack_' . ($attr{pack_end} ? 'end' : 'start');
1272             $box->$pack_call($widget, $attr{expand}, $attr{fill}, $attr{padding});
1273             $widget->show;
1274             }
1275             $box;
1276             }
1277              
1278             package Gtk2::WrappedLabel;
1279             sub new {
1280             my ($_type, $text, $align) = @_;
1281             my $l = Gtk2::Label->new($text || '');
1282             $l->set_line_wrap(1);
1283             $l->set_alignment($align || 0, 0.5);
1284             return $l;
1285             }
1286              
1287             package Gtk2Fu;
1288              
1289             =head2 miscellaneous METHODS
1290              
1291             miscellaneous helpers methods.
1292              
1293             =over 4
1294              
1295             =item gtkflush()
1296              
1297             flushes the pending iterations
1298              
1299             =back
1300              
1301             =cut
1302              
1303             sub gtkflush() { Gtk2->main_iteration while Gtk2->events_pending }
1304              
1305             do { my ($a, @b) = @$_; eval(qq|
1306             package $a;
1307             use vars qw(\@ISA \@EXPORT_OK);
1308             unshift \@ISA, 'Exporter';
1309             push \@EXPORT_OK, qw(| . join (' ', map { qq(${_}_) } @b) . ");\n" .
1310             join (' ', map { qq(sub ${_}_{ (my \$w=shift)->$_(\@_); \$w }) } @b)); } foreach (
1311              
1312             ########## Glib
1313              
1314             [qw (
1315              
1316             Glib::Object
1317             signal_connect
1318              
1319             )],
1320              
1321             ########## Gdk
1322              
1323             [qw (
1324              
1325             Gtk2::Gdk::Colormap
1326             free_colors rgb_find_color
1327              
1328             )], [qw (
1329              
1330             Gtk2::Gdk::Device
1331             set_axis_use set_key set_source
1332              
1333             )], [qw (
1334              
1335             Gtk2::Gdk::Display
1336             beep close set_double_click_time grab keyboard_ungrab pointer_ungrab
1337             put_event sync ungrab
1338              
1339             )], [qw (
1340              
1341             Gtk2::Gdk::DragContext
1342             abort drop finish set_icon_default set_icon_pixbuf set_icon_pixmap
1343             set_icon_stock set_icon_widget
1344              
1345             )], [qw (
1346              
1347             Gtk2::Gdk::Drawable
1348             set_colormap draw_arc draw_drawable draw_gray_image draw_image
1349             draw_indexed_image draw_layout draw_layout_with_colors draw_line draw_lines
1350             draw_pixbuf draw_point draw_points draw_polygon draw_rectangle
1351             draw_rgb_32_image draw_rgb_32_image_dithalign draw_rgb_image
1352             draw_rgb_image_dithalign draw_segments
1353              
1354             )], [qw (
1355              
1356             Gtk2::Gdk::Event
1357             set_screen
1358              
1359             )], [qw (
1360              
1361             Gtk2::Gdk::GC
1362             set_background set_clip_mask set_clip_origin set_clip_rectangle
1363             set_clip_region set_colormap copy set_dashes set_exposures set_fill
1364             set_font set_foreground set_function set_line_attributes offset
1365             set_rgb_background set_rgb_bg_color set_rgb_fg_color set_rgb_foreground
1366             rgb_gc_set_background rgb_gc_set_foreground set_stipple set_subwindow
1367             set_tile set_ts_origin set_values
1368              
1369             )], [qw (
1370              
1371             Gtk2::Gdk::PixbufAnimationIter
1372             composite composite_color copy_area fill render_threshold_alpha
1373             render_to_drawable render_to_drawable_alpha saturate_and_pixelate save
1374             scale
1375              
1376             )], [qw (
1377              
1378             Gtk2::Gdk::PixbufLoader
1379             close set_size
1380              
1381             )], [qw (
1382              
1383             Gtk2::Gdk::Region
1384             intersect offset shrink subtract union union_with_rect xor
1385              
1386             )], [qw (
1387              
1388             Gtk2::Gdk::Screen
1389             broadcast_client_message set_default_colormap
1390              
1391             )], [qw (
1392              
1393             Gtk2::Gdk::Window
1394             set_background begin_move_drag begin_paint_rect begin_paint_region
1395             begin_resize_drag set_child_shapes clear clear_area clear_area_e set_cursor
1396             set_debug_updates set_decorations deiconify destroy
1397             end_paint set_events focus freeze_updates fullscreen set_functions
1398             gdk_set_sm_client_id set_geometry_hints set_group hide
1399             set_icon_list set_icon_name set_icon iconify invalidate_rect
1400             invalidate_region lower maximize merge_child_shapes set_modal_hint move
1401             move_resize set_override_redirect process_all_updates
1402             process_updates property_change property_delete raise register_dnd reparent
1403             resize set_role scroll shape_combine_mask shape_combine_region show
1404             show_unraised set_skip_pager_hint set_skip_taskbar_hint stick thaw_updates
1405             set_title set_transient_for set_type_hint unfullscreen unmaximize unstick
1406             set_user_data withdraw
1407              
1408             )],
1409              
1410             ########## Gtk2
1411              
1412             [qw (
1413              
1414             Gtk2::AccelGroup
1415             connect connect_by_path lock unlock
1416            
1417             )], [qw (
1418              
1419             Gtk2::AccelLabel
1420             set_accel_widget
1421              
1422             )], [qw (
1423              
1424             Gtk2::Adjustment
1425             changed clamp_page value_changed set_value
1426              
1427             )], [qw (
1428              
1429             Gtk2::Alignment
1430             set
1431              
1432             )], [qw (
1433              
1434             Gtk2::Arrow
1435             set
1436              
1437             )], [qw (
1438              
1439             Gtk2::AspectFrame
1440             set_params
1441              
1442             )], [qw (
1443              
1444             Gtk2::Bin
1445             child get_child
1446              
1447             )], [qw (
1448              
1449             Gtk2::Box
1450             set_child_packing set_homogeneous pack_end pack_end_defaults pack_start
1451             pack_start_defaults reorder_child set_spacing
1452              
1453             )], [qw (
1454              
1455             Gtk2::Button
1456             clicked enter set_label leave pressed released set_relief set_use_stock
1457             set_use_underline
1458              
1459             )], [qw (
1460              
1461             Gtk2::ButtonBox
1462             set_child_secondary set_layout
1463              
1464             )], [qw (
1465              
1466             Gtk2::Calendar
1467             clear_marks display_options set_display_options freeze marked_date month
1468             num_marked_dates select_day selected_day thaw year
1469              
1470             )], [qw (
1471              
1472             Gtk2::CellEditable
1473             editing_done remove_widget start_editing
1474              
1475             )], [qw (
1476              
1477             Gtk2::CellRenderer
1478             set_fixed_size render
1479              
1480             )], [qw (
1481              
1482             Gtk2::CellRendererText
1483             set_fixed_height_from_font
1484              
1485             )], [qw (
1486              
1487             Gtk2::CellRendererToggle
1488             set_active set_radio
1489              
1490             )], [qw (
1491              
1492             Gtk2::CheckMenuItem
1493             set_active set_inconsistent set_show_toggle toggled
1494              
1495             )], [qw (
1496              
1497             Gtk2::Clipboard
1498             clear set_text request_text request_contents
1499              
1500             )], [qw (
1501              
1502             Gtk2::ColorSelection
1503             set_current_alpha set_current_color set_has_opacity_control set_has_palette
1504             set_previous_alpha set_previous_color
1505              
1506             )], [qw (
1507              
1508             Gtk2::Combo
1509             set_case_sensitive disable_activate set_item_string set_popdown_strings
1510             set_use_arrows_always set_use_arrows set_value_in_list
1511              
1512             )], [qw (
1513              
1514             Gtk2::Container
1515             add add_with_properties set_border_width check_resize child_set
1516             child_set_property set_focus_chain set_focus_child set_focus_hadjustment
1517             set_focus_vadjustment propagate_expose set_reallocate_redraws remove
1518             resize_children set_resize_mode unset_focus_chain
1519              
1520             )], [qw (
1521              
1522             Gtk2::Curve
1523             set_curve_type set_gamma set_range reset set_vector
1524              
1525             )], [qw (
1526              
1527             Gtk2::Dialog
1528             add_action_widget add_buttons set_default_response set_has_separator
1529             response set_response_sensitive
1530              
1531             )], [qw (
1532              
1533             Gtk2::DrawingArea
1534             size
1535              
1536             )], [qw (
1537              
1538             Gtk2::Editable
1539             copy_clipboard cut_clipboard delete_selection delete_text set_editable
1540             paste_clipboard set_position select_region get_selection_bounds
1541              
1542             )], [qw (
1543              
1544             Gtk2::Entry
1545             set_activates_default append_text set_editable set_has_frame
1546             set_invisible_char set_max_length set_position prepend_text select_region
1547             set_text set_visibility set_width_chars
1548              
1549             )], [qw (
1550              
1551             Gtk2::FileSelection
1552             complete set_filename hide_fileop_buttons set_select_multiple
1553             show_fileop_buttons
1554              
1555             )], [qw (
1556              
1557             Gtk2::Fixed
1558             set_has_window move put
1559              
1560             )], [qw (
1561              
1562             Gtk2::FontSelection
1563             set_preview_text
1564              
1565             )], [qw (
1566              
1567             Gtk2::FontSelectionDialog
1568             set_preview_text
1569              
1570             )], [qw (
1571              
1572             Gtk2::Frame
1573             set_label
1574             set_label_widget
1575             set_shadow_type
1576             get_label_align
1577              
1578             )], [qw (
1579              
1580             Gtk2::HandleBox
1581             set_handle_position set_shadow_type set_snap_edge
1582              
1583             )], [qw (
1584              
1585             Gtk2::HButtonBox
1586             set_spacing_default set_layout_default
1587              
1588             )], [qw (
1589              
1590             Gtk2::IconFactory
1591             add add_default remove_default
1592              
1593             )], [qw (
1594              
1595             Gtk2::IconSet
1596             add_source
1597              
1598             )], [qw (
1599              
1600             Gtk2::IconSource
1601             set_direction set_direction_wildcarded set_filename set_pixbuf set_size
1602             set_size_wildcarded set_state set_state_wildcarded
1603              
1604             )], [qw (
1605              
1606             Gtk2::Image
1607             set_from_animation set_from_file set_from_icon_set set_from_image
1608             set_from_pixbuf set_from_pixmap set_from_stock
1609              
1610             )], [qw (
1611              
1612             Gtk2::ImageMenuItem
1613             set_image
1614              
1615             )], [qw (
1616              
1617             Gtk2::Invisible
1618             set_screen
1619              
1620             )], [qw (
1621              
1622             Gtk2::Item
1623             deselect select toggle
1624              
1625             )], [qw (
1626              
1627             Gtk2::ItemFactory
1628             create_items delete_entries delete_entry delete_item
1629              
1630             )], [qw (
1631              
1632             Gtk2::Label
1633             set_attributes set_justify set_label set_line_wrap set_markup
1634             set_markup_with_mnemonic set_mnemonic_widget set_pattern set_selectable
1635             set_text set_text_with_mnemonic set_use_markup set_use_underline
1636              
1637             )], [qw (
1638              
1639             Gtk2::Layout
1640             freeze set_hadjustment move put set_size thaw set_vadjustment
1641              
1642             )], [qw (
1643              
1644             Gtk2::List
1645             append_items clear_items end_drag_selection end_selection extend_selection
1646             insert_items prepend_items remove_items scroll_horizontal scroll_vertical
1647             select_all select_child select_item set_selection_mode start_selection
1648             toggle_add_mode toggle_focus_row toggle_row undo_selection unselect_all
1649             unselect_child unselect_item
1650              
1651             )], [qw (
1652              
1653             Gtk2::ListItem
1654             deselect select
1655              
1656             )], [qw (
1657              
1658             Gtk2::ListStore
1659             clear set_column_types set move_after move_before reorder swap set_value
1660              
1661             )], [qw (
1662              
1663             Gtk2::Menu
1664             set_accel_group set_accel_path set_active attach_to_widget detach popdown
1665             popup reorder_child reposition set_screen set_tearoff_state set_title
1666              
1667             )], [qw (
1668              
1669             Gtk2::MenuItem
1670             set_accel_path activate deselect remove_submenu set_right_justified select
1671             set_submenu toggle_size_allocate
1672              
1673             )], [qw (
1674              
1675             Gtk2::MenuShell
1676             activate_item append deactivate deselect insert prepend select_first
1677             select_item
1678              
1679             )], [qw (
1680              
1681             Gtk2::Misc
1682             set_alignment set_padding
1683              
1684             )], [qw (
1685              
1686             Gtk2::Notebook
1687             set_current_page set_menu_label_text next_page popup_disable popup_enable
1688             prev_page remove_page reorder_child set_scrollable set_show_border
1689             set_show_tabs set_tab_border set_tab_hborder set_tab_label_packing
1690             set_tab_label_text set_tab_pos set_tab_vborder
1691              
1692             )], [qw (
1693              
1694             Gtk2::OptionMenu
1695             new get_history set_history get_menu set_menu remove_menu
1696              
1697             )], [qw (
1698              
1699             Gtk2::Paned
1700             add1 add2 child1_resize child1_shrink child2_resize child2_shrink
1701             compute_position pack1 pack2 set_position
1702              
1703             )], [qw (
1704              
1705             Gtk2::Pango::Context
1706             set_base_dir set_font_description set_language
1707              
1708             )], [qw (
1709              
1710             Gtk2::Pango::FontDescription
1711             set_family set_family_static merge merge_static set_size set_stretch
1712             set_style unset_fields set_variant set_weight
1713              
1714             )], [qw (
1715              
1716             Gtk2::Pango::Layout
1717             set_alignment set_attributes context_changed set_font_description
1718             set_indent set_justify set_markup set_single_paragraph_mode set_spacing
1719             set_tabs set_text set_width set_wrap
1720              
1721             )], [qw (
1722              
1723             Gtk2::Pango::TabArray
1724             resize set_tab
1725              
1726             )], [qw (
1727              
1728             Gtk2::Plug
1729             construct construct_for_display
1730              
1731             )], [qw (
1732              
1733             Gtk2::ProgressBar
1734             set_fraction set_orientation pulse set_pulse_step set_text
1735              
1736             )], [qw (
1737              
1738             Gtk2::RadioButton
1739             set_group
1740              
1741             )], [qw (
1742              
1743             Gtk2::RadioMenuItem
1744             set_group
1745              
1746             )], [qw (
1747              
1748             Gtk2::Range
1749             set_adjustment set_increments set_inverted set_range set_update_policy
1750             set_value
1751              
1752             )], [qw (
1753              
1754             Gtk2::Ruler
1755             draw_pos draw_ticks set_metric set_range
1756              
1757             )], [qw (
1758              
1759             Gtk2::Scale
1760             set_digits set_draw_value set_value_pos
1761              
1762             )], [qw (
1763              
1764             Gtk2::ScrolledWindow
1765             add_with_viewport set_hadjustment set_placement set_policy set_shadow_type
1766             set_vadjustment
1767              
1768             )], [qw (
1769              
1770             Gtk2::SelectionData
1771             set
1772              
1773             )], [qw (
1774              
1775             Gtk2::SizeGroup
1776             add_widget set_mode remove_widget
1777              
1778             )], [qw (
1779              
1780             Gtk2::Socket
1781             add_id steal
1782              
1783             )], [qw (
1784              
1785             Gtk2::SpinButton
1786             set_adjustment configure set_digits set_increments set_numeric set_range
1787             set_snap_to_ticks spin update set_update_policy set_value set_wrap
1788              
1789             )], [qw (
1790              
1791             Gtk2::Statusbar
1792             set_has_resize_grip pop remove
1793              
1794             )], [qw (
1795              
1796             Gtk2::Style
1797             apply_default_background set_background detach paint_arrow paint_box
1798             paint_box_gap paint_check paint_diamond paint_expander paint_extension
1799             paint_flat_box paint_focus paint_handle paint_hline paint_layout
1800             paint_option paint_polygon paint_resize_grip paint_shadow paint_shadow_gap
1801             paint_slider paint_tab paint_vline
1802              
1803             )], [qw (
1804              
1805             Gtk2::Table
1806             attach attach_defaults set_col_spacing set_col_spacings set_homogeneous
1807             resize set_row_spacing set_row_spacings
1808              
1809             )], [qw (
1810              
1811             Gtk2::TargetList
1812             add add_table remove
1813              
1814             )], [qw (
1815              
1816             Gtk2::TextAttributes
1817             copy_values
1818              
1819             )], [qw (
1820              
1821             Gtk2::TextBuffer
1822             add_selection_clipboard apply_tag apply_tag_by_name begin_user_action
1823             copy_clipboard cut_clipboard delete delete_mark delete_mark_by_name
1824             end_user_action insert insert_at_cursor insert_child_anchor insert_pixbuf
1825             insert_range insert_with_tags insert_with_tags_by_name set_modified
1826             move_mark move_mark_by_name paste_clipboard place_cursor remove_all_tags
1827             remove_selection_clipboard remove_tag remove_tag_by_name set_text
1828              
1829             )], [qw (
1830              
1831             Gtk2::TextIter
1832             forward_to_end set_line_index set_line_offset set_line set_offset order
1833             set_visible_line_index set_visible_line_offset
1834              
1835             )], [qw (
1836              
1837             Gtk2::TextMark
1838             set_visible
1839              
1840             )], [qw (
1841              
1842             Gtk2::TextTag
1843             set_piority
1844              
1845             )], [qw (
1846              
1847             Gtk2::TextTagTable
1848             add remove
1849              
1850             )], [qw (
1851              
1852             Gtk2::TextView
1853             add_child_at_anchor add_child_in_window set_border_window_size set_buffer
1854             set_cursor_visible set_editable set_indent set_justification
1855             set_left_margin move_child set_pixels_above_lines set_pixels_below_lines
1856             set_pixels_inside_wrap set_right_margin scroll_mark_onscreen scroll_to_mark
1857             set_tabs set_wrap_mode
1858              
1859             )], [qw (
1860              
1861             Gtk2::ToggleButton
1862             set_active set_inconsistent set_mode toggled
1863              
1864             )], [qw (
1865              
1866             Gtk2::Toolbar
1867             append_space append_widget set_icon_size insert_space insert_widget
1868             set_orientation prepend_space prepend_widget remove_space set_style
1869             set_tooltips unset_icon_size unset_style
1870              
1871             )], [qw (
1872              
1873             Gtk2::Tooltips
1874             disable enable force_window set_tip
1875              
1876             )], [qw (
1877              
1878             Gtk2::TreeModel
1879             get_column_type get_flags foreach get iter_children get_iter_first
1880             get_iter_from_string get_iter iter_has_child iter_n_children iter_next
1881             iter_nth_child iter_parent get_n_columns get_path ref_node row_changed
1882             row_deleted row_has_child_toggled row_inserted rows_reordered
1883             get_string_from_iter unref_node get_value
1884              
1885             )], [qw (
1886              
1887             Gtk2::TreeModelSort
1888             clear_cache reset_default_sort_func
1889              
1890             )], [qw (
1891              
1892             Gtk2::TreePath
1893             append_index down next prepend_index
1894              
1895             )], [qw (
1896              
1897             Gtk2::TreeSelection
1898             count_selected_rows iter_is_selected get_mode set_mode path_is_selected
1899             select_all set_select_function select_iter select_path select_range
1900             selected_foreach get_selected get_selected_rows get_tree_view
1901             unselect_all unselect_iter unselect_path unselect_range get_user_data
1902              
1903             )], [qw (
1904              
1905             Gtk2::TreeSortable
1906             sort_column_changed set_sort_column_id set_sort_func
1907              
1908             )], [qw (
1909              
1910             Gtk2::TreeStore
1911             clear set_column_types set move_after move_before reorder swap set_value
1912              
1913             )], [qw (
1914              
1915             Gtk2::TreeView
1916             collapse_all columns_autosize set_cursor_on_cell set_drag_dest_row
1917             enable_model_drag_dest enable_model_drag_source set_enable_search
1918             expand_all expand_to_path set_expander_column set_hadjustment
1919             set_headers_clickable set_headers_visible insert_column_with_attributes
1920             set_model move_column_after set_reorderable row_activated set_rules_hint
1921             scroll_to_point set_search_column unset_rows_drag_dest
1922             unset_rows_drag_source set_vadjustment widget_to_tree_coords
1923              
1924             )], [qw (
1925              
1926             Gtk2::VButtonBox
1927             set_layout_default set_spacing_default
1928              
1929             )], [qw (
1930              
1931             Gtk2::TreeViewColumn
1932             add_attribute set_alignment set_attributes cell_set_cell_data clear
1933             clear_attributes set_clickable clicked set_fixed_width focus_cell
1934             set_max_width set_min_width pack_end pack_start set_reorderable
1935             set_resizable set_sizing set_sort_column_id set_sort_indicator
1936             set_sort_order set_spacing set_title set_visible set_widget
1937              
1938             )], [qw (
1939              
1940             Gtk2::Viewport
1941             set_hadjustment set_shadow_type set_vadjustment
1942              
1943             )], [qw (
1944              
1945             Gtk2::Widget
1946             set_accel_path add_accelerator add_events app_paintable set_app_paintable
1947             can_default can_focus child_notify set_child_visible set_colormap
1948             composite_child set_composite_name set_default_colormap
1949             set_default_direction destroy set_direction
1950             double_buffered set_double_buffered drag_dest_set drag_dest_set_proxy
1951             drag_dest_set_target_list drag_dest_unset drag_get_data drag_highlight
1952             drag_source_set drag_source_set_icon drag_source_set_icon_pixbuf
1953             drag_source_set_icon_stock drag_source_unset drag_unhighlight drawable
1954             ensure_style set_events set_extension_events set_flags freeze_child_notify
1955             grab_default grab_focus has_default has_focus has_grab hide hide_all
1956             is_sensitive map mapped modify_base modify_bg modify_fg modify_font
1957             modify_style modify_text set_name no_window parent_sensitive set_parent
1958             set_parent_window pop_colormap set_size_request
1959             pop_composite_child propagate_event push_colormap
1960             push_composite_child queue_draw queue_draw_area
1961             queue_resize rc_style realize realized receives_default
1962             set_redraw_on_allocate reparent reset_rc_styles reset_shapes
1963             selection_add_target selection_add_targets selection_clear_targets
1964             selection_remove_all sensitive set_sensitive shape_combine_mask show
1965             show_all show_now size_allocate set_state set_style thaw_child_notify
1966             toplevel unmap unparent unrealize unset_flags visible
1967              
1968             )], [qw (
1969              
1970             Gtk2::Window
1971             add_accel_group add_embedded_xid add_mnemonic set_auto_startup_notification
1972             begin_move_drag begin_resize_drag set_decorated set_default_icon_from_file
1973             set_default_icon_list set_default
1974             set_default_size deiconify set_destroy_with_parent set_frame_dimensions
1975             fullscreen set_geometry_hints set_gravity set_has_frame
1976             set_icon_from_file set_icon_list set_icon iconify maximize
1977             set_mnemonic_modifier set_modal move set_position present
1978             remove_accel_group remove_embedded_xid remove_mnemonic
1979             reshow_with_initial_size set_resizable resize set_role set_screen
1980             set_skip_pager_hint set_skip_taskbar_hint stick set_transient_for
1981             set_type_hint unfullscreen unmaximize unstick set_wmclass set_title
1982              
1983             )], [qw (
1984              
1985             Gtk2::WindowGroup
1986             add_window remove_window
1987              
1988             )],
1989              
1990             ########## Gnome2
1991             !_is_installed('Gnome2') ? () :
1992             (
1993              
1994             [qw (
1995              
1996             Gnome2::App
1997             add_dock_item add_toolbar set_contents create_menus create_toolbar
1998             enable_layout_config insert_menus install_menu_hints set_menus
1999             remove_menu_range remove_menus set_statusbar_custom set_statusbar
2000             set_toolbar
2001              
2002             )], [qw (
2003              
2004             Gnome2::AppBar
2005             clear_prompt clear_stack set_default install_menu_hints pop
2006             set_progress_percentage set_prompt push refresh set_status
2007              
2008             )], [qw (
2009              
2010             Gnome2::AppHelper
2011             $bar->install_menu_hints ($uiinfo)
2012              
2013             )], [qw (
2014              
2015             Gnome2::Bonobo::Dock
2016             add_floating_item add_item allow_floating_items set_client_area
2017              
2018             )], [qw (
2019              
2020             Gnome2::Bonobo::Dock
2021             set_shadow_type
2022              
2023             )], [qw (
2024              
2025             Gnome2::Canvas
2026             set_center_scroll_region set_dither set_pixels_per_unit request_redraw
2027             set_scroll_region scroll_to set_stipple_origin update_now
2028              
2029             )], [qw (
2030              
2031             Gnome2::Canvas::Bpath
2032             set_path_def
2033              
2034             )], [qw (
2035              
2036             Gnome2::Canvas::Item
2037             affine_absolute affine_relative grab_focus hide lower lower_to_bottom move
2038             raise raise_to_top reparent request_update reset_bounds show ungrab
2039             update_bbox
2040              
2041             )], [qw (
2042              
2043             Gnome2::Canvas::PathDef
2044             closepath closepath_current curveto ensure_space finish lineto
2045             lineto_moving moveto reset
2046              
2047             )], [qw (
2048              
2049             Gnome2::Canvas::RichText
2050             set_buffer copy_clipboard cut_clipboard paste_clipboard
2051              
2052             )], [qw (
2053              
2054             Gnome2::Canvas::Shape
2055             set_path_def
2056              
2057             )], [qw (
2058              
2059             Gnome2::Client
2060             add_static_arg set_clone_command connect set_current_directory
2061             set_discard_command disconnect set_environment flush
2062             set_global_config_prefix set_priority request_interaction request_phase_2
2063             request_save set_resign_command set_restart_command set_restart_style
2064             save_any_dialog save_error_dialog set_shutdown_command
2065              
2066             )], [qw (
2067              
2068             Gnome2::ColorPicker
2069             set_d set_dither set_i16 set_i8 set_title set_use_alpha
2070              
2071             )], [qw (
2072              
2073             Gnome2::DateEdit
2074             set_flags set_popup_range set_time
2075              
2076             )], [qw (
2077              
2078             Gnome2::Druid
2079             append_page set_buttons_sensitive insert_page set_page prepend_page
2080             set_show_finish set_show_help
2081              
2082             )], [qw (
2083              
2084             Gnome2::DruidPage
2085             finish prepare
2086              
2087             )], [qw (
2088              
2089             Gnome2::DruidPageEdge
2090             set_bg_color set_logo_bg_color set_logo set_text_color set_text
2091             set_textbox_color set_title_color set_title set_top_watermark set_watermark
2092              
2093             )], [qw (
2094              
2095             Gnome2::DruidPageStandard
2096             append_item set_background set_contents_background set_logo_background
2097             set_logo set_title_foreground set_title set_top_watermark
2098              
2099             )], [qw (
2100              
2101             Gnome2::DruidPageStandard
2102             append_history clear_history set_history_id set_max_saved prepend_history
2103              
2104             )], [qw (
2105              
2106             Gnome2::FileEntry
2107             set_default_path set_directory_entry set_filename set_modal set_title
2108              
2109             )], [qw (
2110              
2111             Gnome2::FontPicker
2112             fi_set_show_size fi_set_use_font_in_label set_mode set_preview_text set_title
2113             uw_set_widget
2114              
2115             )], [qw (
2116              
2117             Gnome2::GConf::Client
2118             add_dir clear_cache set_error_handling set get_list notify_remove get_pair
2119             preload remove_dir suggest_sync
2120              
2121             )], [qw (
2122              
2123             Gnome2::GConf::Engine
2124             notify_remove remove_dir suggest_sync
2125              
2126             )], [qw (
2127              
2128             Gnome2::HRef
2129             set_label set_text set_url
2130              
2131             )], [qw (
2132              
2133             Gnome2::IconEntry
2134             set_browse_dialog_title set_history_id set_max_saved set_pixmap_subdir
2135              
2136             )], [qw (
2137              
2138             Gnome2::IconList
2139             clear set_col_spacing focus_icon freeze set_hadjustment set_icon_border
2140             set_icon_width insert insert_pixbuf moveto remove set_row_spacing
2141             select_icon set_selection_mode set_separators set_text_spacing thaw
2142             unselect_icon set_vadjustment
2143              
2144             )], [qw (
2145              
2146             Gnome2::IconSelection
2147             add_defaults add_directory clear select_icon show_icons stop_loading
2148              
2149             )], [qw (
2150              
2151             Gnome2::IconTextItem
2152             configure focus select setxy start_editing stop_editing
2153              
2154             )], [qw (
2155              
2156             Gnome2::IconTheme
2157             set_allow_svg append_search_path set_custom_theme prepend_search_path
2158             set_search_path
2159              
2160             )], [qw (
2161              
2162             Gnome2::PasswordDialog
2163             set_password set_readonly_username set_username
2164              
2165             )], [qw (
2166              
2167             Gnome2::PixmapEntry
2168             set_pixmap_subdir set_preview set_preview_size
2169              
2170             )], [qw (
2171              
2172             Gnome2::PopupMenu
2173             add_popup_items append_from attach_to do_popup
2174              
2175             )], [qw (
2176              
2177             Gnome2::Print::Config
2178             dump
2179              
2180             )], [qw (
2181              
2182             Gnome2::Print::Dialog
2183             set_copies
2184              
2185             )], [qw (
2186              
2187             Gnome2::Print::FontPreview
2188             set_color set_font set_phrase
2189              
2190             )], [qw (
2191              
2192             Gnome2::Print::FontSelection
2193             set_font
2194              
2195             )], [qw (
2196              
2197             Gnome2::Print::GlyphList
2198             advance font glyph kerning letterspace moveto rmoveto text_dumb
2199              
2200             )], [qw (
2201              
2202             Gnome2::Print::UnitSelector
2203             add_adjustment set_bases remove_adjustment set_unit
2204              
2205             )], [qw (
2206              
2207             Gnome2::Rsvg::Handle
2208             set_dpi set_size_callback
2209              
2210             )], [qw (
2211              
2212             Gnome2::Scores
2213             set_color set_colors set_current_player set_def_color set_logo_label
2214             set_logo_label_title set_logo_pixmap set_logo_widget
2215              
2216             )], [qw (
2217              
2218             Gnome2::ThumbnailFactory
2219             create_failed_thumbnail save_thumbnail
2220              
2221             )], [qw (
2222              
2223             Gnome2::VFS::Application
2224             add_mime_type set_bool_value clear_mime_types remove_application
2225             remove_mime_type unset_key set_value
2226              
2227             )], [qw (
2228              
2229             Gnome2::VFS::Async::Handle
2230             cancel close read write
2231              
2232             )], [qw (
2233              
2234             Gnome2::VFS::Mime::Application
2235             save
2236              
2237             )], [qw (
2238              
2239             Gnome2::VFS::URI
2240             set_host_name set_host_port set_password set_user_name
2241              
2242             )], [qw (
2243              
2244             Gnome2::Vte::Terminal
2245             set_allow_bold set_audible_bellā set_background_image_file
2246             set_background_image set_background_saturation set_background_tint_color
2247             set_background_transparent set_backspace_binding set_color_background
2248             set_color_bold set_color_dim set_color_foreground set_colors copy_clipboard
2249             copy_primary set_cursor_blinks set_default_colors set_delete_binding
2250             set_emulation set_encoding feed feed_child set_font_from_string set_font
2251             im_append_menuitems match_clear_all match_remove match_set_cursor
2252             match_set_cursor_type set_mouse_autohide paste_clipboard paste_primary
2253             reset set_scroll_background set_scroll_on_keystroke set_scroll_on_output
2254             set_scrollback_lines set_size set_visible_bell set_word_chars
2255              
2256             )], [qw (
2257              
2258             Gnome2::Window
2259             toplevel_set_title
2260              
2261             )], [qw (
2262              
2263             Gnome2::Wnck::Pager
2264             set_n_rows set_orientation set_screen set_shadow_type set_show_all
2265              
2266             )], [qw (
2267              
2268             Gnome2::Wnck::Screen
2269             change_workspace_count force_update move_viewport release_workspace_layout
2270             toggle_showing_desktop
2271              
2272             )], [qw (
2273              
2274             Gnome2::Wnck::Tasklist
2275             set_grouping_limit set_icon_loader set_include_all_workspaces
2276             set_minimum_height set_minimum_width set_screen
2277             set_switch_workspace_on_unminimize
2278              
2279             )], [qw (
2280              
2281             Gnome2::Wnck::Window
2282             activate activate activate_transient activate_transient close close
2283             set_icon_geometry keyboard_move keyboard_size maximize
2284             maximize_horizontally maximize_vertically minimize move_to_workspace pin
2285             shade set_skip_pager set_skip_tasklist stick unmaximize
2286             unmaximize_horizontally unmaximize_vertically unminimize unminimize unpin
2287             unshade unstick
2288              
2289             )], [qw (
2290              
2291             Gnome2::Wnck::Workspace
2292             activate activate change_name
2293              
2294             )],
2295             )
2296             );
2297              
2298             #private functions
2299             sub _is_installed { (my $mod = "$_[0].pm" ) =~ s!::!/!g; -e "$_/$mod" && return 1 for @INC }
2300             sub _member { my $e = shift; foreach (@_) { $e eq $_ and return 1 } 0 }
2301             sub _add2hash_ { my ($a, $b) = @_; while (my ($k, $v) = each %{$b || {}}) { exists $a->{$k} or $a->{$k} = $v } $a }
2302             # prototype is needed for things like: _if_(/foo/, bar => 'boo')
2303             sub _if_($@) {
2304             my $b = shift;
2305             $b or return ();
2306             wantarray || @_ <= 1 or die("_if_ called in scalar context with more than one argument " . join(":", caller()));
2307             wantarray ? @_ : $_[0];
2308             }
2309              
2310             1;
2311              
2312             =head1 EXAMPLE
2313              
2314             my $w = create_window()
2315             ->signal_connect_(destroy => sub { Gtk2->main_quit })
2316             ->set_size_request_(600, 450)
2317             ->set_border_width_(5)
2318             ->add_(Gtk2::VBox->new(0,5)
2319             ->gtkpack_(0, new Gtk2::HBox(0, 0)
2320             ->gtkpack_(1, my $darea = Gtk2::DrawingArea->new()
2321             ->signal_connect_(expose_event => \&draw_banner),
2322             0, new Gtk2::VBox(0, 0)
2323             ->gtkpack_(1, '', 0, $arrow_button)
2324             ),
2325             1, Gtk2::HPaned->new()
2326             ->pack1_(new Gtk2::VBox(0, 5)
2327             ->gtkpack_(0, new Gtk2::HBox(0, 5)
2328             ->gtkpack_(0, my $search_entry = Gtk2::Entry->new(),
2329             0, my $search_ok = Gtk2::Button->new('search'),
2330             0, my $search_label = Gtk2::Label->new(),
2331             ),
2332             1, $slist->create_scrolled_window()
2333             ), 1, 0
2334             )
2335             ->pack2_($hpan2 = new Gtk2::VBox(0, 5)
2336             ->gtkpack_(0, Gtk2::HBox->new(0, 5)
2337             ->gtkpack_(0, 'flag name :',
2338             1, my $flag_name = Gtk2::Entry->new()
2339             ),
2340             0, Gtk2::HBox->new(0, 5)
2341             ->gtkpack__(my $flag_M = Gtk2::CheckButton->new('')
2342             ->set_sensitive_(0),
2343             'set in make.defaults'),
2344             0, Gtk2::HBox->new(0, 5)
2345             ->gtkpack__(my $flag_U = Gtk2::CheckButton->new('')
2346             ->set_sensitive_(0),
2347             'set in use.defaults'),
2348             0, Gtk2::HBox->new(0, 5)
2349             ->gtkpack__(my $flag_C = Gtk2::CheckButton->new('')
2350             ->set_sensitive_(0),
2351             'set in make.conf'),
2352             0, Gtk2::Label->new('description :')
2353             ->set_alignment_(0, 0.5),
2354             1, Gtk2::Frame->new()
2355             ->set_shadow_type_('in')
2356             ->add_($flag_description)
2357             ),
2358             1, 0)->set_position_(400),
2359             0, Gtk2::HButtonBox->new()
2360             ->set_layout_('end')
2361             ->gtkpack(Gtk2::Button->new('Cancel')
2362             ->signal_connect_(clicked => sub { Gtk2->main_quit }),
2363             Gtk2::Button->new('OK')
2364             ->signal_connect_(clicked => sub { main_ok() })
2365             )
2366             )
2367             )
2368             ->show_all_();
2369             $darea->size(-1, 38);
2370              
2371             =head1 AUTHOR
2372              
2373             dams, C<< >>
2374              
2375             =head1 BUGS
2376              
2377             Please report any bugs or feature requests to
2378             C, or through the web interface at
2379             L.
2380             I will be notified, and then you'll automatically be notified of progress on
2381             your bug as I make changes.
2382              
2383             =head1 COPYRIGHT & LICENSE
2384              
2385             Copyright 2005-2009 dams, All Rights Reserved.
2386              
2387             This program is free software; you can redistribute it and/or modify it
2388             under the same terms as Perl itself.
2389              
2390             =cut