mirror of
				https://github.com/fspc/gbootroot.git
				synced 2025-11-04 00:05:35 -05:00 
			
		
		
		
	* Now $ars is global to the program and can be called with ars(). This
covers (filename, filesystem_size, kernel, template_directory, template).
This commit is contained in:
		
							parent
							
								
									131e7afcb5
								
							
						
					
					
						commit
						1cb92862bc
					
				
							
								
								
									
										25
									
								
								YardBox.pm
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								YardBox.pm
									
									
									
									
									
								
							@ -23,7 +23,7 @@ package YardBox;
 | 
				
			|||||||
use vars qw(@ISA @EXPORT %EXPORT_TAGS);
 | 
					use vars qw(@ISA @EXPORT %EXPORT_TAGS);
 | 
				
			||||||
use Exporter;
 | 
					use Exporter;
 | 
				
			||||||
@ISA = qw(Exporter);
 | 
					@ISA = qw(Exporter);
 | 
				
			||||||
@EXPORT =  qw(yard yard_box);
 | 
					@EXPORT =  qw(yard ars);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use strict;
 | 
					use strict;
 | 
				
			||||||
use Yard;
 | 
					use Yard;
 | 
				
			||||||
@ -45,6 +45,19 @@ my $lib_bool =            1;
 | 
				
			|||||||
my $bin_bool =            1;
 | 
					my $bin_bool =            1;
 | 
				
			||||||
