MIDI-XML
view release on metacpan or search on metacpan
lib/MIDI/XML/Editor.pm view on Meta::CPAN
Create a new MIDI::XML::Document object.
=cut
sub new() {
my $class = shift;
$class = ref($class) || $class;
my $self = {};
bless $self,$class;
$self->{'_status_msg'} = "";
$self->{'_title'} = 'MIDI XML Editor';
$self->{'_pretty'} = 1;
$self->{'_format'} = 99;
$self->{'_ticksPerBeat'} = 1384;
$self->{'_trackCount'} = 99;
$self->{'_timestampType'} ='Absolute_',
my $main_w = MainWindow->new();
$self->{'_main_w'} = $main_w;
# $main_w->configure(-width => 600, -height => 800,);
$main_w->title($self->{'_title'});
#-------------------------------------------------------------------------------
my $menu_f = $main_w->Frame(
-relief => 'groove',
-bd => 2,
)->grid(
"-",
-sticky => "nsew",
);
#$menu_f->Button(-text => "Exit", -command => sub { exit; } )->
# pack(-side => 'right');
#$menu_f->Button(-text => "Save", -command => \&save_file)->
# pack(-side => 'right', -anchor => 'e');
#$menu_f->Button(-text => "Load", -command => \&load_file)->
# pack(-side => 'right', -anchor => 'e');
my $file = $menu_f->Menubutton(qw/-text File -underline 0/,
-menuitems => $self->_file_menuitems);
my $edit = $menu_f->Menubutton(qw/-text Edit -underline 0/,
-menuitems => $self->_edit_menuitems);
my $insert = $menu_f->Menubutton(qw/-text Insert -underline 0/,
-menuitems => $self->_insert_menuitems);
my $help = $menu_f->Menubutton(qw/-text Help -underline 0/,
-menuitems => $self->_help_menuitems);
# In Unix the Help menubutton is right justified.
$file->pack(qw/-side left/);
$edit->pack(qw/-side left/);
$insert->pack(qw/-side left/);
$help->pack(qw/-side right/);
# my $menubar = $menu_f->Menu(-type => 'menubar');
# $menu_f->configure(-menu => $menubar);
# map {$menubar->cascade( -label => '~' . $_->[0], -menuitems => $_->[1] )}
# ['File', _file_menuitems],
# ['Edit', _edit_menuitems],
# ['Help', _help_menuitems];
# $self->{'_menu_f'} = $menu_f;
# $menu_f->Label(
# -textvariable => \$self->{'_status_msg'},
# )->pack(
# -side => 'bottom',
# -fill => 'x'
# );
#-------------------------------------------------------------------------------
my $east_f = $main_w->Frame(
# -relief => 'groove',
# -bd => 2,
-width => 480,
-height => 600,
);
$self->{'_east_f'} = $east_f;
#-------------------------------------------------------------------------------
my $tree_f = $main_w->Frame(
-relief => 'groove',
-bd => 2,
)->grid(
$east_f,
-sticky => "nsew",
);
$self->{'_tree_f'} = $tree_f;
#-------------------------------------------------------------------------------
my $status_f = $main_w->Frame(
-relief => 'groove',
-bd => 2,
)->grid(
"-",
-sticky => "nsew",
);
$self->{'_status_f'} = $status_f;
my $status_l = $status_f->Label(
-textvariable => \$self->{'_status_msg'},
)->pack(
-side => 'left',
-fill => 'x'
);
$self->{'_status_l'} = $status_l;
#-------------------------------------------------------------------------------
my $object_f = $east_f->Frame(
-relief => 'groove',
-bd => 2,
-width => 480,
-height => 600,
)->pack(
-side => 'top',
-fill => 'both',
-expand => 1,
);
$self->{'_object_f'} = $object_f;
( run in 1.007 second using v1.01-cache-2.11-cpan-140bd7fdf52 )