view release on metacpan or search on metacpan
lib/Gtk2/Ex/Dialogs.pm view on Meta::CPAN
# do some stuff like creating your app's main $window then,
# to ensure that all messages use the right parent, set it:
Gtk2::Ex::Dialogs->set_parent_window( $window );
# now popup a new dialog
my $r = ask Gtk2::Ex::Dialogs::Question ( "Is Perl only hacker's glue?" );
if ( $r ) {
# end-user thinks so
} else {
# end-user does not think so
}
# now popup a new dialog ( blocking the main loop if there is one )
new_and_run
Gtk2::Ex::Dialogs::Message ( title => "Dialog Title",
text => "This is a simple message" );
# now popup a new dialog ( blocking the main loop if there is one )
new_and_run
Gtk2::Ex::Dialogs::ErrorMsg ( "Simple error message." );
=head1 DESCRIPTION
view all matches for this distribution
view release on metacpan or search on metacpan
- Fixed the return value in the unit tests.
0.03 Sat Jan 3 17:37:46 CET 2009
- Fixed the paste with a middle click when the widget is empty.
- Fixed the right click popup menu when the widget is empty.
0.02 Fri Jan 2 22:08:00 CET 2009
- Can display a default value when the widget is empty.
view all matches for this distribution
view release on metacpan or search on metacpan
devel/Action.pm view on Meta::CPAN
=for stopwords
=head1 NAME
Gtk2::Ex::ErrorTextDialog::Action -- Gtk2::Action to popup the errors dialog
=for test_synopsis my ($actiongroup)
=head1 SYNOPSIS
devel/Action.pm view on Meta::CPAN
C<Gtk2::Ex::ErrorTextDialog::Action> invokes either C<back> or C<forward> on
a given C<Gtk2::Ex::ErrorTextDialog>. The "stock" icon and tooltip follow
the direction. The action is insensitive when the history is empty.
When the action is used on a toolbar button a mouse button-3 handler is
added to popup C<Gtk2::Ex::ErrorTextDialog::Menu>.
If you're not using UIManager and its actions system then see
L<Gtk2::Ex::ErrorTextDialog::Button> for similar button-3 behaviour.
There's no accelerator keys offered as yet. "B" and "F" would be natural,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/FormFactory/Layout.pm view on Meta::CPAN
$list->set_gtk_widget($slist);
1;
}
sub build_popup {
my $self = shift;
my ($popup) = @_;
my $gtk_popup_menu = Gtk2::Menu->new;
my $gtk_popup = Gtk2::OptionMenu->new;
$gtk_popup->set_menu($gtk_popup_menu);
$popup->set_gtk_widget ( $gtk_popup );
1;
}
sub build_progress_bar {
lib/Gtk2/Ex/FormFactory/Layout.pm view on Meta::CPAN
This way you can adjust layout at a very detailed level, but
you need not. E.g. the implementation of these methods is
most likely the same:
add_entry_to_form ( ... )
add_popup_to_form ( ... )
because the implemenation mainly depends on the B<form>
(the container widget) and not on the widget which is added to
the form.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/Geo/Overlay.pm view on Meta::CPAN
$item->signal_connect(activate => $self->{menu}->[$i+1], $self);
}
$item->show;
$menu->append ($item);
}
$menu->popup(undef, undef, undef, undef, $event->button, $event->time);
$handled = 1;
} elsif ($event->button == 1) {
push @{$self->{path}}, [$event->x, $event->y];
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/Graph/GD.pm view on Meta::CPAN
$hotspot = $self->_check_lines_hotspot($x,$y);
}
&{ $self->{signals}->{'clicked'} } ($hotspot)
if $self->{signals}->{'clicked'} && $hotspot;
return FALSE unless $event->button == 3;
$self->{optionsmenu}->popup(
undef, # parent menu shell
undef, # parent menu item
undef, # menu pos func
undef, # data
$event->button,
lib/Gtk2/Ex/Graph/GD.pm view on Meta::CPAN
}
sub _init_tooltip {
my ($self) = @_;
my $tooltip_label = Gtk2::Label->new;
my $tooltip = Gtk2::Window->new('popup');
$tooltip->set_decorated(0);
$tooltip->set_position('mouse'); # We'll choose this to start with.
$tooltip->modify_bg ('normal', Gtk2::Gdk::Color->parse('yellow')); # The obligatory yellow
$tooltip->add($tooltip_label);
$self->{tooltip}->{window} = $tooltip;
lib/Gtk2/Ex/Graph/GD.pm view on Meta::CPAN
$eventbox->signal_connect ('button-press-event' =>
sub {
my ($widget, $event) = @_;
return TRUE;
return FALSE unless $event->button == 3;
$self->{optionsmenu}->popup(
undef, # parent menu shell
undef, # parent menu item
undef, # menu pos func
undef, # data
$event->button,
view all matches for this distribution
view release on metacpan or search on metacpan
devel/run.pl view on Meta::CPAN
my $button = Gtk2::Button->new ('Menu');
$vbox->pack_start ($button, 0,0,0);
$button->signal_connect
(clicked => sub {
require Gtk2::Ex::History::Menu;
my $menu = Gtk2::Ex::History::Menu->new_popup (history => $history);
});
}
{
my $button = Gtk2::Button->new ('Dialog');
$vbox->pack_start ($button, 0,0,0);
$button->signal_connect
(clicked => sub {
require Gtk2::Ex::History::Dialog;
my $menu = Gtk2::Ex::History::Dialog->popup ($history);
});
}
# Gtk2::Ex::History::Dialog->popup ($history);
# my $recent = Gtk2::RecentChooserDialog->new ('Recently', undef);
# $recent->show;
$toplevel->show_all;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/ICal/Recur.pm view on Meta::CPAN
my $removebutton = Gtk2::Button->new_from_stock('gtk-remove');
$addbutton->signal_connect('button-release-event' =>
sub {
my ($self, $event) = @_;
my $cal = Gtk2::Calendar->new;
my $calwindow = Gtk2::Window->new('popup');
my $vbox = Gtk2::VBox->new;
my $ok = Gtk2::Button->new_from_stock('gtk-ok');
my $cancel= Gtk2::Button->new_from_stock('gtk-cancel');
$ok->signal_connect('clicked' =>
sub {
view all matches for this distribution
view release on metacpan or search on metacpan
devel/cellview.pl view on Meta::CPAN
$model->reorder (undef, $end, 0 .. $end-1); # rotate
});
$left_vbox->pack_start ($button, 0,0,0);
}
$menu->popup (undef, undef, undef, undef, 0, 0);
$toplevel->show_all;
Gtk2->main;
exit 0;
view all matches for this distribution
view release on metacpan or search on metacpan
examples/number-range-popup.pl view on Meta::CPAN
}
);
my $label = Gtk2::Label->new('Click-Here');
my $labelbox = _add_button_press($label);
my $popup = $numberrange->attach_popup_to($label);
$labelbox->signal_connect('button-press-event' =>
sub {
$popup->show;
return TRUE; # Very Important...
# If you don't return true, then the popup will get closed
}
);
my $window = Gtk2::Window->new;
$window->signal_connect('destroy' => sub { Gtk2->main_quit });
my $hbox = Gtk2::HBox->new (FALSE);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/SearchBox.pm view on Meta::CPAN
}
my $str = join ' or ', @condition;
return $str;
}
sub attach_popup_to {
my ($self, $parent) = @_;
my $popupwindow = Gtk2::Ex::PopupWindow->new($parent);
$popupwindow->set_move_with_parent(TRUE);
my $frame = Gtk2::Frame->new;
$frame->add($self->{widget});
$self->{popup} = $popupwindow;
$popupwindow->{window}->add($frame);
return $popupwindow;
}
sub _create_widget {
my ($self) = @_;
lib/Gtk2/Ex/SearchBox.pm view on Meta::CPAN
$model = [
{'operator' => 'contains', 'field' => 'this pattern'},
{'operator' => 'equals', 'field' => 'that exact pattern'},
]
=head2 attach_popup_to($parent);
This method returns a C<Gtk2::Ex::PopupWindow>. The popup window will contain
a C<Gtk2::Ex::SearchBox> widget.
=head2 to_sql_condition($datefieldname, $model);
Converts the C<$model> into an SQL condition so that it can be used directly in
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/Spinner/CellRenderer.pm view on Meta::CPAN
C<Gtk2::Ex::Spinner::CellRenderer> is based on a great L<Gtk2::Ex::DateSpinner::CellRenderer>, so
in most cases documentation is the same. License is (of course) the same too :-).
C<Spinner::CellRenderer> displays an integer as a
text field. Editing the field presents both a C<Gtk2::Entry> and a popup
C<Gtk2::Ex::Spinner>.
+------------+
| 99 |
+------------+
lib/Gtk2/Ex/Spinner/CellRenderer.pm view on Meta::CPAN
| +-----+ +----+ +------+ |
| | 99 |^ | Ok | |Cancel| |
| +-----+v +----+ +------+ |
+------------------------------+
The popup allows mouse clicks or arrow keys to increment or decrement the
value. This is good if you often just want to bump a value up or
down a bit.
=head2 Details
lib/Gtk2/Ex/Spinner/CellRenderer.pm view on Meta::CPAN
=back
=head1 OTHER NOTES
As with the plain CellRendererText, Spinner::CellRenderer creates a new
editable widget for every edit, including a new popup window every time.
Both are destroyed when accepted or cancelled. That's a little wasteful,
but it's usually fast enough for casual editing and it might save some
memory in between.
The code for the popup and entry is in the
C<Gtk2::Ex::Spinner::PopupForEntry> and
C<Gtk2::Ex::Spinner::EntryWithCancel> components. They're not loaded
until the first edit. They're only meant for internal use as yet.
=head1 SEE ALSO
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/Splash.pm view on Meta::CPAN
Glib::G_PARAM_READWRITE),
];
sub new {
my $class = shift;
return $class->SUPER::new (type => 'popup', @_);
}
my %instances;
sub INIT_INSTANCE {
view all matches for this distribution
view release on metacpan or search on metacpan
devel/Pause-backup.pm view on Meta::CPAN
A C<Gtk2::Ex::TickerView::Pause> object suppresses the timer scrolling in a
given C<Gtk2::Ex::TickerView> widget. When all Pause objects on that widget
are destroyed it resumes normal operation.
This kind of pause is used by the builtin mouse drag feature and is offered
for other similar uses. For example you might want to pause during a popup
menu if it relates to an item current showing.
The C<run> property in the TickerView is a separate setting. Usually it's
the one you want for an overall user stop/go control. A Pause is intended
as a temporary stop for some reason, without losing the overall C<run>
view all matches for this distribution
view release on metacpan or search on metacpan
examples/demo-treemap.pl view on Meta::CPAN
use Gtk2::Ex::TreeMap;
# This is our little tooltip window.
my $tooltip_label = Gtk2::Label->new;
my $tooltip = Gtk2::Window->new('popup');
$tooltip->set_decorated(0);
$tooltip->set_position('mouse'); # We'll choose this to start with.
$tooltip->add($tooltip_label);
my $tooltip_displayed = FALSE;
examples/demo-treemap.pl view on Meta::CPAN
my $tree = XMLin($xmlstr, ForceArray => 1);
my $treemap = Gtk2::Ex::TreeMap->new([600,400]);
my $current_chosen_path = [];
$treemap->signal_connect('mouse-over', \&show_popup);
$treemap->draw_map($tree);
my $window = Gtk2::Window->new;
$window->signal_connect(destroy => sub { Gtk2->main_quit; });
$window->add($treemap->get_image);
$window->show_all;
Gtk2->main;
sub show_popup {
my ($x, $y, $path, $node) = @_;
my $str1 = join ':', @$current_chosen_path;
my $str2 = join ':', @$path;
if ($str1 ne $str2) { # Path has changed
@$current_chosen_path = @$path;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/VolumeButton.pm view on Meta::CPAN
[qw( readable writable )]
),
Glib::ParamSpec->string(
'position',
'Position',
'Position of the popup window',
'bottom',
[qw( readable writable )]
),
Glib::ParamSpec->boolean(
'muted',
lib/Gtk2/Ex/VolumeButton.pm view on Meta::CPAN
$self->update_image($vol);
$self->signal_emit( 'volume_changed', $vol );
}
sub popup_button_press_event_cb {
my( undef, undef, $self ) = @_;
if( $self->{popup} ) {
$self->hide_scale();
return TRUE;
}
return FALSE;
}
sub show_scale {
my $self = shift;
$self->{popup} = Gtk2::Window->new('popup');
$self->{popup}->set_screen( $self->get_screen );
$self->{revert_volume} = $self->{volume};
my $frame = Gtk2::Frame->new();
$frame->set_border_width(0);
$frame->set_shadow_type('out');
$frame->show();
$self->{popup}->add($frame);
my $box = Gtk2::VBox->new( FALSE, 0 );
$box->show();
$frame->add($box);
lib/Gtk2/Ex/VolumeButton.pm view on Meta::CPAN
$self->{scale}->set_draw_value(FALSE);
$self->{scale}->set_update_policy('continuous');
$self->{scale}->set_inverted(TRUE);
$self->{scale}->show();
$self->{popup}->signal_connect( 'button_press_event',
\&popup_button_press_event_cb, $self);
$self->{scale}->signal_connect( 'key_press_event', \&scale_key_press_cb,
$self );
$self->{scale}->signal_connect( 'value_changed', \&scale_value_changed_cb,
$self );
lib/Gtk2/Ex/VolumeButton.pm view on Meta::CPAN
$label->show();
$box->pack_end( $label, FALSE, TRUE, 0 );
$box->pack_start( $self->{scale}, TRUE, TRUE, 0 );
my $req = $self->{popup}->size_request();
my($x, $y) = $self->window->get_origin();
my $alloc = $self->allocation();
$req->width( _MAX($req->width, $alloc->width) );
$self->{scale}->set_size_request( -1, 100 );
$self->{popup}->set_size_request( $req->width, -1 );
$x += $alloc->x;
if( $self->{position} eq 'bottom' ) {
$y += $alloc->y + $alloc->height;
} else {
$y -= ($self->{popup}->get_size())[1];
}
$x = _MAX( 0, $x );
$y = _MAX( 0, $y );
$self->{popup}->move($x, $y);
$self->{popup}->show();
$self->{popup}->grab_focus();
Gtk2->grab_add( $self->{popup} );
my $grabbed = Gtk2::Gdk->pointer_grab(
$self->{popup}->window, TRUE,
[qw( button-press-mask button-release-mask pointer-motion-mask )],
undef, undef, Gtk2->get_current_event_time() );
if( $grabbed eq 'success' ) {
$grabbed = Gtk2::Gdk->keyboard_grab( $self->{popup}->window, TRUE,
Gtk2->get_current_event_time() );
$grabbed = 'success';
unless( $grabbed eq 'success' ) {
Gtk2->grab_remove( $self->{popup} );
$self->{popup}->destroy();
}
} else {
Gtk2->grab_remove( $self->{popup} );
$self->{popup}->destroy();
}
}
sub hide_scale {
my $self = shift;
if( $self->{popup} ) {
Gtk2->grab_remove( $self->{popup} );
Gtk2::Gdk->pointer_ungrab( Gtk2->get_current_event_time() );
Gtk2::Gdk->keyboard_ungrab( Gtk2->get_current_event_time() );
$self->{popup}->destroy();
}
if( $self->get_active() ) {
$self->set_active(FALSE);
}
lib/Gtk2/Ex/VolumeButton.pm view on Meta::CPAN
=head1 DESCRIPTION
Gtk2::Ex::VolumeButton is a simple Gtk2 widget based on Gtk2::ToggleButton to
control the volume and similar values. It consists of a Gtk2::ToggleButton
widget displaying an image representing the current volume. When the button is
clicked a popup window containing a Gtk2::VScale widget shows up and allows you
to change the widgets volume value. It's also possible to change the volume
using the scroll wheel over the toggle button even if the popup window isn't
shown.
This widget is modeled after the widgets use in gnome-panel, muine and
rhythmbox. Much code is stolen from the muine volume-button widget.
lib/Gtk2/Ex/VolumeButton.pm view on Meta::CPAN
Image to display when the volume is maximal
=item 'position' (string : readable / writable)
Position of the popup window relativ to the button
'top' and 'buttom' are supported
=item 'muted' (boolean : readable / writable)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
'deserialise' from this same data to easily allow content from one WYSIWYG to
be transfered to another - the more efficient of these is the text/tag stack,
however the HTML form can be more easily stored.
An undo/redo stack is also included, as well as a modification to the text
view's popup menu to allow the user to set the wrap mode with ease.
It should be noted that WYSIWYG emulates paragraphs by using \n\s*\n as a
paragraph separator. The leading newline in the sequence will belong to the
leading paragraph, and the rest to 'interparagraph space'. This has some
implications - interparagraph space honours vertical space (ie, extra newlines
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
my $self = shift;
return if defined $TOOLTIPS;
$TOOLTIPS = Gtk2::Tooltips->new; # Class wide. Would be nice if there was a
# way of determining if a tooltip widget
# was already created and use that
$TT = Gtk2::Window->new('popup'); # The 'fake' link tooltip window
$TT_L = Gtk2::Label->new;
$TT_L->set_padding(4, 4);
$TT->set_resizable(0);
$TT->set_decorated(0);
$TT->set_position('mouse'); # We modify this on popup
# Would be good to get the current theme colour - on ubuntu this works, but
# using blackbox on freebsd results in a colour that is 'too yellow'
$TT->modify_bg('normal',
Gtk2::Gdk::Color->new(245 << 8, 245 << 8, 181 << 8));
my $frame = Gtk2::Frame->new;
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
$self->{Cursor}{Link} = Gtk2::Gdk::Cursor->new('hand2');
$self->{Text}->signal_connect(motion_notify_event =>
sub {$self->_on_motion_notify(@_)});
$self->{Text}->signal_connect('focus-out-event' =>
sub {$self->_on_unfocus_text});
$self->{Text}->signal_connect('populate-popup',
sub {$self->_on_popup(@_)});
}
##########
# _init_font_list - examines the pango context and sets available fonts,
# the default font and the default size
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
if $self->_is_my_tag($tag);
return 0;
}
##########
# _on_popup - modify the default popup window to include a Wrap menu
##########
sub _on_popup {
my $self = shift;
my ($txt, $menu) = @_;
my $currmode = $txt->get_wrap_mode;
my $mt = Gtk2::MenuItem->new('Wrap');
my $sub = Gtk2::Menu->new;
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
$menu->append($item);
}
$sel = 0 if not defined $sel;
$menu->set_active($sel);
# Popup the menu
$menu->popup(undef, undef, undef, undef, $self, undef);
$menu->popup(undef, undef, '_menu_pos', $self, $self, undef);
my ($mx, $my) = $menu->get_size_request;
my ($bx, $by) = $self->get_size_request;
$menu->set_size_request($bx, -1) if $mx < $bx;
my $active = $menu->get_active;
($active) = $menu->get_children if not defined $active;
view all matches for this distribution
view release on metacpan or search on metacpan
devel/menu-popup.pl view on Meta::CPAN
print "$progname: e cur ", Gtk2->get_current_event, "\n";
print "$progname: event screen ", $event->window->get_screen, "\n";
print "$progname: e cur screen ", Gtk2->get_current_event->window->get_screen, "\n";
print "$progname: parent ", $menu->parent, "\n";
# $menu->set_screen ($s);
$menu->popup (undef, undef,
\&my_position, $toplevel,
$event->button, $event->time);
print "$progname: pmenu screen ", $menu->get_screen, "\n";
# Glib::Timeout->add (2000, # milliseconds
devel/menu-popup.pl view on Meta::CPAN
print "$progname: iconify\n";
$toplevel->iconify;
Glib::Timeout->add
(1000, # milliseconds
sub {
print "$progname: popup\n";
$menu->popup (undef, undef,
\&my_position, $toplevel,
0, 0);
});
devel/menu-popup.pl view on Meta::CPAN
}
$toplevel->show_all;
print "$progname: toplevel screen ", $toplevel->get_screen, "\n";
# $menu->popup (undef, undef,
# # \&Gtk2::Ex::MenuBits::position_screen_centre, undef,
# \&Gtk2::Ex::MenuBits::position_widget_topcentre, $toplevel,
# # undef, undef,
# 1, 0);
view all matches for this distribution
view release on metacpan or search on metacpan
devel/combo.pl view on Meta::CPAN
# You should have received a copy of the GNU General Public License along
# with Gtk2-Ex-WidgetCursor. If not, see <http://www.gnu.org/licenses/>.
# Some experimenting with Gtk2::Combo. The main thing to do is press "busy
# shortly" and then quickly open the combo popup to see the watch cursor is
# put on there.
use strict;
use warnings;
devel/combo.pl view on Meta::CPAN
print "list_toplevels\n";
foreach my $top (Gtk2::Window->list_toplevels) {
print " $top ",$top->get_name,"\n";
if ($top->get_name eq 'gtk-combo-popup-window') {
foreach my $child ($top->get_children) {
print " $child ",$child->get_name,"\n";
}
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
examples/clipboard.glade view on Meta::CPAN
<property name="can_focus">True</property>
<property name="show_tabs">True</property>
<property name="show_border">True</property>
<property name="tab_pos">GTK_POS_TOP</property>
<property name="scrollable">False</property>
<property name="enable_popup">False</property>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
view all matches for this distribution
view release on metacpan or search on metacpan
ImageNav.xs view on Meta::CPAN
=for object Gtk2::ImageView::Nav Navigation window showing a thumbnailed overview of a Gtk2::ImageView.
=head1 DESCRIPTION
Gtk2::ImageView::Nav is a popup window that shows a downscaled preview of the
pixbuf that Gtk2::ImageView is showing. The user can drag around a rectangle
which indicates the current view of the image.
This class is used by Gtk2::ImageView::ScrollWin itself. It is probably not very
useful for clients of this library.
view all matches for this distribution
view release on metacpan or search on metacpan
'init_interactive_filter' => 'smith',
'single_selection' => 1,
'interactive_filter_type' => 'simple'
);
$entryPopup->signal_connect (response => sub {
my ($popup, $response) = @_;
if($response =~ 'accept') {
print "Selected entry DN: ".$entryPopup->get_dn;
} else {
print "No existing entry selected.\n";
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk3/Ex/DBI/Datasheet.pm view on Meta::CPAN
use constant y_padding => 3;
use constant arrow_width => 15;
use constant arrow_height => 15;
sub hide_popup {
my ( $cell ) = @_;
Gtk3->grab_remove( $cell->{ _popup } );
$cell->{ _popup }->hide();
}
sub get_today {
lib/Gtk3/Ex/DBI/Datasheet.pm view on Meta::CPAN
sub INIT_INSTANCE {
my ( $cell ) = @_;
my $popup = Gtk3::Window->new ('popup');
my $vbox = Gtk3::VBox->new( 0, 0 );
my $calendar = Gtk3::Calendar->new();
#$calendar->modify_font( Gtk3::Pango::FontDescription->from_string( "Arial " . $cell->get( "font" ) ) );
lib/Gtk3/Ex/DBI/Datasheet.pm view on Meta::CPAN
# Find out if the click happended outside of our window. If so, hide it.
# Largely copied from Planner (the former MrProject).
# Implement via Gtk3::get_event_widget?
$popup->signal_connect( button_press_event => sub {
my ( $popup, $event ) = @_;
if ( $event->button() == 1 ) {
my ( $x, $y ) = ( $event->x_root(), $event->y_root() );
my ( $xoffset, $yoffset ) = $popup->window()->get_root_origin();
my $allocation = $popup->allocation();
my $x1 = $xoffset + 2 * $allocation->x();
my $y1 = $yoffset + 2 * $allocation->y();
my $x2 = $x1 + $allocation->width();
my $y2 = $y1 + $allocation->height();
unless ( $x > $x1 && $x < $x2 && $y > $y1 && $y < $y2 ) {
$cell->hide_popup();
return 1;
}
}
return 0;
} );
$popup->add( $vbox );
$cell->{ _popup } = $popup;
$cell->{ _calendar } = $calendar;
}
sub START_EDITING {
my ( $cell, $event, $view, $path, $background_area, $cell_area, $flags ) = @_;
my $popup = $cell -> { _popup };
my $calendar = $cell->{ _calendar };
# Specify the callbacks. Will be called by the signal handlers set up in
# INIT_INSTANCE.
$cell->{ _today_clicked_callback } = sub {
my ($button) = @_;
my ($year, $month, $day) = $cell -> get_today();
$cell->signal_emit( edited=>$path, join( "-", $cell->add_padding( $year, $month, $day ) ) );
$cell->hide_popup();
};
$cell->{ _none_clicked_callback } = sub {
my ( $button ) = @_;
$cell->signal_emit( edited=>$path, "" );
$cell->hide_popup();
};
$cell->{ _day_selected_double_click_callback } = sub {
my ( $calendar ) = @_;
my ( $year, $month, $day ) = $calendar->get_date();
$cell->signal_emit( edited => $path, join( "-", $cell -> add_padding( $year, ++$month, $day ) ) );
$cell->hide_popup();
};
$cell->{ _month_changed } = sub {
lib/Gtk3/Ex/DBI/Datasheet.pm view on Meta::CPAN
my ( $year, $month, $day ) = $cell->get_date();
$calendar->select_month( $month - 1, $year );
$calendar->select_day( $day );
# Necessary to get the correct allocation of the popup.
$popup->move( -500, -500 );
$popup->show_all();
# Figure out where to put the popup - ie don't put it offscreen,
# as it's not movable ( by the user )
my $screen_height = $popup->get_screen->get_height;
my $requisition = $popup->size_request();
my $popup_width = $requisition->width;
my $popup_height = $requisition->height;
my ( $x_origin, $y_origin ) = $view->get_bin_window()->get_origin();
my ( $popup_x, $popup_y );
$popup_x = $x_origin + $cell_area->{x} + $cell_area->{width} - $popup_width;
$popup_x = 0 if $popup_x < 0;
$popup_y = $y_origin + $cell_area->{y} + $cell_area->{height};
if ( $popup_y + $popup_height > $screen_height ) {
$popup_y = $y_origin + $cell_area->{y} - $popup_height;
}
$popup->move( $popup_x, $popup_y );
# Grab the focus and the pointer.
#Gtk3->grab_add( $popup );
$popup->grab_add;
$popup->grab_focus();
# Gtk3::Gdk::pointer_grab(
# $popup,
# 1,
# [ qw( button-press-mask button-release-mask pointer-motion-mask ) ],
# undef,
# undef,
# 0
lib/Gtk3/Ex/DBI/Datasheet.pm view on Meta::CPAN
#use constant y_padding => 3;
#
#use constant arrow_width => 15;
#use constant arrow_height => 15;
#
#sub hide_popup {
#
# my $cell = shift;
#
# Gtk3->grab_remove( $cell->{ _popup } );
# $cell->{ _popup }->hide();
#
#}
#
#sub get_time {
#
lib/Gtk3/Ex/DBI/Datasheet.pm view on Meta::CPAN
#
#sub INIT_INSTANCE {
#
# my $cell = shift;
#
# my $popup = Gtk3::Window->new( 'popup' );
# my $vbox = Gtk3::VBox->new( 0, 0 );
#
# my $h_spinbutton = Gtk3::SpinButton -> new_with_range( 0, 23, 1 );
# my $m_spinbutton = Gtk3::SpinButton -> new_with_range( 0, 59, 1 );
# my $s_spinbutton = Gtk3::SpinButton -> new_with_range( 0, 59, 1 );
lib/Gtk3/Ex/DBI/Datasheet.pm view on Meta::CPAN
#
# # Find out if the click happended outside of our window. If so, hide it.
# # Largely copied from Planner (the former MrProject).
#
# # Implement via Gtk3::get_event_widget?
# $popup -> signal_connect( button_press_event => sub {
# my ( $popup, $event ) = @_;
# if ( $event->button() == 1 ) {
# my ( $x, $y ) = ( $event->x_root, $event->y_root );
# my ( $xoffset, $yoffset ) = $popup->window->get_root_origin;
# my $allocation = $popup->allocation;
# my $x1 = $xoffset + 2 * $allocation->x;
# my $y1 = $yoffset + 2 * $allocation->y;
# my $x2 = $x1 + $allocation->width;
# my $y2 = $y1 + $allocation->height;
# unless ( $x > $x1 && $x < $x2 && $y > $y1 && $y < $y2 ) {
# $cell->hide_popup;
# return 1;
# }
# }
# return 0;
# } );
#
# $popup->add( $vbox );
#
# $cell->{ _popup } = $popup;
# $cell->{ _h_spinbutton } = $h_spinbutton;
# $cell->{ _m_spinbutton } = $m_spinbutton;
# $cell->{ _s_spinbutton } = $s_spinbutton;
#
#}
#
#sub START_EDITING {
#
# my ( $cell, $event, $view, $path, $background_area, $cell_area, $flags ) = @_;
#
# my $popup = $cell->{ _popup };
# my $h_spinbutton = $cell->{ _h_spinbutton };
# my $m_spinbutton = $cell->{ _m_spinbutton };
# my $s_spinbutton = $cell->{ _s_spinbutton };
#
# my ( $h, $m, $s ) = $cell->get_time;
lib/Gtk3/Ex/DBI/Datasheet.pm view on Meta::CPAN
# $cell->signal_emit(
# edited => $path,
# join( ":", $cell -> add_padding( $h, $m, $s ) )
# );
#
# $cell->hide_popup;
#
# };
#
# # Necessary to get the correct allocation of the popup.
# $popup->move( -500, -500 );
# $popup->show_all;
#
# # Figure out where to put the popup - ie don't put it offscreen,
# # as it's not movable ( by the user )
# my $screen_height = $popup->get_screen->get_height;
# my $requisition = $popup->size_request;
# my $popup_width = $requisition->width;
# my $popup_height = $requisition->height;
# my ( $x_origin, $y_origin ) = $view->get_bin_window->get_origin;
# my ( $popup_x, $popup_y );
#
# $popup_x = $x_origin + $cell_area->{x} + $cell_area->{width} - $popup_width;
# $popup_x = 0 if $popup_x < 0;
#
# $popup_y = $y_origin + $cell_area->{y} + $cell_area->{height};
#
# if ( $popup_y + $popup_height > $screen_height ) {
# $popup_y = $y_origin + $cell_area->{y} - $popup_height;
# }
#
# $popup -> move( $popup_x, $popup_y );
#
# # Grab the focus and the pointer.
# Gtk3->grab_add( $popup );
# $popup->grab_focus;
#
# Gtk3::Gdk->pointer_grab(
# $popup->window,
# 1,
# [ qw( button-press-mask button-release-mask pointer-motion-mask ) ],
# undef,
# undef,
# 0
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Gtk3.pm view on Meta::CPAN
sub Gtk3::ListStore::set {
return _common_tree_model_set ('ListStore', @_);
}
=item * C<Gtk3::Menu::popup> reroutes to C<popup_for_device> for better
callback handling.
=cut
sub Gtk3::Menu::popup {
my $self = shift;
$self->popup_for_device (undef, @_);
}
=item * C<Gtk3::Menu::popup_for_device> allows the given menu position func to
return only x and y coordinates, defaulting C<push_in> to FALSE.
=cut
sub Gtk3::Menu::popup_for_device {
my ($menu, $device, $parent_menu_shell, $parent_menu_item, $func, $data, $button, $activate_time) = @_;
my $real_func = $func ? sub {
my @stuff = eval { $func->(@_) };
if ($@) {
warn "*** menu position callback ignoring error: $@";
lib/Gtk3.pm view on Meta::CPAN
"(x, y) or two integers and a boolean (x, y, push_in)";
return (0, 0, Glib::FALSE);
}
} : undef;
return Glib::Object::Introspection->invoke (
$_GTK_BASENAME, 'Menu', 'popup_for_device',
$menu, $device, $parent_menu_shell, $parent_menu_item, $real_func, $data, $button, $activate_time);
}
=item * The default C<new> constructor of Gtk3::MenuItem reroutes to
C<new_with_mnemonic> if given an extra argument.
lib/Gtk3.pm view on Meta::CPAN
=item * Gtk3::Editable: Callbacks connected to the "insert-text" signal do not
have as many options anymore as they had in Gtk2. Changes to arguments will
not be propagated to the next signal handler, and only the updated position can
and must be returned.
=item * Gtk3::Menu: In gtk+ < 3.16, the position callback passed to popup()
does not receive x and y parameters.
=item * Gtk3::RadioAction: The constructor now follows the C API.
=item * Gtk3::TreeModel: iter_next() is now a method that is modifying the iter
view all matches for this distribution
view release on metacpan or search on metacpan
public/js/ui/jquery-ui-1.8.21.custom.min.js view on Meta::CPAN
* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
(function(a,b){a.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:!0,clearStyle:!1,collapsible:!1,event:"click",fillSpace:!1,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon...
* https://github.com/jquery/jquery-ui
* Includes: jquery.ui.autocomplete.js
* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocu...
* https://github.com/jquery/jquery-ui
* Includes: jquery.ui.button.js
* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
(function(a,b){var c,d,e,f,g="ui-button ui-widget ui-state-default ui-corner-all",h="ui-state-hover ui-state-active ",i="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button...
* https://github.com/jquery/jquery-ui
view all matches for this distribution
view release on metacpan or search on metacpan
t/resources/t-gone/index.html view on Meta::CPAN
rel="alternate" type="application/rss+xml" title="Tinnitus Treatment From T-Gone » Comments Feed" href="http://t-gone.org/comments/feed/" /><script type="text/javascript">/*<![CDATA[*/window._wpemojiSettings={"baseUrl":"https:\/\/s.w.org\/image...
.07em !important;vertical-align:-0.1em !important;background:none !important;padding:0
!important}</style><link
rel='stylesheet' id='wpcbcookiebar-css' href="http://t-gone.org/wp-content/plugins/complaincebar/include/css/jquery.cookiebar.css?189db0" type='text/css' media='all' /><link
rel='stylesheet' id='wpcbappdesign-css' href="http://t-gone.org/wp-content/plugins/complaincebar/include/css/appdesign.css?189db0" type='text/css' media='all' /><link
rel='stylesheet' id='custompopup-css' href="http://t-gone.org/wp-content/plugins/complaincebar/include/css/custompopup.css?189db0" type='text/css' media='all' /><link
rel='stylesheet' id='lovecraft_googleFonts-css' href='//fonts.googleapis.com/css?family=Lato%3A400%2C700%2C900%7CPlayfair+Display%3A400%2C700%2C400italic&ver=4.4.4' type='text/css' media='all' /><link
rel='stylesheet' id='lovecraft_genericons-css' href="http://t-gone.org/wp-content/themes/lovecraft/genericons/genericons.css?189db0" type='text/css' media='all' /><link
rel='stylesheet' id='lovecraft_style-css' href="http://t-gone.org/wp-content/themes/lovecraft/style.css?189db0" type='text/css' media='all' /> <script type="text/javascript">(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function()...
rel='https://api.w.org/' href='http://t-gone.org/wp-json/' /><link
rel="EditURI" type="application/rsd+xml" title="RSD" href="http://t-gone.org/xmlrpc.php?rsd" /><link
view all matches for this distribution
view release on metacpan or search on metacpan
CalendarMonthDB.pm view on Meta::CPAN
my $headercolor = $self->headercolor() || $self->bgcolor();
# Get today's date, in case there's a todaycolor()
my($todayyear,$todaymonth,$todaydate) = Date::Calc::Today();
# add javascript popup description code
$html .= $self->jscode();
@days = (1 .. Date::Calc::Days_in_Month($self->year(),$self->month() ) );
foreach (1 .. (Date::Calc::Day_of_Week($self->year(),$self->month(),1)%7) ) {
unshift(@days,0);
CalendarMonthDB.pm view on Meta::CPAN
$html .= "<tr><td width=\"2%\"><b>$thisday</b>";
# Add admin links if specified in function call
if ($addurl) {
my $calid = $self->calendarid();
my $mdate = $self->month().'_'.$thisday.'_'.$self->year();
$html .= "<br><font size=\"1\"><a href=\"#\" onclick=popup(\"$addurl?date=$mdate&calid=$calid&view=list\")>[Add]</a></font>";
}
if ($editurl) {
my $calid = $self->calendarid();
my $mdate = $self->month().'_'.$thisday.'_'.$self->year();
$html .= "<br><font size=\"1\"><a href=\"#\" onclick=popup(\"$editurl?date=$mdate&calid=$calid&view=list\")>[Edit]</a></font>";
}
$html .= "</td><td bgcolor=\"$thisbgcolor\" bordercolor=\"$thisbordercolor\" align=\"$cellalignment\"><font color=\"$thiscontentcolor\">$content</font></td></tr>\n";
}
}
}
CalendarMonthDB.pm view on Meta::CPAN
my $editurl = $self1->{'editurl'} if $self1->{'editurl'};
my $addurl = $self1->{'addurl'} if $self1->{'addurl'};
my $html = '';
my(@days,$weeks,$WEEK,$DAY);
# add javascript popup description code
$html .= $self->jscode();
# To make the grid even, pad the start of the series with 0s
@days = (1 .. Date::Calc::Days_in_Month($self->year(),$self->month() ) );
foreach (1 .. (Date::Calc::Day_of_Week($self->year(),$self->month(),1)%7) ) {
CalendarMonthDB.pm view on Meta::CPAN
# Add admin links if specified in function call
if ($addurl) {
my $calid = $self->calendarid();
my $mdate = $self->month().'_'.$thisday.'_'.$self->year();
$thiscontent .= " <font size=\"1\"><a href=\"#\" onclick=popup(\"$addurl?date=$mdate&calid=$calid&view=standard\")>[Add]</a></font>";
}
if ($editurl) {
my $calid = $self->calendarid();
my $mdate = $self->month().'_'.$thisday.'_'.$self->year();
$thiscontent .= " <font size=\"1\"><a href=\"#\" onclick=popup(\"$editurl?date=$mdate&calid=$calid&view=standard\")>[Edit]</a></font>";
}
$thiscontent .= "</p>\n";
}
# Content for this specific date
$thiscontent .= $self->getcontent($thisday);
CalendarMonthDB.pm view on Meta::CPAN
sub jscode {
my $self = shift;
my $jscode = '<div id="object1" style="position:absolute; visibility:show; left:350px; top:-50px; z-index:2">layer hidden off the screen</div><SCRIPT LANGUAGE="JavaScript">
<!-- Begin
window.onLoad=setupDescriptions();
function popup(url) {
window.open(url, "popup", "height=480,width=580,menubar=no,scrollbars=yes,status=no,toolbar=no,screenX=100,screenY=0,left=100,top=100");
}
function setupDescriptions() {
var x = navigator.appVersion;
y = x.substring(0,4);
if (y>=4) setVariables();
view all matches for this distribution
view release on metacpan or search on metacpan
t/testpages/cnn.html view on Meta::CPAN
if (host.indexOf('customnews') != -1) {
var url = 'http://customnews.cnn.com' + earl;
} else {
var url = earl;
}
popupWin = window.open (url,name,widgets);
popupWin.opener.top.name="opener";
popupWin.focus();
}
function closeWindow () {
parent.close ();
}
view all matches for this distribution
view release on metacpan or search on metacpan
share/html-3-strict.dtd view on Meta::CPAN
>
<!--======================== Footnotes ====================================-->
<!--
Typically rendered as popup note. These elements are referenced
by hypertext links specified with the anchor element.
-->
<!ELEMENT FN - - %body.content;>
<!ATTLIST FN %attrs;>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HTML/Dojo/editions.pm view on Meta::CPAN
}
}});
dojo.provide("dojo.widget.PopupContainer");
dojo.declare("dojo.widget.PopupContainerBase",null,function(){
this.queueOnAnimationFinish=[];
},{isShowingNow:false,currentSubpopup:null,beginZIndex:1000,parentPopup:null,parent:null,popupIndex:0,aroundBox:dojo.html.boxSizing.BORDER_BOX,openedForWindow:null,processKey:function(evt){
return false;
},applyPopupBasicStyle:function(){
with(this.domNode.style){
display="none";
position="absolute";
lib/HTML/Dojo/editions.pm view on Meta::CPAN
dojo.body().appendChild(this.domNode);
_96b=_96b||_96a["domNode"]||[];
var _971=null;
this.isTopLevel=true;
while(_96a){
if(_96a!==this&&(_96a.setOpenedSubpopup!=undefined&&_96a.applyPopupBasicStyle!=undefined)){
_971=_96a;
this.isTopLevel=false;
_971.setOpenedSubpopup(this);
break;
}
_96a=_96a.parent;
}
this.parentPopup=_971;
this.popupIndex=_971?_971.popupIndex+1:1;
if(this.isTopLevel){
var _972=dojo.html.isNode(_96b)?_96b:null;
dojo.widget.PopupManager.opened(this,_972);
}
if(this.isTopLevel&&!dojo.withGlobal(this.openedForWindow||dojo.global(),dojo.html.selection.isCollapsed)){
lib/HTML/Dojo/editions.pm view on Meta::CPAN
if(_96b instanceof Array){
_96b={left:_96b[0],top:_96b[1],width:0,height:0};
}
with(this.domNode.style){
display="";
zIndex=this.beginZIndex+this.popupIndex;
}
if(_96e){
this.move(node,_96d,_970);
}else{
this.move(x,y,_96d,_96c);
lib/HTML/Dojo/editions.pm view on Meta::CPAN
}
if(this.animationInProgress){
this.queueOnAnimationFinish.push(this.close,[]);
return;
}
this.closeSubpopup(_97a);
this.hide();
if(this.bgIframe){
this.bgIframe.hide();
this.bgIframe.size({left:0,top:0,width:0,height:0});
}
lib/HTML/Dojo/editions.pm view on Meta::CPAN
if(this.parentPopup){
this.parentPopup.closeAll(_97b);
}else{
this.close(_97b);
}
},setOpenedSubpopup:function(_97c){
this.currentSubpopup=_97c;
},closeSubpopup:function(_97d){
if(this.currentSubpopup==null){
return;
}
this.currentSubpopup.close(_97d);
this.currentSubpopup=null;
},onShow:function(){
dojo.widget.PopupContainer.superclass.onShow.apply(this,arguments);
this.openedSize={w:this.domNode.style.width,h:this.domNode.style.height};
if(dojo.render.html.ie){
if(!this.bgIframe){
lib/HTML/Dojo/editions.pm view on Meta::CPAN
var m=this.currentMenu;
while(m){
if(dojo.html.overElement(m.domNode,e)||dojo.html.isDescendantOf(e.target,m.domNode)){
return;
}
m=m.currentSubpopup;
}
if(this.currentButton&&dojo.html.overElement(this.currentButton,e)){
return;
}
this.currentMenu.closeAll(true);
view all matches for this distribution