~ubuntu-branches/ubuntu/lucid/virtuoso-opensource/lucid

« back to all changes in this revision

Viewing changes to appsrc/ODS-Wiki/kupu/common/kupuinit_multi.js

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2010-02-05 01:22:09 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100205012209-h2dhz20vxpx55oam
Tags: 6.1.0-0ubuntu1
* New upstream release
* Sync with Debian packaging from Git
 - Add no_do_os_calls.diff patch, don't allow do_os_calls
 - Install to /usr/lib/virtuoso instead of /usr/bin, not a user
   binary
 - virtuoso-t installed to /usr/lib/virtuoso/
* Update build-gmake-to-make.patch
* Add package virtuoso-nepomuk to install only the files needed by nepomuk
* Remove virtuoso-nepomuk files from virtuoso-opensource-6.0-bin and libvirtodbc0
* Add virtuoso-opensource-6.0-bin.links to link to virtuoso-t from /usr/bin
* libvirtodbc0 and virtuoso-opensource-6.0-bin depends on virtuoso-nepomuk
* Remove build-dep on libwbxml2-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*****************************************************************************
2
 
 *
3
 
 * Copyright (c) 2003-2005 Kupu Contributors. All rights reserved.
4
 
 *
5
 
 * This software is distributed under the terms of the Kupu
6
 
 * License. See LICENSE.txt for license text. For a list of Kupu
7
 
 * Contributors see CREDITS.txt.
8
 
 *
9
 
 *****************************************************************************/
10
 
 
11
 
// $Id: kupuinit_multi.js,v 1.1.1.1 2006/04/11 17:56:12 source Exp $
12
 
 
13
 
 
14
 
//----------------------------------------------------------------------------
15
 
// Sample initialization function
16
 
//----------------------------------------------------------------------------
17
 
 
18
 
