Re: Set the icon to (icon of another stack)--YES!

2006-01-11 Thread Paul Claude
 Bon Jurno, Paul,
Buon giorno, Rob,

 1. Would this work?
Nice script. In my first post about this problem I have wrote that a
solution similar to yours may surely works, but I was searching for some way
to not load all images (for memory problemns) in my stack; now i'm supposing
that this will be the only way...

Merci beaucoup, Rob, pour ton temps et ton aide.
 
 Cao!
Ciao!


Paul Claude
-- 
Greetings from Rome




___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-10 Thread Rob Cozens

Bon Jurno, Paul,


You got reason, perhaps I have not explained well the problem. My stack is
an utility that simply shows the images of another choosen stack opened by
the user; so I cannot know if the user have one or many open stacks, and
what stack was opened before, or the potential ID conflicts.

That's why my only goal was to succeed to indicate exactly from which open
stack my utility read the images, avoiding eventual ID conflicts of
previously opened stacks.


1. Would this work?

Create a number of invisible thumbnail images [not buttons; 
lock size  position] on the image display

card of your utility stack.

Utility stack script:

answer file Please select a stack to see its images...
if the result is Cancel then exit to top
push card
lock screen
repeat with x = 1 to the number of images of me
hide image x of me
end repeat
open invisible stack it
repeat with x = 1 to the number of images of stack it
set the imageData of image x of me to the 
imageData of image x of stack it

show image x of me
end repeat
close stack it
pop card
set the itemDelimiter to /
put item -1 of it into field Image Source -- if 
you want the image stack name to appear

unlock screen

I presume you have logic to handle the case where there are 
more images in the stack you are opening then
there are buttons to display them.  Just change it to deal 
with images.


2.  I previously suggested when a thread boils down to two or three 
people, it should be taken off list.  Actually, I was focusing on 
off-topic conversations, and feel that conversations such as this 
between Paul  moi should remain on the list so long as the focus is 
strictly how to use Revolution.  Do others agree or disagree?


Cao!

Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution! 


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-09 Thread Paul Claude
Dear Rob,

I cannot change in any way the X2 or X3 stack, because it is an external
stack, not mine, and it may change everytime: I'm not switching themes, I'm
browsing stacks.


on 5-01-2006 17:15, Rob Cozens at [EMAIL PROTECTED] wrote:

 Can your design allow you to separate the images in X2 from the
 resources that must be opened?  (If not, why not?)


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-09 Thread Rob Cozens

Paul,

Can your design allow you to separate the images in X2 from the 
resources that must be opened?


I understand now that stacks X2  X3 were created by other people.  I 
also understand that, for whatever reason, X2 must be remain open 
when X3 is opened.


