Browse Source

Fixed SD2-862. The highlighting editor now supports the singleword attribute on begin and end spans.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2302 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Matt Ward 19 years ago
parent
commit
6962c12d53
  1. BIN
      data/resources/StringResources.cz.resources
  2. BIN
      data/resources/StringResources.es-mx.resources
  3. BIN
      data/resources/StringResources.es.resources
  4. BIN
      data/resources/StringResources.hu.resources
  5. BIN
      data/resources/StringResources.it.resources
  6. BIN
      data/resources/StringResources.nl.resources
  7. BIN
      data/resources/StringResources.ro.resources
  8. 60
      src/AddIns/Misc/HighlightingEditor/Project/Resources/Span.xfrm
  9. 82
      src/AddIns/Misc/HighlightingEditor/Project/Src/Nodes/SpanNode.cs
  10. BIN
      src/Main/StartUp/Project/Resources/StringResources.resources

BIN
data/resources/StringResources.cz.resources

Binary file not shown.

BIN
data/resources/StringResources.es-mx.resources

Binary file not shown.

BIN
data/resources/StringResources.es.resources

Binary file not shown.

BIN
data/resources/StringResources.hu.resources

Binary file not shown.

BIN
data/resources/StringResources.it.resources

Binary file not shown.

BIN
data/resources/StringResources.nl.resources

Binary file not shown.

BIN
data/resources/StringResources.ro.resources

Binary file not shown.

60
src/AddIns/Misc/HighlightingEditor/Project/Resources/Span.xfrm

@ -1,18 +1,38 @@ @@ -1,18 +1,38 @@
<Components version="1.0">
<System.Windows.Forms.UserControl>
<Name value="highlightingOptionPanel" />
<ClientSize value="{Width=312, Height=408}" />
<ClientSize value="{Width=312, Height=460}" />
<Controls>
<System.Windows.Forms.CheckBox>
<Name value="endSingleWordCheckBox" />
<Cursor value="IBeam" />
<CheckAlign value="MiddleRight" />
<Location value="-1, 104" />
<Text value="${res:Dialog.HighlightingEditor.Span.EndSingleWord}" />
<TabIndex value="24" />
<Size value="144, 24" />
<UseVisualStyleBackColor value="True" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.CheckBox>
<Name value="beginSingleWordCheckBox" />
<CheckAlign value="MiddleRight" />
<Location value="-1, 52" />
<Text value="${res:Dialog.HighlightingEditor.Span.BeginSingleWord}" />
<TabIndex value="23" />
<Size value="144, 24" />
<UseVisualStyleBackColor value="True" />
<Cursor value="IBeam" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.TextBox>
<Name value="escCharTextBox" />
<TabIndex value="20" />
<MaxLength value="1" />
<Size value="100, 20" />
<Location value="128, 267" />
<Location value="128, 320" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.Label>
<Name value="label1" />
<Location value="0, 267" />
<Location value="0, 320" />
<Text value="${res:Dialog.HighlightingEditor.Span.EscChar}" />
<TextAlign value="MiddleLeft" />
<Size value="128, 23" />
@ -20,14 +40,14 @@ @@ -20,14 +40,14 @@
</System.Windows.Forms.Label>
<System.Windows.Forms.Button>
<Name value="chgCont" />
<Location value="216, 208" />
<Location value="216, 261" />
<Text value="${res:Dialog.HighlightingEditor.Change}" />
<Size value="88, 23" />
<TabIndex value="18" />
</System.Windows.Forms.Button>
<System.Windows.Forms.Label>
<Name value="samCont" />
<Location value="216, 144" />
<Location value="216, 197" />
<Text value="${res:Dialog.HighlightingEditor.Span.ContCol}" />
<TextAlign value="MiddleCenter" />
<Size value="88, 40" />
@ -35,21 +55,21 @@ @@ -35,21 +55,21 @@
</System.Windows.Forms.Label>
<System.Windows.Forms.Button>
<Name value="chgEnd" />
<Location value="112, 208" />
<Location value="112, 261" />
<Text value="${res:Dialog.HighlightingEditor.Change}" />
<Size value="88, 23" />
<TabIndex value="15" />
</System.Windows.Forms.Button>
<System.Windows.Forms.CheckBox>
<Name value="useEnd" />
<Location value="112, 184" />
<Location value="112, 237" />
<Text value="${res:Dialog.HighlightingEditor.Span.Use}" />
<TabIndex value="14" />
<Size value="88, 24" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.Label>
<Name value="samEnd" />
<Location value="112, 144" />
<Location value="112, 197" />
<Text value="${res:Dialog.HighlightingEditor.Span.EndCol}" />
<TextAlign value="MiddleCenter" />
<Size value="88, 40" />
@ -57,21 +77,21 @@ @@ -57,21 +77,21 @@
</System.Windows.Forms.Label>
<System.Windows.Forms.Button>
<Name value="chgBegin" />
<Location value="8, 208" />
<Location value="8, 261" />
<Text value="${res:Dialog.HighlightingEditor.Change}" />
<Size value="88, 23" />
<TabIndex value="12" />
</System.Windows.Forms.Button>
<System.Windows.Forms.CheckBox>
<Name value="useBegin" />
<Location value="8, 184" />
<Location value="8, 237" />
<Text value="${res:Dialog.HighlightingEditor.Span.Use}" />
<TabIndex value="11" />
<Size value="88, 24" />
</System.Windows.Forms.CheckBox>
<System.Windows.Forms.Label>
<Name value="samBegin" />
<Location value="8, 144" />
<Location value="8, 197" />
<Text value="${res:Dialog.HighlightingEditor.Span.BeginCol}" />
<TextAlign value="MiddleCenter" />
<Size value="88, 40" />
@ -79,7 +99,7 @@ @@ -79,7 +99,7 @@
</System.Windows.Forms.Label>
<System.Windows.Forms.Label>
<Name value="label7" />
<Location value="0, 112" />
<Location value="0, 165" />
<Text value="${res:Dialog.HighlightingEditor.Span.Colors}" />
<Size value="280, 16" />
<TabIndex value="9" />
@ -89,18 +109,18 @@ @@ -89,18 +109,18 @@
<Size value="184, 21" />
<TabIndex value="8" />
<Text value="comboBox" />
<Location value="128, 80" />
<Location value="128, 130" />
</System.Windows.Forms.ComboBox>
<System.Windows.Forms.Label>
<Name value="label3wjej" />
<Location value="0, 83" />
<Location value="0, 133" />
<Text value="${res:Dialog.HighlightingEditor.Span.Ruleset}" />
<Size value="128, 16" />
<TabIndex value="6" />
</System.Windows.Forms.Label>
<System.Windows.Forms.CheckBox>
<Name value="stopEolBox" />
<Location value="0, 248" />
<Location value="0, 301" />
<Text value="${res:Dialog.HighlightingEditor.Span.StopEol}" />
<TabIndex value="5" />
<Size value="312, 16" />
@ -136,17 +156,17 @@ @@ -136,17 +156,17 @@
</System.Windows.Forms.Label>
<System.Windows.Forms.Panel>
<Name value="panel" />
<Location value="0, 304" />
<Location value="0, 350" />
<TabIndex value="0" />
<Anchor value="Top, Bottom, Left, Right" />
<Size value="312, 104" />
<Size value="312, 110" />
<Controls>
<System.Windows.Forms.Label>
<Name value="explLabel" />
<Location value="16, 24" />
<Text value="${res:Dialog.HighlightingEditor.Span.Explanation}" />
<Anchor value="Top, Bottom, Left, Right" />
<Size value="280, 80" />
<Size value="280, 76" />
<TabIndex value="2" />
</System.Windows.Forms.Label>
<System.Windows.Forms.Label>
@ -170,12 +190,12 @@ @@ -170,12 +190,12 @@
<Name value="endBox" />
<TabIndex value="4" />
<Size value="184, 20" />
<Location value="128, 51" />
<Location value="128, 78" />
<Anchor value="Top, Left, Right" />
</System.Windows.Forms.TextBox>
<System.Windows.Forms.Label>
<Name value="label3b" />
<Location value="0, 54" />
<Location value="0, 81" />
<Text value="${res:Dialog.HighlightingEditor.Span.End}" />
<Size value="128, 16" />
<TabIndex value="3" />

