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 )