diff options
author | wei <> | 2006-02-01 07:12:14 +0000 |
---|---|---|
committer | wei <> | 2006-02-01 07:12:14 +0000 |
commit | cff3c0c965c5f22918abe736432bd73a40bae5b2 (patch) | |
tree | 2609856dc7900d58ed88aca240c013a190b3981b | |
parent | 4cec5a79840bc13480c02e1032e632e9dd9bba1f (diff) |
Update syntax highlighter with Copy Code option.
-rw-r--r-- | framework/3rdParty/geshi/highlight.css | 19 | ||||
-rw-r--r-- | framework/Web/UI/TClientScriptManager.php | 5 | ||||
-rw-r--r-- | framework/Web/UI/WebControls/TTextHighlighter.php | 10 | ||||
-rw-r--r-- | tests/FunctionalTests/protected/pages/Home.page | 3 |
4 files changed, 36 insertions, 1 deletions
diff --git a/framework/3rdParty/geshi/highlight.css b/framework/3rdParty/geshi/highlight.css index be000a83..00a53f41 100644 --- a/framework/3rdParty/geshi/highlight.css +++ b/framework/3rdParty/geshi/highlight.css @@ -93,4 +93,21 @@ .javascript .st0 {color: #3366CC;}
.javascript .nu0 {color: #CC0000;}
.javascript .me1 {color: #006600;}
-.javascript .re0 {color: #0066FF;}
\ No newline at end of file +.javascript .re0 {color: #0066FF;}
+
+.source .copycode
+{
+ text-align: right;
+ float: right;
+}
+
+.source .copycode a
+{
+ cursor: pointer;
+ color: blue;
+}
+
+.source .copycode_hover a
+{
+ color: red;
+}
diff --git a/framework/Web/UI/TClientScriptManager.php b/framework/Web/UI/TClientScriptManager.php index be6611cd..7b85dbab 100644 --- a/framework/Web/UI/TClientScriptManager.php +++ b/framework/Web/UI/TClientScriptManager.php @@ -463,6 +463,11 @@ class TClientScriptManager extends TComponent } */ + public function renderJavascriptBlock($code) + { + return "<script type=\"text/javascript\">\n/*<![CDATA[*/\n{$code}\n/*]]>*/\n</script>"; + } + public function renderStyleSheetFiles($writer) { $str=''; diff --git a/framework/Web/UI/WebControls/TTextHighlighter.php b/framework/Web/UI/WebControls/TTextHighlighter.php index 35f3cc23..de34b652 100644 --- a/framework/Web/UI/WebControls/TTextHighlighter.php +++ b/framework/Web/UI/WebControls/TTextHighlighter.php @@ -85,6 +85,7 @@ class TTextHighlighter extends TWebControl {
parent::onPreRender($writer);
$this->registerHighlightStyleSheet();
+ $this->getPage()->getClientScript()->registerClientScript('prado');
}
/**
@@ -138,7 +139,16 @@ class TTextHighlighter extends TWebControl if($this->getShowLineNumbers())
$geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
$geshi->enable_classes();
+ $geshi->set_header_content($this->getHeaderTemplate());
+
return $geshi->parse_code();
}
+
+ function getHeaderTemplate()
+ {
+ $id = $this->getClientID();
+ $cs = $this->getPage()->getClientScript();
+ return $cs->renderJavascriptBlock("new Prado.WebUI.TTextHighlighter('{$id}');");
+ }
}
?>
\ No newline at end of file diff --git a/tests/FunctionalTests/protected/pages/Home.page b/tests/FunctionalTests/protected/pages/Home.page index 9a49e3a2..bf2830d6 100644 --- a/tests/FunctionalTests/protected/pages/Home.page +++ b/tests/FunctionalTests/protected/pages/Home.page @@ -1,3 +1,6 @@ <com:TContent ID="Content">
+<com:TForm>
<h1>Prado Functional Tests</h1>
+<com:TJavascriptLogger />
+</com:TForm>
</com:TContent>
\ No newline at end of file |