function initKupu(iframeids) {
19
 
    /* Although this is meant to be a sample implementation, it can
20
 
        be used out-of-the box to run the sample pagetemplate or for simple
21
 
        implementations that just don't use some elements. When you want
22
 
        to do some customization, this should probably be overridden. For 
23
 
        larger customization actions you will have to subclass or roll your 
24
 
        own UI object.
25
 
    */
26
 
 
27
 
    // first we create a logger
28
 
    var l = new PlainLogger('kupu-toolbox-debuglog', 5);
29
 
    
30
 
    // now some config values
31
 
    var conf = loadDictFromXML(document, 'kupuconfig');
32
 
    
33
 
    var documents = new Array();
34
 
    for (var i=0; i < iframeids.length; i++) {
35
 
        var iframe = getFromSelector(iframeids[i]);
36
 
        documents.push(new KupuDocument(iframe));
37
 
    };
38
 
 
39
 
    var kupu = new KupuMultiEditor(documents, conf, l);
40
 
 
41
 
    /* doesn't work yet
42
 
    var contextmenu = new ContextMenu();
43
 
    kupu.setContextMenu(contextmenu);
44
 
    */
45
 
 
46
 
    // now we can create a UI object which we can use from the UI
47
 
    var ui = new KupuUI('kupu-tb-styles');
48
 
 
49
 
    // the ui must be registered to the editor like a tool so it can be notified
50
 
    // of state changes
51
 
    kupu.registerTool('ui', ui); // XXX Should this be a different method?
52
 
 
53
 
    // function that returns a function to execute a button command
54
 
    var execCommand = function(cmd) {
55
 
        return function(button, editor) {
56
 
            editor.execCommand(cmd);
57
 
        };
58
 
    };
59
 
 
60
 
    var boldchecker = ParentWithStyleChecker(new Array('b', 'strong'),
61
 
                                             'fontWeight', 'bold');
62
 
    var boldbutton = new KupuStateButton('kupu-bold-button', 
63
 
                                         execCommand('bold'),
64
 
                                         boldchecker,
65
 
                                         'kupu-bold',
66
 
                                         'kupu-bold-pressed');
67
 
    kupu.registerTool('boldbutton', boldbutton);
68
 
 
69
 
    var italicschecker = ParentWithStyleChecker(new Array('i', 'em'),
70
 
                                                'fontStyle', 'italic');
71
 
    var italicsbutton = new KupuStateButton('kupu-italic-button', 
72
 
                                           execCommand('italic'),
73
 
                                           italicschecker, 
74
 
                                           'kupu-italic', 
75
 
                                           'kupu-italic-pressed');
76
 
    kupu.registerTool('italicsbutton', italicsbutton);
77
 
 
78
 
    var underlinechecker = ParentWithStyleChecker(new Array('u'),
79
 
                                                'textDecoration', 'underline');
80
 
    var underlinebutton = new KupuStateButton('kupu-underline-button', 
81
 
                                              execCommand('underline'),
82
 
                                              underlinechecker,
83
 
                                              'kupu-underline', 
84
 
                                              'kupu-underline-pressed');
85
 
    kupu.registerTool('underlinebutton', underlinebutton);
86
 
 
87
 
    var subscriptchecker = ParentWithStyleChecker(new Array('sub'));
88
 
    var subscriptbutton = new KupuStateButton('kupu-subscript-button',
89
 
                                              execCommand('subscript'),
90
 
                                              subscriptchecker,
91
 
                                              'kupu-subscript',
92
 
                                              'kupu-subscript-pressed');
93
 
    kupu.registerTool('subscriptbutton', subscriptbutton);
94
 
 
95
 
    var superscriptchecker = ParentWithStyleChecker(new Array('super', 'sup'));
96
 
    var superscriptbutton = new KupuStateButton('kupu-superscript-button', 
97
 
                                                execCommand('superscript'),
98
 
                                                superscriptchecker,
99
 
                                                'kupu-superscript', 
100
 
                                                'kupu-superscript-pressed');
101
 
    kupu.registerTool('superscriptbutton', superscriptbutton);
102
 
 
103
 
    var justifyleftbutton = new KupuButton('kupu-justifyleft-button',
104
 
                                           execCommand('justifyleft'));
105
 
    kupu.registerTool('justifyleftbutton', justifyleftbutton);
106
 
 
107
 
    var justifycenterbutton = new KupuButton('kupu-justifycenter-button',
108
 
                                             execCommand('justifycenter'));
109
 
    kupu.registerTool('justifycenterbutton', justifycenterbutton);
110
 
 
111
 
    var justifyrightbutton = new KupuButton('kupu-justifyright-button',
112
 
                                            execCommand('justifyright'));
113
 
    kupu.registerTool('justifyrightbutton', justifyrightbutton);
114
 
 
115
 
    var outdentbutton = new KupuButton('kupu-outdent-button', execCommand('outdent'));
116
 
    kupu.registerTool('outdentbutton', outdentbutton);
117
 
 
118
 
    var indentbutton = new KupuButton('kupu-indent-button', execCommand('indent'));
119
 
    kupu.registerTool('indentbutton', indentbutton);
120
 
 
121
 
    var undobutton = new KupuButton('kupu-undo-button', execCommand('undo'));
122
 
    kupu.registerTool('undobutton', undobutton);
123
 
 
124
 
    var redobutton = new KupuButton('kupu-redo-button', execCommand('redo'));
125
 
    kupu.registerTool('redobutton', redobutton);
126
 
 
127
 
    var removeimagebutton = new KupuRemoveElementButton('kupu-removeimage-button',
128
 
                                                        'img',
129
 
                                                        'kupu-removeimage');
130
 
    kupu.registerTool('removeimagebutton', removeimagebutton);
131
 
    var removelinkbutton = new KupuRemoveElementButton('kupu-removelink-button',
132
 
                                                       'a',
133
 
                                                       'kupu-removelink');
134
 
    kupu.registerTool('removelinkbutton', removelinkbutton);
135
 
 
136
 
    // add some tools
137
 
    // XXX would it be better to pass along elements instead of ids?
138
 
    var colorchoosertool = new ColorchooserTool('kupu-forecolor-button',
139
 
                                                'kupu-hilitecolor-button',
140
 
                                                'kupu-colorchooser');
141
 
    kupu.registerTool('colorchooser', colorchoosertool);
142
 
 
143
 
    var listtool = new ListTool('kupu-list-ul-addbutton',
144
 
                                'kupu-list-ol-addbutton',
145
 
                                'kupu-ulstyles', 'kupu-olstyles');
146
 
    kupu.registerTool('listtool', listtool);
147
 
    
148
 
    var definitionlisttool = new DefinitionListTool('kupu-list-dl-addbutton');
149
 
    kupu.registerTool('definitionlisttool', definitionlisttool);
150
 
    
151
 
    /* dunno if we'll ever want to support this
152
 
    var proptool = new PropertyTool('kupu-properties-title', 'kupu-properties-description');
153
 
    kupu.registerTool('proptool', proptool);
154
 
    */
155
 
 
156
 
    var linktool = new LinkTool();
157
 
    kupu.registerTool('linktool', linktool);
158
 
    var linktoolbox = new LinkToolBox("kupu-link-input", "kupu-link-button", 'kupu-toolbox-links', 'kupu-toolbox', 'kupu-toolbox-active');
159
 
    linktool.registerToolBox('linktoolbox', linktoolbox);
160
 
 
161
 
    var imagetool = new ImageTool();
162
 
    kupu.registerTool('imagetool', imagetool);
163
 
    var imagetoolbox = new ImageToolBox('kupu-image-input', 'kupu-image-addbutton', 
164
 
                                        'kupu-image-float-select', 'kupu-toolbox-images', 
165
 
                                        'kupu-toolbox', 'kupu-toolbox-active');
166
 
    imagetool.registerToolBox('imagetoolbox', imagetoolbox);
167
 
 
168
 
    var tabletool = new TableTool();
169
 
    kupu.registerTool('tabletool', tabletool);
170
 
    var tabletoolbox = new TableToolBox('kupu-toolbox-addtable', 
171
 
        'kupu-toolbox-edittable', 'kupu-table-newrows', 'kupu-table-newcols',
172
 
        'kupu-table-makeheader', 'kupu-table-classchooser', 'kupu-table-alignchooser',
173
 
        'kupu-table-addtable-button', 'kupu-table-addrow-button', 'kupu-table-delrow-button', 
174
 
        'kupu-table-addcolumn-button', 'kupu-table-delcolumn-button', 
175
 
        'kupu-table-fix-button', 'kupu-table-fixall-button', 'kupu-toolbox-tables',
176
 
        'kupu-toolbox', 'kupu-toolbox-active'
177
 
        );
178
 
    tabletool.registerToolBox('tabletoolbox', tabletoolbox);
179
 
 
180
 
    var showpathtool = new ShowPathTool();
181
 
    kupu.registerTool('showpathtool', showpathtool);
182
 
 
183
 
    var sourceedittool = new MultiSourceEditTool('kupu-source-button',
184
 
                                                    'kupu-editor-textarea-');
185
 
    kupu.registerTool('sourceedittool', sourceedittool);
186
 
 
187
 
    // Drawers...
188
 
 
189
 
    // Function that returns function to open a drawer
190
 
    var opendrawer = function(drawerid) {
191
 
        return function(button, editor) {
192
 
            drawertool.openDrawer(drawerid);
193
 
        };
194
 
    };
195
 
 
196
 
    var imagelibdrawerbutton = new KupuButton('kupu-imagelibdrawer-button',
197
 
                                              opendrawer('imagelibdrawer'));
198
 
    kupu.registerTool('imagelibdrawerbutton', imagelibdrawerbutton);
199
 
 
200
 
    var linklibdrawerbutton = new KupuButton('kupu-linklibdrawer-button',
201
 
                                             opendrawer('linklibdrawer'));
202
 
    kupu.registerTool('linklibdrawerbutton', linklibdrawerbutton);
203
 
 
204
 
    var linkdrawerbutton = new KupuButton('kupu-linkdrawer-button',
205
 
                                          opendrawer('linkdrawer'));
206
 
    kupu.registerTool('linkdrawerbutton', linkdrawerbutton);
207
 
 
208
 
    var tabledrawerbutton = new KupuButton('kupu-tabledrawer-button',
209
 
                                           opendrawer('tabledrawer'));
210
 
    kupu.registerTool('tabledrawerbutton', tabledrawerbutton);
211
 
 
212
 
    // create some drawers, drawers are some sort of popups that appear when a 
213
 
    // toolbar button is clicked
214
 
    var drawertool = new DrawerTool();
215
 
    kupu.registerTool('drawertool', drawertool);
216
 
 
217
 
    var linklibdrawer = new LinkLibraryDrawer(linktool, conf['link_xsl_uri'],
218
 
                                              conf['link_libraries_uri'],
219
 
                                              conf['link_images_uri']);
220
 
    drawertool.registerDrawer('linklibdrawer', linklibdrawer);
221
 
 
222
 
    var imagelibdrawer = new ImageLibraryDrawer(imagetool, conf['image_xsl_uri'],
223
 
                                                conf['image_libraries_uri'],
224
 
                                                conf['search_images_uri']);
225
 
    drawertool.registerDrawer('imagelibdrawer', imagelibdrawer);
226
 
 
227
 
    var linkdrawer = new LinkDrawer('kupu-linkdrawer', linktool);
228
 
    drawertool.registerDrawer('linkdrawer', linkdrawer);
229
 
 
230
 
    var tabledrawer = new TableDrawer('kupu-tabledrawer', tabletool);
231
 
    drawertool.registerDrawer('tabledrawer', tabledrawer);
232
 
 
233
 
    // register some cleanup filter
234
 
    // remove tags that aren't in the XHTML DTD
235
 
    var nonxhtmltagfilter = new NonXHTMLTagFilter();
236
 
    kupu.registerFilter(nonxhtmltagfilter);
237
 
 
238
 
    return kupu;
239
 
};