Sorry if this late response serves no purpose for you. (I was trolling in super-search for discussions about binding the tab character in Tk::Text... still looking... but found your node and had a suggestion.)

Yes, you do need to provide your own code to copy text changes between two Text widgets. And probably the nicest way to do this (from the user's perspective) would be to bind your own "copyText" function to a suitable event for the Text widget class. The best event to use probably depends on the app, but my first thought would be something like:

$mainwindow->bind( 'Tk::Text', '<Leave>', [\&copyText, $tw1, $tw2] ) +;
where $tw1 and $tw2 are the widget references for the two Text windows that you want to keep in sync.

This binding says that whenever the mouse cursor moves out of any Text widget, "copyText()" will be called, receiving that particular widget reference as it's first arg, and the two text widget references as second and third args. The sub then goes something like this (not tested):

sub copyText { my ($trigger,$tw1,$tw2) = @_; my ($src,$dst,$txt); if ($trigger eq $tw1) { $src = $tw1; $dst = $tw2; } else { $src = $tw2; $dst = $tw1; } $txt = $src->get('1.0','end'); $dst->delete('1.0','end'); $dst->insert('1.0',$txt); }
Of course, if the Text contents are complicated (tags, images, etc -- anything other than simple, plain text), then this sub needs to be a little more complicated....

In reply to Re: Sharing Tk::Text? by graff
in thread Sharing Tk::Text? by ariels

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.