mirror of
https://github.com/fspc/gbootroot.git
synced 2025-02-22 00:23:28 -05:00
* This is the Yard ARS Method.
* This is part of the restructuring to allow new methods to be easily added by developers.
This commit is contained in:
parent
3005f27ec4
commit
2ee5ffe452
215
YardBox.pm
Normal file
215
YardBox.pm
Normal file
@ -0,0 +1,215 @@
|
||||
#############################################################################
|
||||
##
|
||||
## YardBox.pm
|
||||
## Copyright (C) 2000 Modifications by the gBootRoot Project
|
||||
## Copyright (C) 2000 by Jonathan Rosenbaum
|
||||
##
|
||||
## This program is free software; you may redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation; either version 2 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
package YardBox;
|
||||
use vars qw(@ISA @EXPORT %EXPORT_TAGS);
|
||||
use Exporter;
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(yard yard_box);
|
||||
|
||||
use strict;
|
||||
use Yard;
|
||||
use Error;
|
||||
|
||||
my $yard_window;
|
||||
my $true = 1;
|
||||
my $false = 0;
|
||||
|
||||
######
|
||||
# YARD
|
||||
######
|
||||
sub yard {
|
||||
|
||||
my ($kernel,$template_dir,$template) = @_;
|
||||
my $error;
|
||||
|
||||
# Error handling in Yard will take some strategy
|
||||
if (!-d $kernel && -f $kernel) {
|
||||
$error = kernel_version_check($kernel);
|
||||
# Yard: kernel,kernel version
|
||||
# Becomes $ENV{'RELEASE'}
|
||||
return if $error && $error eq "ERROR";
|
||||
open(CONTENTS, "<$template_dir$template") or
|
||||
($error = error("$template_dir$template: $!"));
|
||||
return "ERROR"if $error && $error eq "ERROR";
|
||||
my @template = <CONTENTS>;
|
||||
close(CONTENTS);
|
||||
my $stuff = join("",@template);
|
||||
yard_box($stuff);
|
||||
|
||||
}
|
||||
else {
|
||||
error_window("Kernel Selection required");
|
||||
return;
|
||||
}
|
||||
|
||||
$error = read_contents_file("$template_dir$template");
|
||||
return if $error && $error eq "ERROR";
|
||||
|
||||
## $error = extra_links("$template_dir$template");
|
||||
## return if $error && $error eq "ERROR";
|
||||
|
||||
## $error = hard_links();
|
||||
## return if $error && $error eq "ERROR";
|
||||
|
||||
## $error = library_dependencies("$template_dir$template");
|
||||
## return if $error && $error eq "ERROR";
|
||||
|
||||
## $error = space_check($filesystem_size,
|
||||
## $lib_strip_check_root->get_active(),
|
||||
## $bin_strip_check_root->get_active(),
|
||||
## $module_strip_check_root->get_active(),
|
||||
## $obj_count_root, $tmp);
|
||||
## return if $error && $error eq "ERROR";
|
||||
|
||||
} # end sub yard
|
||||
|
||||
sub yard_box {
|
||||
|
||||
$yard_window = new Gtk::Window "toplevel";
|
||||
$yard_window->signal_connect("destroy", \&destroy_window,
|
||||
\$yard_window);
|
||||
$yard_window->signal_connect("delete_event", \&destroy_window,
|
||||
\$yard_window);
|
||||
$yard_window->set_usize( 525, 450 );
|
||||
$yard_window->set_policy( $true, $true, $false );
|
||||
$yard_window->set_title( "Yard Box" );
|
||||
$yard_window->border_width(0);
|
||||
|
||||
my $main_vbox = new Gtk::VBox( $false, 0 );
|
||||
$yard_window->add( $main_vbox );
|
||||
$main_vbox->show();
|
||||
|
||||
my $vbox = new Gtk::HBox( $false, 50 );
|
||||
$vbox->border_width( 10 );
|
||||
$main_vbox->pack_start( $vbox, $false, $true, 0 );
|
||||
$vbox->show();
|
||||
|
||||
$vbox = new Gtk::VBox( $false, 10 );
|
||||
$vbox->border_width( 10 );
|
||||
$main_vbox->pack_start( $vbox, $true, $true, 0 );
|
||||
$vbox->show();
|
||||
|
||||
my $table = new Gtk::Table( 2, 2, $false );
|
||||
$table->set_row_spacing( 0, 2 );
|
||||
$table->set_col_spacing( 0, 2 );
|
||||
$vbox->pack_start( $table, $true, $true, 0 );
|
||||
$table->show( );
|
||||
|
||||
# Create the GtkText widget
|
||||
my $length;
|
||||
my $text = new Gtk::Text( undef, undef );
|
||||
$text->set_editable($true);
|
||||
my $start_length = $text->get_length();
|
||||
my $beginning_text = $text->get_chars(0,$length);
|
||||
$text->signal_connect("changed", sub {
|
||||
$length = $text->get_length();
|
||||
#my $changed_text = $text->get_chars(0,$length);
|
||||
print "$length\n"; } );
|
||||
$table->attach( $text, 0, 1, 0, 1,
|
||||
[ 'expand', 'shrink', 'fill' ],
|
||||
[ 'expand', 'shrink', 'fill' ],
|
||||
0, 0 );
|
||||
$text->grab_focus();
|
||||
$text->show();
|
||||
|
||||
$text->freeze();
|
||||
$text->insert( undef, undef, undef, $_[0]);
|
||||
$text->thaw();
|
||||
|
||||
# Add a vertical scrollbar to the GtkText widget
|
||||
my $vscrollbar = new Gtk::VScrollbar( $text->vadj );
|
||||
$table->attach( $vscrollbar, 1, 2, 0, 1, 'fill',
|
||||
[ 'expand', 'shrink', 'fill' ], 0, 0 );
|
||||
$vscrollbar->show();
|
||||
|
||||
#_______________________________________
|
||||
# Separator
|
||||
my $separator = new Gtk::HSeparator();
|
||||
$main_vbox->pack_start( $separator, $false, $true, 0 );
|
||||
$separator->show();
|
||||
|
||||
#_______________________________________
|
||||
# Check stage boxes
|
||||
# check | links & deps | space | create | test
|
||||
$vbox = new Gtk::HBox( $false, 0 );
|
||||
$vbox->border_width( 0 );
|
||||
$main_vbox->pack_start( $vbox, $false, $true, 0 );
|
||||
$vbox->show();
|
||||
|
||||
my $check = new Gtk::CheckButton("Check");
|
||||
$vbox->pack_start( $check, $true, $true, 10 );
|
||||
show $check;
|
||||
|
||||
my $dep = new Gtk::CheckButton("Links & Deps");
|
||||
$vbox->pack_start( $dep, $true, $true, 0 );
|
||||
show $dep;
|
||||
|
||||
my $space = new Gtk::CheckButton("Space Left");
|
||||
$vbox->pack_start( $space, $true, $true, 0 );
|
||||
show $space;
|
||||
|
||||
my $create = new Gtk::CheckButton("Create");
|
||||
$vbox->pack_start( $create, $true, $true, 0 );
|
||||
show $create;
|
||||
|
||||
my $test = new Gtk::CheckButton("Test");
|
||||
$vbox->pack_start( $test, $true, $true, 0 );
|
||||
show $test;
|
||||
|
||||
#_______________________________________
|
||||
# Separator
|
||||
$separator = new Gtk::HSeparator();
|
||||
$main_vbox->pack_start( $separator, $false, $true, 0 );
|
||||
$separator->show();
|
||||
|
||||
#_______________________________________
|
||||
# Continue - Cancel - Save Buttons
|
||||
$vbox = new Gtk::HBox( $false, 10 );
|
||||
$vbox->border_width( 10 );
|
||||
$main_vbox->pack_start( $vbox, $false, $true, 0 );
|
||||
$vbox->show();
|
||||
|
||||
my $button = new Gtk::Button( "Continue" );
|
||||
$button->signal_connect( 'clicked',
|
||||
sub { destroy $yard_window; } );
|
||||
$vbox->pack_start( $button, $true, $true, 0 );
|
||||
$button->show();
|
||||
|
||||
$button = new Gtk::Button( "Close" );
|
||||
$button->signal_connect( 'clicked',
|
||||
sub { destroy $yard_window; } );
|
||||
$vbox->pack_start( $button, $true, $true, 0 );
|
||||
$button->show();
|
||||
|
||||
$button = new Gtk::Button( "Save" );
|
||||
$button->signal_connect( 'clicked',
|
||||
sub { destroy $yard_window; } );
|
||||
$vbox->pack_start( $button, $true, $true, 0 );
|
||||
$button->show();
|
||||
|
||||
show $yard_window;
|
||||
|
||||
} # end sub yard_box
|
||||
|
||||
|
||||
1;
|
Loading…
x
Reference in New Issue
Block a user