Quellcode durchsuchen

[svn r14731] Added FCKEditor mimetex plugin files (see FS#2026)

Yannick Warnier vor 17 Jahren
Ursprung
Commit
b2ff1c678a

+ 17 - 0
main/inc/lib/fckeditor/editor/plugins/mimetex/fckplugin.js

@@ -0,0 +1,17 @@
+/*
+FCKCommands.RegisterCommand(commandName, command)
+       commandName - Command name, referenced by the Toolbar, etc...
+       command - Command object (must provide an Execute() function).
+*/
+// Register the related commands.
+FCKCommands.RegisterCommand(
+   'mimetex',
+    new FCKDialogCommand(
+        FCKLang['DlgMimeTeX'],
+        FCKLang['DlgMimeTeX'],
+        FCKConfig.PluginsPath + 'mimetex/mimetex.html', 750, 400));
+// Create the "mimeTeX" toolbar button.
+var oFindItem = new FCKToolbarButton('mimetex', FCKLang['DlgMimeTeX']);
+oFindItem.IconPath = FCKConfig.PluginsPath + 'mimetex/mimetex.gif' ;
+// 'mimetex' is the name used in the Toolbar config.
+FCKToolbarItems.RegisterItem( 'mimetex', oFindItem ) ;

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
main/inc/lib/fckeditor/editor/plugins/mimetex/jquery.js


+ 19 - 0
main/inc/lib/fckeditor/editor/plugins/mimetex/lang/de.js

@@ -0,0 +1,19 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2006 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: de.js
+ * 	Placholder German language file.
+ * 
+ * File Authors:
+ * 		José Fontanil
+ */
+FCKLang.DlgMimeTeX		= 'mimeTeX Editor' ;

+ 21 - 0
main/inc/lib/fckeditor/editor/plugins/mimetex/lang/en.js

@@ -0,0 +1,21 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2006 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: en.js
+ * 	Placholder English language file.
+ * 
+ * File Authors:
+ * 		Frederico Caldeira Knabben (fredck@fckeditor.net)
+ */
+FCKLang.mimetexBtn			= 'Insert/Edit Placeholder' ;
+FCKLang.mimetexDlgTitle		= 'Placeholder Properties' ;
+FCKLang.mimetexDlgName		= 'Placeholder Name' ;

+ 21 - 0
main/inc/lib/fckeditor/editor/plugins/mimetex/lang/fr.js

@@ -0,0 +1,21 @@
+/*
+ * FCKeditor - The text editor for internet
+ * Copyright (C) 2003-2006 Frederico Caldeira Knabben
+ * 
+ * Licensed under the terms of the GNU Lesser General Public License:
+ * 		http://www.opensource.org/licenses/lgpl-license.php
+ * 
+ * For further information visit:
+ * 		http://www.fckeditor.net/
+ * 
+ * "Support Open Source software. What about a donation today?"
+ * 
+ * File Name: fr.js
+ * 	Placholder French language file.
+ * 
+ * File Authors:
+ * 		Yannick Warnier (yannick.warnier@dokeos.com)
+ */
+FCKLang.mimetexBtn			= 'Insertion/Edition d\'un tag' ;
+FCKLang.mimetexDlgTitle		= 'Propriétés du tag' ;
+FCKLang.mimetexDlgName		= 'Nom du tag' ;

BIN
main/inc/lib/fckeditor/editor/plugins/mimetex/mimetex.gif


+ 334 - 0
main/inc/lib/fckeditor/editor/plugins/mimetex/mimetex.html

@@ -0,0 +1,334 @@
+<html>
+  <head>
+    <script type="text/javascript" src="jquery.js"></script>
+    <script type="text/javascript">
+
+      var mimetex_url = "/cgi-bin/mimetex.cgi";
+      var mimetex_cgi = mimetex_url + "? \\Large ";
+      var preview_cgi = mimetex_cgi + "\\nocach ";
+      var result_cgi  = mimetex_cgi;
+      var img_tag = true;
+
+// FCKEditor
+var oEditor = window.parent.InnerDialogLoaded() ;
+var FCKLang = oEditor.FCKLang ;
+var FCK = oEditor.FCK;
+
+// look for a MATH-tag
+var eSelected = FCK.Selection.MoveToAncestorNode( 'MATH' ) 
+
+// else look for an IMG-tag
+if ( !eSelected )
+    eSelected = FCK.Selection.MoveToAncestorNode( 'IMG' ) 
+
+// End FCKEditor
+
+      function setSelRange(inputEl, selStart, selEnd) 
+      {
+        if (inputEl.setSelectionRange) 
+        {
+          inputEl.focus();
+          inputEl.setSelectionRange(selStart, selEnd);
+        } 
+        else if (inputEl.createTextRange) 
+        {
+          var range = inputEl.createTextRange();
+          range.collapse(true);
+          range.moveEnd('character', selEnd);
+          range.moveStart('character', selStart);
+          range.select();
+        }
+      }
+
+      function insertAtCursor(myField, myValue) 
+      {
+        //IE support
+        if (document.selection) 
+        {
+          myField.focus();
+          sel = document.selection.createRange();
+          sel.text = myValue;
+        }
+        //MOZILLA/NETSCAPE support
+        else if (myField.selectionStart || myField.selectionStart == '0') 
+        {
+          var startPos = myField.selectionStart;
+          var endPos = myField.selectionEnd;
+          myField.value = myField.value.substring(0, startPos)
+            + myValue
+            + myField.value.substring(endPos, myField.value.length);
+          setSelRange(myField, startPos + myValue.length, endPos + myValue.length);
+        } 
+        else 
+        {
+          myField.value += myValue;
+        }
+      }
+
+      function cursorHand(obj)
+      {
+	$(obj).css('cursor', 'pointer');
+      }
+
+      function cursorDefault(obj)
+      {
+	$(obj).css('cursor', 'default');
+      }
+
+      function formulaPreview()
+      {
+	if (document.pastemath.formula.value.length > 0)
+	{
+		$("#preview").css('display', 'block');
+		$("#formula_preview").attr('src', preview_cgi + document.pastemath.formula.value);
+	}
+	else
+		$("#preview").css('display', 'none');
+      }
+
+      function addFormula(expr)
+      {
+	if (document.pastemath.formula.value.length > 0)
+          expr = ' ' + expr;
+        textField = document.getElementById("formula");
+        insertAtCursor(textField, expr)
+        formulaPreview();
+      }
+
+      // append a mimetex image to the last DIV of the Helper-DIV
+      function appendHelper(expr, alt) 
+      {
+        add_expr = expr.replace(/\\/g, "\\\\");
+        src_expr = mimetex_cgi + expr;
+
+        $("#helpers/div:last/p:last").append("<img class=helper title='" + alt + "' alt='" + alt + "' onMouseOver='cursorHand(this)' onMouseOut='cursorDefault(this)' onClick='addFormula(\"" + add_expr + "\")' src='" + src_expr + "'>");
+      }
+
+      function htmlHelper(html)
+      {
+        $("#helpers/div:last/p:last").append(html);
+      }
+
+      function addHelper(id, title)
+      {
+        $("#helpers").append("<div id='" + id + "' class=helper>" + title + "<p id='" + id + "_pane' class='off pane' /></div>");
+      }
+
+      // init helper on document ready
+      $(function () {
+        addHelper("numeric", "Numeric");
+        var al_l = "abcdefghijklmnopqrstuvwxyz";
+        var al_u = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+        var num  = "0123456789";
+        var alnum = al_u + num;
+        for (var i in alnum) 
+        {
+          appendHelper("\\mathbb{" + alnum[i] + "}", "math bold " + alnum[i]);
+        }
+        htmlHelper("<br />");
+        for (var i in al_u) 
+        {
+          appendHelper("\\mathcal{" + alnum[i] + "}", "math cal " + alnum[i]);
+        }
+        htmlHelper("<br />");
+        for (var i in al_u) 
+        {
+          appendHelper("\\mathfrak{" + alnum[i] + "}", "math frak " + alnum[i]);
+        }
+
+        addHelper("lowergreek", "Lower Greeks");
+        appendHelper("\\alpha", "lower alpha");
+        appendHelper("\\beta",  "lower beta");
+        appendHelper("\\delta", "lower delta");
+        appendHelper("\\epsilon", "lower epsilon");
+        appendHelper("\\varepsilon", "lower varepsilon");
+        appendHelper("\\eta", "lower eta");
+        appendHelper("\\gamma", "lower gamma");
+        appendHelper("\\lambda", "lower lambda");
+        appendHelper("\\mu", "lower mu");
+        appendHelper("\\nu", "lower nu");
+        appendHelper("\\omega", "lower omega");
+        appendHelper("\\rho", "lower rho");
+        appendHelper("\\varrho", "lower varrho");
+        appendHelper("\\sigma", "lower sigma");
+        appendHelper("\\varsigma", "lower varsigma");
+        appendHelper("\\tau", "lower tau");
+        appendHelper("\\phi", "lower phi");
+        appendHelper("\\psi", "lower psi");
+        appendHelper("\\chi", "lower chi");
+        appendHelper("\\theta", "lower theta");
+        appendHelper("\\kappa", "lower kappa");
+        appendHelper("\\xi", "lower xi");
+        appendHelper("\\zeta", "lower zeta");
+
+        addHelper("uppergreek", "Upper Greeks");
+        appendHelper("\\Delta", "upper delta");
+        appendHelper("\\Gamma", "upper gamma");
+        appendHelper("\\Lambda", "upper lambda");
+        appendHelper("\\Theta", "upper theta");
+        appendHelper("\\Pi", "upper pi");
+        appendHelper("\\Phi", "upper phi");
+        appendHelper("\\Psi", "upper psi");
+        appendHelper("\\Omega", "upper omega");
+        appendHelper("\\Sigma", "upper sigma");
+        appendHelper("\\Xi", "upper xi");
+        appendHelper("\\Upsilon", "upper upsilon");
+
+        addHelper("operators", "Operators");
+        appendHelper("\\frac{x}{y}", "");
+        appendHelper("x^{n}", "");
+        appendHelper("x_{n}", "");
+        appendHelper("\\sqrt {x}", "");
+        appendHelper("\\sqrt[3]{x}", "");
+        appendHelper("\\sqrt[4]{x}", "");
+        appendHelper("\\vec {x}", "");
+
+        addHelper("functions", "Funktionen");
+        appendHelper("\\ln", "ln");
+        appendHelper("\\log", "log");
+        appendHelper("\\exp", "exp");
+        appendHelper("\\arg", "arg");
+        appendHelper("\\Re", "Re");
+        appendHelper("\\Im", "Im");
+
+        addHelper("trigonometry", "Trigonometrie");
+        appendHelper("\\sin", "sin");
+        appendHelper("\\cos", "cos");
+        appendHelper("\\tan", "tan");
+        appendHelper("\\cot", "cot");
+        appendHelper("\\arcsin", "arcsin");
+        appendHelper("\\arccos", "arccos");
+        appendHelper("\\arctan", "arctan");
+        appendHelper("\\sinh", "sinh");
+        appendHelper("\\cosh", "cosh");
+        appendHelper("\\tanh", "tanh");
+        appendHelper("\\coth", "coth");
+
+        addHelper("analysis", "Analysis");
+        appendHelper("\\int _{-\\infty}^{x}\\mathrm{d}t", "integral dt from -infinite to x");
+        appendHelper("\\sum_{k=1}^{+\\infty}", "sum from k=1 to +infinite");
+        appendHelper("\\frac{\\mathrm{d} f(x,y)}{\\mathrm{d}x}", "");
+        appendHelper("\\frac{\\partial  f(x,y)}{\\partial x}", "");
+        appendHelper("\\lim _{\\small{x\\to +\\infty}}", "");
+
+        $('#helpers > div').hover(function() {
+            $(this).find('p').fadeIn('fast');
+          }, function() {
+            $(this).find('p').fadeOut('fast');
+          });
+
+        // FCKEditor 
+
+        // First of all, translate the dialog box texts
+        oEditor.FCKLanguageManager.TranslatePage( document ) ;
+
+        LoadSelected() ;
+
+        // Show the "Ok" button.
+        window.parent.SetOkButton( true ) ;
+
+        // End FCKEditor 
+    });
+
+
+      // FCKEditor 
+
+      function LoadSelected()
+      {
+        if ( !eSelected )
+                return ;
+
+        if ( eSelected.tagName == 'MATH' )
+	{
+                img_tag = false;
+	        document.pastemath.formula.value = eSelected.firstChild.nodeValue;
+        	formulaPreview();
+	}
+        else if ( eSelected.tagName == 'IMG' )
+	{
+                img_tag = true;
+	        document.pastemath.formula.value = eSelected.alt;
+        	formulaPreview();
+	}
+        else
+	{
+                eSelected == null;
+	}
+      }
+
+
+      function Ok() 
+      {
+	        result = document.pastemath.formula.value;
+                if(result.length > 0) {
+                        FCK.Focus();
+                        if ( eSelected )
+				FCK.Selection.SelectNode( eSelected );
+                        if ( img_tag )
+                        {
+			    FCK.InsertHtml('<img src="' + result_cgi + result + '" title="' + result + '" alt="' + result + '" />');
+                        }
+                        else
+                        {
+			    FCK.InsertHtml('<math>' + result + '</math>');
+                        }
+                }
+                window.close();
+		return true;
+      }
+
+      // End FCKEditor
+
+    </script>
+    <style type="text/css">
+      div.helpers
+      {
+        position: absolute;
+        max-width: 290px;
+      }
+      li.helpers 
+      {
+        margin: 3px;
+        list-style-type: none;
+      }
+      .helper 
+      {
+        margin: 3px;
+      }
+      .off
+      { 
+        display: none;
+      }
+      .pane
+      {
+        margin: 1px;
+        border: 1px solid black;
+      }
+      .formula
+      {
+        position: absolute;
+        left: 300px;
+      }
+    </style>
+  </head>
+  <body>
+    <div id="content">
+      <div class="helpers">
+        <b>Helpers:</b>
+        <div id="helpers">
+        </div>
+      </div>
+      <div class="formula">
+      <b>Formula:</b>
+      <form name="pastemath" id="pastemath">
+        <textarea id="formula" name="formula" cols="60" rows="8" onKeyUp="formulaPreview()"></textarea>
+      </form>
+      <div id="preview" class=off>
+        <b>Preview:</b>
+        <br />
+        <img src="" alt="Image" name="formula_preview" id="formula_preview" align="middle"/>
+      </div>
+      </div>
+    </div>
+  </body>
+</html>

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.