Wersja XML.
authorŁukasz Rekucki <lrekucki@gmail.com>
Fri, 4 Sep 2009 09:19:36 +0000 (11:19 +0200)
committerŁukasz Rekucki <lrekucki@gmail.com>
Fri, 4 Sep 2009 09:19:36 +0000 (11:19 +0200)
fixtures/przyciski.xml [new file with mode: 0644]

diff --git a/fixtures/przyciski.xml b/fixtures/przyciski.xml
new file mode 100644 (file)
index 0000000..a8ad2c1
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<django-objects version="1.0"><object pk="2" model="toolbar.buttongroup"><field type="CharField" name="name">Autokorekta</field><field type="SlugField" name="slug">autokorekta</field><field type="IntegerField" name="position">0</field></object><object pk="1" model="toolbar.buttongroup"><field type="CharField" name="name">Formatowanie</field><field type="SlugField" name="slug">formatowanie</field><field type="IntegerField" name="position">0</field></object><object pk="4" model="toolbar.button"><field type="CharField" name="label">Novelpages</field><field type="SlugField" name="slug">novelpages</field><field type="TextField" name="params">({exprs: [\r\r
+  ["\\,\\.\\.|\\.\\,\\.|\\.\\.\\,", "..."],\r\r
+  ["„", ",,"] /* DOUBLE LOW-9 QUOTATION MARK */\r\r
+]})\r\r
+  </field><field to="toolbar.scriptlet" name="scriptlet" rel="ManyToOneRel">lineregexp</field><field type="CharField" name="key"></field><field type="CharField" name="tooltip">Wykonuję operację z novel-pages.</field><field to="toolbar.buttongroup" name="group" rel="ManyToManyRel"><object pk="2"></object></field></object><object pk="3" model="toolbar.button"><field type="CharField" name="label">Usuń spację</field><field type="SlugField" name="slug">strip_whitespace</field><field type="TextField" name="params">({exprs: [ ["^\\s+|\\s+$", ""], ["\\s+", " "] ]})</field><field to="toolbar.scriptlet" name="scriptlet" rel="ManyToOneRel">lineregexp</field><field type="CharField" name="key"></field><field type="CharField" name="tooltip">Usuwa zbędne spację z dokumentu.</field><field to="toolbar.buttongroup" name="group" rel="ManyToManyRel"><object pk="2"></object></field></object><object pk="1" model="toolbar.button"><field type="CharField" name="label">Wers</field><field type="SlugField" name="slug">insert_verse</field><field type="TextField" name="params">({tag: 'wers'})</field><field to="toolbar.scriptlet" name="scriptlet" rel="ManyToOneRel">insert_tag</field><field type="CharField" name="key">w</field><field type="CharField" name="tooltip">Otacza zaznaczony tekst tagiem 'wers'.</field><field to="toolbar.buttongroup" name="group" rel="ManyToManyRel"><object pk="1"></object></field></object><object pk="2" model="toolbar.button"><field type="CharField" name="label">Zamień dywiz</field><field type="SlugField" name="slug">zamien_dywiz</field><field type="TextField" name="params">({exprs:[ ["—","---"] ]})</field><field to="toolbar.scriptlet" name="scriptlet" rel="ManyToOneRel">lineregexp</field><field type="CharField" name="key"></field><field type="CharField" name="tooltip">Zamienia '—' na '---'.</field><field to="toolbar.buttongroup" name="group" rel="ManyToManyRel"><object pk="2"></object></field></object><object pk="insert_tag" model="toolbar.scriptlet"><field type="TextField" name="code">$.log(editor, panel, params);\r\r
+\r\r
+var texteditor = panel.texteditor;\r\r
+var text = texteditor.selection();\r\r
+texteditor.replaceSelection('&lt;' + params.tag + '&gt;' + text + '&lt;/' + params.tag + '&gt;');\r\r
+if (text.length == 0) \r\r
+{\r\r
+    var pos = texteditor.cursorPosition();\r\r
+    texteditor.selectLines(pos.line, pos.character + params.tag.length + 2);\r\r
+}\r\r
+\r\r
+panel.fireEvent('contentChanged');</field></object><object pk="lineregexp" model="toolbar.scriptlet"><field type="TextField" name="code">// params: {exprs: list of {expr: "", repl: "" [, opts: "g"]}}\r\r
+var cm = panel.texteditor;\r\r
+\r\r
+var exprs = $.map(params.exprs, function(expr) {\r\r
+    var opts = "g";\r\r
+    if(expr.length &gt; 2)\r\r
+        opts = expr[2];\r\r
+    return {rx: new RegExp(expr[0], opts), repl: expr[1]};\r\r
+});\r\r
+\r\r
+var selection = cm.selection();\r\r
+\r\r
+if(selection) \r\r
+{\r\r
+    var lines = selection.split('\n');\r\r
+    lines = $.map(lines, function(line) { \r\r
+        $(exprs).each(function() { \r\r
+            var expr = this;\r\r
+            line = line.replace(expr.rx, expr.repl);\r\r
+        });\r\r
+        return line;\r\r
+    });\r\r
+    cm.replaceSelection( lines.join('\n') );\r\r
+}\r\r
+else {\r\r
+    var line = cm.firstLine();\r\r
+    do {\r\r
+        var content = cm.lineContent(line);\r\r
+        $.log("Swapping line: $" + content + "$");\r\r
+    \r\r
+        $(exprs).each(function() { var expr = this;\r\r
+            content = content.replace(expr.rx, expr.repl);\r\r
+        });\r\r
+        cm.setLineContent(line, content);\r\r
+        line = cm.nextLine(line);\r\r
+    } while( !(line === false) );\r\r
+}</field></object></django-objects>\r