Source

App::Harmonograph / lib / Wx / Perl / Smart / TabbedBox.pm

use v5.12;
use warnings;
use Wx;
use Wx::Perl::Smart::Panel;

package Wx::Perl::Smart::TabbedBox;
use base qw(Wx::Notebook);
use Scalar::Util qw(blessed);

sub new {
	my ($class, $parent, $widgets, $orientation, $init_arg) = @_;
	die __PACKAGE__.'::new a widget as first arg'
		if  defined $parent and not (blessed($parent) and $parent->isa('Wx::Window'));
	die __PACKAGE__.'::new need a widget list (ARRAY ref) as second arg' unless ref $widgets eq 'ARRAY';

	my ($self) = $class->SUPER::new( $parent, -1, [-1, -1],[-1, -1], &Wx::wxNB_TOP );
	while (scalar @$widgets > 1){
		my $label         = shift $widgets;
		my $panel_widgets = shift $widgets;
		$self->AddPage( Wx::Perl::Smart::Panel->new($self, $panel_widgets, $orientation, $init_arg), $label, 0);
	}
	#$self->ChangeSelection(0);
	$self;
}

1;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.