Move stevan's PPW slides
[gitmo/moose-website.git] / PPW-2008 / moose-manager.xul
CommitLineData
720accfe 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[
3The Case for
4Switching
5to Python
6----
7or
8----
9A Manager's
10Guide
11to Moose
12----
13Python is
14----
15Simple
16----
17Clean
18----
19Object
20Oriented
21----
22Easy to
23Learn
24----
25Easy to
26Maintain
27----
28Executable
29Pseudo-Code
30----
31Batteries
32Included
33----
34General
35Purpose
36----
37"Keep It Simple Stupid"
38----
39
40----
41Perl is
42----
43Large
44----
45Ugly
46----
47Not
48Object
49Oriented
50----
51Impossible to
52Write Good Code
53----
54Executable
55Line-Noise
56----
57CPAN is full of
58redundant crap
59----
60TIMTOWTDI
61----
62
63----
64Moose
65----
66Postmodern
67Object System
68for Perl 5
69----
70TIMTOWTDI-BCINABT
71----
72There Is More Than
73One Way To Do It
74----
75But Consistency Is
76Not A Bad Thing
77----
78TIMTOWTDOOP
79----
80blessed-Hash blessed-Array
81Inside-Out blessed-Scalar
82XS blessed-TypeGlob
83blessed-Regexp Closures
84Tied-Objects AUTOLOAD ...
85----
86TIMTOWTWOOP
87----
88Class::Accessor Class::MakeMethods base.pm Spiffy
89Class::HPLOO Class::Base Object::Tiny Object::Lexical
90EO Class::Accessor::Fast Class::Closure Class::Meta
91Class::Simple Class::Gomor Rose::Object Class::Builder
92Class::InsideOut Object::LocalVars Oak::Object OOP
93Object::InsideOut Class::Dot Class::NamedParms Myco
94Class::Structured Class::Classless parent.pm Eobj
95Class::Prototyped Class::Init Class::Maker Class::Object
96Fukurama::Class Class::Declare Class::Std Object::Declare
97Class::Struct Class::AutoClass Class::Root Badger Oryx
98Object::Prototype Basset Object::Accessor Class::Lego
99Class::Container Tangram OO::Closures Class::Trait MOP
100Object::MultiType SLOOPS Class::TOM Class::PObject
101Moose
102... and many more
103----
104Choices
105----
106
107----
108Too Many
109Choices
110----
111
112----
113Consistency
114breeds
115Maintainability
116----
117...
118----
119Moose is built
120for extensibility
121----
122Moose plays
123well with CPAN
124----
125Mooseification
126is incremental
127----
128Moose is a
129bridge
130to Perl 6
131----
132Moose means less code
133(less code == less buggs)
134----
135Moose means less tests
136(why test what
137Moose already does)
138----
139Moose is
140a skill
141----
142Thank You
143----
144Questions?
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="|&lt;&lt;"
155 observes="canBack"/>
156 <toolbarbutton oncommand="Presentation.back()" label="&lt;"
157 observes="canBack"/>
158 <toolbarbutton oncommand="Presentation.forward()" label="&gt;"
159 observes="canForward"/>
160 <toolbarbutton oncommand="Presentation.end()" label="&gt;&gt;|"
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