in reply to console editor

as far as I know, it's not possible to overwrite virtualfunctions from within perl.?
Why not? Gtk2, wxPerl ... do it

Replies are listed 'Best First'.
Re^2: console editor
by misc (Friar) on Sep 02, 2007 at 13:01 UTC
    gtk2 is a c-library -?
    Here is an example in cpp pseudo code how I understood coding with tvision:
    class button { // The tvision class public: virtual void buttonclick(){ //Overwrite me ... } ... } class mybutton public Button { // This is my button ... virtual void buttonclick(){ //do something exit(0); } } int main(){ //Initialize the app.. app->mainloop(); }

    TVision is object oriented, and I don't know howto implement the example of the class mybutton in perl in a useful manner.

    I thought already about a wrapper which implements event style hooks.

    Would look something like this:
    --- cpp layer class perlwrapper_button public Button{ virtual void buttonclick(){ if ( !call perl->this_instance->buttonclick() ){ Button::buttonclick(); // Call tvision's buttononclick } } } --- perl module package Button; sub buttonclick{ return 0; } 1; --- The perl code of mybutton: package MyButton; push @ISA, 'Button'; sub buttonclick{ exit(0); } 1;
    I doubt, however, this concept is wise.