# generated by wxGlade 1.1.0 on Tue Dec 10 08:51:46 2024
#
# To get wxPerl visit http://www.wxperl.it
#

use Wx qw[:allclasses];
use strict;

# begin wxGlade: dependencies
# end wxGlade

# begin wxGlade: extracode
# end wxGlade

package ChordPro::Wx::SettingsDialog_wxg;

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

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

    # begin wxGlade: ChordPro::Wx::SettingsDialog_wxg::new
    $style = wxDEFAULT_DIALOG_STYLE
        unless defined $style;

    $self = $self->SUPER::new( $parent, $id, $title, $pos, $size, $style, $name );
    $self->SetTitle(_T("Settings"));
    
    $self->{sz_main} = Wx::BoxSizer->new(wxVERTICAL);
    
    $self->{sz_prefs_outer} = Wx::BoxSizer->new(wxVERTICAL);
    $self->{sz_main}->Add($self->{sz_prefs_outer}, 1, wxEXPAND, 0);
    
    $self->{nb_preferences} = Wx::Notebook->new($self, wxID_ANY);
    $self->{sz_prefs_outer}->Add($self->{nb_preferences}, 1, wxEXPAND|wxLEFT|wxRIGHT, 5);
    
    $self->{nb_config} = Wx::Panel->new($self->{nb_preferences}, wxID_ANY);
    $self->{nb_preferences}->AddPage($self->{nb_config}, _T("Presets"));
    
    $self->{sizer_1} = Wx::BoxSizer->new(wxVERTICAL);
    
    my $label_1 = Wx::StaticText->new($self->{nb_config}, wxID_ANY, _T("Libraries, Configurations and Presets"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER_HORIZONTAL);
    $label_1->SetMinSize(Wx::Size->new(-1, 35));
    $label_1->SetForegroundColour(Wx::Colour->new(0, 104, 217));
    $label_1->SetFont(Wx::Font->new(18, wxDEFAULT, wxNORMAL, wxNORMAL, 0, ""));
    $self->{sizer_1}->Add($label_1, 0, wxALL|wxEXPAND, 15);
    
    $self->{cb_skipstdcfg} = Wx::CheckBox->new($self->{nb_config}, wxID_ANY, _T("Ignore Default (system, user, song) Configuration Files"));
    $self->{cb_skipstdcfg}->SetMinSize($self->{cb_skipstdcfg}->ConvertDialogSizeToPixels(Wx::Size->new(273, 10)));
    $self->{cb_skipstdcfg}->SetToolTipString(_T("Ignore system, user and song configuration files, if any"));
    $self->{cb_skipstdcfg}->SetValue(1);
    $self->{sizer_1}->Add($self->{cb_skipstdcfg}, 0, wxEXPAND|wxLEFT|wxRIGHT, 15);
    
    $self->{sizer_9} = Wx::FlexGridSizer->new(3, 2, 15, 15);
    $self->{sizer_1}->Add($self->{sizer_9}, 0, wxALL|wxEXPAND, 15);
    
    $self->{cb_presets} = Wx::CheckBox->new($self->{nb_config}, wxID_ANY, _T("Preset configurations"));
    $self->{cb_presets}->SetToolTipString(_T("Enable/disable the presets from the list"));
    $self->{sizer_9}->Add($self->{cb_presets}, 0, 0, 5);
    
    $self->{ch_presets} = Wx::CheckListBox->new($self->{nb_config}, wxID_ANY, wxDefaultPosition, wxDefaultSize, [_T("Default"), "", "", "", ""], wxLB_NEEDED_SB);
    $self->{ch_presets}->SetToolTipString(_T("Select configuration presets"));
    $self->{ch_presets}->Enable(0);
    $self->{sizer_9}->Add($self->{ch_presets}, 1, wxEXPAND|wxFIXED_MINSIZE|wxRIGHT, 5);
    
    $self->{cb_configfile} = Wx::CheckBox->new($self->{nb_config}, wxID_ANY, _T("Custom Configuration File"));
    $self->{cb_configfile}->SetToolTipString(_T("Use a custom configuration file"));
    $self->{sizer_9}->Add($self->{cb_configfile}, 0, wxALIGN_CENTER_VERTICAL, 5);
    
    $self->{sizer_6} = Wx::BoxSizer->new(wxHORIZONTAL);
    $self->{sizer_9}->Add($self->{sizer_6}, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    use ChordPro::Wx::FileDirPickerCtrl;
    $self->{fp_customconfig} = ChordPro::Wx::FileDirPickerCtrl->new($self->{nb_config}, wxID_ANY, "", "Select a configuration file", "Config files (*.prp,*.json)|*.prp;*.json");
    $self->{fp_customconfig}->SetToolTipString(_T("Select the custom configuration file to be used"));
    $self->{sizer_6}->Add($self->{fp_customconfig}, 1, wxEXPAND|wxRIGHT, 5);
    
    $self->{b_createconfig} = Wx::Button->new($self->{nb_config}, wxID_NEW, "");
    $self->{sizer_6}->Add($self->{b_createconfig}, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5);
    
    $self->{cb_customlib} = Wx::CheckBox->new($self->{nb_config}, wxID_ANY, _T("Custom ChordPro Library"));
    $self->{cb_customlib}->SetToolTipString(_T("Use a custom library folder with configuration files, images, templates, fonts, \N{U+2026}"));
    $self->{sizer_9}->Add($self->{cb_customlib}, 0, wxALIGN_CENTER_VERTICAL, 5);
    
    use ChordPro::Wx::FileDirPickerCtrl;
    $self->{dp_customlibrary} = ChordPro::Wx::FileDirPickerCtrl->new($self->{nb_config}, wxID_ANY, "", "Select a folder to be used as custom library", "");
    $self->{dp_customlibrary}->SetToolTipString(_T("Use a custom library folder with configuration files, images, templates, fonts, ..."));
    $self->{sizer_9}->Add($self->{dp_customlibrary}, 1, wxBOTTOM|wxEXPAND, 5);
    
    $self->{w_infobar} = Wx::InfoBar->new($self->{nb_config});
    $self->{w_infobar}->SetMinSize($self->{w_infobar}->ConvertDialogSizeToPixels(Wx::Size->new(5, 20)));
    $self->{sizer_1}->Add($self->{w_infobar}, 0, wxEXPAND|wxLEFT|wxRIGHT, 5);
    
    $self->{nb_notations} = Wx::Panel->new($self->{nb_preferences}, wxID_ANY);
    $self->{nb_preferences}->AddPage($self->{nb_notations}, _T("Notations"));
    
    $self->{sizer_2} = Wx::BoxSizer->new(wxVERTICAL);
    
    my $label_7 = Wx::StaticText->new($self->{nb_notations}, wxID_ANY, _T("Notations, Transpose and Transcode"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER_HORIZONTAL);
    $label_7->SetMinSize(Wx::Size->new(-1, 35));
    $label_7->SetForegroundColour(Wx::Colour->new(0, 104, 217));
    $label_7->SetFont(Wx::Font->new(18, wxDEFAULT, wxNORMAL, wxNORMAL, 0, ""));
    $self->{sizer_2}->Add($label_7, 0, wxALL|wxEXPAND, 15);
    
    $self->{sizer_13} = Wx::GridBagSizer->new(15, 15);
    $self->{sizer_2}->Add($self->{sizer_13}, 1, wxEXPAND|wxLEFT|wxRIGHT, 15);
    
    $self->{l_xpose} = Wx::StaticText->new($self->{nb_notations}, wxID_ANY, _T("Notation System"));
    $self->{l_xpose}->SetToolTipString(_T("Select the desired notation system"));
    $self->{sizer_13}->Add($self->{l_xpose}, Wx::GBPosition->new(0, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5);
    
    $self->{ch_notation} = Wx::Choice->new($self->{nb_notations}, wxID_ANY, wxDefaultPosition, wxDefaultSize, [_T("Common (C, D, E, F, G, A, B)"), _T("German (C, D, E, F, G, A, H)"), _T("Latin (Do, Re, Mi, Fa, Sol, ...)"), _T("Solf\N{U+00e8}ge (Do, Re, Mi, Fa, So, ...)"), _T("Nashville (0, 1, 2, ...)"), _T("Roman (I, II, III, ...)")], );
    $self->{ch_notation}->SetToolTipString(_T("Select the notation system that is used in the song"));
    $self->{ch_notation}->SetSelection(0);
    $self->{sizer_13}->Add($self->{ch_notation}, Wx::GBPosition->new(0, 1), Wx::GBSpan->new(1, 1), wxEXPAND, 5);
    
    $self->{cb_xpose} = Wx::CheckBox->new($self->{nb_notations}, wxID_ANY, _T("Transpose"));
    $self->{cb_xpose}->SetToolTipString(_T("Enable transposing"));
    $self->{sizer_13}->Add($self->{cb_xpose}, Wx::GBPosition->new(1, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{sz_xpose} = Wx::BoxSizer->new(wxHORIZONTAL);
    $self->{sizer_13}->Add($self->{sz_xpose}, Wx::GBPosition->new(1, 1), Wx::GBSpan->new(1, 1), wxEXPAND, 5);
    
    $self->{l_xpose_from} = Wx::StaticText->new($self->{nb_notations}, wxID_ANY, _T("From"));
    $self->{sz_xpose}->Add($self->{l_xpose_from}, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5);
    
    $self->{ch_xpose_from} = Wx::Choice->new($self->{nb_notations}, wxID_ANY, wxDefaultPosition, wxDefaultSize, [_T("C"), _T("C#"), _T("Db"), _T("D"), _T("D#"), _T("Eb"), _T("E"), _T("F"), _T("F#"), _T("Gb"), _T("G"), _T("G#"), _T("Ab"), _T("A"), _T("A#"), _T("Bb"), _T("B")], );
    $self->{ch_xpose_from}->SetToolTipString(_T("Starting note for transposition"));
    $self->{ch_xpose_from}->SetSelection(0);
    $self->{sz_xpose}->Add($self->{ch_xpose_from}, 0, 0, 0);
    
    $self->{l_xpose_to} = Wx::StaticText->new($self->{nb_notations}, wxID_ANY, _T("To"));
    $self->{sz_xpose}->Add($self->{l_xpose_to}, 0, wxALIGN_CENTER_VERTICAL|wxFIXED_MINSIZE|wxLEFT|wxRIGHT, 5);
    
    $self->{ch_xpose_to} = Wx::Choice->new($self->{nb_notations}, wxID_ANY, wxDefaultPosition, wxDefaultSize, [_T("C"), _T("C#"), _T("Db"), _T("D"), _T("D#"), _T("Eb"), _T("E"), _T("F"), _T("F#"), _T("Gb"), _T("G"), _T("G#"), _T("Ab"), _T("A"), _T("A#"), _T("Bb"), _T("B")], );
    $self->{ch_xpose_to}->SetToolTipString(_T("Target note for transposition"));
    $self->{ch_xpose_to}->SetSelection(0);
    $self->{sz_xpose}->Add($self->{ch_xpose_to}, 0, 0, 0);
    
    $self->{sz_xpose}->Add(2, 2, 1, wxEXPAND, 0);
    
    my $l_acc = Wx::StaticText->new($self->{nb_notations}, wxID_ANY, _T("Use Sharps or Flats"));
    $self->{sz_xpose}->Add($l_acc, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 15);
    
    $self->{ch_acc} = Wx::Choice->new($self->{nb_notations}, wxID_ANY, wxDefaultPosition, wxDefaultSize, [_T("Default"), _T("Sharps"), _T("Flats")], );
    $self->{ch_acc}->SetToolTipString(_T("How to treat chords that need accidentals after transposition.\nDefault is to use sharps when transposing up, and flats when transposing down."));
    $self->{ch_acc}->SetSelection(0);
    $self->{sz_xpose}->Add($self->{ch_acc}, 0, wxEXPAND|wxLEFT, 5);
    
    $self->{cb_xcode} = Wx::CheckBox->new($self->{nb_notations}, wxID_ANY, _T("Transcode to"));
    $self->{cb_xcode}->SetToolTipString(_T("Enable transcoding"));
    $self->{sizer_13}->Add($self->{cb_xcode}, Wx::GBPosition->new(2, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{ch_xcode} = Wx::Choice->new($self->{nb_notations}, wxID_ANY, wxDefaultPosition, wxDefaultSize, [_T("Common (C, D, E, F, G, A, B)"), _T("German (C, D, E, F, G, A, H)"), _T("Latin (Do, Re, Mi, Fa, Sol, ...)"), _T("Solf\N{U+00e8}ge (Do, Re, Mi, Fa, So, ...)"), _T("Nashville (0, 1, 2, ...)"), _T("Roman (I, II, III, ...)")], );
    $self->{ch_xcode}->SetToolTipString(_T("Select a notation system to transcode the song to"));
    $self->{ch_xcode}->SetSelection(0);
    $self->{sizer_13}->Add($self->{ch_xcode}, Wx::GBPosition->new(2, 1), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5);
    
    $self->{nb_editor} = Wx::Panel->new($self->{nb_preferences}, wxID_ANY);
    $self->{nb_preferences}->AddPage($self->{nb_editor}, _T("Editor"));
    
    $self->{sizer_5} = Wx::BoxSizer->new(wxVERTICAL);
    
    my $label_3 = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Editor Settings"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER_HORIZONTAL);
    $label_3->SetMinSize(Wx::Size->new(-1, 35));
    $label_3->SetForegroundColour(Wx::Colour->new(0, 104, 217));
    $label_3->SetFont(Wx::Font->new(18, wxDEFAULT, wxNORMAL, wxNORMAL, 0, ""));
    $self->{sizer_5}->Add($label_3, 0, wxALL|wxEXPAND, 15);
    
    $self->{sizer_10} = Wx::GridBagSizer->new(15, 15);
    $self->{sizer_5}->Add($self->{sizer_10}, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 15);
    
    $self->{l_editor_11} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Editor Font"));
    $self->{sizer_10}->Add($self->{l_editor_11}, Wx::GBPosition->new(0, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL, 5);
    
    $self->{fp_editor} = Wx::FontPickerCtrl->new($self->{nb_editor}, wxID_ANY, wxNullFont, wxDefaultPosition, wxDefaultSize, wxFNTP_FONTDESC_AS_LABEL | wxFNTP_USEFONT_FOR_LABEL);
    $self->{fp_editor}->SetToolTipString(_T("Select a font and font size for the editor"));
    $self->{sizer_10}->Add($self->{fp_editor}, Wx::GBPosition->new(0, 1), Wx::GBSpan->new(1, 1), wxEXPAND, 5);
    
    $self->{cb_editorwrap} = Wx::CheckBox->new($self->{nb_editor}, wxID_ANY, _T("Wrap Lines"));
    $self->{cb_editorwrap}->SetToolTipString(_T("Wrap lines that are too long to show"));
    $self->{cb_editorwrap}->SetValue(1);
    $self->{sizer_10}->Add($self->{cb_editorwrap}, Wx::GBPosition->new(1, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL, 0);
    
    $self->{sz_editor_12} = Wx::BoxSizer->new(wxHORIZONTAL);
    $self->{sizer_10}->Add($self->{sz_editor_12}, Wx::GBPosition->new(1, 1), Wx::GBSpan->new(1, 1), wxEXPAND, 0);
    
    $self->{l_editorwrap} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Indentation for wrapped lines"));
    $self->{sz_editor_12}->Add($self->{l_editorwrap}, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5);
    
    $self->{sp_editorwrap} = Wx::SpinCtrl->new($self->{nb_editor}, wxID_ANY, "0", wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 15, 0);
    $self->{sp_editorwrap}->SetToolTipString(_T("The amount of indentation for wrapped lines"));
    $self->{sz_editor_12}->Add($self->{sp_editorwrap}, 0, wxEXPAND, 0);
    
    $self->{cb_tmplfile} = Wx::CheckBox->new($self->{nb_editor}, wxID_ANY, _T("Template for new songs"));
    $self->{cb_tmplfile}->SetToolTipString(_T("Use a template song for new songs"));
    $self->{sizer_10}->Add($self->{cb_tmplfile}, Wx::GBPosition->new(2, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5);
    
    use ChordPro::Wx::FileDirPickerCtrl;
    $self->{fp_tmplfile} = ChordPro::Wx::FileDirPickerCtrl->new($self->{nb_editor}, wxID_ANY, "", "Select a template for new songs", "ChordPro files (*.cho,*.crd,*.chopro,*.chord,*.chordpro,*.pro)|*.cho;*.crd;*.chopro;*.chord;*.chordpro;*.pro;*.txt");
    $self->{fp_tmplfile}->SetToolTipString(_T("Template for new songs"));
    $self->{sizer_10}->Add($self->{fp_tmplfile}, Wx::GBPosition->new(2, 1), Wx::GBSpan->new(1, 1), wxEXPAND, 0);
    
    $self->{sz_editor} = Wx::BoxSizer->new(wxHORIZONTAL);
    $self->{sizer_10}->Add($self->{sz_editor}, Wx::GBPosition->new(3, 0), Wx::GBSpan->new(1, 2), wxEXPAND|wxTOP, 5);
    
    require ChordPro::Wx::Editor;
    $self->{t_editor} = ChordPro::Wx::Editor->new($self->{nb_editor}, wxID_ANY);
    $self->{t_editor}->SetMinSize($self->{t_editor}->ConvertDialogSizeToPixels(Wx::Size->new(144, 50)));
    $self->{sz_editor}->Add($self->{t_editor}, 1, wxEXPAND|wxRIGHT, 10);
    
    $self->{sz_colours} = Wx::GridBagSizer->new(5, 5);
    $self->{sz_editor}->Add($self->{sz_colours}, 0, wxEXPAND, 0);
    
    my $label_6 = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Editor Colours"));
    $label_6->SetForegroundColour(Wx::Colour->new(0, 104, 217));
    $label_6->SetFont(Wx::Font->new(13, wxDEFAULT, wxNORMAL, wxNORMAL, 0, ""));
    $self->{sz_colours}->Add($label_6, Wx::GBPosition->new(0, 0), Wx::GBSpan->new(1, 2), wxALL|wxEXPAND, 5);
    
    $self->{ch_theme} = Wx::Choice->new($self->{nb_editor}, wxID_ANY, wxDefaultPosition, wxDefaultSize, [_T("Light Theme"), _T("Dark Theme"), _T("Follow System")], );
    $self->{ch_theme}->SetToolTipString(_T("Colour theme for the editor."));
    $self->{ch_theme}->SetSelection(0);
    $self->{sz_colours}->Add($self->{ch_theme}, Wx::GBPosition->new(0, 2), Wx::GBSpan->new(1, 1), wxEXPAND, 0);
    
    $self->{l_theme} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, "");
    $self->{sz_colours}->Add($self->{l_theme}, Wx::GBPosition->new(0, 3), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_fg} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_fg}, Wx::GBPosition->new(1, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_fg} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Standard text"));
    $self->{sz_colours}->Add($self->{l_fg}, Wx::GBPosition->new(1, 1), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_bg} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_bg}, Wx::GBPosition->new(1, 2), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_bg} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Background"));
    $self->{sz_colours}->Add($self->{l_bg}, Wx::GBPosition->new(1, 3), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_s1} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_s1}, Wx::GBPosition->new(2, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_s1} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Comments"));
    $self->{sz_colours}->Add($self->{l_s1}, Wx::GBPosition->new(2, 1), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_s2} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_s2}, Wx::GBPosition->new(2, 2), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_s2} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Keywords"));
    $self->{sz_colours}->Add($self->{l_s2}, Wx::GBPosition->new(2, 3), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_s3} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_s3}, Wx::GBPosition->new(3, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_s3} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Brackets"));
    $self->{sz_colours}->Add($self->{l_s3}, Wx::GBPosition->new(3, 1), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_s4} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_s4}, Wx::GBPosition->new(3, 2), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_s4} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Chords"));
    $self->{sz_colours}->Add($self->{l_s4}, Wx::GBPosition->new(3, 3), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_s5} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_s5}, Wx::GBPosition->new(4, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_s5} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Directives"));
    $self->{sz_colours}->Add($self->{l_s5}, Wx::GBPosition->new(4, 1), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_s6} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_s6}, Wx::GBPosition->new(4, 2), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_s6} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Arguments"));
    $self->{sz_colours}->Add($self->{l_s6}, Wx::GBPosition->new(4, 3), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_annfg} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_annfg}, Wx::GBPosition->new(5, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_annfg} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Annotations"));
    $self->{sz_colours}->Add($self->{l_annfg}, Wx::GBPosition->new(5, 1), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{cp_annbg} = Wx::ColourPickerCtrl->new($self->{nb_editor}, wxID_ANY);
    $self->{sz_colours}->Add($self->{cp_annbg}, Wx::GBPosition->new(5, 2), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{l_annbg} = Wx::StaticText->new($self->{nb_editor}, wxID_ANY, _T("Ann. Background"));
    $self->{sz_colours}->Add($self->{l_annbg}, Wx::GBPosition->new(5, 3), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL|wxEXPAND, 0);
    
    $self->{nb_messages} = Wx::Panel->new($self->{nb_preferences}, wxID_ANY);
    $self->{nb_preferences}->AddPage($self->{nb_messages}, _T("Messages"));
    
    $self->{sizer_4} = Wx::BoxSizer->new(wxVERTICAL);
    
    my $label_4 = Wx::StaticText->new($self->{nb_messages}, wxID_ANY, _T("Messages Settings"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER_HORIZONTAL);
    $label_4->SetMinSize(Wx::Size->new(-1, 35));
    $label_4->SetForegroundColour(Wx::Colour->new(0, 104, 217));
    $label_4->SetFont(Wx::Font->new(18, wxDEFAULT, wxNORMAL, wxNORMAL, 0, ""));
    $self->{sizer_4}->Add($label_4, 0, wxALL|wxEXPAND, 15);
    
    $self->{sizer_11} = Wx::FlexGridSizer->new(1, 2, 15, 15);
    $self->{sizer_4}->Add($self->{sizer_11}, 0, wxEXPAND|wxLEFT|wxRIGHT, 15);
    
    $self->{l_messages} = Wx::StaticText->new($self->{nb_messages}, wxID_ANY, _T("Font for messages"));
    $self->{sizer_11}->Add($self->{l_messages}, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5);
    
    $self->{fp_messages} = Wx::FontPickerCtrl->new($self->{nb_messages}, wxID_ANY, wxNullFont, wxDefaultPosition, wxDefaultSize, wxFNTP_FONTDESC_AS_LABEL | wxFNTP_USEFONT_FOR_LABEL);
    $self->{fp_messages}->SetToolTipString(_T("Select a font and font size for the messages"));
    $self->{sizer_11}->Add($self->{fp_messages}, 0, wxEXPAND, 5);
    
    $self->{nb_preview} = Wx::Panel->new($self->{nb_preferences}, wxID_ANY);
    $self->{nb_preferences}->AddPage($self->{nb_preview}, _T("Preview"));
    
    $self->{sizer_3} = Wx::BoxSizer->new(wxVERTICAL);
    
    my $label_5 = Wx::StaticText->new($self->{nb_preview}, wxID_ANY, _T("Preview Settings"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER_HORIZONTAL);
    $label_5->SetMinSize(Wx::Size->new(-1, 35));
    $label_5->SetForegroundColour(Wx::Colour->new(0, 104, 217));
    $label_5->SetFont(Wx::Font->new(18, wxDEFAULT, wxNORMAL, wxNORMAL, 0, ""));
    $self->{sizer_3}->Add($label_5, 0, wxALL|wxEXPAND, 15);
    
    $self->{sizer_12} = Wx::GridBagSizer->new(15, 15);
    $self->{sizer_3}->Add($self->{sizer_12}, 0, wxEXPAND|wxLEFT|wxRIGHT, 15);
    
    $self->{cb_pdfviewer} = Wx::CheckBox->new($self->{nb_preview}, wxID_ANY, _T("PDF Viewer"));
    $self->{cb_pdfviewer}->SetToolTipString(_T("Use an external program instead of the built-in PDF viewer"));
    $self->{sizer_12}->Add($self->{cb_pdfviewer}, Wx::GBPosition->new(0, 0), Wx::GBSpan->new(1, 1), wxALIGN_CENTER_VERTICAL, 0);
    
    $self->{t_pdfviewer} = Wx::TextCtrl->new($self->{nb_preview}, wxID_ANY, "");
    $self->{t_pdfviewer}->SetToolTipString(_T("Specify the command to run the alternative PDF viewer.\n  %f will be replaced by the file name\n  %u will be replaced by the file URL\nLeave empty to use the system default viewer."));
    $self->{sizer_12}->Add($self->{t_pdfviewer}, Wx::GBPosition->new(0, 1), Wx::GBSpan->new(1, 1), wxEXPAND, 5);
    
    $self->{sz_prefs_outer}->Add(20, 5, 0, wxEXPAND|wxTOP, 0);
    
    $self->{sz_prefs_buttons} = Wx::StdDialogButtonSizer->new();
    $self->{sz_prefs_outer}->Add($self->{sz_prefs_buttons}, 0, wxALIGN_RIGHT|wxBOTTOM, 5);
    
    $self->{b_prefs_cancel} = Wx::Button->new($self, wxID_CANCEL, "");
    $self->{b_prefs_cancel}->SetToolTipString(_T("Close the dialog, discarding changes"));
    $self->{sz_prefs_buttons}->AddButton($self->{b_prefs_cancel});
    
    $self->{b_prefs_ok} = Wx::Button->new($self, wxID_OK, "");
    $self->{b_prefs_ok}->SetToolTipString(_T("Apply the changes and close the dialog"));
    $self->{b_prefs_ok}->SetDefault();
    $self->{sz_prefs_buttons}->AddButton($self->{b_prefs_ok});
    
    $self->{sz_prefs_buttons}->Realize();
    
    $self->{sizer_12}->AddGrowableCol(1);
    
    $self->{nb_preview}->SetSizer($self->{sizer_3});
    
    $self->{sizer_11}->AddGrowableCol(1);
    
    $self->{nb_messages}->SetSizer($self->{sizer_4});
    
    $self->{sz_colours}->AddGrowableCol(0);
    $self->{sz_colours}->AddGrowableCol(2);
    
    $self->{sizer_10}->AddGrowableCol(1);
    
    $self->{nb_editor}->SetSizer($self->{sizer_5});
    
    $self->{sizer_13}->AddGrowableCol(1);
    
    $self->{nb_notations}->SetSizer($self->{sizer_2});
    
    $self->{sizer_9}->AddGrowableRow(0);
    $self->{sizer_9}->AddGrowableCol(1);
    
    $self->{nb_config}->SetSizer($self->{sizer_1});
    
    $self->SetSizer($self->{sz_main});
    $self->{sz_main}->Fit($self);
    $self->{sz_main}->SetSizeHints($self);
    
    $self->Layout();
    Wx::Event::EVT_CHECKBOX($self, $self->{cb_skipstdcfg}->GetId, $self->can('OnSkipStdCfg'));
    Wx::Event::EVT_CHECKBOX($self, $self->{cb_presets}->GetId, $self->can('OnPresets'));
    Wx::Event::EVT_CHECKBOX($self, $self->{cb_configfile}->GetId, $self->can('OnConfigFile'));
    Wx::Event::EVT_FILEPICKER_CHANGED($self, $self->{fp_customconfig}->GetId, $self->can('OnCustomConfigChanged'));
    Wx::Event::EVT_BUTTON($self, $self->{b_createconfig}->GetId, $self->can('OnCreateConfig'));
    Wx::Event::EVT_CHECKBOX($self, $self->{cb_customlib}->GetId, $self->can('OnCustomLib'));
    Wx::Event::EVT_DIRPICKER_CHANGED($self, $self->{dp_customlibrary}->GetId, $self->can('OnCustomLibChanged'));
    Wx::Event::EVT_CHOICE($self, $self->{ch_notation}->GetId, $self->can('OnChNotation'));
    Wx::Event::EVT_CHECKBOX($self, $self->{cb_xpose}->GetId, $self->can('OnCbTranspose'));
    Wx::Event::EVT_CHOICE($self, $self->{ch_xpose_from}->GetId, $self->can('OnXposeFrom'));
    Wx::Event::EVT_CHOICE($self, $self->{ch_xpose_to}->GetId, $self->can('OnXposeTo'));
    Wx::Event::EVT_CHECKBOX($self, $self->{cb_xcode}->GetId, $self->can('OnCbTranscode'));
    Wx::Event::EVT_CHOICE($self, $self->{ch_xcode}->GetId, $self->can('OnChTranscode'));
    Wx::Event::EVT_FONTPICKER_CHANGED($self, $self->{fp_editor}->GetId, $self->can('OnEditorFontPickerChanged'));
    Wx::Event::EVT_CHECKBOX($self, $self->{cb_editorwrap}->GetId, $self->can('OnEditorWrap'));
    Wx::Event::EVT_SPINCTRL($self, $self->{sp_editorwrap}->GetId, $self->can('OnEditorWrapIndent'));
    Wx::Event::EVT_CHECKBOX($self, $self->{cb_tmplfile}->GetId, $self->can('OnCbTmplFile'));
    Wx::Event::EVT_CHOICE($self, $self->{ch_theme}->GetId, $self->can('OnThemeChanged'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_fg}->GetId, $self->can('OnColourFGChanged'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_bg}->GetId, $self->can('OnColourBGChanged'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_s1}->GetId, $self->can('OnColourS1Changed'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_s2}->GetId, $self->can('OnColourS2Changed'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_s3}->GetId, $self->can('OnColourS3Changed'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_s4}->GetId, $self->can('OnColourS4Changed'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_s5}->GetId, $self->can('OnColourS5Changed'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_s6}->GetId, $self->can('OnColourS6Changed'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_annfg}->GetId, $self->can('OnColourAnnFGChanged'));
    Wx::Event::EVT_COLOURPICKER_CHANGED($self, $self->{cp_annbg}->GetId, $self->can('OnColourAnnBGChanged'));
    Wx::Event::EVT_FONTPICKER_CHANGED($self, $self->{fp_messages}->GetId, $self->can('OnMessagesFontPickerChanged'));
    Wx::Event::EVT_CHECKBOX($self, $self->{cb_pdfviewer}->GetId, $self->can('OnPDFViewer'));
    Wx::Event::EVT_BUTTON($self, $self->{b_prefs_cancel}->GetId, $self->can('OnCancel'));
    Wx::Event::EVT_BUTTON($self, $self->{b_prefs_ok}->GetId, $self->can('OnAccept'));

    # end wxGlade
    return $self;

}


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


# end of class ChordPro::Wx::SettingsDialog_wxg

1;