82
src/AddIns/Misc/HighlightingEditor/Project/Src/Nodes/SpanNode.cs

@ -20,11 +20,13 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -20,11 +20,13 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
EditorHighlightColor color;
EditorHighlightColor beginColor = null;
EditorHighlightColor endColor = null;
string begin = "";
string end = "";
string name = "";
string rule = "";
string begin = String.Empty;
string end = String.Empty;
string name = String.Empty;
string rule = String.Empty;
char escapeCharacter;
bool isBeginSingleWord;
bool isEndSingleWord;
public SpanNode(XmlElement el)
{
@ -50,12 +52,20 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -50,12 +52,20 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
} else {
stopEOL = true;
}
begin = el["Begin"].InnerText;
beginColor = new EditorHighlightColor(el["Begin"]);
XmlElement beginElement = el["Begin"];
begin = beginElement.InnerText;
beginColor = new EditorHighlightColor(beginElement);
if (beginElement.HasAttribute("singleword")) {
isBeginSingleWord = Boolean.Parse(beginElement.GetAttribute("singleword"));
}
if (el["End"] != null) {
end = el["End"].InnerText;
endColor = new EditorHighlightColor(el["End"]);
XmlElement endElement = el["End"];
if (endElement != null) {
end = endElement.InnerText;
endColor = new EditorHighlightColor(endElement);
if (endElement.HasAttribute("singleword")) {
isEndSingleWord = Boolean.Parse(endElement.GetAttribute("singleword"));
}
}
UpdateNodeText();
@ -74,13 +84,17 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -74,13 +84,17 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
color.WriteXmlAttributes(writer);
writer.WriteStartElement("Begin");
if (isBeginSingleWord)
writer.WriteAttributeString("singleword", isBeginSingleWord.ToString().ToLowerInvariant());
if (beginColor != null && !beginColor.NoColor)
beginColor.WriteXmlAttributes(writer);
writer.WriteString(begin);
writer.WriteEndElement();
if (end != "") {
if (end != String.Empty) {
writer.WriteStartElement("End");
if (isEndSingleWord)
writer.WriteAttributeString("singleword", isEndSingleWord.ToString().ToLowerInvariant());
if (endColor != null && !endColor.NoColor)
endColor.WriteXmlAttributes(writer);
writer.WriteString(end);
@ -102,9 +116,9 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -102,9 +116,9 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
public override void UpdateNodeText()
{
if (name != "") { Text = name; return; }
if (name != String.Empty) { Text = name; return; }
if (end == "" && stopEOL) {
if (end == String.Empty && stopEOL) {
Text = begin + " to EOL";
} else {
Text = begin + " to " + end;
@ -156,6 +170,15 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -156,6 +170,15 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
}
}
public bool IsBeginSingleWord {
get {
return isBeginSingleWord;
}
set {
isBeginSingleWord = value;
}
}
public string End {
get {
return end;
@ -165,6 +188,15 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -165,6 +188,15 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
}
}
public bool IsEndSingleWord {
get {
return isEndSingleWord;
}
set {
isEndSingleWord = value;
}
}
public string Name {
get {
return name;
@ -205,13 +237,17 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -205,13 +237,17 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
private System.Windows.Forms.Label samCont;
private System.Windows.Forms.TextBox escCharTextBox;
private System.Windows.Forms.CheckBox stopEolBox;
private System.Windows.Forms.CheckBox beginSingleWordCheckBox;
private System.Windows.Forms.CheckBox endSingleWordCheckBox;
public SpanOptionPanel(SpanNode parent) : base(parent)
{
SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("Resources.Span.xfrm"));
nameBox = (TextBox)ControlDictionary["nameBox"];
beginBox = (TextBox)ControlDictionary["beginBox"];
beginBox.TextChanged += BeginTextChanged;
endBox = (TextBox)ControlDictionary["endBox"];
endBox.TextChanged += EndTextChanged;
ruleBox = (ComboBox)ControlDictionary["ruleBox"];
useBegin = (CheckBox)ControlDictionary["useBegin"];
@ -226,6 +262,8 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -226,6 +262,8 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
samCont = (Label)ControlDictionary["samCont"];
stopEolBox = (CheckBox)ControlDictionary["stopEolBox"];
beginSingleWordCheckBox = (CheckBox)ControlDictionary["beginSingleWordCheckBox"];
endSingleWordCheckBox = (CheckBox)ControlDictionary["endSingleWordCheckBox"];
escCharTextBox = (TextBox)ControlDictionary["escCharTextBox"];
this.chgBegin.Click += new EventHandler(chgBeginClick);
@ -248,6 +286,8 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -248,6 +286,8 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
node.Begin = beginBox.Text;
node.End = endBox.Text;
node.StopEOL = stopEolBox.Checked;
node.IsBeginSingleWord = beginSingleWordCheckBox.Checked;
node.IsEndSingleWord = endSingleWordCheckBox.Checked;
node.EscapeCharacter = escCharTextBox.TextLength > 0 ? escCharTextBox.Text[0] : '\0';
node.Rule = ruleBox.Text;
@ -286,6 +326,8 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -286,6 +326,8 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
beginBox.Text = node.Begin;
endBox.Text = node.End;
stopEolBox.Checked = node.StopEOL;
beginSingleWordCheckBox.Checked = node.IsBeginSingleWord;
endSingleWordCheckBox.Checked = node.IsEndSingleWord;
escCharTextBox.Text = (node.EscapeCharacter == '\0') ? "" : node.EscapeCharacter.ToString();
color = node.Color;
@ -303,15 +345,17 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -303,15 +345,17 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
PreviewUpdate(samEnd, endColor);
PreviewUpdate(samCont, color);
CheckedChanged(null, null);
BeginTextChanged(null, null);
EndTextChanged(null, null);
}
public override bool ValidateSettings()
{
if (nameBox.Text == "") {
if (nameBox.Text == String.Empty) {
ValidationMessage(ResourceService.GetString("Dialog.HighlightingEditor.Span.NameEmpty"));
return false;
}
if (beginBox.Text == "") {
if (beginBox.Text == String.Empty) {
ValidationMessage(ResourceService.GetString("Dialog.HighlightingEditor.Span.BeginEmpty"));
return false;
}
@ -354,5 +398,15 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes @@ -354,5 +398,15 @@ namespace ICSharpCode.SharpDevelop.AddIns.HighlightingEditor.Nodes
chgEnd.Enabled = useEnd.Checked;
chgBegin.Enabled = useBegin.Checked;
}
void BeginTextChanged(object sender, EventArgs e)
{
beginSingleWordCheckBox.Enabled = beginBox.Text.Length > 0;
}
void EndTextChanged(object sender, EventArgs e)
{
endSingleWordCheckBox.Enabled = endBox.Text.Length > 0;
}
}
}

BIN
src/Main/StartUp/Project/Resources/StringResources.resources

Binary file not shown.
Loading…
Cancel
Save