Padre
view release on metacpan or search on metacpan
lib/Padre/Wx/Dialog/OpenResource.pm view on Meta::CPAN
# search textbox
my $search_label = Wx::StaticText->new(
$self,
-1,
Wx::gettext('&Select an item to open (? = any character, * = any string):')
);
$self->{search_text} = Wx::TextCtrl->new(
$self,
-1,
'',
Wx::DefaultPosition,
Wx::DefaultSize,
);
$self->{search_text}->SetToolTip( Wx::gettext('Enter parts of the resource name to find it') );
$self->{popup_button} = Wx::BitmapButton->new(
$self,
-1,
Padre::Wx::Icon::find("actions/go-down")
);
$self->{popup_button}->SetToolTip( Wx::gettext('Click on the arrow for filter settings') );
# matches result list
my $matches_label = Wx::StaticText->new(
$self,
-1,
Wx::gettext('&Matching Items:')
);
$self->{matches_list} = Wx::ListBox->new(
$self,
-1,
Wx::DefaultPosition,
Wx::DefaultSize,
[],
Wx::LB_EXTENDED,
);
$self->{matches_list}->SetToolTip( Wx::gettext('Select one or more resources to open') );
# Shows how many items are selected and information about what is selected
$self->{status_text} = Wx::TextCtrl->new(
$self,
-1,
Wx::gettext('Current Directory: ') . $self->{directory},
Wx::DefaultPosition,
Wx::DefaultSize,
Wx::TE_READONLY,
);
my $folder_image = Wx::StaticBitmap->new(
$self,
-1,
Padre::Wx::Icon::find("places/stock_folder")
);
$self->{copy_button} = Wx::BitmapButton->new(
$self,
-1,
Padre::Wx::Icon::find("actions/edit-copy"),
);
$self->{copy_button}->SetToolTip( Wx::gettext('Copy filename to clipboard') );
$self->{popup_menu} = Wx::Menu->new;
$self->{skip_vcs_files} = $self->{popup_menu}->AppendCheckItem(
-1,
Wx::gettext("Skip version control system files"),
);
$self->{skip_using_manifest_skip} = $self->{popup_menu}->AppendCheckItem(
-1,
Wx::gettext("Skip using MANIFEST.SKIP"),
);
$self->{skip_vcs_files}->Check(1);
$self->{skip_using_manifest_skip}->Check(1);
my $hb;
$self->{sizer}->AddSpacer(10);
$self->{sizer}->Add( $search_label, 0, Wx::ALL | Wx::EXPAND, 2 );
$hb = Wx::BoxSizer->new(Wx::HORIZONTAL);
$hb->AddSpacer(2);
$hb->Add( $self->{search_text}, 1, Wx::ALIGN_CENTER_VERTICAL, 2 );
$hb->Add( $self->{popup_button}, 0, Wx::ALL | Wx::EXPAND, 2 );
$hb->AddSpacer(1);
$self->{sizer}->Add( $hb, 0, Wx::BOTTOM | Wx::EXPAND, 5 );
$self->{sizer}->Add( $matches_label, 0, Wx::ALL | Wx::EXPAND, 2 );
$self->{sizer}->Add( $self->{matches_list}, 1, Wx::ALL | Wx::EXPAND, 2 );
$hb = Wx::BoxSizer->new(Wx::HORIZONTAL);
$hb->AddSpacer(2);
$hb->Add( $folder_image, 0, Wx::ALL | Wx::EXPAND, 1 );
$hb->Add( $self->{status_text}, 1, Wx::ALIGN_CENTER_VERTICAL, 1 );
$hb->Add( $self->{copy_button}, 0, Wx::ALL | Wx::EXPAND, 1 );
$hb->AddSpacer(1);
$self->{sizer}->Add( $hb, 0, Wx::BOTTOM | Wx::EXPAND, 5 );
$self->_setup_events;
return;
}
#
# Adds various events
#
sub _setup_events {
my $self = shift;
Wx::Event::EVT_CHAR(
$self->{search_text},
sub {
my $this = shift;
my $event = shift;
my $code = $event->GetKeyCode;
$self->{matches_list}->SetFocus
if ( $code == Wx::K_DOWN )
or ( $code == Wx::K_UP )
or ( $code == Wx::K_NUMPAD_PAGEDOWN )
or ( $code == Wx::K_PAGEDOWN )
or ( $code == Wx::K_NUMPAD_PAGEUP )
or ( $code == Wx::K_PAGEUP );
$event->Skip(1);
( run in 1.147 second using v1.01-cache-2.11-cpan-81fc1098f69 )