« Last post by Lee Mac on Today at 07:57:44 am »
One of the important things about Ron's code is that the *error* function is declared local to the main routine, and does not use the setting and getting of old-error
I noticed that you ignored that.
- ;; ;
- ;; Action_Focus by ymg ;
- ;; ;
- ;; Given a list of "Tile Key" will create necessaries "action-tile" ;
- ;; be able to use "ENTER" key in "edit-box" of a dialogue. ;
- ;; ;
- ;; The Dialogue file must not contain any "is_default = true;" ;
- ;; ;
- (defun Action_Focus (l)
- " (mode_tile \"" b "\" " (itoa 2) ")"
- " (setq a $val)"
- ")" ))) l (cdr l)
(mode_tile "EditBox1st" 2) ;set initial focus to first edit box
(action_tile "EditBox1st" "(mode_tile \"EditBox2nd\" 2)") ;switch focus from first to second
(action_tile "EditBox2nd" "(mode_tile \"EditBox3rd\" 2)") ;switch focus from second to third
(action_tile "EditBox3rd" "(mode_tile \"accept\" 2)") ;set final focus from third to OK
Problem with this method is that you must go through all the boxes in order to
even be able to cancel or accept the dialogue, as the "action-tile" gets fired before
"cancel" or "accept" and focus is tranfered to the next tile.
The proposed "action-focus" routine get rid of this problem, by testing the value
of $reason. If value is equal to "1", we either pressed "ENTER" or Selected another
tile. All we do at this point is to accept anything that was entered and do not change
Seems to work OK, but maybe somebody knows a better way.
Okay.Yeah, the state of my head this week is not good.
Your criteria/explanations are still a bit jumbled up and I'm still having a hard time envisioning this but I'm getting a better idea of your plan (I think). -i.e. sometimes you are describing a library, and sometimes you're describing a file sync thing, and other times you're describing a processor of sorts.
I want to work with the original files, not proliferate copies all over the place that need to be kept track of and in sync with the original. If I have a bright idea and add it to a target project (because I'm tired and forgot to switch to the original source project) then I want the changes to propagate to all projects - linked files solves that. One version of the Truth.
You make a call to CodeCloner.exe whenever you want to refresh the target projects. You can check the projects against each other in a text-diff to see what is missing, as a confidence test. As an example, diff the 2x csproj files in the Github project after you build them a couple of times, you will see the added lines in the XML and how they compare to the original.
I'm a little confused on the (= 1 1) 1 will always = 1.
Why not use (while t (command "_.line" "0,0,0" "10,10,0" "")) if your intent is an endless loop exitable only with escape.