This leaves me mystified as to what you want to achieve (not that 
it's any of my business; but it's hard to propose a solution when one 
doesn't understand the problem).


* Are you trying to compare the two stacks?

* Do you have some other reason for needing them both open at the same time?

* If they were authored by the same person and meant to work in 
tandem, you should notify the author of the conflict.


* If they were authored by different people but still meant to work 
with others' stacks open, you should notify both authors of the conflict.


The odds of icon conflict are greatest, I suggest, when authors 
import images and leave the ids as assigned by Rev.  At the very 
least, increasing the id values for images by some six-digit amount 
reduces the odds of icon conflict.  If the author(s) of X2 and X3 
expect their stacks to be run along with others' stacks, they should 
reserve a set of unique icon ids on Ken Ray's website.


Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution!  


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-09 Thread Paul Claude
Hi Rob,

You got reason, perhaps I have not explained well the problem. My stack is
an utility that simply shows the images of another choosen stack opened by
the user; so I cannot know if the user have one or many open stacks, and
what stack was opened before, or the potential ID conflicts.

That's why my only goal was to succeed to indicate exactly from which open
stack my utility read the images, avoiding eventual ID conflicts of
previously opened stacks.

I'm sorry for my poor english ;-)


Paul Claude
-- 
Greetings from Rome



on 9-01-2006 17:56, Rob Cozens at [EMAIL PROTECTED] wrote:

 This leaves me mystified as to what you want to achieve (not that
 it's any of my business; but it's hard to propose a solution when one
 doesn't understand the problem).


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-05 Thread Paul Claude
Hi Rob,

Very good work. It actually may help people who must switch themes of a
stack.

For my needs, I cannot close the stack X2, therefore your solution it's
not applicable.

Thanks however.

Paul Claude



on 5-01-2006 6:40, Rob Cozens at [EMAIL PROTECTED] wrote:

 All,
 
 Chameleon stack script:
 
 On the vain presumption this might actually be of use to some people,
 here's an improved version.  Initialization is moved from openStack
 to preOpenStack and the handlers otherwise tweaked.
 
 local imagePath1,imagePath2,currentLibrary
 
 on preOpenStack
get the effective fileName of this stack
set the itemDelimiter to /
put X2.rev into item -1 of it
put it into imagePath1
put X3.rev into item -1 of it
put it into imagePath2
start using stack imagePath1
put imagePath1 into currentLibrary
refreshButtons
 end preOpenStack
 
 on switchLibraries
set the itemDelimiter to /
stop using stack currentLibrary
close stack currentLibrary
get item -1 of currentLibrary
if it is x3.rev then -- use switch logic if toggling between
 three or more icon libraries
  start using stack imagePath1
  put imagePath1 into currentLibrary
 else
  start using stack imagePath2
  put imagePath2 into currentLibrary
end if
send refreshButtons to this stack in 1 tick
 end switchLibraries
 
 on refreshButtons
lock screen
repeat with x = 1 to the number of buttons
  set the icon of button x to (the icon of button x)
end repeat
unlock screen
 end refreshButtons
 
 Rob Cozens, CCW
 Serendipity Software Company
 
 Vive R Revolution!
 
 ___
 use-revolution mailing list
 use-revolution@lists.runrev.com
 Please visit this url to subscribe, unsubscribe and manage your subscription
 preferences:
 http://lists.runrev.com/mailman/listinfo/use-revolution
 


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-05 Thread Rob Cozens

Paul,


I cannot close the stack X2, therefore your solution it's
not applicable.


Can your design allow you to separate the images in X2 from the 
resources that must be opened?  (If not, why not?)


Keep what needs to be open in X2 and place the images in new stack, 
X4.  (There's no reason X2 can't use the image resources in X4 
just as X1 does.)


Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution! 


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-05 Thread Rob Cozens

Paul,

Can your design allow you to separate the images in X2 from the 
resources that must be opened?


A simpler solution?:

on switchLibraries
   stop using stack currentLibrary -- may need to be tweaked?
   close stack currentLibrary
  set the itemDelimiter to /
  get item -1 of currentLibrary
  if it is x3.rev then
start using stack imagePath1
put imagePath1 into currentLibrary
   else
 start using stack imagePath2
put imagePath2 into currentLibrary
  end if
  send refreshButtons to this stack in 1 tick
   if currentLibrary is imagePath2 then
  stop using stack imagePath2
  close stack imagePath2
  lock messages -- [?]
  open stack imagePath1 -- /or start using ?
  unlock messages
  -- don't change currentLibrary, so the next call will toggle 
[may cause problems in line 1  2 above]

   end if
end switchLibraries

Experience shows us the icons won't change if refreshButtons is not 
sent to the stack.


Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution!  


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-05 Thread Rob Cozens


if currentLibrary is imagePath2 then
  stop using stack imagePath2
  close stack imagePath2
  lock messages -- [?]
  open stack imagePath1 -- /or start using ?
  unlock messages
  -- don't change currentLibrary, so the next call will toggle 
[may cause problems in line 1  2 above]

   end if


actually needs to be at the end of the refreshButtons handler to work 
correctly.


Another means of changing icons en mass would be to set button 
profiles with the appropriate icons.  The downsides of this are (1) 
profiles -- at least for moi -- are prone to error if you don't know 
what you are doing (eg: changing a property which has not been 
identified in the current profile establishes identifies that 
property in the master profile), and (2) this keeps both sets of 
icons in RAM at all times.


Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution! 


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Set the icon to (icon of another stack)

2006-01-04 Thread Paul Claude
 Eric Chatonet
 Images are the only objects the IDs of which can be changed:
 Just change the IDs of some images to avoid any conflict :-)
 And keep on hand the IDs list :-)
 
 In order to be meticulous, you can store all images in a stack or a
 substack, or put them onto a specific card dedicated to them.

Right, Eric, it's a Columbus egg, but you must consider that I cannot change
those Ids and that stack X2 and X3 are not mine and they are changing often.
So I need another solution.

 Rob Cozens CCW
 Try:
 
  start using stack x3
  lock screen
  repeat with x = 1 to the number of buttons
  set the icon of button x to (the icon of button x)
  end repeat
  unlock screen
 
 or going to another card in stack x1.
 

