-
Notifications
You must be signed in to change notification settings - Fork 3
/
listing10.html
executable file
·434 lines (336 loc) · 16.9 KB
/
listing10.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<!-- BEGIN META TAG INFO -->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="home" href="http://developer.apple.com/">
<link rel="find" href="http://developer.apple.com/search/">
<link rel="stylesheet" type="text/css" href="../../documentation/css/adcstyle.css" title="fonts">
<script language="JavaScript" src="../../documentation/js/adc.js" type="text/javascript"></script>
<!-- END META TAG INFO -->
<!-- BEGIN TITLE -->
<title>HTMLSample - /HTMLSample Help/buttons.html</title>
<!-- END TITLE -->
<script language="JavaScript">
function JumpToNewPage() {
window.location=document.scpopupmenu.gotop.value;
return true;
}
</script>
</head>
<!-- BEGIN BODY OPEN -->
<body>
<!--END BODY OPEN -->
<!-- START CENTER OPEN -->
<center>
<!-- END CENTER OPEN -->
<!-- BEGIN LOGO AND SEARCH -->
<!--#include virtual="/includes/adcnavbar"-->
<!-- END LOGO AND SEARCH -->
<!-- START BREADCRUMB -->
<div id="breadcrumb">
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr>
<td scope="row"><img width="340" height="10" src="images/1dot.gif" alt=""></td>
<td><img width="340" height="10" src="images/1dot.gif" alt=""></td>
</tr>
<tr valign="middle">
<td align="left" colspan="2">
<a href="http://developer.apple.com/">ADC Home</a> > <a href="../../referencelibrary/index.html">Reference Library</a> > <a href="../../samplecode/index.html">Sample Code</a> > <a href="../../samplecode/Carbon/index.html">Carbon</a> > <a href="../../samplecode/Carbon/idxUserExperience-date.html">User Experience</a> > <A HREF="javascript:location.replace('index.html');">HTMLSample</A> >
</td>
</tr>
<tr>
<td colspan="2" scope="row"><img width="680" height="35" src="images/1dot.gif" alt=""></td>
</tr>
</table>
</div>
<!-- END BREADCRUMB -->
<div style="width:100%; position:fixed;"><div align="center" id="watermark" style="position: relative; margin-left:auto; margin-right:auto; z-index:20; width:500px;"><div class="legacybox"><h1>Not Recommended Document<span class=closebutton><a href="javascript:closeWatermark()"><img src="../../images/closebutton.png" width="14" height="14" border="0" alt="close button"></a></span></h1>
<p><strong>Important: </strong>The information in this document is <strong>Not Recommended</strong> and should not be used for new development.</p>
<div class="reflibtopic">
<p>Current information on this Reference Library topic can be found here:</p>
<ul>
<li><a href="http://developer.apple.com/referencelibrary/Carbon/idxUserExperience-date.html" target="_blank">Carbon > User Experience</a></li>
</ul>
</div>
</div></div></div>
<!-- START MAIN CONTENT -->
<!-- START TITLE GRAPHIC AND INTRO-->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr align="left" valign="top">
<td><h1><div id="pagehead">HTMLSample</div></h1></td>
</tr>
</table>
<!-- END TITLE GRAPHIC AND INTRO -->
<!-- START WIDE COLUMN -->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr align="left" valign="top">
<td id="scdetails">
<h2>/HTMLSample Help/buttons.html</h2>
<form name="scpopupmenu" onSubmit="return false;" method=post>
<p><strong>View Source Code:</strong>
<select name="gotop" onChange="JumpToNewPage();" style="width:340px"><option selected value="ingnore">Select File</option>
<option value="listing1.html">/AboutBox.c</option>
<option value="listing2.html">/AboutBox.h</option>
<option value="listing3.html">/CIconButtons.c</option>
<option value="listing4.html">/CIconButtons.h</option>
<option value="listing5.html">/CWDefines.h</option>
<option value="listing6.html">/debugf.c</option>
<option value="listing7.html">/debugf.h</option>
<option value="listing8.html">/History.c</option>
<option value="listing9.html">/History.h</option>
<option value="listing10.html">/HTMLSample Help/buttons.html</option>
<option value="listing11.html">/HTMLSample Help/index.html</option>
<option value="listing12.html">/HTMLSample Pages/docs/display.html</option>
<option value="listing13.html">/HTMLSample Pages/docs/drawing.html</option>
<option value="listing14.html">/HTMLSample Pages/docs/generalroutines.html</option>
<option value="listing15.html">/HTMLSample Pages/docs/index.html</option>
<option value="listing16.html">/HTMLSample Pages/docs/intro.html</option>
<option value="listing17.html">/HTMLSample Pages/docs/types.html</option>
<option value="listing18.html">/HTMLSample Pages/docs/userdefined.html</option>
<option value="listing19.html">/HTMLSample Pages/docs/utilities.html</option>
<option value="listing20.html">/HTMLSample Pages/error.html</option>
<option value="listing21.html">/HTMLSample Pages/index.html</option>
<option value="listing22.html">/HTMLSample.c</option>
<option value="listing23.html">/HTMLSample.h</option>
<option value="listing24.html">/HTMLSample.r</option>
<option value="listing25.html">/RenderingWindow.c</option>
<option value="listing26.html">/RenderingWindow.h</option>
<option value="listing27.html">/SampleUtils.c</option>
<option value="listing28.html">/SampleUtils.h</option></select>
</p>
</form>
<p><strong><a href="HTMLSample.zip">Download Sample</a></strong> (“HTMLSample.zip”, 279.4K)<BR>
<strong><a href="HTMLSample.dmg">Download Sample</a></strong> (“HTMLSample.dmg”, 330.4K)</p>
<!--
<p><strong><a href="#">Download Sample</a></strong> (“filename.sit”, 500K)</p>
-->
</td>
</tr>
<tr>
<td scope="row"><img width="680" height="10" src="images/1dot.gif" alt=""><br>
<img height="1" width="680" src="images/1dot_919699.gif" alt=""><br>
<img width="680" height="20" src="images/1dot.gif" alt=""></td>
</tr>
<tr>
<td scope="row">
<!--googleon: index -->
<pre class="sourcecodebox"><HTML><HEAD> <TITLE>Customizing HTMLSample</TITLE></HEAD><BODY BGCOLOR="#FFFFFF"><H1><A NAME=top></A></H1><H1>Customizing HTMLSample</H1><H3>Contents</H3><UL> <LI><A HREF="#overview">Overview</A></LI> <LI><A HREF="#defaultpage">Setting the default page</A></LI> <LI><A HREF="#errorpage">Setting the error page</A></LI> <LI><A HREF="#custombuttons">Adding custom buttons</A></LI> <LI><A HREF="#example">An Example Button</A> <UL> <LI><A HREF="#target">The target file</A></LI> <LI><A HREF="#appearance">The button's appearance</A></LI> <LI><A HREF="#cicb">The CICB resource</A></LI> <LI><A HREF="#rbcl">The RBCL resource</A></LI> </UL> </LI> <LI><A HREF="#applinks">Adding application links</A></LI></UL><P><A NAME=overview></A></P><P>&nbsp;</P><H3>Overview</H3><P>HTMLSample is an application that demonstrates the capabilities ofthe HTMLRenderingLib that is new for Mac OS 9. Facilities have beenprovided for adding custom buttons to the control bar at the top ofthe window, and for setting the default page displayed in a windowswhen no other file has been specified.</P><P><A NAME=defaultpage></A></P><P>&nbsp;</P><H3>Setting the default page</H3><P>To set the default file displayed by HTMLSample, edit the 'CSTR'ID=128 resource. This resource contains a HTML link referring to afile relative to the application's folder. Whenever an empty windowis created by default, the application will display this file. Forexample, to display the file 'index.html' that is located in thefolder 'HTMLSample Pages' that is located in the same directory asthe HTMLSample application, we would save the following link in the'CSTR' ID=128 resource:</P><BLOCKQUOTE>HTMLSample%20Pages/index.html</BLOCKQUOTE><P>To display this link, the HTMLSample catenates it together the URLreferring to the application's directory. Once the full URL has beendetermined, the program displays the page in the window.</P><P><A NAME=errorpage></A></P><P>&nbsp;</P><H3>Setting the error page</H3><P>To set the HTML file displayed by HTMLSample when a page cannot belocated, edit the 'CSTR' ID=129 resource. This resource contains aHTML link referring to a file relative to the application's folder.Whenever the HTMLRenderingLib is asked to display a URL that does notmap to a file on disk, the application will display this file. Inthis example, the 'CSTR' ID=129 resource contains the followingapplication relative link:</P><BLOCKQUOTE>HTMLSample%20Pages/error.html</BLOCKQUOTE><P>To display this link, the HTMLSample catenates it together the URLreferring to the application's directory. Once the full URL has beendetermined, the program displays the page in the window.</P><P><A NAME=custombuttons></A></P><P>&nbsp;</P><H3>Adding custom buttons</H3><P>Navigation controls built in to the top of the window are groupedinto two types. As shown in figure 1, there are the built innavigation buttons (back, home, and forward) and there are custombuttons that you can add via a utility such as ResEdit.</P><P><IMG SRC="images/buttons.gif" WIDTH=231 HEIGHT=90 ALIGN=bottom></P><P><B>Figure 1</B>. Built-in and custom buttons.</P><P>ResEdit templates have been included in the resource fork of thisapplication for accessing the necessary resources. Be sure to make abackup of the application before doing any editing.</P><P>Buttons are described in a 'CICB' resources. These resourcesinclude the following information:</P><UL> <LI>A boundary rectangle for the icon. For this version of HTMLSample, for custom buttons this should always be the bounding rectangle { 0, 0, 32, 32 }</LI> <LI>A state value. This is used internally by HTMLSample and should be set to zero.</LI> <LI>Three 'cicn' id numbers for drawing the button in one of three states. These include disabled, enabled, and pressed. These id numbers are used to retrieve the 'cicn' resource used to draw the button in whatever state it happens to be in.</LI> <LI>Button link. For custom buttons, this string should be a html link relative to the application's directory that refers to a html file to be displayed when the user clicks on the button.</LI></UL><H3><A NAME=example></A></H3><P>&nbsp;</P><H3>An Example</H3><P>Consider the button that opened this page. Here, the button opensthe HTML file named 'buttons.html' located in the 'HTMLSample Help'folder that is in the application's directory.</P><H4><A NAME=target></A></H4><P>&nbsp;</P><H4>The target file</H4><P>The html link referring to this file is:</P><BLOCKQUOTE>HTMLSample%20Help/buttons.html</BLOCKQUOTE><P>When the HTMLSample application attempts to display this page, itcalculates the URL for the application's directory and catenates itwith the link to determine the page's URL. Once the URL has beendetermined, the application displays the page in the window.</P><H4><A NAME=appearance></A></H4><P>&nbsp;</P><H4>The button's appearance</H4><P>To define the appearance of the button, we have used the threecolor icons ('cicn' resources) shown in figure 2. The ID numbers forthese resources are stored in the <A HREF="#cicb">CICBresource</A>.</P><P><TABLE BORDER=0> <TR> <TD> <P ALIGN=center><B>Disabled 'cicn'</B></P> </TD> <TD> <P ALIGN=center><B>Enabled 'cicn'</B></P> </TD> <TD> <P ALIGN=center><B>Pressed 'cicn'</B></P> </TD> </TR> <TR> <TD> <P ALIGN=center><IMG SRC="images/disabled.gif" WIDTH=32 HEIGHT=32 ALIGN=bottom><BR> 'cicn' ID = 136</P> </TD> <TD> <P ALIGN=center><IMG SRC="images/moofbutton.gif" WIDTH=32 HEIGHT=32 ALIGN=bottom><BR> 'cicn' ID = 137</P> </TD> <TD> <P ALIGN=center><IMG SRC="images/pressedmoof.gif" WIDTH=32 HEIGHT=32 ALIGN=bottom><BR> 'cicn' ID = 138</P> </TD> </TR></TABLE><BR><B>Figure 2</B>. Custom buttons used in this example.</P><P>IMPORTANT: The disabled color icon resource ('cicn' ID = 136) isused by the default buttons. Do not remove or delete this 'cicn' ifyou are editing the file.</P><P><A NAME=cicb></A></P><P>&nbsp;</P><H4>The CICB resource</H4><P>The CICB (Color ICon Button) resource provides a place to storeicon's target and appearance information. In this example, we havecreated a 'CICB' resource with ID number 132. Figure 3 shows how thisresource appears in a ResEdit window using the 'CICB' template inapplication's resource fork.</P><P><IMG SRC="images/CICB.gif" WIDTH=408 HEIGHT=274 ALIGN=bottom></P><P><B>Figure 3</B>. ResEdit window displaying the 'CICB' resourceused in this example.</P><P>Here, the disabled, enabled, and down fields contain id numbersreferring to the color icon 'cicn' resources we will be using, andthe string data field contains the path name referring to the file wewant displayed when the button is clicked.</P><P><A NAME=rbcl></A></P><P>&nbsp;</P><H4>The RBCL resource</H4><P>The RBCL resource provides a place to store id numbers of all ofthe custom icon button resources that the application should displayto the right of the default buttons. In the illustration shown infigure 4, there are two resources. ID number 131 refers to the helpor question mark button, and ID number 132 refers to the buttoncreated in this example.</P><P><IMG SRC="images/RBCL.gif" WIDTH=408 HEIGHT=274 ALIGN=bottom></P><P><B>Figure 4</B>. ResEdit window displaying the 'RBCL' resourceused in this example.</P><P>In this implementation, the RBCL resource may contain up to 4custom buttons.</P><P>&nbsp;<A NAME=applinks></A></P><P>&nbsp;</P><H3>Adding application links</H3><P>Any links in the HTML being displayed by this application thatrefer to application files will launch those applications when theyare clicked.</P><P>&nbsp;</P><P>&nbsp;</P><P></P></BODY></HTML></pre>
<!--googleoff: index -->
</td>
</tr>
</table>
<!-- END WIDE COLUMN -->
<!-- END MAIN CONTENT -->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><div style="width: 100%; height: 1px; background-color: #919699; margin-top: 5px; margin-bottom: 15px"></div></td>
</tr>
<tr>
<td align="center"><br/>
<table border="0" cellpadding="0" cellspacing="0" class="graybox">
<tr>
<th>Did this document help you?</th>
</tr>
<tr>
<td>
<div style="margin-bottom: 8px"><a href="http://developer.apple.com/feedback/?v=1&url=/samplecode/HTMLSample/listing10.html%3Fid%3DDTS10000579-1.0&media=dvd" target=_new>Yes</a>: Tell us what works for you.</div>
<div style="margin-bottom: 8px"><a href="http://developer.apple.com/feedback/?v=2&url=/samplecode/HTMLSample/listing10.html%3Fid%3DDTS10000579-1.0&media=dvd" target=_new>It’s good, but:</a> Report typos, inaccuracies, and so forth.</div>
<div><a href="http://developer.apple.com/feedback/?v=3&url=/samplecode/HTMLSample/listing10.html%3Fid%3DDTS10000579-1.0&media=dvd" target=_new>It wasn’t helpful</a>: Tell us what would have helped.</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- START BOTTOM APPLE NAVIGATION -->
<!--#include virtual="/includes/footer"-->
<!-- END BOTTOM APPLE NAVIGATION -->
<!-- START CENTER CLOSE -->
</center>
<!-- END CENTER CLOSE -->
</body>
</html>