From ilias at lazaridis.com Thu May 5 17:12:01 2005 From: ilias at lazaridis.com (Ilias Lazaridis) Date: Thu May 5 17:21:59 2005 Subject: [FR-devel] [EDITOR] - Would like to contribute on code level Message-ID: Hello, I would like to contribute to the FreeRIDE. That's initially a specific extension that I would like to see in the IDE: when typing ".", a popup appears with the method list. I depend on the teams assistance (mostly: answers to some analitycals question whilst diving into the sources). i expect to have the first result within around 2 weeks. Can I rely on the teams assistance and support? Thank you for your time. . -- http://lazaridis.com From laurent at moldus.org Sun May 8 13:31:36 2005 From: laurent at moldus.org (Laurent Julliard) Date: Sun May 8 13:24:44 2005 Subject: [FR-devel] Re: [EDITOR] - Would like to contribute on code level In-Reply-To: <427BB97C.8030503@lazaridis.com> References: <427BB97C.8030503@lazaridis.com> Message-ID: <427E4CF8.3040602@moldus.org> Ilias Lazaridis wrote: > [RESEND, original in freeride.devel] > > Ilias Lazaridis wrote: > >> Hello, >> >> I would like to contribute to the FreeRIDE. >> >> That's initially a specific extension that I would like to see in the >> IDE: >> >> when typing ".", a popup appears with the method list. >> >> I depend on the teams assistance (mostly: answers to some analitycals >> question whilst diving into the sources). >> >> i expect to have the first result within around 2 weeks. >> >> Can I rely on the teams assistance and support? >> >> Thank you for your time. >> >> . >> > > Sorry for the delay in replying to your request. We will of course assist you in any way we can. Feel free to ask questions on the FR-devel mailing list. A few tips: - for the popup you can probably leverage the GUI of the code template plugin that was added to 0.9.4 recently. - To catch the '.' key you'll have to modify the event notification method in ./plugins/rubyide_fox_gui/fxscintilla/scintilla.rb in the on_key function Hope this helps and I'm really happy to have a new contributor to the FreeRIDE project. By any chance, are you a Windows user? We really miss Windows users to test the FreeRIDE platform. Laurent -- Laurent JULLIARD http://www.moldus.org/~laurent From ilias at lazaridis.com Sun May 8 20:54:21 2005 From: ilias at lazaridis.com (Ilias Lazaridis) Date: Sun May 8 20:48:10 2005 Subject: [FR-devel] Re: [EDITOR] - Would like to contribute on code level In-Reply-To: <427E4CF8.3040602@moldus.org> References: <427BB97C.8030503@lazaridis.com> <427E4CF8.3040602@moldus.org> Message-ID: Laurent Julliard wrote: [...] > Sorry for the delay in replying to your request. We will of course > assist you in any way we can. Feel free to ask questions on the FR-devel > mailing list. ok, very nice. > A few tips: > > - for the popup you can probably leverage the GUI of the code template > plugin that was added to 0.9.4 recently. > > - To catch the '.' key you'll have to modify the event notification > method in ./plugins/rubyide_fox_gui/fxscintilla/scintilla.rb in the > on_key function Thanks for the info (but code is too early yet). I will start with going over the project webpage, teaching into the project and giving you some feedback (to simplify teach in of the next project member). > Hope this helps and I'm really happy to have a new contributor to the > FreeRIDE project. By any chance, are you a Windows user? We really miss > Windows users to test the FreeRIDE platform. You can jump. Win XP on an super-old machine (P-III 400Mhz). > Laurent . -- http://lazaridis.com From megatux at gmail.com Thu May 12 19:01:48 2005 From: megatux at gmail.com (Cristian Molina) Date: Thu May 12 18:55:20 2005 Subject: [FR-devel] gui plugin In-Reply-To: <200504221916.j3MJG1dS008257@rubyforge.org> References: <200504221916.j3MJG1dS008257@rubyforge.org> Message-ID: <2f2b34160505121601130d8bb7@mail.gmail.com> Hi, I have a question with my own gui plugin (it's not a Fox plugin :) In my code, in the start method, I copy from others plugins this part: component_slot.subscribe do |event, slot| if (event == :notify_slot_add && slot.parent == component_slot) my init code etc etc puts "hi!" end puts "hi!!!" end puts "finish start method" like in appframe.rb: def AppFrame.start(plugin) component_slot = plugin["/system/ui/components/AppFrame"] component_slot.subscribe do |event, slot| if (event == :notify_slot_add && slot.parent == component_slot) app = Fox::FXApp.new("FreeRIDE", "FreeRIDE") but my init code inside the subcribe method never is called. Can you help me? Thanks PD: Sorry for my poor english !!! From laurent at moldus.org Fri May 13 02:44:27 2005 From: laurent at moldus.org (Laurent Julliard) Date: Fri May 13 02:36:51 2005 Subject: [FR-devel] gui plugin In-Reply-To: <2f2b34160505121601130d8bb7@mail.gmail.com> References: <200504221916.j3MJG1dS008257@rubyforge.org> <2f2b34160505121601130d8bb7@mail.gmail.com> Message-ID: <42844CCB.3090705@moldus.org> Cristian Molina wrote: > Hi, > I have a question with my own gui plugin (it's not a Fox plugin :) > > In my code, in the start method, I copy from others plugins this part: > > component_slot.subscribe do |event, slot| > if (event == :notify_slot_add && slot.parent == component_slot) > my init code > > etc etc > puts "hi!" > end > puts "hi!!!" > end > > puts "finish start method" > > like in appframe.rb: > > def AppFrame.start(plugin) > component_slot = plugin["/system/ui/components/AppFrame"] > > component_slot.subscribe do |event, slot| > > if (event == :notify_slot_add && slot.parent == component_slot) > app = Fox::FXApp.new("FreeRIDE", "FreeRIDE") > > but my init code inside the subcribe method never is called. > Can you help me? > > Thanks > PD: Sorry for my poor english !!! > Cristian, No problem for the english. You don't have to write like Skakespear to contribute FreeRIDE otherwise I guess we should all resign from this project!! :-) Onto your problem now: the piece of code that you mention is actually in the GUI part of FR in rubyide_fox_gui/appframe.rb. And the only thing it does is to subscribe to the AppFrame slot and in case a new slot is created it instantiates a new GUI. But it doesn't create the new slot itself. The appframe example is very "special" because for a normal plugin what actually creates a new slot is usually either when a) you start the non GUI part of the plugin or b) a menu item or a keyboard shortcut triggers a new action. For AppFrame what creates the new (and unique) slot under "/system/ui/components/AppFrame" is in the start method of the ComponentManager plugin when it says: appFrameSlot = plugin["/system/ui/components/AppFrame"].manager.add("main") When this statement is executed, the "main" slot under "/system/ui/components/AppFrame" is created, its manager is the AppFrame class in the *non* GUI part of the appframe plugin in rubyide_gui/appframe.rb and its UI is rendered by virtue of the code that you listed in your original email. So it's a 3-step process. Not all plugins are as complex. So if you do not have a GUI part in your plugin you could for instance call the manager.add() method at the end of the start method of your plugin to automatically create an instance. Hope this helps. Laurent -- Laurent JULLIARD http://www.moldus.org/~laurent From curt at hibbs.com Fri May 13 11:10:42 2005 From: curt at hibbs.com (Curt Hibbs) Date: Fri May 13 11:04:08 2005 Subject: [FR-devel] gui plugin In-Reply-To: <42844CCB.3090705@moldus.org> References: <200504221916.j3MJG1dS008257@rubyforge.org> <2f2b34160505121601130d8bb7@mail.gmail.com> <42844CCB.3090705@moldus.org> Message-ID: <4284C372.7070905@hibbs.com> Cristian, out of curiosity, in what gui framework is your plugin written? Curt Laurent Julliard wrote: > Cristian Molina wrote: > >> Hi, I have a question with my own gui plugin (it's not a Fox plugin :) >> >> In my code, in the start method, I copy from others plugins this part: >> component_slot.subscribe do |event, slot| >> if (event == :notify_slot_add && slot.parent == component_slot) >> my init code >> >> etc etc >> puts "hi!" >> end >> puts "hi!!!" >> end >> puts "finish start method" >> >> like in appframe.rb: >> >> def AppFrame.start(plugin) >> component_slot = plugin["/system/ui/components/AppFrame"] >> component_slot.subscribe do |event, slot| >> >> if (event == :notify_slot_add && slot.parent == component_slot) >> app = Fox::FXApp.new("FreeRIDE", "FreeRIDE") >> >> but my init code inside the subcribe method never is called. >> Can you help me? >> >> Thanks >> PD: Sorry for my poor english !!! >> > > Cristian, > > No problem for the english. You don't have to write like Skakespear to > contribute FreeRIDE otherwise I guess we should all resign from this > project!! :-) > > Onto your problem now: the piece of code that you mention is actually in > the GUI part of FR in rubyide_fox_gui/appframe.rb. And the only thing it > does is to subscribe to the AppFrame slot and in case a new slot is > created it instantiates a new GUI. But it doesn't create the new slot > itself. > > The appframe example is very "special" because for a normal plugin what > actually creates a new slot is usually either when a) you start the non > GUI part of the plugin or b) a menu item or a keyboard shortcut triggers > a new action. > > For AppFrame what creates the new (and unique) slot under > "/system/ui/components/AppFrame" is in the start method of the > ComponentManager plugin when it says: > > appFrameSlot = > plugin["/system/ui/components/AppFrame"].manager.add("main") > > > When this statement is executed, the "main" slot under > "/system/ui/components/AppFrame" is created, its manager is the AppFrame > class in the *non* GUI part of the appframe plugin in > rubyide_gui/appframe.rb and its UI is rendered by virtue of the code > that you listed in your original email. So it's a 3-step process. > > Not all plugins are as complex. So if you do not have a GUI part > in your plugin you could for instance call the manager.add() method at > the end of the start method of your plugin to automatically create an > instance. > > Hope this helps. > > Laurent > From megatux at gmail.com Fri May 13 12:15:04 2005 From: megatux at gmail.com (Cristian Molina) Date: Fri May 13 12:08:38 2005 Subject: [FR-devel] gui plugin In-Reply-To: <4284C372.7070905@hibbs.com> References: <200504221916.j3MJG1dS008257@rubyforge.org> <2f2b34160505121601130d8bb7@mail.gmail.com> <42844CCB.3090705@moldus.org> <4284C372.7070905@hibbs.com> Message-ID: <2f2b341605051309156c629b87@mail.gmail.com> I'm using GNOME2 bindings, from http://ruby-gnome2.sourceforge.jp/ I'm making my own appframe window. Cristian On 5/13/05, Curt Hibbs wrote: > Cristian, out of curiosity, in what gui framework is your plugin written? > > Curt > > Laurent Julliard wrote: > > Cristian Molina wrote: > > > >> Hi, I have a question with my own gui plugin (it's not a Fox plugin :) > >> > >> In my code, in the start method, I copy from others plugins this part: > >> component_slot.subscribe do |event, slot| > >> if (event == :notify_slot_add && slot.parent == component_slot) From ilias at lazaridis.com Sat May 14 22:22:38 2005 From: ilias at lazaridis.com (Ilias Lazaridis) Date: Sat May 14 22:16:39 2005 Subject: [FR-devel] Re: [EDITOR] - Would like to contribute on code level In-Reply-To: <427E4CF8.3040602@moldus.org> References: <427BB97C.8030503@lazaridis.com> <427E4CF8.3040602@moldus.org> Message-ID: Laurent Julliard wrote: > Ilias Lazaridis wrote: [...] > A few tips: > > - for the popup you can probably leverage the GUI of the code template > plugin that was added to 0.9.4 recently. the result of this code "rubyide_gui/code_template.rb" looks fine (the window which cames up). I've difficulties to exract the functionality from the source-code, which is not self-explaining. can you possibly provide a plug-in template (similar to the "examples/HelloWorld", which opens on a key-event (CTRL-SPACE) exactly the same window as "code_template.rb" does? > - To catch the '.' key you'll have to modify the event notification > method in ./plugins/rubyide_fox_gui/fxscintilla/scintilla.rb in the > on_key function > > Hope this helps and I'm really happy to have a new contributor to the > FreeRIDE project. By any chance, are you a Windows user? We really miss > Windows users to test the FreeRIDE platform. > > Laurent > -- http://lazaridis.com From ilias at lazaridis.com Sun May 15 22:41:05 2005 From: ilias at lazaridis.com (Ilias Lazaridis) Date: Sun May 15 22:35:04 2005 Subject: [FR-devel] Re: [EDITOR] - Would like to contribute on code level In-Reply-To: <427E4CF8.3040602@moldus.org> References: <427BB97C.8030503@lazaridis.com> <427E4CF8.3040602@moldus.org> Message-ID: Laurent Julliard wrote: > Ilias Lazaridis wrote: > >> [RESEND, original in freeride.devel] >> >> Ilias Lazaridis wrote: >> >>> Hello, >>> >>> I would like to contribute to the FreeRIDE. >>> >>> That's initially a specific extension that I would like to see in the >>> IDE: [...] > Sorry for the delay in replying to your request. We will of course > assist you in any way we can. Feel free to ask questions on the FR-devel > mailing list. > > A few tips: > > - for the popup you can probably leverage the GUI of the code template > plugin that was added to 0.9.4 recently. [...] I've duplicate the "code_completion" code with "code_assist" code: problem: after startin freeRIDE, the menu "Code Assist" is not existent. - def code_completion @actions['code_completion'].invoke end def code_assist @actions['code_assist'].invoke end - # Create the Code Templates... command cmdct = cmd_mgr.add("EditPane/CodeTemplates", "Code &TemplatesX...") do |cmd_slot| ep_slot = plugin['/system/ui/current/EditPane'] ep_slot.manager.code_completion() end plugin["/system/ui/keys"].manager.bind("EditPane/CodeTemplates", :ctrl, :J) # Create the Code Assist... command cmdct = cmd_mgr.add("EditPane/CodeAssist", "Code &Assist...") do |cmd_slot| ep_slot = plugin['/system/ui/current/EditPane'] ep_slot.manager.code_assist() end plugin["/system/ui/keys"].manager.bind("EditPane/CodeAssist", :ctrl, :K) - bind_action("code_completion", :code_completion) bind_action("code_assist", :code_assist) - def code_completion [...] end def code_assist [...] end . -- http://lazaridis.com From pbarry at thoughtworks.com Mon May 16 01:38:03 2005 From: pbarry at thoughtworks.com (Peter Barry) Date: Mon May 16 01:36:11 2005 Subject: [FR-devel] Newbie Greeetings Message-ID: Good day, I have just joined the mailing list and as per instructions am introducing myself. I am a 23yr old developer fresh from school so to speak, and I have only recently started to use Ruby. I am not using it in any work related projects but I do get a feeling that will change over the coming few years. I am very eager to contribute to FreeRIDE and would appreciate it if one of you could point me in the right direction. Cheers, Peter. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/freeride-devel/attachments/20050516/660a74b1/attachment-0001.htm From laurent at moldus.org Mon May 16 02:34:09 2005 From: laurent at moldus.org (Laurent Julliard) Date: Mon May 16 02:26:11 2005 Subject: [FR-devel] Newbie Greeetings In-Reply-To: References: Message-ID: <42883EE1.9000703@moldus.org> Peter Barry wrote: > > Good day, > > I have just joined the mailing list and as per instructions am > introducing myself. > > I am a 23yr old developer fresh from school so to speak, and I have only > recently started to use Ruby. > > I am not using it in any work related projects but I do get a feeling > that will change over the coming few years. > > I am very eager to contribute to FreeRIDE and would appreciate it if one > of you could point me in the right direction. > > Cheers, > > Peter. > > Welcome Peter! I'm glad we have a new comer in the FR developers community. As to your contributions, well... we have so may things on our plate that it's going to be easy to contribute something... :-) - Documentation: Completing the documentation and then integrating it in the FreeRIDE GUI is something we must do. Adelle Hartley and Brian Moelk were supposed to take over this task but I haven't seen much from them so far. - Debugging: if you are a Windows user (2000 or XP) then you are definitely welcome to debug FR on these 2 platforms. There are a number of open bugs right now that requires our attention and I do not have time. This one is very high in the priority list. (see http://rubyforge.org/tracker/?group_id=31&atid=202 for a list of open bugs) Both activities are a good start for w newbie because they allow you to understand the various part of FR and how it works. Let us know where you want to contribute. Thanks again! Laurent -- Laurent JULLIARD http://www.moldus.org/~laurent From laurent at moldus.org Mon May 16 02:42:34 2005 From: laurent at moldus.org (Laurent Julliard) Date: Mon May 16 02:34:34 2005 Subject: [FR-devel] Re: [EDITOR] - Would like to contribute on code level In-Reply-To: References: <427BB97C.8030503@lazaridis.com> <427E4CF8.3040602@moldus.org> Message-ID: <428840DA.2010006@moldus.org> Ilias Lazaridis wrote: > Laurent Julliard wrote: > >> Ilias Lazaridis wrote: >> >>> [RESEND, original in freeride.devel] >>> >>> Ilias Lazaridis wrote: >>> >>>> Hello, >>>> >>>> I would like to contribute to the FreeRIDE. >>>> >>>> That's initially a specific extension that I would like to see in >>>> the IDE: > > [...] > >> Sorry for the delay in replying to your request. We will of course >> assist you in any way we can. Feel free to ask questions on the >> FR-devel mailing list. >> >> A few tips: >> >> - for the popup you can probably leverage the GUI of the code template >> plugin that was added to 0.9.4 recently. > > [...] > > > I've duplicate the "code_completion" code with "code_assist" code: > > problem: after startin freeRIDE, the menu "Code Assist" is not existent. > > - > > def code_completion > @actions['code_completion'].invoke > end > > def code_assist > @actions['code_assist'].invoke > end > > - > > # Create the Code Templates... command > cmdct = cmd_mgr.add("EditPane/CodeTemplates", "Code > &TemplatesX...") do |cmd_slot| > ep_slot = plugin['/system/ui/current/EditPane'] > ep_slot.manager.code_completion() > end > > plugin["/system/ui/keys"].manager.bind("EditPane/CodeTemplates", :ctrl, :J) > > # Create the Code Assist... command > cmdct = cmd_mgr.add("EditPane/CodeAssist", "Code &Assist...") do > |cmd_slot| > ep_slot = plugin['/system/ui/current/EditPane'] > ep_slot.manager.code_assist() > end > plugin["/system/ui/keys"].manager.bind("EditPane/CodeAssist", > :ctrl, :K) > > - > > bind_action("code_completion", :code_completion) > bind_action("code_assist", :code_assist) > > - > > def code_completion > [...] > end > > def code_assist > [...] > end > > . > Ilias, You're almost good but you forgot to add the menu item in the Edit menu with editmenu.add_command("EditPane/CodeAssist") You can insert this line next to some other add_command statement that are already there. I also suggest that you rename cmdct to cmdca and add cmdca in the command availability list on line: [cmdg,cmdf,cmdr,cmdfn,cmdfp,cmdct, cmdca].each do |cmd| -- Laurent JULLIARD http://www.moldus.org/~laurent