import moose website
[gitmo/moose-htdocs.git] / PPW-2008 / moose-manager.xul
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="|&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