Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5319[/thread]

wxPerl Checkboxen abfragen

Tags: Ähnliche Threads

Leser: 1


<< >> 6 Einträge, 1 Seite
vayu
 2007-05-25 12:04
#46357 #46357
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
hi, ich erzeuge in einer schleife ein paar checkboxen.
darunter kommt ein button. über ein event lasse ich dann eine funktion aufrufen, wenn der button gedrückt wird.

sooo ... wie kann ich nun in dieser funktion die checkboxes abfragen.

ich hab wie man gleich sehen wird, die boxes in ein globales array gepushed, so dass ich dann aus der sub draufzugreifen kann ... aber die funktion isChecked() die ich in der c API gefunden habe gibts anscheinend nicht.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
my $frame = Wx::Frame->new(
undef, -1, 'Test', wxDefaultPosition, wxSIZE(400,500)
);
$frame->SetAutoLayout(1);
my $q = Wx::WidgetMaker->new(-parent => $frame);
my $pagesizer = Wx::BoxSizer->new(wxVERTICAL);

foreach(@exts) {
my $rowsizer = Wx::BoxSizer->new(wxHORIZONTAL);

my $control = $q->checkbox(
-name => 'color_checkbox',
-checked => 'checked',
-label => $_,
);
push @controls, $control; # <== @controls global definiert
$q->print($control, $rowsizer);
$pagesizer->Add($rowsizer);
}
my $rowsizer = Wx::BoxSizer->new(wxHORIZONTAL);
my $control = $q->submit(
-name => 'color_button',
-value => 'Oeffnen',
);
EVT_BUTTON($frame, $control, \&getExts);
$pagesizer->Add($rowsizer);
$q->print($control, $rowsizer);

$frame->SetSizer($pagesizer);
$pagesizer->SetSizeHints($frame);

$app->SetTopWindow($frame);
$frame->Show(1);

sub getExts {
my ($this, $event) = @_;
foreach(@controls) {
print Dumper \$_;
}
}
lichtkind
 2007-05-25 12:35
#46358 #46358
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
natürlich gehts, ein blick in meinen exit dialog ders ähnlich macht hätte dir geholfen :)

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
sub save_selected {
    my @check_boxes = @{ shift; };
    my $doc_nr = &Kephra::Document::_get_current_nr;
    for ( 0 .. $#check_boxes ) {
        if ( ref $check_boxes[$_] ne '' ) {
            if ( $check_boxes[$_]->GetValue ) {
               
 ...
            }
        }
    }
        ...
}
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
vayu
 2007-05-25 13:15
#46359 #46359
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
ich weiss doch ned auswendig wo bei dir checkboxen im editor sind ^^
lichtkind
 2007-05-25 14:58
#46360 #46360
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
es ging um den exit dialog und der war unter Kephra::Dialog::Exit was an sich nicht so schwer zu finden ist dacht ich immer.

ich hab auf jedenfall den code den du mir gesandt hast. werd ihn ansehen aber muss ihn so oder so reichlich umbauen um data:Dumper WidgetMaker und einige andere sachen da rauszukürzen um den code schlank zu halten. auch hast du hier einiges mehr zusammenkopiert als verstanden aber ich finds gut das du mit helfen willst und dich von der Wx API nicht abschrecken lässt. leider kann ich im moment nicht voll unterstützen da ich grad an was anderem bastle und noch anderes ansteht.

aber ich empfehle dir 2, 3 kleine beispiel apps in Wx zu schreiben um das grundlegende mechanismen zu verstehen. der "examples" download auf der wxperl seite auf sf.net ist ziemlich hilfreich dafür.

denn du hast ja auch bloss den dirdialog genommen und ich schlage vor wenn wir da aufwand reinstecken dann machen wir es richtig. ;)
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
vayu
 2007-05-25 17:16
#46361 #46361
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
ich hab echt lange nach irgendwelchen hilfreichen seiten gesucht, aber wirklich fündig bin ich nicht geworden :) ... leider.

zu Tk gibts tausende seiten, aber Wx ... fehlanzeige.
lichtkind
 2007-05-25 21:06
#46362 #46362
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
genau deswegen wollen wir auch wxperl.de aufbauen wenn der manuel mal mit seinem server aus der falte kommt :)

aber wenn du englisch kannst oder den tips in unserem tutorial folgst findest du schon was
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
<< >> 6 Einträge, 1 Seite



View all threads created 2007-05-25 12:04.