App-Music-ChordPro
view release on metacpan or search on metacpan
lib/ChordPro/Wx/SettingsDialog.pm view on Meta::CPAN
method OnHTMLViewer($event) {
}
# System
method OnSysColourChanged($event) {
$self->GetParent->init_theme;
$self->OnThemeChanged($event);
$event->Skip;
}
method OnChangeInstrument( $event ) {
my $c = $event->GetClientData;
$self->set_instrument_desc($c->{desc});
}
method OnChangeStyle( $event ) {
my $c = $event->GetClientData;
$self->set_style_desc($c->{desc});
# $self->set_style_preview($c->{preview});
}
method OnChangeStylemods( $event ) {
my $n = $event->GetInt;
my $ctl = $self->{ch_stylemods};
my $data = $ctl->GetClientData($n);
my $desc = "";
my $xid = $ctl->IsChecked($n) ? $data->{exclude_id} : "";
# Collect descriptions.
# If checking a choice has an exclude_id, uncheck checked choices
# that use the same exclude_id.
for ( my $i = 0; $i < $ctl->GetCount; $i++ ) {
next unless $ctl->IsChecked($i);
$data = $ctl->GetClientData($i);
if ( $i != $n and $xid and ($data->{exclude_id}//"") eq $xid ) {
$ctl->Check( $i, 0 );
next;
}
if ( $data->{desc} ) {
$desc .= $checkpfx;
$desc .= ucfirst($data->{src}) . ": "
unless $data->{src} eq "std";
$desc .= $data->{desc} . "\n";
}
}
$self->set_stylemods_desc($desc);
}
################ Helpers ################
method set_style_desc( $desc ) {
$self->{l_style_desc}->SetLabel($desc);
# $self->{l_style_desc}->Wrap(($self->{ch_style}->GetSizeWH)[0]);
}
=for later
method set_style_preview( $preview ) {
$preview //= "style_nopreview-small.png";
warn("XX1 $preview\n");
$preview = CP->findres( $preview, class => "images" )
|| CP->findres( "style_nopreview-small.png", class => "images" );
warn("XX2 $preview\n");
return unless $preview;
$self->{bm_style_preview}->SetBitmap
( Wx::Bitmap->new( $preview, wxBITMAP_TYPE_ANY ) );
}
=cut
method set_stylemods_desc( $desc ) {
$self->{l_stylemods_desc}->SetLabel($desc);
# $self->{l_stylemods_desc}->Wrap(($self->{ch_stylemods}->GetSizeWH)[0]);
}
method set_instrument_desc( $desc ) {
$self->{l_instrument_desc}->SetLabel($desc);
# $self->{l_instrument_desc}->Wrap(($self->{ch_instrument}->GetSizeWH)[0]);
}
method colourchanged($index) {
$self->colours2prefs;
}
method setnomod( $ctl, $code ) {
Carp::confess("WHOAH!") unless $ctl;
my $mod = $ctl->IsModified;
$code->($self, $ctl);
$ctl->SetModified($mod);
}
1;
( run in 2.796 seconds using v1.01-cache-2.11-cpan-df04353d9ac )