[wxWidgets] Funktionen auslagern
-
HI, ich arbeite seit ein paar wochen an einem Mediaplayer mit wxWidgets,
nun habe ich anfangs erstmal Design und FUnktionen nicht von einander getrennt. Jetzt ist die fFrage wie ich dies noch nachträglich hinbekomme, da ich nie den ZUgriff auf alle Objekte gewährt bekomme, obwohl alle design-Elemente (Buttons etc.) public sind...kann aber auch sein das ich nur nen kleinen dummen Denk fehler habe...erst war meine Anordnung also so:
in der Klasse "Fenster":
erst ein FensterKonstuktor mit allen anzuzeigenden Elementen,
dann unteranderem folgende COnnects:playbuttonup->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( Fenster::OnPlayButtonDown), NULL, this ); vorlaufbuttonup->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( Fenster::OnVorlaufButtonDown), NULL, this ); ruecklaufbuttonup->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( Fenster::OnRuecklaufButtonDown), NULL, this );
dann kamen darunter die Ausprogrammierung der Funktionen z.B:
void Fenster::OnPlayButtonDown(wxMouseEvent& event) { playbuttonup->Destroy(); pausebutton = new wxStaticBitmap( panel1, wxID_ANY, wxBitmap( wxT("images\\pause_button.png"), wxBITMAP_TYPE_ANY ), wxPoint(368,342), wxSize(64,64), 0 ); pausebutton->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( Fenster::OnPauseButton), NULL, this ); . . . }
Nun sollen die Funktionen einfach in einer anderen Datei,von mir aus "Funktionen" aufgerufen werden. Und da komm ich halt nicht weiter da ich bisher nur kleinere Projekte gemacht habe
würde mich über eure Hilfe sehr freuen
Mfg
-
Gib dem Button ne andere ID als wxID_ANY und schick einfach nen Event aus der anderen Funktion bzw der anderen Klasse.
Wenn ich das richtig verstanden habe....
rya.
-
ok,aber welches ecent meinst du da?
-
Naja, je nachdem welche Funktion du aufrufen willst.. so ganz hab ich glaube nicht verstanden was du willst.. welche Funktion soll genau aufgerufen werden?
In dem Fall von wxMouseEvent musst natürlich selbiges schicken...
-
naja, also ich will im Prinzip einfach die einzelnen Elemente der Klasse Fenster mit den Funktionen verknüpfen, die in einer anderen Datei stehen... also z.B. die Funktion
void Fenster::OnPlayButtonDown(wxMouseEvent& event)
ist in einer anderen Klasse ausprogrammiert.
Jetzt hab ich aber keine Ahnung wie ich das dann Connecten soll, oder halt besser mit nem Event-Table :-$ steh da aufm schlauch