From: anon <rsm...@gm...> - 2013-09-14 16:36:47
|
Hello. Is it possible to listen to mouse events in textArea or editPane? I tried this Jython code in the JythonInterpreter plugin console as an experiment, but nothing happens, whereas similar CaretListener code does work. Any suggestions? I want to make a plugin listen for double or triple mouse clicks. Let me know if this should be posted to jedit-devel instead. Thanks, Remik. //=============================== // Nothing gets printed. from java.awt.event import MouseAdapter class ML(MouseAdapter): def mousePressed(self, e): print 'mousePressed event = ' + str(e) def mouseClicked(self, e): print 'mouseClicked event = ' + str(e) ml1 = ML() textArea.addMouseListener(ml1) ml2 = ML() editPane.addMouseListener(ml2) ml3 = ML() view.addMouseListener(ml3) //================================ // This prints, but for caret change. from javax.swing.event import CaretListener class CL(CaretListener): def caretUpdate(self, e): print str(e) cl = CL() textArea.addCaretListener(cl) |
From: Alan E. <ala...@gm...> - 2013-09-14 16:42:23
|
I don't know how to listen to caret change, but I do know that SideKick can optionally listen for a keystroke and parse, and most keystrokes cause caret changes.... To find out how to do that, I would look at the source code for SideKick plugin. |
From: Alan E. <ala...@gm...> - 2013-09-14 16:44:49
|
Oh look, sidekick has an option for "tree to follow caret", so sidekick also knows how to listen to caret changes. On Sat, Sep 14, 2013 at 9:42 AM, Alan Ezust <ala...@gm...> wrote: > I don't know how to listen to caret change, but I do know that SideKick > can optionally listen for a keystroke and parse, and most keystrokes cause > caret changes.... > To find out how to do that, I would look at the source code for SideKick > plugin. > > > > |
From: Dale A. <da...@gr...> - 2013-09-15 23:34:24
|
For the text area, you need to add the mouse listener to the text area painter rather than the text area. Here is an example macro in beanshell: addMouseAdapter( textArea ) { import java.event.MouseAdapter; MouseAdapter ma = new MouseAdapter(){ public void mouseClicked(MouseEvent me) { System.out.println("mouse clicked at " + me.getLocationOnScreen()); } }; textArea.getPainter().addMouseListener(ma); } addMouseAdapter( textArea ); On Sat, Sep 14, 2013 at 10:44 AM, Alan Ezust <ala...@gm...> wrote: > Oh look, sidekick has an option for "tree to follow caret", so sidekick > also knows how to listen to caret changes. > > > On Sat, Sep 14, 2013 at 9:42 AM, Alan Ezust <ala...@gm...> wrote: > >> I don't know how to listen to caret change, but I do know that SideKick >> can optionally listen for a keystroke and parse, and most keystrokes cause >> caret changes.... >> To find out how to do that, I would look at the source code for SideKick >> plugin. >> >> >> >> > > > > ------------------------------------------------------------------------------ > LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! > 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, > SharePoint > 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack > includes > Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/22/13. > http://pubads.g.doubleclick.net/gampad/clk?id=64545871&iu=/4140/ostg.clktrk > -- > ----------------------------------------------- > jEdit Users' List > jEd...@li... > https://lists.sourceforge.net/lists/listinfo/jedit-users > > |
From: r <rsm...@gm...> - 2013-09-16 00:24:18
|
Thanks for the example, but it's still not listening for me (Oracle Java 1.7, jEdit 5.1). I put this code into a file "mouselisten.bsh" and sourced it in the BeanShell console with: BeanShell> source("/home/rsz/mouselisten.bsh") addMouseAdapter( textArea ) { import java.awt.event.MouseAdapter; MouseAdapter ma = new MouseAdapter() { public void mouseClicked(MouseEvent me) { System.out.println("mouse clicked at " + me.getLocationOnScreen()); System.out.flush(); Macros.message(view,"tracing"); } }; textArea.getPainter().addMouseListener(ma); } addMouseAdapter( textArea ); Macros.message(view, "source done"); Remik On 9/15/2013 7:12 PM, Dale Anson wrote: > For the text area, you need to add the mouse listener to the text area > painter rather than the text area. Here is an example macro in beanshell: > > addMouseAdapter( textArea ) { > import java.event.MouseAdapter; > MouseAdapter ma = new MouseAdapter(){ > public void mouseClicked(MouseEvent me) { > System.out.println("mouse clicked at " + > me.getLocationOnScreen()); > } > }; > textArea.getPainter().addMouseListener(ma); > } > > addMouseAdapter( textArea ); > > > > > On Sat, Sep 14, 2013 at 10:44 AM, Alan Ezust <ala...@gm... > <mailto:ala...@gm...>> wrote: > > Oh look, sidekick has an option for "tree to follow caret", so > sidekick also knows how to listen to caret changes. > > > On Sat, Sep 14, 2013 at 9:42 AM, Alan Ezust <ala...@gm... > <mailto:ala...@gm...>> wrote: > > I don't know how to listen to caret change, but I do know that > SideKick can optionally listen for a keystroke and parse, and > most keystrokes cause caret changes.... > To find out how to do that, I would look at the source code > for SideKick plugin. > > > > > ------------------------------------------------------------------------------ > LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! > 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, > SharePoint > 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power > Pack includes > Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/22/13. > http://pubads.g.doubleclick.net/gampad/clk?id=64545871&iu=/4140/ostg.clktrk > -- > ----------------------------------------------- > jEdit Users' List > jEd...@li... > <mailto:jEd...@li...> > https://lists.sourceforge.net/lists/listinfo/jedit-users > > |
From: Dale A. <da...@gr...> - 2013-09-16 02:53:33
|
It worked fine for me when I put it in my ~/.jedit/macros directory and ran it from the Macros menu. I've never tried to source anything from the beanshell console, maybe there is a bug there? Regardless, the example is correct, you need to add the listener to the text area painter, not the text area itself. When you start writing your plugin, this will be what you need to do. On Sun, Sep 15, 2013 at 6:24 PM, r <rsm...@gm...> wrote: > Thanks for the example, but it's still not listening for me (Oracle Java > 1.7, jEdit 5.1). I put this code into a file "mouselisten.bsh" and sourced > it in the BeanShell console with: > > BeanShell> source("/home/rsz/mouselisten.bsh") > > addMouseAdapter( textArea ) { > import java.awt.event.MouseAdapter; > > MouseAdapter ma = new MouseAdapter() { > public void mouseClicked(MouseEvent me) { > System.out.println("mouse clicked at " + > me.getLocationOnScreen()); > System.out.flush(); > Macros.message(view,"tracing"); > } > }; > textArea.getPainter().addMouseListener(ma); > } > > addMouseAdapter( textArea ); > Macros.message(view, "source done"); > > Remik > > > On 9/15/2013 7:12 PM, Dale Anson wrote: > > For the text area, you need to add the mouse listener to the text area > painter rather than the text area. Here is an example macro in beanshell: > > addMouseAdapter( textArea ) { > import java.event.MouseAdapter; > MouseAdapter ma = new MouseAdapter(){ > public void mouseClicked(MouseEvent me) { > System.out.println("mouse clicked at " + > me.getLocationOnScreen()); > } > }; > textArea.getPainter().addMouseListener(ma); > } > > addMouseAdapter( textArea ); > > > > > On Sat, Sep 14, 2013 at 10:44 AM, Alan Ezust <ala...@gm...> wrote: > >> Oh look, sidekick has an option for "tree to follow caret", so sidekick >> also knows how to listen to caret changes. >> >> >> On Sat, Sep 14, 2013 at 9:42 AM, Alan Ezust <ala...@gm...> wrote: >> >>> I don't know how to listen to caret change, but I do know that >>> SideKick can optionally listen for a keystroke and parse, and most >>> keystrokes cause caret changes.... >>> To find out how to do that, I would look at the source code for >>> SideKick plugin. >>> >>> >>> >> >> >> ------------------------------------------------------------------------------ >> LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! >> 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, >> SharePoint >> 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack >> includes >> Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/22/13. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=64545871&iu=/4140/ostg.clktrk >> -- >> ----------------------------------------------- >> jEdit Users' List >> jEd...@li... >> https://lists.sourceforge.net/lists/listinfo/jedit-users >> >> > > |
From: r <rsm...@gm...> - 2013-09-16 03:33:36
|
Awesome! I used your tip about ~/.jedit/macros (and under the app dir too), and the macro ran and caught the mouse events. I can now see double or triple mouse clicks. Thank you! On 9/15/2013 10:53 PM, Dale Anson wrote: > It worked fine for me when I put it in my ~/.jedit/macros directory > and ran it from the Macros menu. I've never tried to source anything > from the beanshell console, maybe there is a bug there? Regardless, > the example is correct, you need to add the listener to the text area > painter, not the text area itself. When you start writing your plugin, > this will be what you need to do. > > > On Sun, Sep 15, 2013 at 6:24 PM, r <rsm...@gm... > <mailto:rsm...@gm...>> wrote: > > Thanks for the example, but it's still not listening for me > (Oracle Java 1.7, jEdit 5.1). I put this code into a file > "mouselisten.bsh" and sourced it in the BeanShell console with: > > BeanShell> source("/home/rsz/mouselisten.bsh") > > addMouseAdapter( textArea ) { > import java.awt.event.MouseAdapter; > > MouseAdapter ma = new MouseAdapter() { > public void mouseClicked(MouseEvent me) { > System.out.println("mouse clicked at " + > me.getLocationOnScreen()); > System.out.flush(); > Macros.message(view,"tracing"); > } > }; > textArea.getPainter().addMouseListener(ma); > } > > addMouseAdapter( textArea ); > Macros.message(view, "source done"); > > Remik > > > On 9/15/2013 7:12 PM, Dale Anson wrote: >> For the text area, you need to add the mouse listener to the text >> area painter rather than the text area. Here is an example macro >> in beanshell: >> >> addMouseAdapter( textArea ) { >> import java.event.MouseAdapter; >> MouseAdapter ma = new MouseAdapter(){ >> public void mouseClicked(MouseEvent me) { >> System.out.println("mouse clicked at " + >> me.getLocationOnScreen()); >> } >> }; >> textArea.getPainter().addMouseListener(ma); >> } >> >> addMouseAdapter( textArea ); >> >> >> >> >> On Sat, Sep 14, 2013 at 10:44 AM, Alan Ezust >> <ala...@gm... <mailto:ala...@gm...>> wrote: >> >> Oh look, sidekick has an option for "tree to follow caret", >> so sidekick also knows how to listen to caret changes. >> >> >> On Sat, Sep 14, 2013 at 9:42 AM, Alan Ezust >> <ala...@gm... <mailto:ala...@gm...>> wrote: >> >> I don't know how to listen to caret change, but I do know >> that SideKick can optionally listen for a keystroke and >> parse, and most keystrokes cause caret changes.... >> To find out how to do that, I would look at the source >> code for SideKick plugin. >> >> >> >> >> ------------------------------------------------------------------------------ >> LIMITED TIME SALE - Full Year of Microsoft Training For Just >> $49.99! >> 1,500+ hours of tutorials including VisualStudio 2012, >> Windows 8, SharePoint >> 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library >> Power Pack includes >> Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends >> 9/22/13. >> http://pubads.g.doubleclick.net/gampad/clk?id=64545871&iu=/4140/ostg.clktrk >> -- >> ----------------------------------------------- >> jEdit Users' List >> jEd...@li... >> <mailto:jEd...@li...> >> https://lists.sourceforge.net/lists/listinfo/jedit-users >> >> > > |