my $mod_bool =            1;
 | 
					my $mod_bool =            1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					my $ars;
 | 
				
			||||||
 | 
					sub ars { $ars = $_[0]; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$filename         = $ars->{filename};
 | 
				
			||||||
 | 
					$filesystem_size  = $ars->{filesystem_size};
 | 
				
			||||||
 | 
					$kernel           = $ars->{kernel};
 | 
				
			||||||
 | 
					$template_dir     = $ars->{template_directory};
 | 
				
			||||||
 | 
					$template         = $ars->{template};
 | 
				
			||||||
 | 
					$tmp              = $ars->{tmp};
 | 
				
			||||||
 | 
					$mnt              = $ars->{mnt};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
my @menu_items = ( { path        => '/File',
 | 
					my @menu_items = ( { path        => '/File',
 | 
				
			||||||
		     type        => '<Branch>' },
 | 
							     type        => '<Branch>' },
 | 
				
			||||||
		   { path        => '/File/file_tearoff',
 | 
							   { path        => '/File/file_tearoff',
 | 
				
			||||||
@ -182,16 +195,6 @@ my @menu_items = ( { path        => '/File',
 | 
				
			|||||||
###### 
 | 
					###### 
 | 
				
			||||||
sub yard {
 | 
					sub yard {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    my ($ars) = @_;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    $filename         = $ars->{filename};
 | 
					 | 
				
			||||||
    $filesystem_size  = $ars->{filesystem_size};
 | 
					 | 
				
			||||||
    $kernel           = $ars->{kernel};
 | 
					 | 
				
			||||||
    $template_dir     = $ars->{template_directory};
 | 
					 | 
				
			||||||
    $template         = $ars->{template};
 | 
					 | 
				
			||||||
    $tmp              = $ars->{tmp};
 | 
					 | 
				
			||||||
    $mnt              = $ars->{mnt};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Error handling in Yard will take some strategy
 | 
					      # Error handling in Yard will take some strategy
 | 
				
			||||||
    if (!-d $kernel && -f $kernel) {
 | 
					    if (!-d $kernel && -f $kernel) {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										53
									
								
								gBootRoot
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								gBootRoot
									
									
									
									
									
								
							@ -154,6 +154,7 @@ my ($adj2,$adj3);
 | 
				
			|||||||
my @strings;
 | 
					my @strings;
 | 
				
			||||||
my ($root_device,$root_filename,$method,$template,$filesystem_size,
 | 
					my ($root_device,$root_filename,$method,$template,$filesystem_size,
 | 
				
			||||||
    $root_device_size);
 | 
					    $root_device_size);
 | 
				
			||||||
 | 
					my $ars = {}; # anonymous hash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# My own creation - the roots touch the ground if three lines are added.
 | 
					# My own creation - the roots touch the ground if three lines are added.
 | 
				
			||||||
       my @xpm_data = (
 | 
					       my @xpm_data = (
 | 
				
			||||||
@ -342,9 +343,15 @@ $opt->show();
 | 
				
			|||||||
$box2->show();
 | 
					$box2->show();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Second row
 | 
					# Second row
 | 
				
			||||||
 | 
					# Get to look three places for kernel value
 | 
				
			||||||
 | 
					# default ( null|gdkkbirdaao) &&  entry() && fileselect->file_ok_sel 
 | 
				
			||||||
hbox();
 | 
					hbox();
 | 
				
			||||||
my $entry2 = entry($true,1);
 | 
					my $entry2 = entry($true,1);
 | 
				
			||||||
$entry2->set_text($container[1]);
 | 
					$entry2->set_text($container[1]);
 | 
				
			||||||
 | 
					if ($container[1]) {
 | 
				
			||||||
 | 
					    $ars->{kernel} = $container[1];
 | 
				
			||||||
 | 
					    ars($ars);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
button("Kernel Selection",$entry2,"Kernel Selection",1);
 | 
					button("Kernel Selection",$entry2,"Kernel Selection",1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Third row
 | 
					# Third row
 | 
				
			||||||
@ -751,6 +758,8 @@ sub advanced_root_section {
 | 
				
			|||||||
       label_advanced("Root Filename:",0,1,2,3,$table_advanced_root);
 | 
					       label_advanced("Root Filename:",0,1,2,3,$table_advanced_root);
 | 
				
			||||||
       $ear2 = entry_advanced(1,2,2,3,4,$table_advanced_root);
 | 
					       $ear2 = entry_advanced(1,2,2,3,4,$table_advanced_root);
 | 
				
			||||||
       $ear2->set_text("root_fs");
 | 
					       $ear2->set_text("root_fs");
 | 
				
			||||||
 | 
					       $ars->{filename} = "root_fs";
 | 
				
			||||||
 | 
					       ars($ars);       
 | 
				
			||||||
       $tooltips->set_tip( $ear2, "Give the Root Filesystem file a name.", 
 | 
					       $tooltips->set_tip( $ear2, "Give the Root Filesystem file a name.", 
 | 
				
			||||||
                           "" );
 | 
					                           "" );
 | 
				
			||||||
       my $ear2_save = new Gtk::CheckButton("save");
 | 
					       my $ear2_save = new Gtk::CheckButton("save");
 | 
				
			||||||
@ -782,8 +791,13 @@ sub advanced_root_section {
 | 
				
			|||||||
       $spinner_size->set_shadow_type( 'in' );
 | 
					       $spinner_size->set_shadow_type( 'in' );
 | 
				
			||||||
       $spinner_size->show();
 | 
					       $spinner_size->show();
 | 
				
			||||||
       $filesystem_size = 4096 if !$filesystem_size;
 | 
					       $filesystem_size = 4096 if !$filesystem_size;
 | 
				
			||||||
 | 
					       $ars->{filesystem_size} = $filesystem_size;
 | 
				
			||||||
 | 
					       ars($ars);
 | 
				
			||||||
       $adj3->signal_connect( "value_changed", sub {
 | 
					       $adj3->signal_connect( "value_changed", sub {
 | 
				
			||||||
	       $filesystem_size = $spinner_size->get_value_as_int();});
 | 
						       $filesystem_size = $spinner_size->get_value_as_int();
 | 
				
			||||||
 | 
						       $ars->{filesystem_size} = $filesystem_size;
 | 
				
			||||||
 | 
						       ars($ars);
 | 
				
			||||||
 | 
						   });
 | 
				
			||||||
       $spinner_size->set_value($filesystem_size) if $filesystem_size;
 | 
					       $spinner_size->set_value($filesystem_size) if $filesystem_size;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       #_______________________________________ 
 | 
					       #_______________________________________ 
 | 
				
			||||||
@ -898,7 +912,10 @@ sub advanced_root_section {
 | 
				
			|||||||
                           "" );
 | 
					                           "" );
 | 
				
			||||||
       $entry_advanced[7] = $combo->entry->get_text(); # nothing selected
 | 
					       $entry_advanced[7] = $combo->entry->get_text(); # nothing selected
 | 
				
			||||||
       $combo->entry->signal_connect("changed", sub {
 | 
					       $combo->entry->signal_connect("changed", sub {
 | 
				
			||||||
	   $entry_advanced[7] = $combo->entry->get_text(); } );
 | 
						   $entry_advanced[7] = $combo->entry->get_text(); 
 | 
				
			||||||
 | 
						   $ars->{template} = $entry_advanced[7];
 | 
				
			||||||
 | 
						   ars($ars);
 | 
				
			||||||
 | 
					       } );
 | 
				
			||||||
       $table_advanced_root->attach($combo,1,3,7,8, 
 | 
					       $table_advanced_root->attach($combo,1,3,7,8, 
 | 
				
			||||||
                               ['expand','fill'],['fill','shrink'],0,0);
 | 
					                               ['expand','fill'],['fill','shrink'],0,0);
 | 
				
			||||||
       show $combo;
 | 
					       show $combo;
 | 
				
			||||||
@ -964,6 +981,20 @@ sub Generate {
 | 
				
			|||||||
    # $root_device_size;
 | 
					    # $root_device_size;
 | 
				
			||||||
    # $filesystem_size;
 | 
					    # $filesystem_size;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $ars->{device}         = $entry_advanced[3];
 | 
				
			||||||
 | 
					    $ars->{device_size}    = $root_device_size;
 | 
				
			||||||
 | 
					    $ars->{tmp}            = $tmp;
 | 
				
			||||||
 | 
					    $ars->{mnt}            = $mnt;
 | 
				
			||||||
 | 
					    $ars->{template_dir}   = $template_dir; # static right now.
 | 
				
			||||||
 | 
					    ars($ars);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					=pod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    foreach (%$ars) {
 | 
				
			||||||
 | 
						    print $_, "=>", $ars->{$_}, "\n";
 | 
				
			||||||
 | 
					    } return; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    my $ars = {     "device"             => $entry_advanced[3],
 | 
					    my $ars = {     "device"             => $entry_advanced[3],
 | 
				
			||||||
		    "device_size"        => $root_device_size,		    
 | 
							    "device_size"        => $root_device_size,		    
 | 
				
			||||||
		    "filename"           => $entry_advanced[4],
 | 
							    "filename"           => $entry_advanced[4],
 | 
				
			||||||
@ -974,6 +1005,7 @@ sub Generate {
 | 
				
			|||||||
		    "tmp"                => $tmp,
 | 
							    "tmp"                => $tmp,
 | 
				
			||||||
		    "mnt"                => $mnt    
 | 
							    "mnt"                => $mnt    
 | 
				
			||||||
	       };
 | 
						       };
 | 
				
			||||||
 | 
					=cut
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    my $template = $ars->{template};
 | 
					    my $template = $ars->{template};
 | 
				
			||||||
    $root_device = $ars->{device};
 | 
					    $root_device = $ars->{device};
 | 
				
			||||||
@ -1004,7 +1036,7 @@ sub Generate {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ($method eq "yard") {
 | 
					    if ($method eq "yard") {
 | 
				
			||||||
	yard($ars);
 | 
						yard();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1057,7 +1089,12 @@ sub entry_advanced {
 | 
				
			|||||||
    my $entry_advanced = new Gtk::Entry();
 | 
					    my $entry_advanced = new Gtk::Entry();
 | 
				
			||||||
    $entry_advanced->set_editable( $true );
 | 
					    $entry_advanced->set_editable( $true );
 | 
				
			||||||
    $entry_advanced->signal_connect( "changed", sub {
 | 
					    $entry_advanced->signal_connect( "changed", sub {
 | 
				
			||||||
    $entry_advanced[$numa] = $entry_advanced->get_text();} );
 | 
					    $entry_advanced[$numa] = $entry_advanced->get_text();
 | 
				
			||||||
 | 
					          if ($numa == 4) {
 | 
				
			||||||
 | 
						     $ars->{filename} = $entry_advanced[$numa];
 | 
				
			||||||
 | 
						      ars($ars);
 | 
				
			||||||
 | 
						 }
 | 
				
			||||||
 | 
					     } );
 | 
				
			||||||
    $entry_advanced->set_usize(100,20);
 | 
					    $entry_advanced->set_usize(100,20);
 | 
				
			||||||
    $_[5]->attach($entry_advanced,$_[0],$_[1],$_[2],$_[3], 
 | 
					    $_[5]->attach($entry_advanced,$_[0],$_[1],$_[2],$_[3], 
 | 
				
			||||||
                            ['shrink','fill','expand'],['fill','shrink'],0,0);
 | 
					                            ['shrink','fill','expand'],['fill','shrink'],0,0);
 | 
				
			||||||
@ -1275,6 +1312,10 @@ sub file_ok_sel {
 | 
				
			|||||||
    my $file = $file_selection->get_filename();
 | 
					    my $file = $file_selection->get_filename();
 | 
				
			||||||
    $entry->set_text($file);
 | 
					    $entry->set_text($file);
 | 
				
			||||||
    $container[$order] = $file;
 | 
					    $container[$order] = $file;
 | 
				
			||||||
 | 
					    if ($order == 1) {
 | 
				
			||||||
 | 
						$ars->{kernel} = $container[$order];
 | 
				
			||||||
 | 
						ars($ars);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # auto-detect compression if system has file
 | 
					    # auto-detect compression if system has file
 | 
				
			||||||
    if ($container[2]) {
 | 
					    if ($container[2]) {
 | 
				
			||||||
@ -1332,6 +1373,10 @@ sub entry {
 | 
				
			|||||||
    else {
 | 
					    else {
 | 
				
			||||||
         $entry->signal_connect( "changed", sub {
 | 
					         $entry->signal_connect( "changed", sub {
 | 
				
			||||||
                 $container[$num] = $entry->get_text();
 | 
					                 $container[$num] = $entry->get_text();
 | 
				
			||||||
 | 
							 if ($num == 1) {
 | 
				
			||||||
 | 
							     $ars->{kernel} = $container[$num];
 | 
				
			||||||
 | 
							     ars($ars);
 | 
				
			||||||
 | 
							 }
 | 
				
			||||||
                 # here's where types in entry3, types other places
 | 
					                 # here's where types in entry3, types other places
 | 
				
			||||||
                 if (defined $ea1 and $num == 3) { 
 | 
					                 if (defined $ea1 and $num == 3) { 
 | 
				
			||||||
                     $ea1->set_text($container[$num]); 
 | 
					                     $ea1->set_text($container[$num]); 
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user