Erik van Blokland 3646055ea2 initial import
git-svn-id: http://svn.robofab.com/trunk@1 b5fa9d6c-a76f-4ffd-b3cb-f825fc41095c
2008-01-07 17:40:34 +00:00

349 lines
15 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>RoboFab Dialogs</title>
<link href="../default.css" type="text/css" rel="stylesheet" />
</head><body>
<script type="text/javascript" src="http://www.google-analytics.com/urchin.js"></script>
<script type="text/javascript">
_uacct = "UA-2044310-2";
urchinTracker();
</script>
<div id="modellogo">
<img src="../img/drawmodel_header.jpg" width="595" height="112" />
</div>
<div class="leftcontent">
<h1 class="crb-seealso">
RoboFab
</h1>
<p class="menu">
<a href="../index.html">
Home
</a>
<br />
<a href="../download/index.html">
Download v1.1.1
</a>
<br />
<a href="../intro.html">
Intro
</a>
<br />
<a href="../install.html">
Install Notes
</a>
<br />
<a href="../history.html">
History
</a>
<br />
<a href="../executive.html">
Summary
</a>
</p>
<p class="menu">
<a href="../howto/index.html">
How to's
</a>
<br />
<a href="../talks/index.html">
Step by step
</a>
<br />
<span class="selected"><a href="dialogs.html">
Fab Dialogs
</a></span>
<br />
<a href="../objects/index.html">
Object reference
</a>
<br />
<a href="../objects/model.html">
Object map
</a>
<br />
<a href="index.html">
Tools
</a>
<br />
<a href="../ufo/index.html">
UFO Overview
</a>
<br />
<a href="../ufo/specification.html">
UFO Spec
</a>
<br />
<a href="../limitations.html">
Fab Limitations
</a>
<a href="../links/index.html">
Links
</a>
<br />
<a href="../credits.html">
Credits
</a>
</p>
<h1 class="crb-seealso">
Support RoboFab
</h1>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
">
</form>
<h2 class="crb-seealso">
Up
</h2>
<p class="menu">
<p class="bonbon_uplink"><a href="index.html">Back to RoboFab Tools</a></p>
</p>
<h2 class="crb-seealso">
See also
</h2>
<p class="menu">
</p>
</div>
<div class="footer">
<a href="../feedback.html">
Feedback
</a>
<br />
<a href="../map.html">
Sitemap
</a>
<br />
Please also refer to the
<a href="../download/license.html">
Legal
</a>
<br />
Copyright 2003-2006 RoboFab
<br />
version 1.1.1
</div>
<div class="google">
<h2>RoboFab Mailinglist</h2>
<p>
Join the RoboFab users community at Google groups.
</p>
<img src="http://groups.google.com/groups/img/3nb/groups_bar.gif" alt="Google Groups" height="26" width="132" />
<p>
<form action="http://groups.google.com/group/robofab/boxsubscribe">
Email: <input type="text" name="../email" />
<input type="submit" name="../sub" value="Subscribe" />
</form>
</p>
<p>
<a href="http://groups.google.com/group/robofab">Visit this group</a>
</p>
<h2>RoboFab Sponsors</h2>
<script type="text/javascript">
google_ad_client = "pub-3703953449723704";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_type = "text_image";
google_ad_channel ="";
google_color_border = "336699";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_url = "008000";
google_color_text = "000000";
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</div>
<div class="content">
<h1>robofab.interface.all.dialogs</h1>
<p>
Sometimes you need simple dialogs to get scripts to talk to the user. As RoboFab can run in many different environments, this dialog module tries to offer consistent functionality in all worlds. Most of the dialogs work in FontLab Mac/Win and Python IDE Mac. Some dialogs also work in windows. This module offers the right kind of dialog for the environment you call them in. A bit like robofab.world helps you out by finding the right objects. Availability: FontLab means that the dialogs are available in FontLab on either platform. Mac means that the dialogs are available in plain Python for OS9 as well as OSX. Windows means the dialogs are available in plain Python in Windows.
</p>
<h2>Overview</h2>
<h3>Message(message, title='RoboFab')</h3>
<p>A simple message dialog with just one OK button. It does not return any values.
</p>
<div class="pythonsource"><pre><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">interface</span>.<span class="py_key">all</span>.<span class="py_key">dialogs</span> <span class="py_res">import</span> <span class="py_key">Message</span><br><span class="py_key">Message</span>(<span class="py_str">"A Message From RoboFab"</span>)</pre></div>
<ul>
<li>Available on FontLab, Macintosh</li>
</ul>
<img src="message_mac.jpg" alt="robofab message" width="396" height="128" />
<h3>AskString(prompt, value='', title='RoboFab')</h3>
<p>Asks for a string and return it. Returns None if the user cancelled.
</p>
<div class="pythonsource"><pre><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">interface</span>.<span class="py_key">all</span>.<span class="py_key">dialogs</span> <span class="py_res">import</span> <span class="py_key">AskString</span><br><span class="py_res">print</span> <span class="py_key">AskString</span>(<span class="py_str">"Text for preview?"</span>)</pre></div>
<div class="pythonoutput"><pre><span class="py_str">"hello"</span></pre></div>
<ul>
<li>Available on FontLab, Macintosh</li>
</ul>
<img src="askstring_mac.jpg" alt="robofab askstring" width="390" height="158" />
<h3>AskYesNoCancel(prompt, title='RoboFab', default=0)</h3>
<p>Returns 1 for 'Yes', 0 for 'No' and -1 for 'Cancel'. "default" argument only available on Macintosh)
</p>
<div class="pythonsource"><pre><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">interface</span>.<span class="py_key">all</span>.<span class="py_key">dialogs</span> <span class="py_res">import</span> <span class="py_key">AskYesNoCancel</span><br><span class="py_res">print</span> <span class="py_key">AskYesNoCancel</span>(<span class="py_str">"Do you really want to continue?"</span>, <br>&nbsp; &nbsp;&nbsp; &nbsp;<span class="py_key">title</span>=<span class="py_str">'RoboFab'</span>, <span class="py_key">default</span>=<span class="py_num">0</span>)</pre></div>
<div class="pythonoutput"><pre>-<span class="py_num">1</span></pre></div>
<ul>
<li>Available on FontLab, Macintosh</li>
</ul>
<img src="askyesnocancel_mac.jpg" alt="robofab ask yes no cancel" width="391" height="137" />
<h3>GetFile(message=None)</h3>
<p>A standard select file dialog. Returns path if one is selected. Otherwise it returns None.
</p>
<div class="pythonsource"><pre><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">interface</span>.<span class="py_key">all</span>.<span class="py_key">dialogs</span> <span class="py_res">import</span> <span class="py_key">GetFile</span><br><span class="py_res">print</span> <span class="py_key">GetFile</span>(<span class="py_str">"Open Master"</span>)</pre></div>
<div class="pythonoutput"><pre><span class="py_key">path</span>/<span class="py_key">folder</span>/<span class="py_key">something</span></pre></div>
<ul>
<li>Available on FontLab, Macintosh, PC</li>
</ul>
<h3>GetFolder(message=None)</h3>
<p>A standard select folder dialog. Returns path if one is selected. Otherwise it returns None.
</p>
<div class="pythonsource"><pre><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">interface</span>.<span class="py_key">all</span>.<span class="py_key">dialogs</span> <span class="py_res">import</span> <span class="py_key">GetFolder</span><br><span class="py_res">print</span> <span class="py_key">GetFolder</span>(<span class="py_str">"Pick a directory..."</span>)</pre></div>
<div class="pythonoutput"><pre><span class="py_key">path</span>/<span class="py_key">folder</span>/<span class="py_key">something</span></pre></div>
<ul>
<li>Available on FontLab, Macintosh, PC</li>
</ul>
<h3>PutFile(message=None, defaultName=None)</h3>
<p>Save file dialog. Returns path if one is entered. Otherwise it returns None.
</p>
<div class="pythonsource"><pre><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">interface</span>.<span class="py_key">all</span>.<span class="py_key">dialogs</span> <span class="py_res">import</span> <span class="py_key">PutFile</span><br><span class="py_res">print</span> <span class="py_key">PutFile</span>(<span class="py_str">"Save this file as.."</span>)</pre></div>
<div class="pythonoutput"><pre><span class="py_key">path</span>/<span class="py_key">folder</span>/<span class="py_key">something</span></pre></div>
<ul>
<li>Available on FontLab, Macintosh, PC</li>
</ul>
<h3>SelectFont(message="Select a font:", title='RoboFab')</h3>
<p> Returns font instance if there is one, otherwise it returns None.
</p>
<div class="pythonsource"><pre><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">interface</span>.<span class="py_key">all</span>.<span class="py_key">dialogs</span> <span class="py_res">import</span> <span class="py_key">SelectFont</span><br><span class="py_res">print</span> <span class="py_key">SelectFont</span>(<span class="py_str">"Select a font:"</span>)</pre></div>
<div class="pythonoutput"><pre>&lt; <span class="py_key">the</span> <span class="py_key">font</span> <span class="py_key">you</span> <span class="py_key">selected</span> &gt;</pre></div>
<ul>
<li>Available on FontLab</li>
</ul>
<img src="selectfont_fl.jpg" alt="select font" width="287" height="301" />
<h3>SelectGlyph(font, message="Select a glyph:", title='RoboFab')</h3>
<p>Returns glyph instance from font if a glyph is selected. Otherwise it returns None.
</p>
<div class="pythonsource"><pre><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">world</span> <span class="py_res">import</span> <span class="py_key">CurrentFont</span><br><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">interface</span>.<span class="py_key">all</span>.<span class="py_key">dialogs</span> <span class="py_res">import</span> <span class="py_key">SelectGlyph</span><br> <br><span class="py_key">f</span> = <span class="py_key">CurrentFont</span>()<br><span class="py_res">if</span> <span class="py_key">f</span> <span class="py_res">is</span> <span class="py_res">not</span> <span class="py_key">None</span>:<br>&nbsp; &nbsp; <span class="py_res">print</span> <span class="py_key">SelectGlyph</span>(<span class="py_key">f</span>, <span class="py_str">"select a glyph"</span>)</pre></div>
<div class="pythonoutput"><pre>&lt; <span class="py_key">the</span> <span class="py_key">glyph</span> <span class="py_key">you</span> <span class="py_key">selected</span> &gt;</pre></div>
<ul>
<li>Available on FontLab</li>
</ul>
<img src="selectglyph_fl.jpg" alt="select glyph" width="290" height="302" />
<h3>FindGlyph(aFont, message="Search for a glyph:", title='RoboFab')</h3>
<p>The FindGlyph dialog offers a list of the glyphs present in a font. A name or partial name can be types to navigate to the wanted glyph quickly.
</p>
<div class="pythonsource"><pre><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">world</span> <span class="py_res">import</span> <span class="py_key">CurrentFont</span><br><span class="py_res">from</span> <span class="py_key">robofab</span>.<span class="py_key">interface</span>.<span class="py_key">all</span>.<span class="py_key">dialogs</span> <span class="py_res">import</span> <span class="py_key">FindGlyph</span><br> <br><span class="py_key">f</span> = <span class="py_key">CurrentFont</span>()<br><span class="py_res">if</span> <span class="py_key">f</span> <span class="py_res">is</span> <span class="py_res">not</span> <span class="py_key">None</span>:<br>&nbsp; &nbsp; <span class="py_res">print</span> <span class="py_key">FindGlyph</span>(<span class="py_key">f</span>, <span class="py_str">"select a glyph"</span>)</pre></div>
<div class="pythonoutput"><pre>&lt; <span class="py_key">the</span> <span class="py_key">glyph</span> <span class="py_key">you</span> <span class="py_key">selected</span> &gt;</pre></div>
<ul>
<li>Available on FontLab</li>
</ul>
<img src="findglyph_fl.jpg" width="292" height="343" />
<h3>GetFolder(message=None)</h3>
<p>
Select folder dialog. Returns the selected path if one is picked. Otherwise it returns None.
<ul>
<li>Available on FontLab, Macintosh, PC</li>
</ul>
</p>
</div>
</body></html>