summaryrefslogtreecommitdiffstats
path: root/perl-install/mygtk3.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/mygtk3.pm')
-rw-r--r--perl-install/mygtk3.pm128
1 files changed, 93 insertions, 35 deletions
diff --git a/perl-install/mygtk3.pm b/perl-install/mygtk3.pm
index d681badba..226427e58 100644
--- a/perl-install/mygtk3.pm
+++ b/perl-install/mygtk3.pm
@@ -13,6 +13,16 @@ use common;
use Gtk3;
+=head1 SYNOPSYS
+
+B<mygtk3> enables to write GUIes using Gtk+3 in a functional/logical way
+
+=head1 Functions
+
+=over
+
+=cut
+
sub init() {
!check_for_xserver() and print("Cannot be run in console mode.\n"), c::_exit(0);
$::one_message_has_been_translated and warn("N() was called from $::one_message_has_been_translated BEFORE gtk3 initialisation, replace it with a N_() AND a translate() later.\n"), c::_exit(1);
@@ -28,6 +38,13 @@ init() unless $::no_ugtk_init;
Gtk3->enable_exceptions if $::isInstall;
+=item gtknew($class, %opts)
+
+Creates & return a new widget. eg:
+
+ gtknew('Label', text => "Settings");
+
+=cut
sub gtknew {
my $class = shift;
@@ -1000,10 +1017,16 @@ sub _gtk__MagicWindow {
}, 'mygtk3::MagicWindow';
}
-# A standard About dialog. Used with:
-# my $w = gtknew('AboutDialog', ...);
-# $w->show_all;
-# $w->run;
+=item _gtk__AboutDialog($w, $opts)
+
+A standard About dialog. Used with:
+
+ my $w = gtknew('AboutDialog', ...);
+ $w->show_all;
+ $w->run;
+
+=cut
+
sub _gtk__AboutDialog {
my ($w, $opts) = @_;
@@ -1211,11 +1234,25 @@ sub _gtknew_handle_children {
}
}
-#- this magic function redirects method calls:
-#- * default is to redirect them to the {child}
-#- * if the {child} doesn't handle the method, we try with the {real_window}
-#- (eg : add_accel_group set_position set_default_size
-#- * a few methods are handled specially
+=item mygtk3::MagicWindow::AUTOLOAD($w, @args)
+
+this magic function redirects method calls:
+
+=over 4
+
+=item * default is to redirect them to the {child}
+
+=item *
+
+if the {child} doesn't handle the method, we try with the {real_window}c
+(eg : add_accel_group(), set_position(), set_default_size(), ...)
+
+=item * a few methods are handled specially
+
+=back
+
+=cut
+
my %for_real_window = map { $_ => 1 } qw(show_all size_request);
sub mygtk3::MagicWindow::AUTOLOAD {
my ($w, @args) = @_;
@@ -1340,32 +1377,49 @@ sub _find_imgfile {
}
}
-# _text_insert() can be used with any of choose one of theses styles:
-# - no tags:
-# _text_insert($textview, "My text..");
-# - anonymous tags:
-# _text_insert($textview, [ [ 'first text', { 'foreground' => 'blue', 'background' => 'green', ... } ],
-# [ 'second text' ],
-# [ 'third', { 'font' => 'Serif 15', ... } ],
-# ... ]);
-# - named tags:
-# $textview->{tags} = {
-# 'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... },
-# 'big_font' => { 'font' => 'Serif 35', ... },
-# }
-# _text_insert($textview, [ [ 'first text', 'blue_green' ],
-# [ 'second', 'big_font' ],
-# ... ]);
-# - mixed anonymous and named tags:
-# $textview->{tags} = {
-# 'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... },
-# 'big_font' => { 'font' => 'Serif 35', ... },
-# }
-# _text_insert($textview, [ [ 'first text', 'blue_green' ],
-# [ 'second text' ],
-# [ 'third', 'big_font' ],
-# [ 'fourth', { 'font' => 'Serif 15', ... } ],
-# ... ]);
+=item _text_insert($textview, $t, %opts)
+
+_text_insert() can be used with any of choose one of theses styles:
+
+=over 4
+
+=item * no tags:
+
+ _text_insert($textview, "My text..");
+
+=item * anonymous tags:
+
+ _text_insert($textview, [ [ 'first text', { 'foreground' => 'blue', 'background' => 'green', ... } ],
+ [ 'second text' ],
+ [ 'third', { 'font' => 'Serif 15', ... } ],
+ ... ]);
+
+=item * named tags:
+
+ $textview->{tags} = {
+ 'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... },
+ 'big_font' => { 'font' => 'Serif 35', ... },
+ }
+ _text_insert($textview, [ [ 'first text', 'blue_green' ],
+ [ 'second', 'big_font' ],
+ ... ]);
+
+=item * mixed anonymous and named tags:
+
+ $textview->{tags} = {
+ 'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... },
+ 'big_font' => { 'font' => 'Serif 35', ... },
+ }
+ _text_insert($textview, [ [ 'first text', 'blue_green' ],
+ [ 'second text' ],
+ [ 'third', 'big_font' ],
+ [ 'fourth', { 'font' => 'Serif 15', ... } ],
+ ... ]);
+
+=back
+
+=cut
+
sub _text_insert {
my ($textview, $t, %opts) = @_;
my $buffer = $textview->get_buffer;
@@ -1631,4 +1685,8 @@ sub move_selection {
$_->show foreach $w->{selection_bar}, $w->{selection_arrow};
}
+=back
+
+=cut
+
1;