Well Rob, I really doesn't understand what you means. It's not a problem of
sceen redrawing, the problem is that, as explained in my example, I cannot
load (with the expression 'set the icon of btn x to...') the image in stack
X3 if an image with the same ID is in stack X2, and I don't know how solve
this problem.

Greetings

Paul Claude

P.S. Is there anybody that can tell me how to append my messages to this
list to an existing thread, without beginning each time a new thread (I use
entourage X)?


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-04 Thread Eric Chatonet

Hi Paul,

Well :-)
Sorry if I misunderstood.
You could try this tested workaround:

on SetImage pID
  local tFlag
  --
   if there is an image ID pID then
set the ID of image ID pID to 25
put true into tFlag
   end if
   put image ID pID of stack X3 into image Template
   -- or what you want :-)
   if tFlag then set the ID of image ID 25 to pID
end SetImage

Le 4 janv. 06 à 13:44, Paul Claude a écrit :


Eric Chatonet
Images are the only objects the IDs of which can be changed:
Just change the IDs of some images to avoid any conflict :-)
And keep on hand the IDs list :-)

In order to be meticulous, you can store all images in a stack or a
substack, or put them onto a specific card dedicated to them.


Right, Eric, it's a Columbus egg, but you must consider that I  
cannot change
those Ids and that stack X2 and X3 are not mine and they are  
changing often.

So I need another solution.


Best Regards from Paris,
Eric Chatonet
 
--

http://www.sosmartsoftware.com/[EMAIL PROTECTED]/


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-04 Thread Eric Chatonet

I made things far too much complicated :-)

put image ID ID of stack x3 into image Image Name is enough ;-)

Best Regards from Paris,
Eric Chatonet

Le 4 janv. 06 à 14:04, Eric Chatonet a écrit :


Hi Paul,

Well :-)
Sorry if I misunderstood.
You could try this tested workaround:

on SetImage pID
  local tFlag
  --
   if there is an image ID pID then
set the ID of image ID pID to 25
put true into tFlag
   end if
   put image ID pID of stack X3 into image Template
   -- or what you want :-)
   if tFlag then set the ID of image ID 25 to pID
end SetImage

Le 4 janv. 06 à 13:44, Paul Claude a écrit :


Eric Chatonet
Images are the only objects the IDs of which can be changed:
Just change the IDs of some images to avoid any conflict :-)
And keep on hand the IDs list :-)

In order to be meticulous, you can store all images in a stack or a
substack, or put them onto a specific card dedicated to them.


Right, Eric, it's a Columbus egg, but you must consider that I  
cannot change
those Ids and that stack X2 and X3 are not mine and they are  
changing often.

So I need another solution.
 
--

http://www.sosmartsoftware.com/[EMAIL PROTECTED]/


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Set the icon to (icon of another stack)

2006-01-04 Thread Paul Claude
 Well :-)
 Sorry if I misunderstood.
 You could try this tested workaround:
 
 on SetImage pID
local tFlag
--
 if there is an image ID pID then
  set the ID of image ID pID to 25
  put true into tFlag
 end if
 put image ID pID of stack X3 into image Template
 -- or what you want :-)
 if tFlag then set the ID of image ID 25 to pID
 end SetImage
 

Thanks, Eric, this surely works; I only was searching for a tip to avoid the
change (also if temporary) of the source image ID, as I can have many stacks
opened and many images to load together, but I am beginning to think that it
does not exist :-( 

Thanks again

Paul Claude


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-04 Thread Ken Ray
On 1/4/06 7:34 AM, Paul Claude [EMAIL PROTECTED] wrote:

 Thanks, Eric, this surely works; I only was searching for a tip to avoid the
 change (also if temporary) of the source image ID, as I can have many stacks
 opened and many images to load together, but I am beginning to think that it
 does not exist :-(

Unfortunately, you're right, Paul. If you have two images with the same ID
open at the same time, you can't assign an icon to a button by ID and be
able to clearly pick which one you want. So you either need to renumber the
IDs (temporarily), or only open one stack at a time and make sure the
destroyStack property is turned on so that it is purged from memory when it
closes.


Ken Ray
Sons of Thunder Software
Web site: http://www.sonsothunder.com/
Email: [EMAIL PROTECTED]

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-04 Thread Ken Ray
On 1/4/06 6:44 AM, Paul Claude [EMAIL PROTECTED] wrote:

 P.S. Is there anybody that can tell me how to append my messages to this
 list to an existing thread, without beginning each time a new thread (I use
 entourage X)?

Well, I use Entourage 2004, and if you're talking about how to keep things
together when you choose Arrange By Subject (or the equivalent) to keep
things sorted by conversation topic, you should be able to simply reply to
each email, and so long as the subject line stays the same, or has Re:  in
front of the subject, they should be grouped together properly in the same
thread.

Or am I missing something?


Ken Ray
Sons of Thunder Software
Web site: http://www.sonsothunder.com/
Email: [EMAIL PROTECTED]

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Set the icon to (icon of another stack)

2006-01-04 Thread Paul Claude
 I made things far too much complicated :-)
 
 put image ID ID of stack x3 into image Image Name is enough ;-)
 

