Hi, I have a question about where to find what actually gets executed when you click a button.
sq3.10-7159dev08.04.1 with UI Enhancements eg. Open a simple ChangeSorter, opt-click to make a new ChangeSet, enter the name. What gets done when you click ok? I've dragged a copy of the button off and explored and inspected but cannot find what the button action actually is. I seem to be missing some key understanding on how the button in this case works. My goal, and reason for looking into this particular thing, is to programmatically create a new ChangeSet in an Installer script, so answering how to do that would help too. Thx, Ken G. Brown _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
Do know what is being executed:
- use the third mouse button to display the allows of the dialog - press this button again until the button is selected (you will see PluggableButtonMorphPlus at the bottom line of the halos) - press the 'wrench' button on the right (named 'debug') - select 'explore morph' - click on the '+' sign to unfold - the 'model' property tells you where the message will be sent (an instance of TextEntryDialogWindow) - the 'actionSelector' property tells you that the message is #ok. So, #ok will be sent to an instance of TextEntryDialogWindow. You can now browse TextEntryDialogWindow, right click on the class, open ' Protocol browser'. Select '--all--', in the method list select 'ok'. You will see that the #ok method is implemented in the DialogWindow class a superclass of TextEntryDialogWindow. Have a nice day On Wed, Apr 9, 2008 at 9:11 PM, Ken G. Brown <[hidden email]> wrote: > Hi, I have a question about where to find what actually gets executed when you click a button. > sq3.10-7159dev08.04.1 with UI Enhancements > > eg. Open a simple ChangeSorter, opt-click to make a new ChangeSet, enter the name. What gets done when you click ok? > I've dragged a copy of the button off and explored and inspected but cannot find what the button action actually is. > I seem to be missing some key understanding on how the button in this case works. > > My goal, and reason for looking into this particular thing, is to programmatically create a new ChangeSet in an Installer script, so answering how to do that would help too. > > Thx, > Ken G. Brown > _______________________________________________ > UI mailing list > [hidden email] > http://lists.squeakfoundation.org/mailman/listinfo/ui > -- Damien Cassou Peter von der Ahé: «I'm beginning to see why Gilad wished us good luck». (http://blogs.sun.com/ahe/entry/override_snafu) _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
Aha! The mysteries are unfolding!
Doesn't quite get me there yet since the #ok message is just: -- ok "Apply the changes and close." self cancelled: false; applyChanges; delete -- but maybe I can find the right thing now using the same methodology. Looking for how the ChangeSorter actually does its create new ChangeSet deed. Thx, Ken At 7:48 AM +0200 4/10/08, Damien Cassou apparently wrote: >Do know what is being executed: > >- use the third mouse button to display the allows of the dialog >- press this button again until the button is selected (you will see >PluggableButtonMorphPlus at the bottom line of the halos) >- press the 'wrench' button on the right (named 'debug') >- select 'explore morph' >- click on the '+' sign to unfold >- the 'model' property tells you where the message will be sent (an >instance of TextEntryDialogWindow) >- the 'actionSelector' property tells you that the message is #ok. > >So, #ok will be sent to an instance of TextEntryDialogWindow. You can >now browse TextEntryDialogWindow, right click on the class, open ' >Protocol browser'. Select '--all--', in the method list select 'ok'. >You will see that the #ok method is implemented in the DialogWindow >class a superclass of TextEntryDialogWindow. > >Have a nice day > >On Wed, Apr 9, 2008 at 9:11 PM, Ken G. Brown <[hidden email]> wrote: >> Hi, I have a question about where to find what actually gets executed when you click a button. >> sq3.10-7159dev08.04.1 with UI Enhancements >> >> eg. Open a simple ChangeSorter, opt-click to make a new ChangeSet, enter the name. What gets done when you click ok? >> I've dragged a copy of the button off and explored and inspected but cannot find what the button action actually is. >> I seem to be missing some key understanding on how the button in this case works. >> >> My goal, and reason for looking into this particular thing, is to programmatically create a new ChangeSet in an Installer script, so answering how to do that would help too. >> >> Thx, >> Ken G. Brown >> _______________________________________________ >> UI mailing list >> [hidden email] >> http://lists.squeakfoundation.org/mailman/listinfo/ui >> > > > >-- >Damien Cassou >Peter von der Ahé: «I'm beginning to see why Gilad wished us good >luck». (http://blogs.sun.com/ahe/entry/override_snafu) > >_______________________________________________ >UI mailing list >[hidden email] >http://lists.squeakfoundation.org/mailman/listinfo/ui _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
In reply to this post by Ken G. Brown
On Wed, Apr 09, 2008 at 01:11:32PM -0600, Ken G. Brown wrote:
> Hi, I have a question about where to find what actually gets executed when you click a button. > sq3.10-7159dev08.04.1 with UI Enhancements > > eg. Open a simple ChangeSorter, opt-click to make a new ChangeSet, enter the name. What gets done when you click ok? > I've dragged a copy of the button off and explored and inspected but cannot find what the button action actually is. > I seem to be missing some key understanding on how the button in this case works. You started debugging too late. You want to know what the menu item does, not the dialog box. The dialog box is a generic text entry box for anything. Here is what I do to find out what menu items do: 1. Open the change sorter 2. Right-click, and get the context menu 3. Shift-click the entry "new change set... (n)" to edit the text of the menu 4. Press Cmd-Shift-E to search for that string in all source code 5. This will take you to the place where the menu item is defined: aMenu add: 'new change set... (n)' action: #newSet. 6. Double-click newSet and press Cmd-m to find implementers of #newSet 7. Place a self halt at the beginning of the newSet method, or look through it and find more implementers (Cmd-m), or browse the class (mouse-over the top pane and Cmd-b) Once you get this down, you can go from menu item to debugger in about 20 seconds. > My goal, and reason for looking into this particular thing, is > to programmatically create a new ChangeSet in an Installer > script, so answering how to do that would help too. ChangeSet newChangeSet: 'KenStuff' -- Matthew Fulmer -- http://mtfulmer.wordpress.com/ _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
At 5:21 PM -0700 4/10/08, Matthew Fulmer apparently wrote:
>On Wed, Apr 09, 2008 at 01:11:32PM -0600, Ken G. Brown wrote: >> Hi, I have a question about where to find what actually gets executed when you click a button. >> sq3.10-7159dev08.04.1 with UI Enhancements >> >> eg. Open a simple ChangeSorter, opt-click to make a new ChangeSet, enter the name. What gets done when you click ok? >> I've dragged a copy of the button off and explored and inspected but cannot find what the button action actually is. >> I seem to be missing some key understanding on how the button in this case works. > >You started debugging too late. You want to know what the menu >item does, not the dialog box. The dialog box is a generic text >entry box for anything. Here is what I do to find out what menu >items do: > >1. Open the change sorter >2. Right-click, and get the context menu >3. Shift-click the entry "new change set... (n)" to edit the > text of the menu >4. Press Cmd-Shift-E to search for that string in all source > code >5. This will take you to the place where the menu item is > defined: > > aMenu add: 'new change set... (n)' action: #newSet. > >6. Double-click newSet and press Cmd-m to find implementers of > #newSet >7. Place a self halt at the beginning of the newSet method, or > look through it and find more implementers (Cmd-m), or browse > the class (mouse-over the top pane and Cmd-b) > >Once you get this down, you can go from menu item to debugger in >about 20 seconds. > >> My goal, and reason for looking into this particular thing, is >> to programmatically create a new ChangeSet in an Installer >> script, so answering how to do that would help too. > >ChangeSet newChangeSet: 'KenStuff' > >-- >Matthew Fulmer -- http://mtfulmer.wordpress.com/ >_______________________________________________ >UI mailing list >[hidden email] >http://lists.squeakfoundation.org/mailman/listinfo/ui Thx! This does what I want for now, also setting the new ChangeSet as current, although any open ChangeSorters will not get updated: ChangeSet newChanges: (ChangeSorter newChangeSet: 'tmpNewChgSet'). I've found how to update them if I could find the open ChangeSorters... -- ChangeSorter>>newCurrent "make my change set be the current one that changes go into" ChangeSet newChanges: myChangeSet. self update. "Because list of changes in a category may thus have changed" self changed: #relabel. -- Ken G. Brown _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
In reply to this post by Tapple Gao
At 5:21 PM -0700 4/10/08, Matthew Fulmer apparently wrote:
>On Wed, Apr 09, 2008 at 01:11:32PM -0600, Ken G. Brown wrote: >> Hi, I have a question about where to find what actually gets executed when you click a button. >> sq3.10-7159dev08.04.1 with UI Enhancements >> >> eg. Open a simple ChangeSorter, opt-click to make a new ChangeSet, enter the name. What gets done when you click ok? >> I've dragged a copy of the button off and explored and inspected but cannot find what the button action actually is. >> I seem to be missing some key understanding on how the button in this case works. > >You started debugging too late. You want to know what the menu >item does, not the dialog box. The dialog box is a generic text >entry box for anything. Here is what I do to find out what menu >items do: > >1. Open the change sorter >2. Right-click, and get the context menu >3. Shift-click the entry "new change set... (n)" to edit the > text of the menu Hmmm...Shift-click does not seem to work to get the text, on Mac. Ken >4. Press Cmd-Shift-E to search for that string in all source > code >5. This will take you to the place where the menu item is > defined: > > aMenu add: 'new change set... (n)' action: #newSet. > >6. Double-click newSet and press Cmd-m to find implementers of > #newSet >7. Place a self halt at the beginning of the newSet method, or > look through it and find more implementers (Cmd-m), or browse > the class (mouse-over the top pane and Cmd-b) > >Once you get this down, you can go from menu item to debugger in >about 20 seconds. > >> My goal, and reason for looking into this particular thing, is >> to programmatically create a new ChangeSet in an Installer >> script, so answering how to do that would help too. > >ChangeSet newChangeSet: 'KenStuff' > >-- >Matthew Fulmer -- http://mtfulmer.wordpress.com/ >_______________________________________________ >UI mailing list >[hidden email] >http://lists.squeakfoundation.org/mailman/listinfo/ui _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
On Thu, Apr 10, 2008 at 07:02:17PM -0600, Ken G. Brown wrote:
> >3. Shift-click the entry "new change set... (n)" to edit the > > text of the menu > > Hmmm...Shift-click does not seem to work to get the text, on Mac. You must be on an image with UIEnhancements, such as squeak-dev-beta. Sorry. -- Matthew Fulmer -- http://mtfulmer.wordpress.com/ _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
At 6:51 PM -0700 4/10/08, Matthew Fulmer apparently wrote:
>On Thu, Apr 10, 2008 at 07:02:17PM -0600, Ken G. Brown wrote: >> >3. Shift-click the entry "new change set... (n)" to edit the >> > text of the menu >> >> Hmmm...Shift-click does not seem to work to get the text, on Mac. > >You must be on an image with UIEnhancements, such as >squeak-dev-beta. Sorry. Oops, shoulda had my sig line as someone on #Squeak suggested! :) Ken G. Brown sq3.10-7159dev08.04.1 + Installer: LPF + Sake + MinorFixesStable + MinorFixesUnstable, Squeak 3.8.18beta1U.app, MacOS X 10.5.2 >-- >Matthew Fulmer -- http://mtfulmer.wordpress.com/ >_______________________________________________ >UI mailing list >[hidden email] >http://lists.squeakfoundation.org/mailman/listinfo/ui -- _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
In reply to this post by Ken G. Brown
Hello Ken,
KGB> I've found how to update them if I could find the open ChangeSorters... open some ChangeSorters and other windows then in a Workspace World submorphs explore. Then dig into the SystemWindows and look up the model of each. So it will need something like World submorphs select: [:each | (each respondsTo: #model) and: [each model class = ChangeSorter]] Cheers, Herbert _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
In reply to this post by Tapple Gao
Shift-click works ok with the UI Enhancements here, at least on Win and
Linux. I find use of Halos/inspect is quicker for me though. Gary. > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]]On Behalf Of Matthew > Fulmer > Sent: 11 April 2008 2:52 AM > To: [hidden email] > Subject: Re: [UI] how to find button action target? > > > On Thu, Apr 10, 2008 at 07:02:17PM -0600, Ken G. Brown wrote: > > >3. Shift-click the entry "new change set... (n)" to edit the > > > text of the menu > > > > Hmmm...Shift-click does not seem to work to get the text, on Mac. > > You must be on an image with UIEnhancements, such as > squeak-dev-beta. Sorry. > > -- > Matthew Fulmer -- http://mtfulmer.wordpress.com/ > _______________________________________________ > UI mailing list > [hidden email] > http://lists.squeakfoundation.org/mailman/listinfo/ui _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
In reply to this post by Damien Cassou-3
Just a minor issue thought regarding dev image naming convention...
When you release, I find that I bring a fresh dev image and changes into a new folder with the same name, then open it, and immediately save as new version giving the following: sq3.10-7159dev08.04.1 - this is the folder sq3.10-7159dev08.04.1.changes sq3.10-7159dev08.04.1.image sq3.10-7159dev08.04.2.changes sq3.10-7159dev08.04.2.image which is good, because the versions end up in the right order. Small problem would come if you released a sq3.10-7159dev08.04.2 since there would be a naming conflict because I already have one of those. I would not be putting it into the same folder in any case, but there would then be versions on my system with same names, with totally different meanings. Perhaps you have found this as well. The issue is a side effect of how Squeak figures out the name for the new version, and maybe that is what you do to get the name in the first place. No biggy, but this will most likely apply to other release versions too so if we give it some thought, it might be helpful. As you might have guessed, messy versioning systems is one of my pet peeves! :) I haven't really looked into it seriously but one would think version numbering must have been beaten to death somewhere already, wouldn't you think? Any ideas? Love the dev releases by the way. I'm now able to build my customized image from your new releases via Installer in about 15 minutes, loading all Keith's stuff, everything I need to use VMMaker, all my own work, reloaded custom named Workspaces from text files with various snippets and stuff I need to keep around, etc., etc. It drives me crazy to know that someone somewhere has fixed stuff that might be an issue I would run into, therefore I like to keep up to date. Don't know how people can stand to work in old images. Ken G. Brown _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
In reply to this post by Damien Cassou-3
Hi Ken,
squeak-dev releases already saw a lot of different naming schemes. The current one is the best I found currently. If you have any idea on how to improve, please tell me. The last number will nearly always be 1 so it's no big deal. You could also change the 'dev' to 'ken' for example. If you have anything in your custom images that you think can fit in my dev images, please tell me. I also like to have updated tools, that's why I made the dev-images the first time. Greetings, Damien Cassou On Sat, Apr 12, 2008 at 8:48 PM, Ken G. Brown <[hidden email]> wrote: > Just a minor issue thought regarding dev image naming convention... > > When you release, I find that I bring a fresh dev image and changes into a new folder with the same name, then open it, and immediately save as new version giving the following: > sq3.10-7159dev08.04.1 - this is the folder > sq3.10-7159dev08.04.1.changes > sq3.10-7159dev08.04.1.image > sq3.10-7159dev08.04.2.changes > sq3.10-7159dev08.04.2.image > > which is good, because the versions end up in the right order. > > Small problem would come if you released a sq3.10-7159dev08.04.2 since there would be a naming conflict because I already have one of those. > I would not be putting it into the same folder in any case, but there would then be versions on my system with same names, with totally different meanings. > > Perhaps you have found this as well. > > The issue is a side effect of how Squeak figures out the name for the new version, and maybe that is what you do to get the name in the first place. > > No biggy, but this will most likely apply to other release versions too so if we give it some thought, it might be helpful. > > As you might have guessed, messy versioning systems is one of my pet peeves! :) > I haven't really looked into it seriously but one would think version numbering must have been beaten to death somewhere already, wouldn't you think? > > Any ideas? > > Love the dev releases by the way. > I'm now able to build my customized image from your new releases via Installer in about 15 minutes, loading all Keith's stuff, everything I need to use VMMaker, all my own work, reloaded custom named Workspaces from text files with various snippets and stuff I need to keep around, etc., etc. > > It drives me crazy to know that someone somewhere has fixed stuff that might be an issue I would run into, therefore I like to keep up to date. Don't know how people can stand to work in old images. > > Ken G. Brown > _______________________________________________ > UI mailing list > [hidden email] > http://lists.squeakfoundation.org/mailman/listinfo/ui > -- Damien Cassou Peter von der Ahé: «I'm beginning to see why Gilad wished us good luck». (http://blogs.sun.com/ahe/entry/override_snafu) _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
At 8:09 PM +0200 4/13/08, Damien Cassou apparently wrote:
>Hi Ken, > >squeak-dev releases already saw a lot of different naming schemes. The >current one is the best I found currently. If you have any idea on how >to improve, please tell me. The last number will nearly always be 1 so >it's no big deal. You could also change the 'dev' to 'ken' for >example. Don't get me wrong, the current convention seems pretty good. Here's a pretty good rundown on software versioning <http://en.wikipedia.org/wiki/Versioning> Actually just adding a character at the end would work I guess. However if you changed from 'dev' in the middle, to 'dev' at the end, that would also do it. Before doing so tho, we should have a look at the Versioning link to see if there are ideas for improvement. It seems like your image naming conventions are a bit stuck with keeping synch with whatever the release naming convention is, as well. >If you have anything in your custom images that you think can fit in >my dev images, please tell me. I've been following Keith's recommendations at <http://installer.pbwiki.com> for the most part except tidy and clean and am sometimes unsure of what is already in the dev image and what is not. Question-do you use Installer for building the dev images? If not, are there some issues with doing that? I haven't looked closely at how you build. Perhaps a dev image build script on the Installer wiki would be good. >I also like to have updated tools, that's why I made the dev-images >the first time. Yep! Appreciate it... Ken G. Brown >Greetings, > >Damien Cassou > >On Sat, Apr 12, 2008 at 8:48 PM, Ken G. Brown <[hidden email]> wrote: >> Just a minor issue thought regarding dev image naming convention... >> >> When you release, I find that I bring a fresh dev image and changes into a new folder with the same name, then open it, and immediately save as new version giving the following: >> sq3.10-7159dev08.04.1 - this is the folder >> sq3.10-7159dev08.04.1.changes >> sq3.10-7159dev08.04.1.image >> sq3.10-7159dev08.04.2.changes >> sq3.10-7159dev08.04.2.image >> >> which is good, because the versions end up in the right order. >> >> Small problem would come if you released a sq3.10-7159dev08.04.2 since there would be a naming conflict because I already have one of those. >> I would not be putting it into the same folder in any case, but there would then be versions on my system with same names, with totally different meanings. >> >> Perhaps you have found this as well. >> >> The issue is a side effect of how Squeak figures out the name for the new version, and maybe that is what you do to get the name in the first place. >> >> No biggy, but this will most likely apply to other release versions too so if we give it some thought, it might be helpful. >> >> As you might have guessed, messy versioning systems is one of my pet peeves! :) >> I haven't really looked into it seriously but one would think version numbering must have been beaten to death somewhere already, wouldn't you think? >> >> Any ideas? >> >> Love the dev releases by the way. >> I'm now able to build my customized image from your new releases via Installer in about 15 minutes, loading all Keith's stuff, everything I need to use VMMaker, all my own work, reloaded custom named Workspaces from text files with various snippets and stuff I need to keep around, etc., etc. >> >> It drives me crazy to know that someone somewhere has fixed stuff that might be an issue I would run into, therefore I like to keep up to date. Don't know how people can stand to work in old images. >> >> Ken G. Brown >> _______________________________________________ >> UI mailing list >> [hidden email] >> http://lists.squeakfoundation.org/mailman/listinfo/ui >> > > > >-- >Damien Cassou >Peter von der Ahé: «I'm beginning to see why Gilad wished us good >luck». (http://blogs.sun.com/ahe/entry/override_snafu) > >_______________________________________________ >UI mailing list >[hidden email] >http://lists.squeakfoundation.org/mailman/listinfo/ui _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
In reply to this post by Damien Cassou-3
On Mon, Apr 14, 2008 at 5:13 PM, Ken G. Brown <[hidden email]> wrote:
> I've been following Keith's recommendations at <http://installer.pbwiki.com> for the most part except tidy and clean and am sometimes unsure of what is already in the dev image and what is not. Question-do you use Installer for building the dev images? If not, are there some issues with doing that? I haven't looked closely at how you build. Perhaps a dev image build script on the Installer wiki would be good. I use the script http://damien.cassou.free.fr/squeak-dev/makeImages.sh which helps me generate 4 images based on 2 different squeak bases. It effectively uses Installer. -- Damien Cassou Peter von der Ahé: «I'm beginning to see why Gilad wished us good luck». (http://blogs.sun.com/ahe/entry/override_snafu) _______________________________________________ UI mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/ui |
Free forum by Nabble | Edit this page |