Commit | Line | Data |
b98e5148 |
1 | <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="chrome://global/skin/" type="text/css"?><?xml-stylesheet href="takahashi.css" type="text/css"?><page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="presentation" xmlns:html="http:/www.w3.org/1999/xhtml" orient="vertical" onkeypress="Presentation.onKeyPress(event);"> |
2 | <html:textarea id="builtinCode" style="visibility: collapse"><![CDATA[ |
3 | The Case for |
4 | Switching |
5 | to Python |
6 | ---- |
7 | or |
8 | ---- |
9 | A Manager's |
10 | Guide |
11 | to Moose |
12 | ---- |
13 | Python is |
14 | ---- |
15 | Simple |
16 | ---- |
17 | Clean |
18 | ---- |
19 | Object |
20 | Oriented |
21 | ---- |
22 | Easy to |
23 | Learn |
24 | ---- |
25 | Easy to |
26 | Maintain |
27 | ---- |
28 | Executable |
29 | Pseudo-Code |
30 | ---- |
31 | Batteries |
32 | Included |
33 | ---- |
34 | General |
35 | Purpose |
36 | ---- |
37 | "Keep It Simple Stupid" |
38 | ---- |
39 | 〠 |
40 | ---- |
41 | Perl is |
42 | ---- |
43 | Large |
44 | ---- |
45 | Ugly |
46 | ---- |
47 | Not |
48 | Object |
49 | Oriented |
50 | ---- |
51 | Impossible to |
52 | Write Good Code |
53 | ---- |
54 | Executable |
55 | Line-Noise |
56 | ---- |
57 | CPAN is full of |
58 | redundant crap |
59 | ---- |
60 | TIMTOWTDI |
61 | ---- |
62 | ☠ |
63 | ---- |
64 | Moose |
65 | ---- |
66 | Postmodern |
67 | Object System |
68 | for Perl 5 |
69 | ---- |
70 | TIMTOWTDI-BCINABT |
71 | ---- |
72 | There Is More Than |
73 | One Way To Do It |
74 | ---- |
75 | But Consistency Is |
76 | Not A Bad Thing |
77 | ---- |
78 | TIMTOWTDOOP |
79 | ---- |
80 | blessed-Hash blessed-Array |
81 | Inside-Out blessed-Scalar |
82 | XS blessed-TypeGlob |
83 | blessed-Regexp Closures |
84 | Tied-Objects AUTOLOAD ... |
85 | ---- |
86 | TIMTOWTWOOP |
87 | ---- |
88 | Class::Accessor Class::MakeMethods base.pm Spiffy |
89 | Class::HPLOO Class::Base Object::Tiny Object::Lexical |
90 | EO Class::Accessor::Fast Class::Closure Class::Meta |
91 | Class::Simple Class::Gomor Rose::Object Class::Builder |
92 | Class::InsideOut Object::LocalVars Oak::Object OOP |
93 | Object::InsideOut Class::Dot Class::NamedParms Myco |
94 | Class::Structured Class::Classless parent.pm Eobj |
95 | Class::Prototyped Class::Init Class::Maker Class::Object |
96 | Fukurama::Class Class::Declare Class::Std Object::Declare |
97 | Class::Struct Class::AutoClass Class::Root Badger Oryx |
98 | Object::Prototype Basset Object::Accessor Class::Lego |
99 | Class::Container Tangram OO::Closures Class::Trait MOP |
100 | Object::MultiType SLOOPS Class::TOM Class::PObject |
101 | Moose |
102 | ... and many more |
103 | ---- |
104 | Choices |
105 | ---- |
106 | ☺ |
107 | ---- |
108 | Too Many |
109 | Choices |
110 | ---- |
111 | ☹ |
112 | ---- |
113 | Consistency |
114 | breeds |
115 | Maintainability |
116 | ---- |
117 | ... |
118 | ---- |
119 | Moose is built |
120 | for extensibility |
121 | ---- |
122 | Moose plays |
123 | well with CPAN |
124 | ---- |
125 | Mooseification |
126 | is incremental |
127 | ---- |
128 | Moose is a |
129 | bridge |
130 | to Perl 6 |
131 | ---- |
132 | Moose means less code |
133 | (less code == less buggs) |
134 | ---- |
135 | Moose means less tests |
136 | (why test what |
137 | Moose already does) |
138 | ---- |
139 | Moose is |
140 | a skill |
141 | ---- |
142 | Thank You |
143 | ---- |
144 | Questions? |
145 | ---- |
146 | ]]></html:textarea> |
147 | |
148 | <deck flex="1" id="deck"> |
149 | |
150 | <vbox flex="1" |
151 | onmousemove="Presentation.onMouseMoveOnCanvas(event);"> |
152 | <toolbox id="canvasToolbar"> |
153 | <toolbar> |
154 | <toolbarbutton oncommand="Presentation.home()" label="|<<" |
155 | observes="canBack"/> |
156 | <toolbarbutton oncommand="Presentation.back()" label="<" |
157 | observes="canBack"/> |
158 | <toolbarbutton oncommand="Presentation.forward()" label=">" |
159 | observes="canForward"/> |
160 | <toolbarbutton oncommand="Presentation.end()" label=">>|" |
161 | observes="canForward"/> |
162 | <toolbarseparator/> |
163 | <hbox align="center"> |
164 | <textbox id="current_page" size="4" |
165 | oninput="if (this.value) Presentation.showPage(parseInt(this.value)-1);"/> |
166 | <description value="/"/> |
167 | <description id="max_page"/> |
168 | </hbox> |
169 | <toolbarseparator/> |
170 | <vbox flex="2"> |
171 | <spacer flex="1"/> |
172 | <scrollbar id="scroller" |
173 | align="center" orient="horizontal" |
174 | oncommand="Presentation.showPage(parseInt(event.target.getAttribute('curpos')));" |
175 | onclick="Presentation.showPage(parseInt(event.target.getAttribute('curpos')));" |
176 | onmousedown="Presentation.onScrollerDragStart();" |
177 | onmousemove="Presentation.onScrollerDragMove();" |
178 | onmouseup="Presentation.onScrollerDragDrop();"/> |
179 | <spacer flex="1"/> |
180 | </vbox> |
181 | <toolbarseparator/> |
182 | <spacer flex="1"/> |
183 | <toolbarseparator/> |
184 | <toolbarbutton id="toggleEva" label="Eva" |
185 | type="checkbox" |
186 | autoCheck="false" |
187 | oncommand="Presentation.toggleEvaMode();"/> |
188 | <toolbarseparator/> |
189 | <toolbarbutton label="Edit" |
190 | oncommand="Presentation.toggleEditMode();"/> |
191 | <toolbarbutton oncommand="Presentation.reload();" label="Reload"/> |
192 | </toolbar> |
193 | </toolbox> |
194 | <vbox flex="1" id="canvas" |
195 | onclick="Presentation.onPresentationClick(event);"> |
196 | <spacer flex="1"/> |
197 | <hbox flex="1"> |
198 | <spacer flex="1"/> |
199 | <vbox id="content"/> |
200 | <spacer flex="1"/> |
201 | </hbox> |
202 | <spacer flex="1"/> |
203 | </vbox> |
204 | </vbox> |
205 | |
206 | |
207 | <vbox flex="1" id="edit"> |
208 | <toolbox> |
209 | <toolbar> |
210 | <toolbarbutton label="New Page" |
211 | oncommand="Presentation.addPage()"/> |
212 | <spacer flex="1"/> |
213 | <toolbarseparator/> |
214 | <toolbarbutton label="View" |
215 | oncommand="Presentation.toggleEditMode();"/> |
216 | <toolbarbutton oncommand="Presentation.reload();" label="Reload"/> |
217 | </toolbar> |
218 | </toolbox> |
219 | <textbox id="textField" flex="1" multiline="true" |
220 | oninput="Presentation.onEdit()"/> |
221 | <hbox collapsed="true"> |
222 | <iframe id="dataLoader" onload="if (window.Presentation) Presentation.onDataLoad();"/> |
223 | </hbox> |
224 | </vbox> |
225 | |
226 | </deck> |
227 | |
228 | |
229 | <broadcasterset> |
230 | <broadcaster id="canBack"/> |
231 | <broadcaster id="canForward"/> |
232 | </broadcasterset> |
233 | |
234 | <commandset> |
235 | <command id="cmd_forward" |
236 | oncommand="if (Presentation.isPresentationMode) Presentation.forward();"/> |
237 | <command id="cmd_back" |
238 | oncommand="if (Presentation.isPresentationMode) Presentation.back();"/> |
239 | <command id="cmd_home" |
240 | oncommand="if (Presentation.isPresentationMode) Presentation.home();"/> |
241 | <command id="cmd_end" |
242 | oncommand="if (Presentation.isPresentationMode) Presentation.end();"/> |
243 | </commandset> |
244 | <keyset> |
245 | <key keycode="VK_ENTER" command="cmd_forward"/> |
246 | <key keycode="VK_RETURN" command="cmd_forward"/> |
247 | <key keycode="VK_PAGE_DOWN" command="cmd_forward"/> |
248 | <key keycode="VK_RIGHT" command="cmd_forward"/> |
249 | <key keycode="VK_DOWN" command="cmd_forward"/> |
250 | <!-- key keycode="VK_BACK_SPACE" command="cmd_back"/--> |
251 | <key keycode="VK_PAGE_UP" command="cmd_back"/> |
252 | <!-- <key keycode="VK_BACK_UP" command="cmd_back"/>--> |
253 | <!-- <key keycode="VK_BACK_LEFT" command="cmd_back"/>--> |
254 | <key keycode="VK_HOME" command="cmd_home"/> |
255 | <key keycode="VK_END" command="cmd_end"/> |
256 | <key key="n" modifiers="accel" oncommand="Presentation.addPage();"/> |
257 | <key key="r" modifiers="accel" oncommand="window.location.reload();"/> |
258 | <key key="e" modifiers="accel" oncommand="Presentation.toggleEditMode();"/> |
259 | <key key="a" modifiers="accel" oncommand="Presentation.toggleEvaMode();"/> |
260 | </keyset> |
261 | |
262 | |
263 | <script src="takahashi.js" type="application/x-javascript" /> |
264 | </page> |
265 | <!-- ***** BEGIN LICENSE BLOCK ***** |
266 | - Version: MPL 1.1 |
267 | - |
268 | - The contents of this file are subject to the Mozilla Public License Version |
269 | - 1.1 (the "License"); you may not use this file except in compliance with |
270 | - the License. You may obtain a copy of the License at |
271 | - http://www.mozilla.org/MPL/ |
272 | - |
273 | - Software distributed under the License is distributed on an "AS IS" basis, |
274 | - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
275 | - for the specific language governing rights and limitations under the |
276 | - License. |
277 | - |
278 | - The Original Code is the Takahashi-Method-based Presentation Tool in XUL. |
279 | - |
280 | - The Initial Developer of the Original Code is SHIMODA Hiroshi. |
281 | - Portions created by the Initial Developer are Copyright (C) 2005 |
282 | - the Initial Developer. All Rights Reserved. |
283 | - |
284 | - Contributor(s): SHIMODA Hiroshi <piro@p.club.ne.jp> |
285 | - |
286 | - ***** END LICENSE BLOCK ***** --> |
287 | |
288 | |