Eric, the problem was another:

set the icon of btn x of stack X1 to (image ID ID of stack x3)

doesn't works if also in stack X2 there is an image with the same ID:
Revoultion loads the image of X2 in place of the one of X3, also if these
images have differents names.

 Unfortunately, you're right, Paul. If you have two images with the same ID
 open at the same time, you can't assign an icon to a button by ID and be
 able to clearly pick which one you want. So you either need to renumber the
 IDs (temporarily), or only open one stack at a time and make sure the
 destroyStack property is turned on so that it is purged from memory when it
 closes.
 

Thanks, Ken, now I can surrender...


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-04 Thread Eric Chatonet

Then use the previous script a bit modified:

on SetImage pID,pButton,pStackName
  local tFlag
  --
   set the cantAbort of this stack to true
   if there is an image ID pID of stack pStackName then
set the ID of image ID pID of stack pStackName to 25
put true into tFlag
   end if
   set the icon of btn pButton to image ID 25 of stack pStackName
   -- or what you want :-)
   if tFlag then set the ID of image ID 25 of stack pStackName  
to pID

   set the cantAbort of this stack to false
end SetImage

As Ken told you too and as far as I know, you have not another solution.

Le 4 janv. 06 à 14:44, Paul Claude a écrit :


I made things far too much complicated :-)

put image ID ID of stack x3 into image Image Name is enough ;-)



Eric, the problem was another:

set the icon of btn x of stack X1 to (image ID ID of stack x3)

doesn't works if also in stack X2 there is an image with the same ID:
Revoultion loads the image of X2 in place of the one of X3, also if  
these

images have differents names.


Best Regards from Paris,
Eric Chatonet
 
--

http://www.sosmartsoftware.com/[EMAIL PROTECTED]/


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-04 Thread Eric Chatonet

Sorry: you will have rectified:

set the icon of btn pButton to 25

Le 4 janv. 06 à 14:51, Eric Chatonet a écrit :


Then use the previous script a bit modified:

on SetImage pID,pButton,pStackName
  local tFlag
  --
   set the cantAbort of this stack to true
   if there is an image ID pID of stack pStackName then
set the ID of image ID pID of stack pStackName to 25
put true into tFlag
   end if
   set the icon of btn pButton to image ID 25 of stack pStackName
   -- or what you want :-)
   if tFlag then set the ID of image ID 25 of stack pStackName  
to pID

   set the cantAbort of this stack to false
end SetImage

As Ken told you too and as far as I know, you have not another  
solution.


Le 4 janv. 06 à 14:44, Paul Claude a écrit :


I made things far too much complicated :-)

put image ID ID of stack x3 into image Image Name is  
enough ;-)




Eric, the problem was another:

set the icon of btn x of stack X1 to (image ID ID of stack x3)

doesn't works if also in stack X2 there is an image with the same ID:
Revoultion loads the image of X2 in place of the one of X3, also  
if these

images have differents names.


Best Regards from Paris,
Eric Chatonet
 
--

http://www.sosmartsoftware.com/[EMAIL PROTECTED]/


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-04 Thread Rob Cozens

Paul,


 Try:

  start using stack x3
  lock screen
  repeat with x = 1 to the number of buttons
  set the icon of button x to (the icon of button x)
  end repeat
  unlock screen

 or going to another card in stack x1.


Well Rob, I really doesn't understand what you means. It's not a problem of
sceen redrawing, the problem is that, as explained in my example, I cannot
load (with the expression 'set the icon of btn x to...') the image in stack
X3 if an image with the same ID is in stack X2, and I don't know how solve
this problem.


