# generated by wxGlade 1.1.1 on Thu Mar 27 20:56:49 2025
#
# To get wxPerl visit http://www.wxperl.it
#

use Wx;
use strict;

# begin wxGlade: dependencies
# end wxGlade

# begin wxGlade: extracode
# end wxGlade

package ChordPro::Wx::EditorPanel_wxg;

use Wx qw[:everything];
use base qw(Wx::Panel);
use strict;

use Wx::Locale gettext => '_T';
sub new {
    my( $self, $parent, $id, $pos, $size, $style, $name ) = @_;
    $parent = undef              unless defined $parent;
    $id     = -1                 unless defined $id;
    $pos    = wxDefaultPosition  unless defined $pos;
    $size   = wxDefaultSize      unless defined $size;
    $name   = ""                 unless defined $name;

    # begin wxGlade: ChordPro::Wx::EditorPanel_wxg::new
    use ChordPro::Wx::Utils;
    $style = wxTAB_TRAVERSAL
        unless defined $style;

    $self = $self->SUPER::new( $parent, $id, $pos, $size, $style, $name );
    
    $self->{sz_outer} = Wx::BoxSizer->new(wxVERTICAL);
    
    $self->{sz_toolbar} = Wx::BoxSizer->new(wxHORIZONTAL);
    $self->{sz_outer}->Add($self->{sz_toolbar}, 0, wxBOTTOM|wxEXPAND, 3);
    
    $self->{l_status} = Wx::StaticText->new($self, wxID_ANY, _T("ChordPro"));
    $self->{l_status}->SetForegroundColour(Wx::Colour->new(0, 104, 217));
    $self->{l_status}->SetFont(Wx::Font->new(20, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, 0, ""));
    $self->{sz_toolbar}->Add($self->{l_status}, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5);
    
    $self->{sz_toolbar}->Add(5, 1, 1, wxEXPAND, 0);
    
    $self->{bmp_songbook} = Wx::Button->new($self, wxID_ANY, _T("Songbook"));
    $self->{bmp_songbook}->SetToolTip(_T("Back to the Songbook."));
    $self->{bmp_songbook}->SetBitmap(Wx::Bitmap->new("/usr/local/src/ChordPro/lib/ChordPro/res/icons/wx-toolbar-back.png", wxBITMAP_TYPE_ANY), wxTOP);
    $self->{sz_toolbar}->Add($self->{bmp_songbook}, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
    
    $self->{bmp_preferences} = Wx::Button->new($self, wxID_ANY, _T("Settings"));
    $self->{bmp_preferences}->SetToolTip(_T("Open the Settings dialog"));
    $self->{bmp_preferences}->SetBitmap(Wx::Bitmap->new("/usr/local/src/ChordPro/lib/ChordPro/res/icons/wx-toolbar-preferences.png", wxBITMAP_TYPE_ANY), wxTOP);
    $self->{sz_toolbar}->Add($self->{bmp_preferences}, 0, wxALL|wxEXPAND, 5);
    
    $self->{bmb_preview} = Wx::Button->new($self, wxID_ANY, _T("Preview"));
    $self->{bmb_preview}->SetBitmap(Wx::Bitmap->new("/usr/local/src/ChordPro/lib/ChordPro/res/icons/wx-toolbar-preview.png", wxBITMAP_TYPE_ANY), wxTOP);
    $self->{sz_toolbar}->Add($self->{bmb_preview}, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
    
    $self->{bmb_messages} = Wx::Button->new($self, wxID_ANY, _T("Messages"));
    $self->{bmb_messages}->SetBitmap(Wx::Bitmap->new("/usr/local/src/ChordPro/lib/ChordPro/res/icons/wx-toolbar-messages.png", wxBITMAP_TYPE_ANY), wxTOP);
    $self->{sz_toolbar}->Add($self->{bmb_messages}, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP, 5);
    
    $self->{sw_tb} = Wx::SplitterWindow->new($self, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_NOBORDER);
    $self->{sw_tb}->SetMinimumPaneSize(20);
    $self->{sz_outer}->Add($self->{sw_tb}, 1, wxEXPAND, 0);
    
    $self->{p_top} = Wx::Panel->new($self->{sw_tb}, wxID_ANY);
    
    $self->{sz_lr} = Wx::BoxSizer->new(wxVERTICAL);
    
    $self->{sw_lr} = Wx::SplitterWindow->new($self->{p_top}, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
    $self->{sw_lr}->SetMinimumPaneSize(20);
    $self->{sw_lr}->SetSashGravity(0.5);
    $self->{sz_lr}->Add($self->{sw_lr}, 1, wxEXPAND, 0);
    
    $self->{p_left} = Wx::Panel->new($self->{sw_lr}, wxID_ANY);
    
    $self->{sz_editor} = Wx::BoxSizer->new(wxVERTICAL);
    
    require ChordPro::Wx::Editor;
    $self->{t_editor} = ChordPro::Wx::Editor->new($self->{p_left}, wxID_ANY);
    $self->{sz_editor}->Add($self->{t_editor}, 1, wxEXPAND, 0);
    
    $self->{p_right} = Wx::Panel->new($self->{sw_lr}, wxID_ANY);
    
    $self->{sz_preview} = Wx::BoxSizer->new(wxHORIZONTAL);
    
    $self->{webview} = Wx::TextCtrl->new($self->{p_right}, wxID_ANY, _T("Preview not available"), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY);
    $self->{sz_preview}->Add($self->{webview}, 1, wxEXPAND, 0);
    
    $self->{p_bottom} = Wx::Panel->new($self->{sw_tb}, wxID_ANY);
    
    $self->{sz_messages} = Wx::BoxSizer->new(wxHORIZONTAL);
    
    $self->{t_messages} = Wx::TextCtrl->new($self->{p_bottom}, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY);
    $self->{t_messages}->SetFont(Wx::Font->new(12, wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, 0, ""));
    $self->{sz_messages}->Add($self->{t_messages}, 1, wxEXPAND, 0);
    
    $self->{sz_msgbuttons} = Wx::BoxSizer->new(wxVERTICAL);
    $self->{sz_messages}->Add($self->{sz_msgbuttons}, 0, wxALL|wxEXPAND, 0);
    
    $self->{sz_msgbuttons}->Add(1, 1, 1, wxEXPAND, 0);
    
    $self->{b_msgclear} = Wx::Button->new($self->{p_bottom}, wxID_ANY, _T("Clear"));
    $self->{b_msgclear}->SetToolTip(_T("Clear the messages in the message panel."));
    $self->{sz_msgbuttons}->Add($self->{b_msgclear}, 0, wxBOTTOM|wxEXPAND|wxLEFT, 5);
    
    $self->{b_msgsave} = Wx::Button->new($self->{p_bottom}, wxID_ANY, _T("Save As..."));
    $self->{b_msgsave}->SetToolTip(_T("Save the messages onto disk, e.g. for reporting a bug."));
    $self->{sz_msgbuttons}->Add($self->{b_msgsave}, 0, wxEXPAND|wxLEFT, 5);
    
    $self->{b_msgclose} = Wx::Button->new($self->{p_bottom}, wxID_ANY, _T("Close"));
    $self->{b_msgclose}->SetToolTip(_T("Close the message panel."));
    $self->{sz_msgbuttons}->Add($self->{b_msgclose}, 0, wxEXPAND|wxLEFT|wxTOP, 5);
    
    $self->{sz_msgbuttons}->Add(1, 1, 1, 0, 0);
    
    $self->{w_infobar} = Wx::InfoBar->new($self);
    $self->{sz_outer}->Add($self->{w_infobar}, 0, wxEXPAND|wxTOP, 5);
    
    $self->{p_bottom}->SetSizer($self->{sz_messages});
    
    $self->{p_right}->SetSizer($self->{sz_preview});
    
    $self->{p_left}->SetSizer($self->{sz_editor});
    
    $self->{sw_lr}->SplitVertically($self->{p_left}, $self->{p_right}, , 308);
    
    $self->{p_top}->SetSizer($self->{sz_lr});
    
    $self->{sw_tb}->SplitHorizontally($self->{p_top}, $self->{p_bottom}, );
    
    $self->SetSizer($self->{sz_outer});
    $self->{sz_outer}->Fit($self);
    
    $self->Layout();
    Wx::Event::EVT_BUTTON($self, $self->{bmp_songbook}->GetId, $self->can('OnSongbook'));
    Wx::Event::EVT_BUTTON($self, $self->{bmp_preferences}->GetId, $self->can('OnPreferences'));
    Wx::Event::EVT_BUTTON($self, $self->{bmb_preview}->GetId, $self->can('OnShowPreview'));
    Wx::Event::EVT_BUTTON($self, $self->{bmb_messages}->GetId, $self->can('OnShowMessages'));
    Wx::Event::EVT_SPLITTER_SASH_POS_CHANGED($self, $self->{sw_tb}->GetId, $self->can('OnSashTBChanged'));
    Wx::Event::EVT_SPLITTER_SASH_POS_CHANGED($self, $self->{sw_lr}->GetId, $self->can('OnSashLRChanged'));
    Wx::Event::EVT_BUTTON($self, $self->{b_msgclear}->GetId, $self->can('OnMessagesClear'));
    Wx::Event::EVT_BUTTON($self, $self->{b_msgsave}->GetId, $self->can('OnMessagesSave'));
    Wx::Event::EVT_BUTTON($self, $self->{b_msgclose}->GetId, $self->can('OnShowMessages'));

    # end wxGlade
    return $self;

}


sub OnSongbook {
    my ($self, $event) = @_;
    # wxGlade: ChordPro::Wx::EditorPanel_wxg::OnSongbook <event_handler>
    warn "Event handler (OnSongbook) not implemented";
    $event->Skip;
    # end wxGlade
}


sub OnPreferences {
    my ($self, $event) = @_;
    # wxGlade: ChordPro::Wx::EditorPanel_wxg::OnPreferences <event_handler>
    warn "Event handler (OnPreferences) not implemented";
    $event->Skip;
    # end wxGlade
}


sub OnShowPreview {
    my ($self, $event) = @_;
    # wxGlade: ChordPro::Wx::EditorPanel_wxg::OnShowPreview <event_handler>
    warn "Event handler (OnShowPreview) not implemented";
    $event->Skip;
    # end wxGlade
}


sub OnShowMessages {
    my ($self, $event) = @_;
    # wxGlade: ChordPro::Wx::EditorPanel_wxg::OnShowMessages <event_handler>
    warn "Event handler (OnShowMessages) not implemented";
    $event->Skip;
    # end wxGlade
}


sub OnSashTBChanged {
    my ($self, $event) = @_;
    # wxGlade: ChordPro::Wx::EditorPanel_wxg::OnSashTBChanged <event_handler>
    warn "Event handler (OnSashTBChanged) not implemented";
    $event->Skip;
    # end wxGlade
}


sub OnSashLRChanged {
    my ($self, $event) = @_;
    # wxGlade: ChordPro::Wx::EditorPanel_wxg::OnSashLRChanged <event_handler>
    warn "Event handler (OnSashLRChanged) not implemented";
    $event->Skip;
    # end wxGlade
}


sub OnMessagesClear {
    my ($self, $event) = @_;
    # wxGlade: ChordPro::Wx::EditorPanel_wxg::OnMessagesClear <event_handler>
    warn "Event handler (OnMessagesClear) not implemented";
    $event->Skip;
    # end wxGlade
}


sub OnMessagesSave {
    my ($self, $event) = @_;
    # wxGlade: ChordPro::Wx::EditorPanel_wxg::OnMessagesSave <event_handler>
    warn "Event handler (OnMessagesSave) not implemented";
    $event->Skip;
    # end wxGlade
}


# end of class ChordPro::Wx::EditorPanel_wxg

1;

