Newbie question
Jeanne A. E. DeVoto
jeanne at runrev.com
Sun Jun 23 14:01:01 EDT 2002
At 10:03 AM -0700 6/23/2002, Glen L. Bledsoe wrote:
>First question: If I create a stack in which the user creates new cards
>within that stack, will those new cards be saved?
Only if the stack file they're in is saved. (You can do this in your app
with the save command - either do it automatically or provide a Save menu
item.)
If your stack is part of a standalone application, however, you can't save
it; standalones can't be saved. (Windows and Unix OSs don't allow the
running app to save to itself, and for consistency this is also enforced on
Mac OS.)
The best approach here is to save the stack as a separate stack file, and
either open it directly (if the stacks behave as documents, say if your app
creates small databases), or read in the data on startup and place it in
the appropriate fields, etc.
>Second question: I want to create a stack in which the user can type in
>a field and change the font, size and style. I can create those menus,
>but I don't know what scripts to put in them. (I do know how to handle
>this in SuperCard, and of course HyperCard created its own menus.) There
>are examples of interesting stacks on the website, but it would be nice
>just to have a very basic example stack that handled basic menus of what
>anybody might find in a basic text editor.
You might want to take a look at the example stack in the Independent Study
tutorial - it is a small application with (heavily-commented) code you can
look at for basic tasks like this.
Also, there will be a number of scripts to handle Text menus in the
upcoming Cookbook (next version). Here's one:
on menuPick theMenuItem -- goes in the menu button
set the itemDelimiter to "|"
switch item 1 of theMenuItem -- the submenu name
case "Font"
set the textFont of field "Example Text" to item 2 of theMenuItem
break
case "Size"
set the textSize of field "Example Text" to item 2 of theMenuItem
break
case "Color"
set the textColor of field "Example Text" to item 2 of theMenuItem
break
case "Plain"
-- plain removes all styles
set the textStyle of field "Example Text" to empty
default -- for Bold, Italic, Underline
put the textStyle of field "Example Text" into currentStyle
set the itemDelimiter to comma
if theMenuItem is among the items of currentStyle then
-- already has that style, so remove it
delete item (itemOffset(theMenuItem,currentStyle)) \
of currentStyle
else
-- add the style to any existing styles
put comma & theMenuItem after currentStyle
end if
set the textStyle of field "Example Text" to currentStyle
end switch
end menuPick
You might want to change "field "Example Text"" to "the selectedChunk", if
you want users to make changes to the selected text instead of entire
fields.
>Third question: In the Rinaldi plugin, revPrefsBuilder 1.2, the
>preference file is placed (on a Mac anyway) in the System Folder's
>Preference folder. How would the script need to be changed to place the
>preferences inside the folder with the application. I can see problems
>where someone is moving a stack from computer to computer and the data
>doesn't follow the stack because it's buried in the System Folder. If it
>were in the same folder as the stack, copying the folder would do the
>trick.
Check out the defaultFolder property. This is the starting point for all
relative paths, and (unless you change it) it's the folder the running
application is in, so if you haven't changed the defaultFolder, the path to
a file in that folder is just the filename:
open file "Preferences"
put myStuff into URL "file:Preferences"
etc.
--
Jeanne A. E. DeVoto ~ jeanne at runrev.com
Runtime Revolution Limited - The Solution for Software Development
http://www.runrev.com/
More information about the use-livecode
mailing list