That is precisely what I expect the code above to accomplish.  The 
start using command places stack x3 before stack x2 [presumed to 
have been opened or put in use earlier] in the message path; so set 
the icon of button x to (the icon of button x) should now find the 
icon in stack x3 instead of x2.  Did you try it?


If you care to send me your stacks privately, I will test it here.

Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution! 


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-04 Thread Rob Cozens

Paul, et al,

If you care to send me your stacks privately, I will test it here.

Spurred on by Ken's assertion that it couldn't be done, I spent the 
last 90 minutes trying to prove him wrong...and failed.


* I built a two card stack with three buttons with icons on the first 
 one button with an icon on the second.


* I added two radio buttons to card 1 that switch between one image 
library and the other.


* I created two image library stacks, x2 and x3.  X2 contains 
three images; x3 contains four, with the first three having the same 
ids as the three in x2.  The icon on the button on card 2 is set to 
the id of the fourth image in x3.


* alwaysBuffer is false for all stacks  images, and destroyStack is 
true for both image libraries


* If I don't start using library x3 before going to card 2, the 
button icon on card 2 is empty.  Once I start using x3, the icon 
appears on card 2, and remains after I close x3 and start using x2 again.


* I have tried simply stop using a library stack and actually closing 
it...which should remove the images from RAM--no go


* I have tried setting the icon to empty and resetting it--nada also

I conclude that the imageData for icons is stored somewhere at 
runtime -- despite alwaysBuffer being false -- and, one resolved, Rev 
keeps it separate from the stack data.


I'm curious whether this would have worked in the HyperCard runtime 
environment; but not curious enough to spend more time on it now.


Rob Cozens CCW
Serendipity Software Company

And I, which was two fooles, do so grow three;
 Who are a little wise, the best fooles bee.

 from The Triple Foole by John Donne (1572-1631)

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-04 Thread Rob Cozens

Paul, Ken, et al,

It's alive!

My icon-changing stack, Chameleon is now changing icons on-the-fly.

Chameleon stack script:

local imagePath1,imagePath2,currentLibrary

on openStack
  get the effective fileName of this stack
  set the itemDelimiter to /
  put X2.rev into item -1 of it
  put it into imagePath1
  put X3.rev into item -1 of it
  put it into imagePath2
  start using stack imagePath1
  put imagePath1 into currentLibrary
  refreshButtons
end openStack

on switchLibraries
  set the itemDelimiter to /
  get item -1 of currentLibrary
  if it is x3.rev then
stop using stack imagePath2
close stack imagePath2
start using stack imagePath1
put imagePath1 into currentLibrary
   else
stop using stack imagePath1
close stack imagePath1
start using stack imagePath2
put imagePath2 into currentLibrary
  end if
  send refreshButtons to this stack in 1 tick
end switchLibraries

on refreshButtons
  repeat with x = 1 to the number of buttons
set the icon of button x to (the icon of button x)
  end repeat
end refreshButtons

The key to making this work was sending refreshButtons to the stack 
instead of calling it from the handler that switches the libraries. 
Also, one must close the previous library [with destroyStack true], 
not just stop using it.


So all you game builders who want to change the look and difficulty 
as the user reaches each new level could address that with multiple 
libraries containing images with the same icon id and handlers with 
the same name but different logic.


It's gratifying when one's long-term hunch proves to be correct.  :{`)

Rob Cozens CCW
Serendipity Software Company

And I, which was two fooles, do so grow three;
 Who are a little wise, the best fooles bee.

 from The Triple Foole by John Donne (1572-1631)

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)--YES!

2006-01-04 Thread Rob Cozens

All,

Chameleon stack script:

On the vain presumption this might actually be of use to some people, 
here's an improved version.  Initialization is moved from openStack 
to preOpenStack and the handlers otherwise tweaked.


local imagePath1,imagePath2,currentLibrary

on preOpenStack
  get the effective fileName of this stack
  set the itemDelimiter to /
  put X2.rev into item -1 of it
  put it into imagePath1
  put X3.rev into item -1 of it
  put it into imagePath2
  start using stack imagePath1
  put imagePath1 into currentLibrary
  refreshButtons
end preOpenStack

on switchLibraries
  set the itemDelimiter to /
  stop using stack currentLibrary
  close stack currentLibrary
  get item -1 of currentLibrary
  if it is x3.rev then -- use switch logic if toggling between 
three or more icon libraries

start using stack imagePath1
put imagePath1 into currentLibrary
   else
start using stack imagePath2
put imagePath2 into currentLibrary
  end if
  send refreshButtons to this stack in 1 tick
end switchLibraries

on refreshButtons
  lock screen
  repeat with x = 1 to the number of buttons
set the icon of button x to (the icon of button x)
  end repeat
  unlock screen
end refreshButtons

Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution!

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Set the icon to (icon of another stack)

2006-01-03 Thread Paul Claude
 Hi, Paul,
 
 Don't confuse the script of an object in the hierarchy with the order of
 stack windows you ³see².
 
 Invoking 'start using' places the *stack script* of that stack in the
 *message* hierarchy, not the stack itself.
 
 Construct a reference to a stack by name and that will be the location
 eg image 1 of card id 1265 of stack Image Lib People
 
 Also
  if stored in a different folder use
 ³/Users/MyLogin/Documents/RevLibStacks/ImageLib.rev² for example.
 In Rev, the filePath is the location and name of the file or folder whose
 long equivalent you want.
 put the longfilepath of the filename of this stack
 If you specify a name but not a location, Revolution assumes the stack is in
 the defaultFolder.

Hi Jim,

My problem is a little different.

Think to have 3 open stacks, named x1, x2 and x3, and opened in this order.
Stack X2 and Stack X3 have two images with the same ID (i.e. 1008).

How you set the icon of a button in stack x1 with the image id 1008 of stack
x3?

1) Using: set the icon of btn y to 1008 shows the icon of stack x2
2) Using: 
set the icon of btn y to (image ID 1008 of stack thelongfilepath) shows
nothing
3) 'Start using' or 'set defaultStack' does'nt change the things.


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-03 Thread Eric Chatonet

Hi Paul,

Images are the only objects the IDs of which can be changed:
Just change the IDs of some images to avoid any conflict :-)
And keep on hand the IDs list :-)

In order to be meticulous, you can store all images in a stack or a  
substack, or put them onto a specific card dedicated to them.


Le 3 janv. 06 à 14:09, Paul Claude a écrit :

Think to have 3 open stacks, named x1, x2 and x3, and opened in  
this order.

Stack X2 and Stack X3 have two images with the same ID (i.e. 1008).

How you set the icon of a button in stack x1 with the image id 1008  
of stack

x3?

1) Using: set the icon of btn y to 1008 shows the icon of stack x2
2) Using:
set the icon of btn y to (image ID 1008 of stack thelongfilepath)  
shows

nothing
3) 'Start using' or 'set defaultStack' does'nt change the things.


Best Regards from Paris,
Eric Chatonet
 
--

http://www.sosmartsoftware.com/[EMAIL PROTECTED]/


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2006-01-03 Thread Rob Cozens

Hi Paul,


3) 'Start using' or 'set defaultStack' does'nt change the things.


Try:

start using stack x3
lock screen
repeat with x = 1 to the number of buttons
set the icon of button x to (the icon of button x)
end repeat
unlock screen

or going to another card in stack x1.

Basically, you need to redraw the screen to see the new icons.

If this doesn't work, let me know and I'll help you search for a 
better answer.  Since HyperCard days I have mused about changing the 
look and feel of a stack by doing exactly what you are trying to do; 
but I've yet to have a need for that in the applications I'm programming.


Rob Cozens CCW
Serendipity Software Company

And I, which was two fooles, do so grow three;
 Who are a little wise, the best fooles bee.

 from The Triple Foole by John Donne (1572-1631) 


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Set the icon to (icon of another stack)

2005-12-12 Thread Paul Claude

Hi Paul,

There is a way to tell to Revolution to look in stack X before  
the other

open stacks, even if they have been loaded previously?

 start using stack X

places stack X ahead of all other library stacks in the message
chain; but it will not place it ahead of the topStack.  The images
may need to be on card 1 if the stack is in use but otherwise  
unopened.


I have suggested previously, but never seriously explored, the
possibility that one could change the look and feel of an app with
one start using statement that toggled between two library stacks
containing different sets of images with the same ids.




Hi Rob,

I've tried your tip, but it seems that the start using stack   
method works for scripts
but not to 'link' images as icons. Maybe Revolution use another  
message path hierarchy

for this.

PaulClaude



___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-12 Thread Rob Cozens

Hi Paul,

start using stack X   places stack X ahead of all other library 
stacks in the message chain; but it will not place it ahead of the 
topStack.  The images may need to be on card 1 if the stack is in 
use but otherwise unopened.


I am referencing images in the library stack as button icon ids in 
the current stack.  This works fine here on Mac OS  Windows.


One other possibility: to see the images change without opening a 
different card, one may need to script something like


start using stack myImageLibrary
repeat with x = 1 to the number of buttons
set the icon of button x to (the icon of button x)
end repeat

Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution!  


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-12 Thread Jim Ault
 start using stack X   places stack X ahead of all other library
 stacks in the message chain; but it will not place it ahead of the
 topStack.  The images may need to be on card 1 if the stack is in
 use but otherwise unopened.
Hi, Paul,

Don't confuse the script of an object in the hierarchy with the order of
stack windows you ³see².

Invoking 'start using' places the *stack script* of that stack in the
*message* hierarchy, not the stack itself.

Construct a reference to a stack by name and that will be the location
eg image 1 of card id 1265 of stack Image Lib People

Also
 if stored in a different folder use
³/Users/MyLogin/Documents/RevLibStacks/ImageLib.rev² for example.
In Rev, the filePath is the location and name of the file or folder whose
long equivalent you want.
put the longfilepath of the filename of this stack
If you specify a name but not a location, Revolution assumes the stack is in
the defaultFolder.

Getting a script in the message hierarchy could be
--start using stack whatever
 --insert the script of btn 3 of card 1 of stack ImageLib into back
 -- insert the script of card 1 of stack ImageLib into front
 -- insert the script of stack ImageLib into front
but regardless of the handler location, you must reference the correct
stack, card, object.

By the way, you can reference an object on card 22 of stack ³ImageLib²
without opening the stack.
Try it and see if it works.

Returns a list of the names of all stacks that are loaded into memory.
revLoadedStacks([whichStacks])
--try these in the msg box
put revLoadedStacks()
put revLoadedStacks(all)

HTH
Jim Ault
Las Vegas


On 12/12/05 7:47 AM, Rob Cozens [EMAIL PROTECTED] wrote:

 Hi Paul,
 

 
 I am referencing images in the library stack as button icon ids in
 the current stack.  This works fine here on Mac OS  Windows.
 
 One other possibility: to see the images change without opening a
 different card, one may need to script something like
 
  start using stack myImageLibrary
  repeat with x = 1 to the number of buttons
  set the icon of button x to (the icon of button x)
  end repeat
 
 Rob Cozens, CCW
 Serendipity Software Company
 
 Vive R Revolution!
 
 ___
 use-revolution mailing list
 use-revolution@lists.runrev.com
 Please visit this url to subscribe, unsubscribe and manage your subscription
 preferences:
 http://lists.runrev.com/mailman/listinfo/use-revolution

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Set the icon to (icon of another stack)

2005-12-06 Thread Paul Claude
To assign temporary an image to the button icon of your stack, Revolution
looks for the specified image first in the current stack, then in other open
stacks. But if you need to indicate an image of another open stack X
(without copying the image to your stack), you can assign this image to your
button only if this image has an id different from those in open stacks
loaded before the stack X.

There is a way to tell to Revolution to look in stack X before the other
open stacks, even if they have been loaded previously?


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-06 Thread Eric Chatonet

Hi Paul,

As far as I know: No.
Alphabetical order may be..
But the best way between different main stacks you want run together  
is to not have the same IDs for any image.

Change them in the property palette.
But don't use the following:

* 1-100: reserved for built-in cursors
* 101-135: reserved for built-in brush shapes
* 236-300: reserved for built-in patterns
* 301-1000: reserved for built-in icons
* 101,000-103,000: reserved
* 200,000-299,999: reserved for application use

Nevertheless you have the choice...

Le 6 déc. 05 à 17:06, Paul Claude a écrit :

To assign temporary an image to the button icon of your stack,  
Revolution
looks for the specified image first in the current stack, then in  
other open

stacks. But if you need to indicate an image of another open stack X
(without copying the image to your stack), you can assign this  
image to your
button only if this image has an id different from those in open  
stacks

loaded before the stack X.

There is a way to tell to Revolution to look in stack X before  
the other

open stacks, even if they have been loaded previously?


Best Regards from Paris,

Eric Chatonet.

So Smart Software

For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Free plugins and tutorials on my website

Web sitehttp://www.sosmartsoftware.com/
Email[EMAIL PROTECTED]/
Phone33 (0)1 43 31 77 62
Mobile33 (0)6 20 74 50 86


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-06 Thread Andre Garzia

Eric,

isn't the Rev interop group reserving image IDs? Like passive  
reserve, you just go there and reserve your range to make sure  
there's no conflict when stacks are interoperating...


cheers
andre


On Dec 6, 2005, at 2:11 PM, Eric Chatonet wrote:


Hi Paul,

As far as I know: No.
Alphabetical order may be..
But the best way between different main stacks you want run  
together is to not have the same IDs for any image.

Change them in the property palette.
But don't use the following:

* 1-100: reserved for built-in cursors
* 101-135: reserved for built-in brush shapes
* 236-300: reserved for built-in patterns
* 301-1000: reserved for built-in icons
* 101,000-103,000: reserved
* 200,000-299,999: reserved for application use

Nevertheless you have the choice...


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-06 Thread Eric Chatonet

Absolutely Andre :-)
Ken, [EMAIL PROTECTED] manages this with great kindness...

Le 6 déc. 05 à 17:15, Andre Garzia a écrit :

isn't the Rev interop group reserving image IDs? Like passive  
reserve, you just go there and reserve your range to make sure  
there's no conflict when stacks are interoperating...


Best Regards from Paris,

Eric Chatonet.

So Smart Software

For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Free plugins and tutorials on my website

Web sitehttp://www.sosmartsoftware.com/
Email[EMAIL PROTECTED]/
Phone33 (0)1 43 31 77 62
Mobile33 (0)6 20 74 50 86


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-06 Thread Ken Ray
On 12/6/05 10:15 AM, Andre Garzia [EMAIL PROTECTED] wrote:

 Eric,
 
 isn't the Rev interop group reserving image IDs? Like passive
 reserve, you just go there and reserve your range to make sure
 there's no conflict when stacks are interoperating...

Yes, you can go to the RevInterop group on Yahoo:

  http://groups.yahoo.com/group/revInterop

and go to the Database area, where we're maintaining the IDs. If you would
like to reserve a range of unused IDs, please send me an email offlist and
I'll update the database.

Thanks,

Ken Ray
Sons of Thunder Software
Web site: http://www.sonsothunder.com/
Email: [EMAIL PROTECTED]

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-06 Thread Ken Ray
On 12/6/05 10:18 AM, Eric Chatonet [EMAIL PROTECTED]
wrote:

 Absolutely Andre :-)
 Ken, [EMAIL PROTECTED] manages this with great kindness...

Thanks for this kind words, Eric! :-)

Ken Ray
Sons of Thunder Software
Web site: http://www.sonsothunder.com/
Email: [EMAIL PROTECTED]

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-06 Thread Rob Cozens

Hi Paul,


There is a way to tell to Revolution to look in stack X before the other
open stacks, even if they have been loaded previously?


start using stack X

places stack X ahead of all other library stacks in the message 
chain; but it will not place it ahead of the topStack.  The images 
may need to be on card 1 if the stack is in use but otherwise unopened.


I have suggested previously, but never seriously explored, the 
possibility that one could change the look and feel of an app with 
one start using statement that toggled between two library stacks 
containing different sets of images with the same ids.


Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution! 


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-06 Thread Rob Cozens

Paul, Eric, er al:


But don't use the following:

* 1-100: reserved for built-in cursors
* 101-135: reserved for built-in brush shapes
* 236-300: reserved for built-in patterns
* 301-1000: reserved for built-in icons
* 101,000-103,000: reserved
* 200,000-299,999: reserved for application use


Please add (I know Ken has)  103000-103999 -- Reserved for 
Serendipity Software Co.


Rob Cozens, CCW
Serendipity Software Company

Vive R Revolution! 


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Set the icon to (icon of another stack)

2005-12-06 Thread Eric Chatonet

Hi Rob,

Interesting idea that could be mixed with profiles: not the easiest  
to manage but...

:-)

Le 6 déc. 05 à 18:31, Rob Cozens a écrit :

I have suggested previously, but never seriously explored, the  
possibility that one could change the look and feel of an app with  
one start using statement that toggled between two library stacks  
containing different sets of images with the same ids.


Best Regards from Paris,

Eric Chatonet.

So Smart Software

For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Free plugins and tutorials on my website

Web sitehttp://www.sosmartsoftware.com/
Email[EMAIL PROTECTED]/
Phone33 (0)1 43 31 77 62
Mobile33 (0)6 20 74 50 86


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution