diff --git a/trunk/About.Designer.cs b/trunk/About.Designer.cs index 1eb81b3..180ba9a 100644 --- a/trunk/About.Designer.cs +++ b/trunk/About.Designer.cs @@ -1,22 +1,60 @@ namespace LSLEditor { - partial class About + /// + /// About dialogue box form. + /// + public partial class About { /// /// Required designer variable. /// private System.ComponentModel.IContainer components = null; + /// + /// Container for LSLife picture. + /// + private System.Windows.Forms.PictureBox pictureBox1; + + /// + /// Container to hold all the elements. + /// + private System.Windows.Forms.GroupBox groupBox1; + + /// + /// OK Button. + /// + private System.Windows.Forms.Button button1; + + /// + /// Web Browser. + /// + private System.Windows.Forms.WebBrowser webBrowser1; + + /// + /// Link label. + /// + private System.Windows.Forms.LinkLabel linkLabel1; + + /// + /// Version label. + /// + private System.Windows.Forms.Label label1; + + /// + /// LSL Editor label. + /// + private System.Windows.Forms.Label label2; + /// /// Clean up any resources being used. /// - /// true if managed resources should be disposed; otherwise, false. + /// True if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { - if (disposing && (components != null)) - { - components.Dispose(); + if (disposing && (this.components != null)) { + this.components.Dispose(); } + base.Dispose(disposing); } @@ -133,13 +171,5 @@ namespace LSLEditor } #endregion - - private System.Windows.Forms.PictureBox pictureBox1; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.Button button1; - private System.Windows.Forms.WebBrowser webBrowser1; - private System.Windows.Forms.LinkLabel linkLabel1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Label label1; } -} \ No newline at end of file +} diff --git a/trunk/About.cs b/trunk/About.cs index d84bb2b..92b529e 100644 --- a/trunk/About.cs +++ b/trunk/About.cs @@ -42,18 +42,23 @@ // ******** // */ using System; +using System.ComponentModel; using System.IO; using System.Reflection; -using System.ComponentModel; using System.Windows.Forms; namespace LSLEditor { + /// About dialogue box form. public partial class About : Form { + /// + /// Initialises a new instance of the class. + /// + /// The parent form. public About(LSLEditorForm parent) { - InitializeComponent(); + this.InitializeComponent(); this.Icon = parent.Icon; @@ -61,20 +66,35 @@ namespace LSLEditor this.label2.Text = strVersion; } + /// + /// OK/Close button. + /// + /// + /// private void button1_Click(object sender, EventArgs e) { this.Close(); } + /// + /// Link to SourceForge page. + /// + /// + /// private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start(Properties.Settings.Default.ContactUrl); } + /// + /// Loads the page. + /// + /// + /// private void About_Load(object sender, EventArgs e) { string strExeFileName = Path.GetFileName(Assembly.GetExecutingAssembly().CodeBase); - this.webBrowser1.Navigate("res://" + strExeFileName + "/"+ Properties.Settings.Default.About); + this.webBrowser1.Navigate("res://" + strExeFileName + "/" + Properties.Settings.Default.About); } } } \ No newline at end of file diff --git a/trunk/Browser.cs b/trunk/Browser.cs index 17d756b..f8b1573 100644 --- a/trunk/Browser.cs +++ b/trunk/Browser.cs @@ -69,46 +69,37 @@ namespace LSLEditor { WebBrowser axWebBrowser1 = sender as WebBrowser; ToolStripStatusLabel status = axWebBrowser1.Tag as ToolStripStatusLabel; - if (status == null) - return; - status.Text = axWebBrowser1.StatusText; + if (status != null) { + status.Text = axWebBrowser1.StatusText; + } } - private void axWebBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { string strUrl = e.Url.ToString(); - if (strUrl.EndsWith(".lsl")) - { + if (strUrl.EndsWith(".lsl")) { e.Cancel = true; - if (MessageBox.Show("Import LSL script?", "Import script", MessageBoxButtons.OKCancel) == DialogResult.Cancel) - return; + if (MessageBox.Show("Import LSL script?", "Import script", MessageBoxButtons.OKCancel) != DialogResult.Cancel) { + WebBrowser axWebBrowser1 = sender as WebBrowser; + axWebBrowser1.Stop(); - WebBrowser axWebBrowser1 = sender as WebBrowser; - axWebBrowser1.Stop(); - - this.lslEditorForm.OpenFile(strUrl,Guid.NewGuid()); + this.lslEditorForm.OpenFile(strUrl, Guid.NewGuid()); + } } } public void ShowWebBrowser(string strTabName, string strUrl) { WebBrowser axWebBrowser1 = null; - try - { - if (!Properties.Settings.Default.HelpNewTab) - { + try { + if (!Properties.Settings.Default.HelpNewTab) { TabPage tabPage = this.tabControl1.TabPages[0]; tabPage.Text = strTabName + " "; axWebBrowser1 = tabPage.Controls[0] as WebBrowser; } - } - catch - { - } + } catch { } - if (axWebBrowser1 == null) - { + if (axWebBrowser1 == null) { TabPage tabPage = new TabPage(strTabName + " "); tabPage.BackColor = Color.White; @@ -117,7 +108,7 @@ namespace LSLEditor ToolStripStatusLabel toolStripStatusLabel1 = new ToolStripStatusLabel(); StatusStrip statusStrip1 = new StatusStrip(); - statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { toolStripStatusLabel1}); + statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { toolStripStatusLabel1 }); statusStrip1.Location = new System.Drawing.Point(0, 318); statusStrip1.Name = "statusStrip1"; statusStrip1.Size = new System.Drawing.Size(584, 22); @@ -148,29 +139,26 @@ namespace LSLEditor private void closeToolStripMenuItem_Click(object sender, EventArgs e) { int intTabToClose = (int)this.contextMenuStrip1.Tag; - if (intTabToClose >= this.tabControl1.TabCount) - return; - this.tabControl1.TabPages.RemoveAt(intTabToClose); + if (intTabToClose < this.tabControl1.TabCount) { + this.tabControl1.TabPages.RemoveAt(intTabToClose); + } } private void tabControl1_MouseDown(object sender, MouseEventArgs e) { TabControl tabControl = sender as TabControl; - if (tabControl == null) - return; - if (e.Button == MouseButtons.Right) - { - for (int intI = 0; intI < tabControl.TabCount; intI++) - { - Rectangle rt = tabControl.GetTabRect(intI); - if (e.X > rt.Left && e.X < rt.Right - && e.Y > rt.Top && e.Y < rt.Bottom) - { - this.contextMenuStrip1.Tag = intI; - this.contextMenuStrip1.Show(this.tabControl1, new Point(e.X, e.Y)); + if (tabControl != null) { + if (e.Button == MouseButtons.Right) { + for (int intI = 0; intI < tabControl.TabCount; intI++) { + Rectangle rt = tabControl.GetTabRect(intI); + if (e.X > rt.Left && e.X < rt.Right + && e.Y > rt.Top && e.Y < rt.Bottom) { + this.contextMenuStrip1.Tag = intI; + this.contextMenuStrip1.Show(this.tabControl1, new Point(e.X, e.Y)); + } } } } } } -} \ No newline at end of file +} diff --git a/trunk/EditForm.cs b/trunk/EditForm.cs index 888ccf3..e30436d 100644 --- a/trunk/EditForm.cs +++ b/trunk/EditForm.cs @@ -58,25 +58,21 @@ namespace LSLEditor private string m_FullPathName; private Guid m_Guid; - // private bool sOutline = true; + // private bool sOutline = true; public LSLEditorForm parent; - public Encoding encodedAs = null; + public Encoding encodedAs = null; private const int WM_NCACTIVATE = 0x0086; protected override void WndProc(ref Message m) { - if (m.Msg == WM_NCACTIVATE) - { - if (m.LParam != IntPtr.Zero) - { + if (m.Msg == WM_NCACTIVATE) { + if (m.LParam != IntPtr.Zero) { m.WParam = new IntPtr(1); - } - else - { + } else { this.numberedTextBoxUC1.TextBox.MakeAllInvis(); } } - try { base.WndProc(ref m); } catch {} + try { base.WndProc(ref m); } catch { } } public SyntaxRichTextBox TextBox @@ -123,10 +119,11 @@ namespace LSLEditor } set { - if(value) + if (value) { this.tabPage1.Text = "Script"; - else + } else { this.tabPage1.Text = "Text"; + } this.TextBox.ToolTipping = value; } } @@ -141,7 +138,7 @@ namespace LSLEditor this.Icon = lslEditorForm.Icon; this.parent = lslEditorForm; - this.numberedTextBoxUC1.TextBox.setEditform(this); + this.numberedTextBoxUC1.TextBox.setEditform(this); this.numberedTextBoxUC1.TextBox.Init(this.parent, this.parent.ConfLSL); this.numberedTextBoxUC1.TextBox.OnDirtyChanged += new IsDirtyHandler(TextBox_OnDirtyChanged); @@ -149,25 +146,22 @@ namespace LSLEditor this.Resize += new EventHandler(EditForm_Position); this.Layout += new LayoutEventHandler(EditForm_Layout); - ImageList imageList = new ImageList(); - imageList.Images.Add(new Bitmap(this.GetType(), "Images.Unknown.gif")); - imageList.Images.Add(new Bitmap(this.GetType(), "Images.Functions.gif")); - imageList.Images.Add(new Bitmap(this.GetType(), "Images.Events.gif")); - imageList.Images.Add(new Bitmap(this.GetType(), "Images.Constants.gif")); - imageList.Images.Add(new Bitmap(this.GetType(), "Images.Class.gif")); - imageList.Images.Add(new Bitmap(this.GetType(), "Images.Vars.gif")); - imageList.Images.Add(new Bitmap(this.GetType(), "Images.Properties.gif")); - imageList.Images.Add(new Bitmap(this.GetType(), "Images.States.gif")); + ImageList imageList = new ImageList(); + imageList.Images.Add(new Bitmap(this.GetType(), "Images.Unknown.gif")); + imageList.Images.Add(new Bitmap(this.GetType(), "Images.Functions.gif")); + imageList.Images.Add(new Bitmap(this.GetType(), "Images.Events.gif")); + imageList.Images.Add(new Bitmap(this.GetType(), "Images.Constants.gif")); + imageList.Images.Add(new Bitmap(this.GetType(), "Images.Class.gif")); + imageList.Images.Add(new Bitmap(this.GetType(), "Images.Vars.gif")); + imageList.Images.Add(new Bitmap(this.GetType(), "Images.Properties.gif")); + imageList.Images.Add(new Bitmap(this.GetType(), "Images.States.gif")); - this.tvOutline.ImageList = imageList; - if (lslEditorForm.outlineToolStripMenuItem.Checked) - { - splitContainer1.Panel2Collapsed = false; - } - else - { - splitContainer1.Panel2Collapsed = true; - } + this.tvOutline.ImageList = imageList; + if (lslEditorForm.outlineToolStripMenuItem.Checked) { + splitContainer1.Panel2Collapsed = false; + } else { + splitContainer1.Panel2Collapsed = true; + } SetFont(); } @@ -178,8 +172,9 @@ namespace LSLEditor void EditForm_Layout(object sender, LayoutEventArgs e) { - if (this.WindowState == FormWindowState.Minimized) + if (this.WindowState == FormWindowState.Minimized) { this.numberedTextBoxUC1.TextBox.MakeAllInvis(); + } } void EditForm_Position(object sender, EventArgs e) @@ -190,16 +185,18 @@ namespace LSLEditor void TextBox_OnDirtyChanged(object sender, EventArgs e) { this.Text = this.ScriptName; - if (this.numberedTextBoxUC1.TextBox.Dirty) - this.Text = this.Text.Trim()+"* "; - else - this.Text = this.Text.Trim()+" "; + if (this.numberedTextBoxUC1.TextBox.Dirty) { + this.Text = this.Text.Trim() + "* "; + } else { + this.Text = this.Text.Trim() + " "; + } TabPage tabPage = this.Tag as TabPage; - if (tabPage != null) + if (tabPage != null) { tabPage.Text = this.Text; + } this.parent.OnDirtyChanged(this.numberedTextBoxUC1.TextBox.Dirty); - } + } private void exitToolStripMenuItem_Click(object sender, EventArgs e) { @@ -216,20 +213,19 @@ namespace LSLEditor { this.m_FullPathName = value; string strDirectory = Path.GetDirectoryName(this.m_FullPathName); - if (Directory.Exists(strDirectory)) - { + if (Directory.Exists(strDirectory)) { Properties.Settings.Default.WorkingDirectory = strDirectory; - } - else - { - if(!Directory.Exists(Properties.Settings.Default.WorkingDirectory)) + } else { + if (!Directory.Exists(Properties.Settings.Default.WorkingDirectory)) { Properties.Settings.Default.WorkingDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); + } this.m_FullPathName = Path.Combine(Properties.Settings.Default.WorkingDirectory, this.m_FullPathName); } this.Text = this.ScriptName; TabPage tabPage = this.Tag as TabPage; - if (tabPage != null) + if (tabPage != null) { tabPage.Text = this.Text + " "; + } } } @@ -263,53 +259,50 @@ namespace LSLEditor private int PercentageIndentTab() { + int intResult; int intSpaces = 0; int intTabs = 0; StringReader sr = new StringReader(this.TextBox.Text); - while (true) - { + while (true) { string strLine = sr.ReadLine(); - if (strLine == null) - break; - if (strLine.Length == 0) - continue; - if (strLine[0] == ' ') + if (strLine == null) break; + if (strLine.Length == 0) continue; + if (strLine[0] == ' ') { intSpaces++; - else if (strLine[0] == '\t') + } else if (strLine[0] == '\t') { intTabs++; + } } - if (intTabs == 0 && intSpaces==0) - return 50; - return (int)Math.Round((100.0 * intTabs) / (intTabs + intSpaces)); + if (intTabs == 0 && intSpaces == 0) { + intResult = 50; + } else { + intResult = (int)Math.Round((100.0 * intTabs) / (intTabs + intSpaces)); + } + return intResult; } public void LoadFile(string strPath) { - if(strPath.StartsWith("http://")) + if (strPath.StartsWith("http://")) { this.FullPathName = Path.GetFileName(strPath); - else + } else { this.FullPathName = strPath; + } this.encodedAs = this.numberedTextBoxUC1.TextBox.LoadFile(strPath); - if (!this.IsScript) - return; + if (this.IsScript) { - if (Properties.Settings.Default.IndentAutoCorrect) - { - this.TextBox.FormatDocument(); - this.TextBox.ClearUndoStack(); - } - else - { - if (Properties.Settings.Default.IndentWarning) - { - if ((PercentageIndentTab() > 50 && Properties.Settings.Default.SL4SpacesIndent) || - (PercentageIndentTab() < 50 && !Properties.Settings.Default.SL4SpacesIndent)) - { - if (MessageBox.Show("Indent scheme differs from settings\nDo you want to correct it?\nIt can also be corrected by pressing Ctrl-D or turn on Autocorrection (tools menu)", "Indent Warning!!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) - { - this.TextBox.FormatDocument(); - //this.TextBox.ClearUndoStack(); + if (Properties.Settings.Default.IndentAutoCorrect) { + this.TextBox.FormatDocument(); + this.TextBox.ClearUndoStack(); + } else { + if (Properties.Settings.Default.IndentWarning) { + if ((PercentageIndentTab() > 50 && Properties.Settings.Default.SL4SpacesIndent) || + (PercentageIndentTab() < 50 && !Properties.Settings.Default.SL4SpacesIndent)) { + if (MessageBox.Show("Indent scheme differs from settings\nDo you want to correct it?\nIt can also be corrected by pressing Ctrl-D or turn on Autocorrection (tools menu)", "Indent Warning!!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { + this.TextBox.FormatDocument(); + //this.TextBox.ClearUndoStack(); + } } } } @@ -319,32 +312,28 @@ namespace LSLEditor public void SaveCurrentFile(string strPath) { this.FullPathName = strPath; - Encoding encodeAs = this.encodedAs; - if (this.IsScript && encodeAs == null) - { - switch (Properties.Settings.Default.OutputFormat) - { - case "UTF8": - encodeAs = Encoding.UTF8; - break; - case "Unicode": - encodeAs = Encoding.Unicode; - break; - case "BigEndianUnicode": - encodeAs = Encoding.BigEndianUnicode; - break; - default: - encodeAs = Encoding.Default; - break; - } - } - else if (encodeAs == null) - { - encodeAs = Encoding.UTF8; - } + Encoding encodeAs = this.encodedAs; + if (this.IsScript && encodeAs == null) { + switch (Properties.Settings.Default.OutputFormat) { + case "UTF8": + encodeAs = Encoding.UTF8; + break; + case "Unicode": + encodeAs = Encoding.Unicode; + break; + case "BigEndianUnicode": + encodeAs = Encoding.BigEndianUnicode; + break; + default: + encodeAs = Encoding.Default; + break; + } + } else if (encodeAs == null) { + encodeAs = Encoding.UTF8; + } - this.numberedTextBoxUC1.TextBox.SaveCurrentFile(strPath, encodeAs); - this.encodedAs = encodeAs; + this.numberedTextBoxUC1.TextBox.SaveCurrentFile(strPath, encodeAs); + this.encodedAs = encodeAs; } public void SaveCurrentFile() @@ -381,16 +370,15 @@ namespace LSLEditor { this.numberedTextBoxUC1.TextBox.MakeAllInvis(); - if (runtime != null) - { + if (runtime != null) { this.components.Remove(runtime); - if (!runtime.IsDisposed) + if (!runtime.IsDisposed) { runtime.Dispose(); + } runtime = null; } - - for (int intI = this.tabControl1.TabPages.Count - 1; intI > 0; intI--) - { + + for (int intI = this.tabControl1.TabPages.Count - 1; intI > 0; intI--) { this.tabControl1.TabPages.RemoveAt(intI); } } @@ -400,65 +388,62 @@ namespace LSLEditor public bool StartCompiler() { + bool blnResult = false; //if (this.disableCompilesyntaxCheckToolStripMenuItem.Checked) // return false; - if (!this.IsScript) - return false; + if (this.IsScript) { + StopCompiler(); - StopCompiler(); + if (this.parent != null) { + runtime = new RuntimeConsole(this.parent); - if (this.parent == null) - return false; + // for disposing + this.components.Add(runtime); - runtime = new RuntimeConsole(this.parent); + if (!runtime.Compile(this)) { + this.tabControl1.SelectedIndex = 0; + return false; + } - // for disposing - this.components.Add(runtime); - - if (!runtime.Compile(this)) - { - this.tabControl1.SelectedIndex = 0; - return false; + TabPage tabPage = new TabPage("Debug"); + tabPage.Controls.Add(runtime); + this.tabControl1.TabPages.Add(tabPage); + this.tabControl1.SelectedIndex = 1; + blnResult = true; + } } - - TabPage tabPage = new TabPage("Debug"); - tabPage.Controls.Add(runtime); - this.tabControl1.TabPages.Add(tabPage); - this.tabControl1.SelectedIndex = 1; - return true; + return blnResult; } public bool SyntaxCheck() { + bool blnResult = false; //if (this.disableCompilesyntaxCheckToolStripMenuItem.Checked) // return false; - if (!this.IsScript) - return false; + if (this.IsScript) { + LSL2CSharp translator = new LSL2CSharp(ConfLSL); + string strCSharp = translator.Parse(SourceCode); - LSL2CSharp translator = new LSL2CSharp(ConfLSL); - string strCSharp = translator.Parse(SourceCode); + if (System.Diagnostics.Debugger.IsAttached) { + for (int intI = this.tabControl1.TabPages.Count - 1; intI > 0; intI--) { + this.tabControl1.TabPages.RemoveAt(intI); + } - if (System.Diagnostics.Debugger.IsAttached) - { - for (int intI = this.tabControl1.TabPages.Count - 1; intI > 0; intI--) - { - this.tabControl1.TabPages.RemoveAt(intI); + // TODO + TabPage tabPage = new TabPage("C#"); + NumberedTextBox.NumberedTextBoxUC numberedTextBoxUC1 = new NumberedTextBox.NumberedTextBoxUC(); + numberedTextBoxUC1.TextBox.Init(null, this.ConfCSharp); + numberedTextBoxUC1.TextBox.Text = strCSharp; + numberedTextBoxUC1.TextBox.ReadOnly = true; + numberedTextBoxUC1.Dock = DockStyle.Fill; + tabPage.Controls.Add(numberedTextBoxUC1); + this.tabControl.TabPages.Add(tabPage); } - - // TODO - TabPage tabPage = new TabPage("C#"); - NumberedTextBox.NumberedTextBoxUC numberedTextBoxUC1 = new NumberedTextBox.NumberedTextBoxUC(); - numberedTextBoxUC1.TextBox.Init(null, this.ConfCSharp); - numberedTextBoxUC1.TextBox.Text = strCSharp; - numberedTextBoxUC1.TextBox.ReadOnly = true; - numberedTextBoxUC1.Dock = DockStyle.Fill; - tabPage.Controls.Add(numberedTextBoxUC1); - this.tabControl.TabPages.Add(tabPage); + blnResult = (null != CompilerHelper.CompileCSharp(this, strCSharp)); } - - return (null != CompilerHelper.CompileCSharp(this, strCSharp)); + return blnResult; } public int Find(string strSearch, int intStart, int intEnd, RichTextBoxFinds options) @@ -476,13 +461,13 @@ namespace LSLEditor private void EditForm_FormClosing(object sender, FormClosingEventArgs e) { this.parent.CancelClosing = false; - if (this.Dirty) - { + if (this.Dirty) { DialogResult dialogResult = MessageBox.Show(this, @"Save """ + this.ScriptName + @"""?", "File has changed", MessageBoxButtons.YesNoCancel); - if (dialogResult == DialogResult.Yes) - e.Cancel = !this.parent.SaveFile(this,false); - else + if (dialogResult == DialogResult.Yes) { + e.Cancel = !this.parent.SaveFile(this, false); + } else { e.Cancel = (dialogResult == DialogResult.Cancel); + } } this.parent.CancelClosing = e.Cancel; } @@ -492,44 +477,42 @@ namespace LSLEditor //this.disableCompilesyntaxCheckToolStripMenuItem.Checked = !this.disableCompilesyntaxCheckToolStripMenuItem.Checked; } - private void tvOutline_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) - { - this.parent.BeginInvoke(new TreeNodeMouseClickEventHandler( - delegate(object sender2, TreeNodeMouseClickEventArgs e2) - { - if (e.Node.Tag is Helpers.OutlineHelper) - { - Helpers.OutlineHelper ohOutline = (Helpers.OutlineHelper)e.Node.Tag; - if (ohOutline.line < this.TextBox.Lines.Length) - { - //editForm.Focus(); - //editForm.TextBox.Select(); - //editForm.TextBox.Goto(ohOutline.line + 1); + private void tvOutline_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) + { + this.parent.BeginInvoke(new TreeNodeMouseClickEventHandler( + delegate(object sender2, TreeNodeMouseClickEventArgs e2) + { + if (e.Node.Tag is Helpers.OutlineHelper) { + Helpers.OutlineHelper ohOutline = (Helpers.OutlineHelper)e.Node.Tag; + if (ohOutline.line < this.TextBox.Lines.Length) { + //editForm.Focus(); + //editForm.TextBox.Select(); + //editForm.TextBox.Goto(ohOutline.line + 1); - //TextBox.Focus(); - this.TextBox.Select(); - this.TextBox.SelectionStart = this.TextBox.GetFirstCharIndexFromLine(ohOutline.line); - + //TextBox.Focus(); + this.TextBox.Select(); + this.TextBox.SelectionStart = this.TextBox.GetFirstCharIndexFromLine(ohOutline.line); - } - } - }), sender, e); - } - private void tvOutline_AfterSelect(object sender, TreeViewEventArgs e) - { - - //this.TextBox.Select - } + } + } + }), sender, e); + } - private void splitContainer1_Click(object sender, EventArgs e) - { + private void tvOutline_AfterSelect(object sender, TreeViewEventArgs e) + { - } + //this.TextBox.Select + } - private void tvOutline_VisibleChanged(object sender, EventArgs e) - { - this.tvOutline.ExpandAll(); - } + private void splitContainer1_Click(object sender, EventArgs e) + { + + } + + private void tvOutline_VisibleChanged(object sender, EventArgs e) + { + this.tvOutline.ExpandAll(); + } } -} \ No newline at end of file +} diff --git a/trunk/FindWindow.cs b/trunk/FindWindow.cs index e50325f..b0260dc 100644 --- a/trunk/FindWindow.cs +++ b/trunk/FindWindow.cs @@ -89,14 +89,12 @@ namespace LSLEditor set { this.label1.Text = ""; // clear out message - if (value != "") - { + if (value != "") { this.comboBoxFind.Text = value; - } - else - { - if (this.comboBoxFind.Items.Count > 0) + } else { + if (this.comboBoxFind.Items.Count > 0) { this.comboBoxFind.SelectedIndex = this.comboBoxFind.Items.Count - 1; + } } } } @@ -106,17 +104,16 @@ namespace LSLEditor string strText = comboBox.Text; bool Found = false; - foreach (string strC in comboBox.Items) - { - if (strC == strText) - { + foreach (string strC in comboBox.Items) { + if (strC == strText) { Found = true; break; } } - if (!Found) + if (!Found) { comboBox.Items.Add(strText); + } return Found; } @@ -124,40 +121,35 @@ namespace LSLEditor { this.label1.Text = ""; EditForm editForm = this.lslEditForm.ActiveMdiForm as EditForm; - if (editForm == null) - return; + if (editForm != null) { + if (!UpdateComboBox(this.comboBoxFind)) { + editForm.TextBox.SelectionLength = 0; + editForm.TextBox.SelectionStart = 0; + } - if (!UpdateComboBox(this.comboBoxFind)) - { - editForm.TextBox.SelectionLength = 0; - editForm.TextBox.SelectionStart = 0; - } + RichTextBoxFinds options = RichTextBoxFinds.None; - RichTextBoxFinds options = RichTextBoxFinds.None; + if (this.checkBoxMatchCase.Checked) options |= RichTextBoxFinds.MatchCase; + if (this.checkBoxReverse.Checked) options |= RichTextBoxFinds.Reverse; + if (this.checkBoxWholeWord.Checked) options |= RichTextBoxFinds.WholeWord; - if (this.checkBoxMatchCase.Checked) options |= RichTextBoxFinds.MatchCase; - if (this.checkBoxReverse.Checked) options |= RichTextBoxFinds.Reverse; - if (this.checkBoxWholeWord.Checked) options |= RichTextBoxFinds.WholeWord; + if (this.checkBoxReverse.Checked) { + intStart = 0; // start cant change ;-) + intEnd = editForm.TextBox.SelectionStart; + } else { + intStart = editForm.TextBox.SelectionStart + editForm.TextBox.SelectionLength; + if (intStart == editForm.TextBox.Text.Length) { + intStart = 0; + } + intEnd = editForm.TextBox.Text.Length - 1; // length can change!! + } - if (this.checkBoxReverse.Checked) - { - intStart = 0; // start cant change ;-) - intEnd = editForm.TextBox.SelectionStart; - } - else - { - intStart = editForm.TextBox.SelectionStart + editForm.TextBox.SelectionLength; - if (intStart == editForm.TextBox.Text.Length) - intStart = 0; - intEnd = editForm.TextBox.Text.Length - 1; // length can change!! - } - - string strFind = this.comboBoxFind.Text; - int intIndex = editForm.Find(strFind, intStart, intEnd, options); - if (intIndex < 0) - { - this.label1.Text = "Not found..."; - return; + string strFind = this.comboBoxFind.Text; + int intIndex = editForm.Find(strFind, intStart, intEnd, options); + if (intIndex < 0) { + this.label1.Text = "Not found..."; + return; + } } } @@ -169,15 +161,11 @@ namespace LSLEditor private void comboBoxFind_KeyDown(object sender, KeyEventArgs e) { - if (e.KeyCode == Keys.Return) - { - if (this.Replace.Enabled) - { + if (e.KeyCode == Keys.Return) { + if (this.Replace.Enabled) { this.comboBoxReplace.Focus(); e.SuppressKeyPress = true; - } - else - { + } else { Find(); e.SuppressKeyPress = true; } @@ -187,30 +175,26 @@ namespace LSLEditor private void Replace_Click(object sender, EventArgs e) { EditForm editForm = this.lslEditForm.ActiveMdiForm as EditForm; - if (editForm == null) - return; + if (editForm != null) { + UpdateComboBox(this.comboBoxReplace); - UpdateComboBox(this.comboBoxReplace); + if (editForm.TextBox.SelectionLength > 0) { + string strReplacement = this.comboBoxReplace.Text; + editForm.TextBox.ReplaceSelectedText(strReplacement); + } - if (editForm.TextBox.SelectionLength > 0) - { - string strReplacement = this.comboBoxReplace.Text; - editForm.TextBox.ReplaceSelectedText(strReplacement); + Find(); + this.Focus(); } - - Find(); - this.Focus(); } // WildCardToRegex not used!! private string WildCardToRegex(string strWildCard) { StringBuilder sb = new StringBuilder(strWildCard.Length + 8); - for (int intI = 0; intI < strWildCard.Length; intI++) - { + for (int intI = 0; intI < strWildCard.Length; intI++) { char chrC = strWildCard[intI]; - switch (chrC) - { + switch (chrC) { case '*': sb.Append(".*"); break; @@ -233,42 +217,41 @@ namespace LSLEditor private void ReplaceAll_Click(object sender, EventArgs e) { EditForm editForm = this.lslEditForm.ActiveMdiForm as EditForm; - if (editForm == null) - return; + if (editForm == null) { + UpdateComboBox(this.comboBoxReplace); - UpdateComboBox(this.comboBoxReplace); + string strPattern; + string strFind = Regex.Escape(this.comboBoxFind.Text); + string strReplacement = this.comboBoxReplace.Text; + string strSourceCode = editForm.SourceCode; - string strPattern; - string strFind = Regex.Escape(this.comboBoxFind.Text); - string strReplacement = this.comboBoxReplace.Text; - string strSourceCode = editForm.SourceCode; + RegexOptions regexOptions = RegexOptions.Compiled; + if (!this.checkBoxMatchCase.Checked) { + regexOptions |= RegexOptions.IgnoreCase; + } + if (this.checkBoxWholeWord.Checked) { + strPattern = @"\b" + strFind + @"\b"; + } else { + strPattern = strFind; + } - RegexOptions regexOptions = RegexOptions.Compiled; - if (!this.checkBoxMatchCase.Checked) - regexOptions |= RegexOptions.IgnoreCase; - if (this.checkBoxWholeWord.Checked) - strPattern = @"\b" + strFind + @"\b"; - else - strPattern = strFind; + Regex regex = new Regex(strPattern, regexOptions); - Regex regex = new Regex(strPattern, regexOptions); - - int intCount = 0; - foreach(Match m in regex.Matches(strSourceCode)) - { - if (m.Value.Length > 0) - intCount++; + int intCount = 0; + foreach (Match m in regex.Matches(strSourceCode)) { + if (m.Value.Length > 0) { + intCount++; + } + } + if (intCount == 0) { + MessageBox.Show("No matches found"); + } else { + if (MessageBox.Show("There are " + intCount + " occurences, replace them all?", "Find and Replace", MessageBoxButtons.YesNoCancel) == DialogResult.Yes) { + editForm.SourceCode = regex.Replace(strSourceCode, strReplacement); + } + } + this.Focus(); } - if (intCount == 0) - { - MessageBox.Show("No matches found"); - } - else - { - if (MessageBox.Show("There are " + intCount + " occurences, replace them all?", "Find and Replace", MessageBoxButtons.YesNoCancel) == DialogResult.Yes) - editForm.SourceCode = regex.Replace(strSourceCode, strReplacement); - } - this.Focus(); } private void FindWindow_FormClosing(object sender, FormClosingEventArgs e) @@ -281,22 +264,19 @@ namespace LSLEditor private void FindWindow_KeyDown(object sender, KeyEventArgs e) { - if (e.KeyData == Keys.Escape) - { + if (e.KeyData == Keys.Escape) { this.Visible = false; e.SuppressKeyPress = true; e.Handled = true; } - if (e.KeyCode == Keys.Return) - { + if (e.KeyCode == Keys.Return) { Find(); e.SuppressKeyPress = true; this.Focus(); } - if (e.KeyCode == Keys.F3) - { + if (e.KeyCode == Keys.F3) { Find(); e.SuppressKeyPress = true; this.Focus(); @@ -309,7 +289,5 @@ namespace LSLEditor { this.comboBoxFind.Focus(); } - - } -} \ No newline at end of file +} diff --git a/trunk/GotoWindow.cs b/trunk/GotoWindow.cs index f431384..d69b693 100644 --- a/trunk/GotoWindow.cs +++ b/trunk/GotoWindow.cs @@ -56,7 +56,7 @@ namespace LSLEditor this.lslEditForm = lslEditForm; EditForm editForm = this.lslEditForm.ActiveMdiForm as EditForm; - this.label1.Text = "Line number (1-"+editForm.TextBox.Lines.Length+")"; + this.label1.Text = "Line number (1-" + editForm.TextBox.Lines.Length + ")"; } private void button1_Click(object sender, EventArgs e) @@ -67,16 +67,12 @@ namespace LSLEditor private void Goto() { EditForm editForm = this.lslEditForm.ActiveMdiForm as EditForm; - if (editForm == null) - return; - try - { - int intLine = Convert.ToInt32(this.textBox1.Text); - editForm.TextBox.Goto(intLine); - this.Close(); - } - catch - { + if (editForm != null) { + try { + int intLine = Convert.ToInt32(this.textBox1.Text); + editForm.TextBox.Goto(intLine); + this.Close(); + } catch { } } } @@ -87,12 +83,11 @@ namespace LSLEditor private void textBox1_KeyDown(object sender, KeyEventArgs e) { - if (e.KeyCode == Keys.Return) - { + if (e.KeyCode == Keys.Return) { Goto(); e.SuppressKeyPress = true; } } } -} \ No newline at end of file +} diff --git a/trunk/LSLEditorForm.cs b/trunk/LSLEditorForm.cs index 085be90..da23a30 100644 --- a/trunk/LSLEditorForm.cs +++ b/trunk/LSLEditorForm.cs @@ -69,7 +69,6 @@ using LSLEditor.Docking; // At the bottom of the form there are - // 1) tabcontrol1 , holding tabbed documents // 2) splitter1, for increasing simulator window // 3) panel1 , holding simulator or listview for compiler errors @@ -114,16 +113,12 @@ namespace LSLEditor private const int WM_NCACTIVATE = 0x0086; protected override void WndProc(ref Message m) { - if (m.Msg == WM_NCACTIVATE) - { - if (m.LParam != IntPtr.Zero) - { + if (m.Msg == WM_NCACTIVATE) { + if (m.LParam != IntPtr.Zero) { m.WParam = new IntPtr(1); } - } - else - { - try { curProc.MaxWorkingSet = curProc.MaxWorkingSet; } catch {} + } else { + try { curProc.MaxWorkingSet = curProc.MaxWorkingSet; } catch { } } base.WndProc(ref m); } @@ -138,15 +133,18 @@ namespace LSLEditor private void SetDefaultProperties() { - if (Properties.Settings.Default.FontEditor == null) + if (Properties.Settings.Default.FontEditor == null) { Properties.Settings.Default.FontEditor = new Font("Courier New", 9.75F, FontStyle.Regular); + } - if (Properties.Settings.Default.FontTooltips == null) + if (Properties.Settings.Default.FontTooltips == null) { Properties.Settings.Default.FontTooltips = new Font(SystemFonts.MessageBoxFont.Name, 9.75F, FontStyle.Regular); + } string strLocation = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); - if (Properties.Settings.Default.ProjectLocation == "") + if (Properties.Settings.Default.ProjectLocation == "") { Properties.Settings.Default.ProjectLocation = strLocation; + } } public LSLEditorForm(string[] args) @@ -154,17 +152,14 @@ namespace LSLEditor Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US", false); - if (args.Length == 1) - { - if (args[0] == "/reset") - { + if (args.Length == 1) { + if (args[0] == "/reset") { Properties.Settings.Default.Reset(); Properties.Settings.Default.CallUpgrade = false; } } - if (Properties.Settings.Default.CallUpgrade) - { + if (Properties.Settings.Default.CallUpgrade) { Properties.Settings.Default.Upgrade(); Properties.Settings.Default.CallUpgrade = false; } @@ -185,12 +180,9 @@ namespace LSLEditor SetupChildForms(); - try - { + try { Start(args); - } - catch (Exception exception) - { + } catch (Exception exception) { MessageBox.Show("Error: " + OopsFormatter.ApplyFormatting(exception.Message), "Oops"); } } @@ -199,11 +191,12 @@ namespace LSLEditor { get { - if (this.IsMdiContainer) + if (this.IsMdiContainer) { return this.MdiChildren; + } List
children = new List(); - //TODO: Find Child forms + //TODO: Find Child forms //foreach (TabPage tabPage in this.tabControlExtended1.TabPages) // children.Add(tabPage.Tag as Form); return children.ToArray(); @@ -214,28 +207,26 @@ namespace LSLEditor { get { - if (this.IsMdiContainer) - return this.ActiveMdiChild; - else - { + Form form = null; + if (this.IsMdiContainer) { + form = this.ActiveMdiChild; + } else { //TODO: Get Active Mdi Form - return null; + //return null; //dockPanel.ActiveContent - // if (this.tabControlExtended1.SelectedTab == null) - // return null; - // return this.tabControlExtended1.SelectedTab.Tag as Form; + // if (this.tabControlExtended1.SelectedTab == null) + // return null; + // return this.tabControlExtended1.SelectedTab.Tag as Form; } + return form; } } public void ActivateMdiForm(Form form) { - if (this.IsMdiContainer) - { + if (this.IsMdiContainer) { this.ActivateMdiChild(form); - } - else - { + } else { //TODO: Activate the right Mdi Form /*for (int intI = 0; intI < this.tabControlExtended1.TabCount; intI++) { @@ -253,8 +244,7 @@ namespace LSLEditor public void AddForm(DockContent form) { - if (this.IsMdiContainer) - { + if (this.IsMdiContainer) { //form.MdiParent = this; //form.Tag = null; //form.Show(); @@ -262,12 +252,7 @@ namespace LSLEditor //TODO: add form in the right way form.Show(dockPanel); - } - else - { - - - + } else { //form.Visible = false; //form.MdiParent = null; //TabPage tabPage = new TabPage(form.Text+" "); @@ -330,14 +315,12 @@ namespace LSLEditor Version version = Assembly.GetExecutingAssembly().GetName().Version; this.Text += " " + version.Major + "." + version.Minor; - if (System.Diagnostics.Debugger.IsAttached) - { + if (System.Diagnostics.Debugger.IsAttached) { this.Text += " (ALPHA)"; - } - else - { - if (Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().Location).Contains("beta")) + } else { + if (Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().Location).Contains("beta")) { this.Text += " (BETA)"; + } } //TODO: Fix close buttons on tabs @@ -345,29 +328,18 @@ namespace LSLEditor //this.tabControlExtended1.SetDrawMode(); //this.tabControlExtended1.OnTabClose += new EventHandler(tabControl1_OnTabClose); - if (args.Length == 0) - { + if (args.Length == 0) { NewFile(); - } - else - { - if (args[0] == "/reset") - { + } else { + if (args[0] == "/reset") { NewFile(); - } - else - { - if (Path.GetExtension(args[0]) == ".sol") - { + } else { + if (Path.GetExtension(args[0]) == ".sol") { this.SolutionExplorer.OpenSolution(args[0]); - } - else - { + } else { bool blnRun = false; - foreach (string strFileName in args) - { - if (strFileName == "/run") - { + foreach (string strFileName in args) { + if (strFileName == "/run") { blnRun = true; continue; } @@ -376,8 +348,7 @@ namespace LSLEditor editForm.TextBox.OnCursorPositionChanged += new SyntaxRichTextBox.CursorPositionChangedHandler(TextBox_OnCursorPositionChanged); AddForm(editForm); } - if (blnRun) - { + if (blnRun) { this.stopToolStripMenuItem.Enabled = true; StartSimulator(); } @@ -394,10 +365,11 @@ namespace LSLEditor private XmlDocument GetXmlFromResource(string strName) { XmlDocument xml = new XmlDocument(); - Stream resource = Assembly.GetExecutingAssembly().GetManifestResourceStream(this.GetType().Namespace + "."+strName); + Stream resource = Assembly.GetExecutingAssembly().GetManifestResourceStream(this.GetType().Namespace + "." + strName); - if (resource != null) + if (resource != null) { xml.Load(resource); + } return xml; } @@ -425,18 +397,16 @@ namespace LSLEditor public EditForm OpenFile(string strPath, Guid guid, bool blnIsScript) { EditForm editForm = null; - if (this.Children.Length > 0) - { + if (this.Children.Length > 0) { editForm = this.Children[0] as EditForm; - if (editForm != null && !editForm.IsDisposed) - { - if (editForm.ScriptName != Properties.Settings.Default.ExampleName || editForm.Dirty) + if (editForm != null && !editForm.IsDisposed) { + if (editForm.ScriptName != Properties.Settings.Default.ExampleName || editForm.Dirty) { editForm = null; + } } } - if (editForm == null) - { + if (editForm == null) { editForm = new EditForm(this); editForm.TextBox.OnCursorPositionChanged += new SyntaxRichTextBox.CursorPositionChangedHandler(TextBox_OnCursorPositionChanged); AddForm(editForm); @@ -461,33 +431,34 @@ namespace LSLEditor private void OpenFile(string strFileName) { - OpenFile(strFileName, Guid.Empty , true); + OpenFile(strFileName, Guid.Empty, true); } private string ClippedPath(string strPath) { - if (strPath.Length < Properties.Settings.Default.PathClipLength) - return strPath; - - string strRoot = Path.GetPathRoot(strPath); - string strTmp = ""; - while (strTmp.Length < Properties.Settings.Default.PathClipLength) - { - strTmp = Path.Combine(Path.GetFileName(strPath) , strTmp); - strPath = Path.GetDirectoryName(strPath); - if (strPath == strRoot || strPath == null) - break; + string strResult = strPath; + if (Properties.Settings.Default.PathClipLength < strPath.Length) { + string strRoot = Path.GetPathRoot(strPath); + string strTmp = ""; + while (strTmp.Length < Properties.Settings.Default.PathClipLength) { + strTmp = Path.Combine(Path.GetFileName(strPath), strTmp); + strPath = Path.GetDirectoryName(strPath); + if (strPath == strRoot || strPath == null) { + break; + } + } + strResult = Path.Combine(Path.Combine(strRoot, "..."), strTmp); } - return Path.Combine(Path.Combine(strRoot, "..."), strTmp); + return strPath; } private void InitRecentFileList() { - if (Properties.Settings.Default.RecentFileList == null) + if (Properties.Settings.Default.RecentFileList == null) { Properties.Settings.Default.RecentFileList = new System.Collections.Specialized.StringCollection(); + } int intLen = Properties.Settings.Default.RecentFileList.Count; - for (int intI = 0; intI < intLen; intI++) - { + for (int intI = 0; intI < intLen; intI++) { ToolStripMenuItem tsmi = new ToolStripMenuItem(ClippedPath(Properties.Settings.Default.RecentFileList[intI])); tsmi.Tag = Properties.Settings.Default.RecentFileList[intI]; this.recentFileToolStripMenuItem.DropDownItems.Add(tsmi); @@ -496,11 +467,11 @@ namespace LSLEditor private void InitRecentProjectList() { - if (Properties.Settings.Default.RecentProjectList == null) + if (Properties.Settings.Default.RecentProjectList == null) { Properties.Settings.Default.RecentProjectList = new System.Collections.Specialized.StringCollection(); + } int intLen = Properties.Settings.Default.RecentProjectList.Count; - for (int intI = 0; intI < intLen; intI++) - { + for (int intI = 0; intI < intLen; intI++) { ToolStripMenuItem tsmi = new ToolStripMenuItem(ClippedPath(Properties.Settings.Default.RecentProjectList[intI])); tsmi.Tag = Properties.Settings.Default.RecentProjectList[intI]; this.recentProjectToolStripMenuItem.DropDownItems.Add(tsmi); @@ -510,21 +481,21 @@ namespace LSLEditor private void InitPluginsList() { // erase old plugins - for (int intI = this.toolsStripMenuItem.DropDownItems.Count - 1; intI > 0; intI--) + for (int intI = this.toolsStripMenuItem.DropDownItems.Count - 1; intI > 0; intI--) { this.toolsStripMenuItem.DropDownItems.RemoveAt(intI); + } - if (Properties.Settings.Default.Plugins == null) - return; - - ToolStripMenuItem tsmi; - EventHandler handler = new EventHandler(this.PluginsHandler); - foreach (string strPlugin in Properties.Settings.Default.Plugins) - { - if(strPlugin.ToLower().Contains("lslint")) - tsmi = new ToolStripMenuItem(strPlugin, null, handler, Keys.F7); - else - tsmi = new ToolStripMenuItem(strPlugin, null, handler); - this.toolsStripMenuItem.DropDownItems.Add(tsmi); + if (Properties.Settings.Default.Plugins != null) { + ToolStripMenuItem tsmi; + EventHandler handler = new EventHandler(this.PluginsHandler); + foreach (string strPlugin in Properties.Settings.Default.Plugins) { + if (strPlugin.ToLower().Contains("lslint")) { + tsmi = new ToolStripMenuItem(strPlugin, null, handler, Keys.F7); + } else { + tsmi = new ToolStripMenuItem(strPlugin, null, handler); + } + this.toolsStripMenuItem.DropDownItems.Add(tsmi); + } } } @@ -535,17 +506,14 @@ namespace LSLEditor this.recentFileToolStripMenuItem.DropDownItems.Insert(0, tsmi); Properties.Settings.Default.RecentFileList.Insert(0, strPath); int intListLen = Properties.Settings.Default.RecentFileList.Count; - for (int intI = intListLen - 1; intI > 0; intI--) - { - if (strPath.ToLower() == Properties.Settings.Default.RecentFileList[intI].ToLower()) - { + for (int intI = intListLen - 1; intI > 0; intI--) { + if (strPath.ToLower() == Properties.Settings.Default.RecentFileList[intI].ToLower()) { this.recentFileToolStripMenuItem.DropDownItems.RemoveAt(intI); Properties.Settings.Default.RecentFileList.RemoveAt(intI); } } int intLen = Properties.Settings.Default.RecentFileMax; - if (this.recentFileToolStripMenuItem.DropDownItems.Count > intLen) - { + if (this.recentFileToolStripMenuItem.DropDownItems.Count > intLen) { this.recentFileToolStripMenuItem.DropDownItems.RemoveAt(intLen); Properties.Settings.Default.RecentFileList.RemoveAt(intLen); } @@ -556,25 +524,21 @@ namespace LSLEditor ToolStripMenuItem tsmi = new ToolStripMenuItem(ClippedPath(strPath)); tsmi.Tag = strPath; - if (AddToList) - { + if (AddToList) { this.recentProjectToolStripMenuItem.DropDownItems.Insert(0, tsmi); Properties.Settings.Default.RecentProjectList.Insert(0, strPath); } int intListLen = Properties.Settings.Default.RecentProjectList.Count; - for (int intI = intListLen - 1; intI > 0; intI--) - { - if (strPath.ToLower() == Properties.Settings.Default.RecentProjectList[intI].ToLower()) - { + for (int intI = intListLen - 1; intI > 0; intI--) { + if (strPath.ToLower() == Properties.Settings.Default.RecentProjectList[intI].ToLower()) { this.recentProjectToolStripMenuItem.DropDownItems.RemoveAt(intI); Properties.Settings.Default.RecentProjectList.RemoveAt(intI); } } int intLen = Properties.Settings.Default.RecentProjectMax; - if (this.recentProjectToolStripMenuItem.DropDownItems.Count > intLen) - { + if (this.recentProjectToolStripMenuItem.DropDownItems.Count > intLen) { this.recentProjectToolStripMenuItem.DropDownItems.RemoveAt(intLen); Properties.Settings.Default.RecentProjectList.RemoveAt(intLen); } @@ -584,12 +548,9 @@ namespace LSLEditor private void ReadNoteFiles() { this.openNoteFilesDialog.Multiselect = true; - if (this.openNoteFilesDialog.ShowDialog() == DialogResult.OK) - { - foreach (string strFileName in this.openNoteFilesDialog.FileNames) - { - if (File.Exists(strFileName)) - { + if (this.openNoteFilesDialog.ShowDialog() == DialogResult.OK) { + foreach (string strFileName in this.openNoteFilesDialog.FileNames) { + if (File.Exists(strFileName)) { OpenFile(strFileName, Guid.NewGuid(), false); UpdateRecentFileList(strFileName); } @@ -600,12 +561,9 @@ namespace LSLEditor private void ReadScriptFiles() { this.openScriptFilesDialog.Multiselect = true; - if (this.openScriptFilesDialog.ShowDialog() == DialogResult.OK) - { - foreach (string strFileName in this.openScriptFilesDialog.FileNames) - { - if (File.Exists(strFileName)) - { + if (this.openScriptFilesDialog.ShowDialog() == DialogResult.OK) { + foreach (string strFileName in this.openScriptFilesDialog.FileNames) { + if (File.Exists(strFileName)) { OpenFile(strFileName, Guid.NewGuid()); UpdateRecentFileList(strFileName); } @@ -625,17 +583,16 @@ namespace LSLEditor public bool SaveFile(EditForm editForm, bool blnSaveAs) { DialogResult dialogresult = DialogResult.OK; - if (editForm.FullPathName == Properties.Settings.Default.ExampleName || blnSaveAs) - { + if (editForm.FullPathName == Properties.Settings.Default.ExampleName || blnSaveAs) { SaveFileDialog saveDialog = editForm.IsScript ? this.saveScriptFilesDialog : this.saveNoteFilesDialog; saveDialog.FileName = editForm.FullPathName; string strExtension = Path.GetExtension(editForm.FullPathName); dialogresult = saveDialog.ShowDialog(); - if (dialogresult == DialogResult.OK) + if (dialogresult == DialogResult.OK) { editForm.FullPathName = saveDialog.FileName; + } } - if (dialogresult == DialogResult.OK) - { + if (dialogresult == DialogResult.OK) { editForm.SaveCurrentFile(); UpdateRecentFileList(editForm.FullPathName); return true; @@ -646,23 +603,24 @@ namespace LSLEditor // save file of active MDI child, if any private bool SaveActiveFile() { + bool blnResult = false; EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return false; - // save as!! - // TODO: Refactor saveDialog to be a property of the form - SaveFileDialog saveDialog = editForm.IsScript ? this.saveScriptFilesDialog : this.saveNoteFilesDialog; - return SaveFile(editForm, true); + if (editForm != null) { + // save as!! + // TODO: Refactor saveDialog to be a property of the form + SaveFileDialog saveDialog = editForm.IsScript ? this.saveScriptFilesDialog : this.saveNoteFilesDialog; + blnResult = SaveFile(editForm, true); + } + return blnResult; } - private void saveToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.SaveCurrentFile(); - this.Focus(); + if (editForm != null) { + editForm.SaveCurrentFile(); + this.Focus(); + } } private void saveAsToolStripMenuItem_Click(object sender, EventArgs e) @@ -672,37 +630,30 @@ namespace LSLEditor private Browser GetBrowser() { - if (this.browser == null || this.browser.IsDisposed) - { + if (this.browser == null || this.browser.IsDisposed) { this.browser = new Browser(this); - if (Properties.Settings.Default.BrowserLocation != Point.Empty) - { + if (Properties.Settings.Default.BrowserLocation != Point.Empty) { this.browser.StartPosition = FormStartPosition.Manual; this.browser.Location = Properties.Settings.Default.BrowserLocation; } - if (Properties.Settings.Default.BrowserSize != Size.Empty) + if (Properties.Settings.Default.BrowserSize != Size.Empty) { this.browser.Size = Properties.Settings.Default.BrowserSize; + } this.browser.SizeChanged += new EventHandler(browser_SizeChanged); this.browser.LocationChanged += new EventHandler(browser_LocationChanged); - if (this.browserInWindowToolStripMenuItem.Checked) - { + if (this.browserInWindowToolStripMenuItem.Checked) { this.browser.MdiParent = null; this.browser.Show(); - } - else - { + } else { AddForm(this.browser); //this.browser.MdiParent = this; } } this.browser.Activate(); - if (this.IsMdiContainer) - { + if (this.IsMdiContainer) { this.ActivateMdiChild(this.browser); - } - else - { + } else { //TODO: find browser in childs /*for (int intI = 0; intI < this.tabControlExtended1.TabCount; intI++) { @@ -735,20 +686,17 @@ namespace LSLEditor { // Initialize the dialog's PrinterSettings property to hold user // defined printer settings. - pageSetupDialog1.PageSettings = - new System.Drawing.Printing.PageSettings(); + pageSetupDialog1.PageSettings = new System.Drawing.Printing.PageSettings(); // Initialize dialog's PrinterSettings property to hold user // set printer settings. - pageSetupDialog1.PrinterSettings = - new System.Drawing.Printing.PrinterSettings(); + pageSetupDialog1.PrinterSettings = new System.Drawing.Printing.PrinterSettings(); //Do not show the network in the printer dialog. pageSetupDialog1.ShowNetwork = false; //Show the dialog storing the result. - if (pageSetupDialog1.ShowDialog() != DialogResult.OK) - { + if (pageSetupDialog1.ShowDialog() != DialogResult.OK) { pageSetupDialog1.PageSettings = null; pageSetupDialog1.PrinterSettings = null; } @@ -757,8 +705,7 @@ namespace LSLEditor private void printPreviewtoolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm != null) - { + if (editForm != null) { printerHelp(editForm); printer.PrintPreviewEditForm(editForm); } @@ -767,8 +714,7 @@ namespace LSLEditor private void printToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm != null) - { + if (editForm != null) { printerHelp(editForm); printer.PrintEditForm(editForm); } @@ -786,9 +732,9 @@ namespace LSLEditor private void copyToClipboardToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.ToClipBoard(); + if (editForm != null) { + editForm.TextBox.ToClipBoard(); + } } private void exitToolStripMenuItem_Click(object sender, EventArgs e) @@ -799,84 +745,82 @@ namespace LSLEditor private void undoToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.Undo(); + if (editForm != null) { + editForm.TextBox.Undo(); + } } private void redoToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.Redo(); + if (editForm != null) { + editForm.TextBox.Redo(); + } } private void cutToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.Cut(); + if (editForm != null) { + editForm.TextBox.Cut(); + } } private void copyToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.Copy(); + if (editForm != null) { + editForm.TextBox.Copy(); + } } private void pasteToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.Paste(); + if (editForm != null) { + editForm.TextBox.Paste(); + } } private void deleteToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.Delete(); + if (editForm != null) { + editForm.TextBox.Delete(); + } } private void selectAllToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.SelectAll(); + if (editForm != null) { + editForm.TextBox.SelectAll(); + } } private void formatDocumentToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.FormatDocument(); + if (editForm != null) { + editForm.TextBox.FormatDocument(); + } } private void formatSelectedTextToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.AutoFormatSelectedText(); + if (editForm != null) { + editForm.TextBox.AutoFormatSelectedText(); + } } private void wordWrapToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm != null) - { + if (editForm != null) { ToolStripMenuItem tsmi = sender as ToolStripMenuItem; - if (tsmi != null) - { + if (tsmi != null) { tsmi.Checked = !tsmi.Checked; editForm.TextBox.WordWrap = tsmi.Checked; } @@ -912,11 +856,13 @@ namespace LSLEditor Font listBoxFont; Font toolTipFont; - if (Properties.Settings.Default.FontEditor == null) + if (Properties.Settings.Default.FontEditor == null) { Properties.Settings.Default.FontEditor = new Font("Courier New", 9.75F, FontStyle.Regular); + } - if (Properties.Settings.Default.FontTooltips == null) + if (Properties.Settings.Default.FontTooltips == null) { Properties.Settings.Default.FontTooltips = new Font(SystemFonts.MessageBoxFont.Name, 9.75F, FontStyle.Regular); + } toolTipFont = Properties.Settings.Default.FontTooltips; listBoxFont = Properties.Settings.Default.FontEditor; @@ -926,11 +872,11 @@ namespace LSLEditor this.TooltipListBox.Font = toolTipFont; this.GListBoxWindow.Font = listBoxFont; - foreach (Form form in this.Children) - { + foreach (Form form in this.Children) { EditForm editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) + if (editForm == null || editForm.IsDisposed) { continue; + } editForm.SetFont(); } } @@ -975,7 +921,7 @@ namespace LSLEditor imageList.Images.Add(new Bitmap(this.GetType(), "Images.States.gif")); this.GListBoxWindow.GListBox.ImageList = imageList; - // this.tvOutline.ImageList = imageList; + // this.tvOutline.ImageList = imageList; this.Move += new EventHandler(LSLEditorForm_SetPosition); this.Resize += new EventHandler(LSLEditorForm_SetPosition); @@ -987,44 +933,43 @@ namespace LSLEditor void GListBox_SelectedIndexChanged(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm != null) + if (editForm != null) { editForm.TextBox.ShowTooltipOnListBox(); + } } void GListBox_DoubleClick(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm != null) + if (editForm != null) { editForm.TextBox.InsertSelectedWord(); + } } private void LSLEditorForm_SetPosition(object sender, EventArgs e) { - foreach (PermissionsForm pf in this.PermissionForms) - { + foreach (PermissionsForm pf in this.PermissionForms) { pf.Top = this.Top + 30; pf.Left = this.Right - pf.Width - 5; } - foreach(llDialogForm df in this.llDialogForms) - { + foreach (llDialogForm df in this.llDialogForms) { df.Top = this.Top + 30; df.Left = this.Right - df.Width - 5; } - foreach(llTextBoxForm tbf in this.llTextBoxForms) - { + foreach (llTextBoxForm tbf in this.llTextBoxForms) { tbf.Left = this.Left + this.Width / 2 - tbf.Width / 2; tbf.Top = this.Top + this.Height / 2 - tbf.Height / 2; } EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm != null) + if (editForm != null) { editForm.TextBox.SetPosition(Screen.PrimaryScreen.WorkingArea); + } } private void LoadProperties() { - try - { + try { //TODO: hmmm? //this.tabControlExtended1.Visible = false; @@ -1036,53 +981,45 @@ namespace LSLEditor Size size = Properties.Settings.Default.LSLEditorSize; Point location = Properties.Settings.Default.LSLEditorLocation; Rectangle rect = new Rectangle(location, size); - if(Screen.PrimaryScreen.WorkingArea.Contains(rect)) - { - if (size.Width > 100 && size.Height > 100) - { + if (Screen.PrimaryScreen.WorkingArea.Contains(rect)) { + if (size.Width > 100 && size.Height > 100) { this.Location = location; this.Size = size; } } - this.browserInWindowToolStripMenuItem.Checked = - Properties.Settings.Default.BrowserInWindow; + this.browserInWindowToolStripMenuItem.Checked = Properties.Settings.Default.BrowserInWindow; - this.WikiSepBrowserstoolStripMenuItem.Checked = - Properties.Settings.Default.WikiSeperateBrowser; + this.WikiSepBrowserstoolStripMenuItem.Checked = Properties.Settings.Default.WikiSeperateBrowser; - } - catch(Exception exception) - { + } catch (Exception exception) { MessageBox.Show("Error Properties: " + OopsFormatter.ApplyFormatting(exception.Message), "Oops, but continue"); } } + // TODO cleanup multiple return points public bool CloseAllOpenWindows() { - foreach (Form form in this.Children) - { + foreach (Form form in this.Children) { EditForm editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) + if (editForm == null || editForm.IsDisposed) { continue; + } ActivateMdiForm(editForm); - if (editForm.Dirty) - { + if (editForm.Dirty) { DialogResult dialogResult = MessageBox.Show(this, @"Save """ + editForm.ScriptName + @"""?", "File has changed", MessageBoxButtons.YesNoCancel); - if (dialogResult == DialogResult.Cancel) - { + if (dialogResult == DialogResult.Cancel) { return false; } - if (dialogResult == DialogResult.Yes) - { + if (dialogResult == DialogResult.Yes) { // TODO: Refactor saveDialog to be a property of the form SaveFileDialog saveDialog = editForm.IsScript ? this.saveScriptFilesDialog : this.saveNoteFilesDialog; - if(!SaveFile(editForm, false)) + if (!SaveFile(editForm, false)) { return false; + } } - if (dialogResult == DialogResult.No) - { + if (dialogResult == DialogResult.No) { editForm.Dirty = false; } } @@ -1091,59 +1028,50 @@ namespace LSLEditor return true; } + // TODO cleanup multiple return points private void LSLEditorForm_FormClosing(object sender, FormClosingEventArgs e) { - try - { + try { Properties.Settings.Default.LSLEditorSize = this.Size; Properties.Settings.Default.LSLEditorLocation = this.Location; Properties.Settings.Default.Save(); - if (this.IsMdiContainer) - { + if (this.IsMdiContainer) { // this is set by any EditForm close e.Cancel = this.CancelClosing; return; } - if (this.SolutionExplorer != null & !this.SolutionExplorer.IsDisposed) - { + if (this.SolutionExplorer != null & !this.SolutionExplorer.IsDisposed) { this.SolutionExplorer.CloseSolution(); } e.Cancel = !CloseAllOpenWindows(); - } - catch - { - } + } catch { } } private void helpKeywordToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - - Point dummy; - string strKeyWord = editForm.TextBox.GetCurrentKeyWord(false, out dummy); - ShowHelpOnKeyWord(strKeyWord); + if (editForm != null) { + Point dummy; + string strKeyWord = editForm.TextBox.GetCurrentKeyWord(false, out dummy); + ShowHelpOnKeyWord(strKeyWord); + } } + // TODO cleanup multiple return points private void ShowHelpOnKeyWord(string strKeyWord) { - if (Properties.Settings.Default.HelpOffline) - { + if (Properties.Settings.Default.HelpOffline) { string strHelpFile = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Properties.Settings.Default.HelpOfflineFile); - if (!File.Exists(strHelpFile)) - { - if (MessageBox.Show("No Offline help, use Online Wiki?", "Offline Help fails", MessageBoxButtons.OKCancel,MessageBoxIcon.Question) != DialogResult.OK) + if (!File.Exists(strHelpFile)) { + if (MessageBox.Show("No Offline help, use Online Wiki?", "Offline Help fails", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) return; - } - else - { + } else { if (strKeyWord == "") Help.ShowHelp(this, strHelpFile); else @@ -1154,15 +1082,13 @@ namespace LSLEditor string strUrl = Properties.Settings.Default.Help + strKeyWord; - if (strKeyWord == "") + if (strKeyWord == "") { strKeyWord = "Help"; - - if (Properties.Settings.Default.WikiSeperateBrowser) - { - System.Diagnostics.Process.Start(strUrl); } - else - { + + if (Properties.Settings.Default.WikiSeperateBrowser) { + System.Diagnostics.Process.Start(strUrl); + } else { Browser browser = GetBrowser(); browser.ShowWebBrowser(strKeyWord, strUrl); } @@ -1190,8 +1116,7 @@ namespace LSLEditor private void InitSyntaxError() { // information out of every script - if (this.SyntaxErrors == null) - { + if (this.SyntaxErrors == null) { this.SyntaxErrors = new SyntaxError(); this.SyntaxErrors.OnSyntaxError += new SyntaxError.SyntaxErrorHandler(SyntaxErrors_OnSyntaxError); this.SyntaxErrors.Dock = DockStyle.Fill; @@ -1202,87 +1127,82 @@ namespace LSLEditor private void SyntaxErrors_OnSyntaxError(object sender, SyntaxError.SyntaxErrorEventArgs e) { EditForm editForm = null; - foreach (Form form in this.Children) - { + foreach (Form form in this.Children) { editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) + if (editForm == null || editForm.IsDisposed) { continue; - if (editForm.FullPathName == e.FullPathName) - { + } + if (editForm.FullPathName == e.FullPathName) { ActivateMdiForm(editForm); editForm.TextBox.Goto(e.Line, e.Char); editForm.Focus(); return; } } - editForm = OpenFile(e.FullPathName,e.EditFormGuid,e.IsScript); + editForm = OpenFile(e.FullPathName, e.EditFormGuid, e.IsScript); editForm.TextBox.Goto(e.Line, e.Char); editForm.Focus(); } private void StartSimulator() { - if (!SyntaxCheck(true)) - return; + if (SyntaxCheck(true)) { + this.SimulatorConsole = new SimulatorConsole(this.SolutionExplorer, this.Children); - this.SimulatorConsole = new SimulatorConsole(this.SolutionExplorer, this.Children); - - this.SimulatorConsole.Show(dockPanel); - //TODO: Show Simulator Console somewhere - //this.panel1.Controls.Clear(); - //this.panel1.Controls.Add(this.SimulatorConsole); - //this.panel1.Visible = true; - //this.splitter1.SplitPosition = Properties.Settings.Default.SimulatorSize.Height; + this.SimulatorConsole.Show(dockPanel); + //TODO: Show Simulator Console somewhere + //this.panel1.Controls.Clear(); + //this.panel1.Controls.Add(this.SimulatorConsole); + //this.panel1.Visible = true; + //this.splitter1.SplitPosition = Properties.Settings.Default.SimulatorSize.Height; + } } public void StopSimulator() { //TODO: Hide simulator? Or we could keep it like the debug output in VS //this.panel1.Visible = false; - if (this.SimulatorConsole != null) - { + if (this.SimulatorConsole != null) { this.SimulatorConsole.Stop(); this.SimulatorConsole.Dispose(); } this.SimulatorConsole = null; } - private bool SyntaxCheck(bool Silent) { //TODO: What do we hide on SyntaxCheck? //this.panel1.Visible = false; InitSyntaxError(); - foreach (Form form in this.Children) - { + foreach (Form form in this.Children) { EditForm editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) + if (editForm == null || editForm.IsDisposed) { continue; - if (Properties.Settings.Default.AutoSaveOnDebug) - { - if (editForm.Dirty) + } + if (Properties.Settings.Default.AutoSaveOnDebug) { + if (editForm.Dirty) { editForm.SaveCurrentFile(); + } } editForm.SyntaxCheck(); } - if (this.SyntaxErrors.HasErrors) - { + bool blnResult = false; + if (this.SyntaxErrors.HasErrors) { this.SyntaxErrors.Show(dockPanel); //TODO: Show errors somewhere in an output //this.panel1.Controls.Clear(); //this.panel1.Controls.Add(this.SyntaxErrors); //this.panel1.Visible = true; //this.splitter1.SplitPosition = Properties.Settings.Default.SimulatorSize.Height; - return false; - } - else - { - if (!Silent) + } else { + if (!Silent) { MessageBox.Show("LSL Syntax seems OK", "LSL Syntax Checker", MessageBoxButtons.OK, MessageBoxIcon.Information); - return true; + } + blnResult = true; } + return blnResult; } private void releaseNotesToolStripMenuItem_Click(object sender, EventArgs e) @@ -1321,18 +1241,15 @@ namespace LSLEditor private void tabControlExtended1_MouseDown(object sender, MouseEventArgs e) { TabControl tabControl = sender as TabControl; - if (tabControl == null) - return; - if (e.Button == MouseButtons.Right) - { - for (int intI = 0; intI < tabControl.TabCount; intI++) - { - Rectangle rt = tabControl.GetTabRect(intI); - if (e.X > rt.Left && e.X < rt.Right - && e.Y > rt.Top && e.Y < rt.Bottom) - { - this.contextMenuStrip1.Tag = intI; - this.contextMenuStrip1.Show(tabControl, new Point(e.X, e.Y)); + if (tabControl != null) { + if (e.Button == MouseButtons.Right) { + for (int intI = 0; intI < tabControl.TabCount; intI++) { + Rectangle rt = tabControl.GetTabRect(intI); + if (e.X > rt.Left && e.X < rt.Right + && e.Y > rt.Top && e.Y < rt.Bottom) { + this.contextMenuStrip1.Tag = intI; + this.contextMenuStrip1.Show(tabControl, new Point(e.X, e.Y)); + } } } } @@ -1340,11 +1257,11 @@ namespace LSLEditor private bool IsInSolutionExplorer(Guid guid) { - if (this.SolutionExplorer == null || this.SolutionExplorer.IsDisposed) - return false; - if (this.SolutionExplorer.GetKey(guid) == null) - return false; - return true; + bool blnResult = true; + if (this.SolutionExplorer == null || this.SolutionExplorer.IsDisposed || this.SolutionExplorer.GetKey(guid) == null) { + blnResult = false; + } + return blnResult; } @@ -1415,31 +1332,27 @@ namespace LSLEditor private void toolStripMenuItem1_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - if (GotoWindow == null || GotoWindow.IsDisposed) - { - GotoWindow = new GotoWindow(this); - if (Properties.Settings.Default.GotoLocation != Point.Empty) - { - GotoWindow.StartPosition = FormStartPosition.Manual; - GotoWindow.Location = Properties.Settings.Default.GotoLocation; + if (editForm != null) { + if (GotoWindow == null || GotoWindow.IsDisposed) { + GotoWindow = new GotoWindow(this); + if (Properties.Settings.Default.GotoLocation != Point.Empty) { + GotoWindow.StartPosition = FormStartPosition.Manual; + GotoWindow.Location = Properties.Settings.Default.GotoLocation; + } + GotoWindow.LocationChanged += new EventHandler(gotoForm_LocationChanged); } - GotoWindow.LocationChanged += new EventHandler(gotoForm_LocationChanged); + GotoWindow.Show(this); } - GotoWindow.Show(this); } public void CloseActiveWindow() { - if (this.IsMdiContainer) - { - if(this.ActiveMdiForm!=null && !this.ActiveMdiForm.IsDisposed) + if (this.IsMdiContainer) { + if (this.ActiveMdiForm != null && !this.ActiveMdiForm.IsDisposed) { this.ActiveMdiForm.Close(); - } - else - { + } + } else { //TODO: Find a new way /* int intTabToClose = this.tabControlExtended1.SelectedIndex; @@ -1464,8 +1377,7 @@ namespace LSLEditor private void LSLEditorForm_Load(object sender, EventArgs e) { LoadProperties(); - if (Properties.Settings.Default.CheckForUpdates) - { + if (Properties.Settings.Default.CheckForUpdates) { updateApplicationForm = new UpdateApplicationForm(); updateApplicationForm.Icon = this.Icon; updateApplicationForm.OnUpdateAvailable += new EventHandler(updateApplicationForm_OnUpdateAvailable); @@ -1481,42 +1393,43 @@ namespace LSLEditor private void commentInToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.MultiLineComment(true); + if (editForm != null) { + editForm.TextBox.MultiLineComment(true); + } } private void uncommentingSelectedTextToolStripMenuItem_Click(object sender, EventArgs e) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.MultiLineComment(false); + if (editForm != null) { + editForm.TextBox.MultiLineComment(false); + } } private void FindandReplace(bool blnReplaceAlso) { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - if (findWindow == null || findWindow.IsDisposed) - { - findWindow = new FindWindow(this); - findWindow.LocationChanged += new EventHandler(findForm_LocationChanged); + if (editForm != null) { + if (findWindow == null || findWindow.IsDisposed) { + findWindow = new FindWindow(this); + findWindow.LocationChanged += new EventHandler(findForm_LocationChanged); + } + Rectangle rect = new Rectangle(this.Location, this.Size); + if (rect.Contains(Properties.Settings.Default.FindLocation)) { + findWindow.Location = Properties.Settings.Default.FindLocation; + } else { + findWindow.Location = this.Location; + } + Point dummy; + findWindow.ReplaceAlso = blnReplaceAlso; + findWindow.KeyWord = editForm.TextBox.GetCurrentKeyWord(false, out dummy); + if (findWindow.Visible == false) { + findWindow.Show(this); + } + findWindow.FindFocus(); } - Rectangle rect = new Rectangle(this.Location, this.Size); - if (rect.Contains(Properties.Settings.Default.FindLocation)) - findWindow.Location = Properties.Settings.Default.FindLocation; - else - findWindow.Location = this.Location; - Point dummy; - findWindow.ReplaceAlso = blnReplaceAlso; - findWindow.KeyWord = editForm.TextBox.GetCurrentKeyWord(false, out dummy); - if (findWindow.Visible == false) - findWindow.Show(this); - findWindow.FindFocus(); } private void replaceToolStripMenuItem_Click(object sender, EventArgs e) @@ -1531,8 +1444,9 @@ namespace LSLEditor private void findNextToolStripMenuItem_Click(object sender, EventArgs e) { - if (findWindow != null && !findWindow.IsDisposed) + if (findWindow != null && !findWindow.IsDisposed) { findWindow.Find(); + } } @@ -1540,12 +1454,9 @@ namespace LSLEditor { //TODO: We need another way to activate the Solution Explorer //this.panel2.Visible = blnVisible; - if (blnVisible) - { + if (blnVisible) { m_SolutionExplorer.Show(dockPanel); - } - else - { + } else { m_SolutionExplorer.Hide(); } this.solutionExplorerToolStripMenuItem.Checked = blnVisible; @@ -1592,14 +1503,13 @@ namespace LSLEditor private void recentFileToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e) { ToolStripMenuItem tsmi = e.ClickedItem as ToolStripMenuItem; - if (tsmi == null) - return; + if (tsmi != null) { + this.fileStripMenuItem.HideDropDown(); - this.fileStripMenuItem.HideDropDown(); - - string strPath = tsmi.Tag.ToString(); - OpenFile(strPath, Guid.NewGuid()); - UpdateRecentFileList(strPath); + string strPath = tsmi.Tag.ToString(); + OpenFile(strPath, Guid.NewGuid()); + UpdateRecentFileList(strPath); + } } private void makeBugReporttoolStripMenuItem_Click(object sender, EventArgs e) @@ -1624,12 +1534,11 @@ namespace LSLEditor #region SolutionExplorer private void openProjectSolutionToolStripMenuItem_Click(object sender, EventArgs e) { - if (this.openSolutionFilesDialog.ShowDialog(this) == DialogResult.OK) - { - if (File.Exists(this.openSolutionFilesDialog.FileName)) - { - if(CloseAllOpenWindows()) + if (this.openSolutionFilesDialog.ShowDialog(this) == DialogResult.OK) { + if (File.Exists(this.openSolutionFilesDialog.FileName)) { + if (CloseAllOpenWindows()) { this.SolutionExplorer.OpenSolution(this.openSolutionFilesDialog.FileName); + } } } } @@ -1637,8 +1546,9 @@ namespace LSLEditor private void newProjectToolStripMenuItem_Click(object sender, EventArgs e) { NewProject np = new NewProject(this); - if (np.ShowDialog(this) == DialogResult.OK) + if (np.ShowDialog(this) == DialogResult.OK) { CloseAllOpenWindows(); + } } @@ -1661,52 +1571,45 @@ namespace LSLEditor { this.SolutionExplorer.AddNewObject(); } - #endregion SolutionExplorer private void recentProjectToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e) { ToolStripMenuItem tsmi = e.ClickedItem as ToolStripMenuItem; - if (tsmi == null) - return; + if (tsmi != null) { + this.fileStripMenuItem.HideDropDown(); - this.fileStripMenuItem.HideDropDown(); - - if (CloseAllOpenWindows()) - { - string strPath = tsmi.Tag.ToString(); - this.SolutionExplorer.OpenSolution(strPath); + if (CloseAllOpenWindows()) { + string strPath = tsmi.Tag.ToString(); + this.SolutionExplorer.OpenSolution(strPath); + } } } private void LSLEditorForm_DragEnter(object sender, DragEventArgs e) { - if (e.Data.GetDataPresent(DataFormats.FileDrop)) + if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Copy; - else + } else { e.Effect = DragDropEffects.None; + } } private delegate void DelegateOpenFile(string s); private void LSLEditorForm_DragDrop(object sender, DragEventArgs e) { - try - { + try { DelegateOpenFile delegateOpenFile = new DelegateOpenFile(OpenFile); Array allFiles = (Array)e.Data.GetData(DataFormats.FileDrop); - if (allFiles == null) - return; + if (allFiles != null) { + for (int intI = 0; intI < allFiles.Length; intI++) { + string strFileName = allFiles.GetValue(intI).ToString(); + this.BeginInvoke(delegateOpenFile, new object[] { strFileName }); + } - for (int intI = 0; intI < allFiles.Length; intI++) - { - string strFileName = allFiles.GetValue(intI).ToString(); - this.BeginInvoke(delegateOpenFile, new object[] { strFileName }); + this.Activate(); // in the case Explorer overlaps this form } - - this.Activate(); // in the case Explorer overlaps this form - } - catch - { + } catch { // Error in DragDrop function (dont show messagebox, explorer is waiting } } @@ -1740,19 +1643,13 @@ namespace LSLEditor Plugins.LSLint lslint = new Plugins.LSLint(); - if (lslint.SyntaxCheck(this)) - { - if (lslint.HasErrors) - { + if (lslint.SyntaxCheck(this)) { + if (lslint.HasErrors) { this.SyntaxErrors.Show(dockPanel); - } - else - { + } else { MessageBox.Show("LSL Syntax seems OK", "LSLint Syntax Checker", MessageBoxButtons.OK, MessageBoxIcon.Information); } - } - else - { + } else { MessageBox.Show("LSLint:" + lslint.ExceptionMessage, "LSLint plugin", MessageBoxButtons.OK, MessageBoxIcon.Error); } } @@ -1764,15 +1661,12 @@ namespace LSLEditor private void SvnPlugin() { - if (File.Exists(Svn.Executable)) - { + if (File.Exists(Svn.Executable)) { Properties.Settings.Default.VersionControl = true; Properties.Settings.Default.VersionControlSVN = true; Properties.Settings.Default.SvnExe = Svn.Executable; MessageBox.Show("SVN is installed and can be used in the solution explorer", "SVN information", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - else - { + } else { Properties.Settings.Default.VersionControl = false; Properties.Settings.Default.VersionControlSVN = false; MessageBox.Show("SVN is NOT installed (can not find svn binary)", "SVN information", MessageBoxButtons.OK, MessageBoxIcon.Error); @@ -1791,36 +1685,35 @@ namespace LSLEditor //this.panel1.Visible = false; ToolStripMenuItem tsmi = sender as ToolStripMenuItem; - if (tsmi == null) - return; - - switch (tsmi.Text.ToLower()) - { - case "lslint": - LSLint(); - break; - case "particles": - Particles(); - break; - case "svn (version control)": - SvnPlugin(); - break; - default: - GenericPlugin(tsmi.Text); - //MessageBox.Show("Unknown plugin", "LSLEditor plugins warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); - break; + if (tsmi != null) { + switch (tsmi.Text.ToLower()) { + case "lslint": + LSLint(); + break; + case "particles": + Particles(); + break; + case "svn (version control)": + SvnPlugin(); + break; + default: + GenericPlugin(tsmi.Text); + //MessageBox.Show("Unknown plugin", "LSLEditor plugins warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); + break; + } } } private void SaveAllToolStripMenuItem_Click(object sender, EventArgs e) { - foreach (Form form in this.Children) - { + foreach (Form form in this.Children) { EditForm editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) + if (editForm == null || editForm.IsDisposed) { continue; - if (editForm.Dirty) + } + if (editForm.Dirty) { editForm.SaveCurrentFile(); + } } // save it all, also solution explorer file if (this.SolutionExplorer != null & !this.SolutionExplorer.IsDisposed) @@ -1830,15 +1723,12 @@ namespace LSLEditor private void SetupFileMenu() { EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm != null) - { + if (editForm != null) { this.saveToolStripMenuItem.Text = "Save " + editForm.ScriptName; this.saveScriptFilesDialog.FileName = editForm.ScriptName; this.saveToolStripMenuItem.Enabled = editForm.Dirty; this.closeFileToolStripMenuItem.Enabled = true; - } - else - { + } else { this.closeFileToolStripMenuItem.Enabled = false; } } @@ -1847,8 +1737,9 @@ namespace LSLEditor { SetupFileMenu(); EditForm ef = this.ActiveMdiForm as EditForm; - if (ef != null) + if (ef != null) { ef.SetFocus(); + } } private void LSLEditorForm_MdiChildActivate(object sender, EventArgs e) @@ -1882,10 +1773,10 @@ namespace LSLEditor { //NativeHelper.SendMyKeys.PasteTextToApp("hello", "SecondLife", null); EditForm editForm = this.ActiveMdiForm as EditForm; - if (editForm == null) - return; - editForm.TextBox.ToClipBoard(); - NativeHelper.SendMyKeys.ClipBoardToApp("SecondLife", null); + if (editForm != null) { + editForm.TextBox.ToClipBoard(); + NativeHelper.SendMyKeys.ClipBoardToApp("SecondLife", null); + } } private void outlineToolStripMenuItem_Click(object sender, EventArgs e) @@ -1895,30 +1786,22 @@ namespace LSLEditor private void outlineToolStripMenuItem_CheckedChanged(object sender, EventArgs e) { - foreach (Form k in this.Children) - { + foreach (Form k in this.Children) { EditForm editForm = k as EditForm; - if (editForm == null) - return; - if (outlineToolStripMenuItem.Checked) - { - editForm.splitContainer1.Panel2Collapsed = false; - } - else - { - editForm.splitContainer1.Panel2Collapsed = true; + if (editForm == null) { + if (outlineToolStripMenuItem.Checked) { + editForm.splitContainer1.Panel2Collapsed = false; + } else { + editForm.splitContainer1.Panel2Collapsed = true; + } } } } - - private void toolStripMenuItem9_Click_1(object sender, EventArgs e) { Browser browser = GetBrowser(); browser.ShowWebBrowser("LSLEditor QA", Properties.Settings.Default.qasite); } - - } -} \ No newline at end of file +} diff --git a/trunk/PermissionsForm.cs b/trunk/PermissionsForm.cs index ab834a6..4d64c37 100644 --- a/trunk/PermissionsForm.cs +++ b/trunk/PermissionsForm.cs @@ -72,28 +72,35 @@ namespace LSLEditor StringBuilder sb = new StringBuilder(); - if ((intPermissions & SecondLife.PERMISSION_DEBIT) == SecondLife.PERMISSION_DEBIT) + if ((intPermissions & SecondLife.PERMISSION_DEBIT) == SecondLife.PERMISSION_DEBIT) { sb.AppendLine("Take Linden dollars (L$) from you"); + } - if ((intPermissions & SecondLife.PERMISSION_TAKE_CONTROLS) == SecondLife.PERMISSION_TAKE_CONTROLS) + if ((intPermissions & SecondLife.PERMISSION_TAKE_CONTROLS) == SecondLife.PERMISSION_TAKE_CONTROLS) { sb.AppendLine("Act on your control inputs"); + } - if ((intPermissions & SecondLife.PERMISSION_TRIGGER_ANIMATION) == SecondLife.PERMISSION_TRIGGER_ANIMATION) + if ((intPermissions & SecondLife.PERMISSION_TRIGGER_ANIMATION) == SecondLife.PERMISSION_TRIGGER_ANIMATION) { sb.AppendLine("Animate your avatar"); + } - if ((intPermissions & SecondLife.PERMISSION_ATTACH) == SecondLife.PERMISSION_ATTACH) + if ((intPermissions & SecondLife.PERMISSION_ATTACH) == SecondLife.PERMISSION_ATTACH) { sb.AppendLine("Attach to your avatar"); + } - if ((intPermissions & SecondLife.PERMISSION_CHANGE_LINKS) == SecondLife.PERMISSION_CHANGE_LINKS) + if ((intPermissions & SecondLife.PERMISSION_CHANGE_LINKS) == SecondLife.PERMISSION_CHANGE_LINKS) { sb.AppendLine("Link and delink from other objects"); + } - if ((intPermissions & SecondLife.PERMISSION_TRACK_CAMERA) == SecondLife.PERMISSION_TRACK_CAMERA) + if ((intPermissions & SecondLife.PERMISSION_TRACK_CAMERA) == SecondLife.PERMISSION_TRACK_CAMERA) { sb.AppendLine("Track your camera"); + } - if ((intPermissions & SecondLife.PERMISSION_CONTROL_CAMERA) == SecondLife.PERMISSION_CONTROL_CAMERA) + if ((intPermissions & SecondLife.PERMISSION_CONTROL_CAMERA) == SecondLife.PERMISSION_CONTROL_CAMERA) { sb.AppendLine("Control your camera"); + } - this.label1.Text = "'"+strObjectName+"', an object owned by '"+strOwner + "',\nwould like to:"; + this.label1.Text = "'" + strObjectName + "', an object owned by '" + strOwner + "',\nwould like to:"; this.label2.Text = sb.ToString(); } @@ -109,4 +116,4 @@ namespace LSLEditor this.Close(); } } -} \ No newline at end of file +} diff --git a/trunk/Properties/AssemblyInfo.cs b/trunk/Properties/AssemblyInfo.cs index aeaf400..8f5d300 100644 --- a/trunk/Properties/AssemblyInfo.cs +++ b/trunk/Properties/AssemblyInfo.cs @@ -70,7 +70,7 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: // We use a Major.Minor.Bugfix.Build pattern. -[assembly: AssemblyVersion("2.999.999.7")] +[assembly: AssemblyVersion("2.999.999.117")] // // In order to sign your assembly you must specify a key to use. Refer to the @@ -100,4 +100,4 @@ using System.Runtime.InteropServices; [assembly: AssemblyDelaySign(false)] //[assembly: AssemblyKeyName("")] [assembly: ComVisibleAttribute(false)] -[assembly: AssemblyFileVersionAttribute("2.999.999.7")] +[assembly: AssemblyFileVersionAttribute("2.999.999.117")] diff --git a/trunk/RuntimeConsole.cs b/trunk/RuntimeConsole.cs index 0bf28d6..47ad84e 100644 --- a/trunk/RuntimeConsole.cs +++ b/trunk/RuntimeConsole.cs @@ -74,27 +74,29 @@ namespace LSLEditor private bool GetNewHost() { + bool blnResult = false; Assembly assembly = CompilerHelper.CompileCSharp(editForm, CSharpCode); - if (assembly == null) - return false; + if (assembly != null) { + if (SecondLifeHost != null) { + SecondLifeHost.Dispose(); + } + SecondLifeHost = null; - if(SecondLifeHost!=null) - SecondLifeHost.Dispose(); - SecondLifeHost = null; + SecondLifeHost = new SecondLifeHost(this.mainForm, assembly, editForm.FullPathName, editForm.guid); + SecondLifeHost.OnChat += editForm.ChatHandler; + SecondLifeHost.OnMessageLinked += editForm.MessageLinkedHandler; + SecondLifeHost.OnDie += new EventHandler(host_OnDie); + SecondLifeHost.OnReset += new EventHandler(SecondLifeHost_OnReset); + SecondLifeHost.OnListenChannelsChanged += new EventHandler(SecondLifeHost_OnListenChannelsChanged); - SecondLifeHost = new SecondLifeHost(this.mainForm, assembly, editForm.FullPathName, editForm.guid); - SecondLifeHost.OnChat += editForm.ChatHandler; - SecondLifeHost.OnMessageLinked += editForm.MessageLinkedHandler; - SecondLifeHost.OnDie += new EventHandler(host_OnDie); - SecondLifeHost.OnReset += new EventHandler(SecondLifeHost_OnReset); - SecondLifeHost.OnListenChannelsChanged += new EventHandler(SecondLifeHost_OnListenChannelsChanged); + SecondLifeHost.OnVerboseMessage += new SecondLifeHost.SecondLifeHostMessageHandler(host_OnVerboseMessage); + SecondLifeHost.OnStateChange += new SecondLifeHost.SecondLifeHostMessageHandler(host_OnStateChange); - SecondLifeHost.OnVerboseMessage += new SecondLifeHost.SecondLifeHostMessageHandler(host_OnVerboseMessage); - SecondLifeHost.OnStateChange += new SecondLifeHost.SecondLifeHostMessageHandler(host_OnStateChange); + SecondLifeHost.State("default", true); - SecondLifeHost.State("default", true); - - return true; + blnResult = true; + } + return blnResult; } public bool Compile(EditForm editForm) @@ -119,8 +121,7 @@ namespace LSLEditor private void ResetScriptWatch() { - while (true) - { + while (true) { this.ResetScriptEvent.WaitOne(); SecondLifeHost.Dispose(); @@ -131,13 +132,10 @@ namespace LSLEditor private delegate void AddListenChannelsDelegate(ComboBox comboBox, string[] channels); private void AddListenChannelsToComboxBox(ComboBox comboBox, string[] channels) { - if (comboBox.InvokeRequired) - { + if (comboBox.InvokeRequired) { comboBox.Invoke(new AddListenChannelsDelegate(AddListenChannelsToComboxBox), - new object[] { comboBox , channels }); - } - else - { + new object[] { comboBox, channels }); + } else { comboBox.Items.Clear(); comboBox.Items.AddRange(channels); comboBox.SelectedIndex = 0; @@ -145,18 +143,19 @@ namespace LSLEditor } private void SecondLifeHost_OnListenChannelsChanged(object sender, EventArgs e) { - foreach (Control control in this.panel4.Controls) - { + foreach (Control control in this.panel4.Controls) { GroupboxEvent gbe = control as GroupboxEvent; - if (gbe == null) + if (gbe == null) { continue; - foreach (Control control1 in gbe.Controls) - { + } + foreach (Control control1 in gbe.Controls) { GroupBox gb = control1 as GroupBox; - if (gb == null) + if (gb == null) { continue; - if (gb.Name!="listen_0") + } + if (gb.Name != "listen_0") { continue; + } ComboBox comboBox = gb.Controls[0] as ComboBox; AddListenChannelsToComboxBox(comboBox, SecondLifeHost.GetListenChannels()); } @@ -165,13 +164,10 @@ namespace LSLEditor void host_OnDie(object sender, EventArgs e) { - if(this.panel1.InvokeRequired) - { + if (this.panel1.InvokeRequired) { // using Evenhandler definition as a delegate this.panel1.Invoke(new EventHandler(host_OnDie)); - } - else - { + } else { this.panel1.Enabled = false; } } @@ -185,16 +181,11 @@ namespace LSLEditor private delegate void SetStateComboboxDelegate(string strName); public void SetStateCombobox(string strName) { - if (this.comboBox1.InvokeRequired) - { + if (this.comboBox1.InvokeRequired) { this.comboBox1.Invoke(new SetStateComboboxDelegate(SetStateCombobox), new object[] { strName }); - } - else - { - for (int intI = 0; intI < this.comboBox1.Items.Count; intI++) - { - if (this.comboBox1.Items[intI].ToString() == strName) - { + } else { + for (int intI = 0; intI < this.comboBox1.Items.Count; intI++) { + if (this.comboBox1.Items[intI].ToString() == strName) { this.comboBox1.SelectedIndex = intI; break; } @@ -204,13 +195,13 @@ namespace LSLEditor private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e) { - if (SecondLifeHost == null) - return; - string strStateName = (string)this.comboBox1.Items[this.comboBox1.SelectedIndex]; - if (strStateName != "") - { - if (SecondLifeHost.CurrentStateName != strStateName) - SecondLifeHost.State(strStateName,true); + if (SecondLifeHost != null) { + string strStateName = (string)this.comboBox1.Items[this.comboBox1.SelectedIndex]; + if (strStateName != "") { + if (SecondLifeHost.CurrentStateName != strStateName) { + SecondLifeHost.State(strStateName, true); + } + } } } @@ -230,8 +221,7 @@ namespace LSLEditor strC = translator.Parse(strC); - foreach (string strState in translator.States) - { + foreach (string strState in translator.States) { this.comboBox1.Items.Add(strState); } return strC; @@ -240,18 +230,14 @@ namespace LSLEditor private delegate void ShowLifeEventsDelegate(); private void ShowLifeEvents() { - if (this.panel4.InvokeRequired) - { + if (this.panel4.InvokeRequired) { this.panel4.Invoke(new ShowLifeEventsDelegate(ShowLifeEvents), null); - } - else - { + } else { int intX = 8; int intY = 0; this.panel4.Controls.Clear(); - foreach (string strEventName in SecondLifeHost.GetEvents()) - { + foreach (string strEventName in SecondLifeHost.GetEvents()) { string strArgs = SecondLifeHost.GetArgumentsFromMethod(strEventName); GroupboxEvent ge = new GroupboxEvent(new Point(intX, intY), strEventName, strArgs, new System.EventHandler(this.buttonEvent_Click)); this.panel4.Controls.Add(ge); @@ -265,28 +251,23 @@ namespace LSLEditor // Verbose public void VerboseConsole(string strLine) { - if (this.textBox2.IsDisposed) - return; - if (this.textBox2.InvokeRequired) - { - this.textBox2.Invoke(new AppendTextDelegate(VerboseConsole), new object[] { strLine }); - } - else - { - this.textBox2.AppendText(strLine.Replace("\n", "\r\n") + "\r\n"); + if (!this.textBox2.IsDisposed) { + if (this.textBox2.InvokeRequired) { + this.textBox2.Invoke(new AppendTextDelegate(VerboseConsole), new object[] { strLine }); + } else { + this.textBox2.AppendText(strLine.Replace("\n", "\r\n") + "\r\n"); + } } } private string GetArgumentValue(string strName) { - foreach (Control parent in this.panel4.Controls) - { - if (parent.Name == "GroupboxTextbox") - { - foreach (Control c in parent.Controls) - { - if (c.Name == strName) + foreach (Control parent in this.panel4.Controls) { + if (parent.Name == "GroupboxTextbox") { + foreach (Control c in parent.Controls) { + if (c.Name == strName) { return c.Controls[0].Text; + } } } } @@ -295,71 +276,62 @@ namespace LSLEditor private object[] GetArguments(string strName, string strArgs) { - if (strArgs == "") - return new object[0]; - - try - { - string[] args = strArgs.Trim().Split(new char[] { ',' }); - object[] argobjects = new object[args.Length]; - for (int intI = 0; intI < argobjects.Length; intI++) - { - string[] argument = args[intI].Trim().Split(new char[] { ' ' }); - if (argument.Length == 2) - { - string[] arArgs; - string strArgumentValue = GetArgumentValue(strName + "_" + intI); - string strArgumentName = argument[1]; - string strArgumentType = argument[0]; - switch (strArgumentType) - { - case "System.String": - argobjects[intI] = strArgumentValue; - break; - case "System.Int32": - argobjects[intI] = int.Parse(strArgumentValue); - break; - case "LSLEditor.SecondLife+Float": - argobjects[intI] = new SecondLife.Float(strArgumentValue); - break; - case "LSLEditor.SecondLife+integer": - argobjects[intI] = new SecondLife.integer(int.Parse(strArgumentValue)); - break; - case "LSLEditor.SecondLife+String": - argobjects[intI] = new SecondLife.String(strArgumentValue); - break; - case "LSLEditor.SecondLife+key": - argobjects[intI] = new SecondLife.key(strArgumentValue); - break; - case "LSLEditor.SecondLife+list": - argobjects[intI] = new SecondLife.list(new string[] { strArgumentValue } ); - break; - case "LSLEditor.SecondLife+rotation": - arArgs = strArgumentValue.Replace("<", "").Replace(">", "").Replace(" ", "").Split(new char[] { ',' }); - argobjects[intI] = new SecondLife.rotation(double.Parse(arArgs[0]), double.Parse(arArgs[1]), double.Parse(arArgs[2]), double.Parse(arArgs[3])); - break; - case "LSLEditor.SecondLife+vector": - arArgs = strArgumentValue.Replace("<", "").Replace(">", "").Replace(" ", "").Split(new char[] { ',' }); - argobjects[intI] = new SecondLife.vector(double.Parse(arArgs[0]), double.Parse(arArgs[1]), double.Parse(arArgs[2])); - break; - default: - MessageBox.Show("Compiler->GetArguments->[" + strArgumentType + "][" + strArgumentName + "]"); - argobjects[intI] = null; - break; + object[] objResult = new object[0]; + if (strArgs != "") { + try { + string[] args = strArgs.Trim().Split(new char[] { ',' }); + object[] argobjects = new object[args.Length]; + for (int intI = 0; intI < argobjects.Length; intI++) { + string[] argument = args[intI].Trim().Split(new char[] { ' ' }); + if (argument.Length == 2) { + string[] arArgs; + string strArgumentValue = GetArgumentValue(strName + "_" + intI); + string strArgumentName = argument[1]; + string strArgumentType = argument[0]; + switch (strArgumentType) { + case "System.String": + argobjects[intI] = strArgumentValue; + break; + case "System.Int32": + argobjects[intI] = int.Parse(strArgumentValue); + break; + case "LSLEditor.SecondLife+Float": + argobjects[intI] = new SecondLife.Float(strArgumentValue); + break; + case "LSLEditor.SecondLife+integer": + argobjects[intI] = new SecondLife.integer(int.Parse(strArgumentValue)); + break; + case "LSLEditor.SecondLife+String": + argobjects[intI] = new SecondLife.String(strArgumentValue); + break; + case "LSLEditor.SecondLife+key": + argobjects[intI] = new SecondLife.key(strArgumentValue); + break; + case "LSLEditor.SecondLife+list": + argobjects[intI] = new SecondLife.list(new string[] { strArgumentValue }); + break; + case "LSLEditor.SecondLife+rotation": + arArgs = strArgumentValue.Replace("<", "").Replace(">", "").Replace(" ", "").Split(new char[] { ',' }); + argobjects[intI] = new SecondLife.rotation(double.Parse(arArgs[0]), double.Parse(arArgs[1]), double.Parse(arArgs[2]), double.Parse(arArgs[3])); + break; + case "LSLEditor.SecondLife+vector": + arArgs = strArgumentValue.Replace("<", "").Replace(">", "").Replace(" ", "").Split(new char[] { ',' }); + argobjects[intI] = new SecondLife.vector(double.Parse(arArgs[0]), double.Parse(arArgs[1]), double.Parse(arArgs[2])); + break; + default: + MessageBox.Show("Compiler->GetArguments->[" + strArgumentType + "][" + strArgumentName + "]"); + argobjects[intI] = null; + break; + } + } else { + MessageBox.Show("Argument must be 'type name' [" + args[intI] + "]"); + break; } } - else - { - MessageBox.Show("Argument must be 'type name' [" + args[intI] + "]"); - break; - } - } - return argobjects; - } - catch - { - return new object[0]; + objResult = argobjects; + } catch { } } + return objResult; } private void buttonEvent_Click(object sender, System.EventArgs e) @@ -374,8 +346,9 @@ namespace LSLEditor private void Die() { - if (this.SecondLifeHost != null) + if (this.SecondLifeHost != null) { this.SecondLifeHost.Die(); + } } // Die @@ -386,8 +359,9 @@ namespace LSLEditor private void textBox2_KeyDown(object sender, KeyEventArgs e) { - if (e.Control && e.KeyCode == Keys.A) + if (e.Control && e.KeyCode == Keys.A) { this.textBox2.SelectAll(); + } } private void selectAllToolStripMenuItem_Click(object sender, EventArgs e) diff --git a/trunk/SecondLife/SecondLifeConstants.cs b/trunk/SecondLife/SecondLifeConstants.cs index 5228575..2d2a418 100644 --- a/trunk/SecondLife/SecondLifeConstants.cs +++ b/trunk/SecondLife/SecondLifeConstants.cs @@ -280,6 +280,7 @@ namespace LSLEditor public const int INVENTORY_ANIMATION = 20; public const int INVENTORY_GESTURE = 21; + public const int JSON_APPEND = -1; public static readonly string JSON_ARRAY = "\uFDD2"; public static readonly string JSON_FALSE = "\uFDD7"; public static readonly string JSON_INVALID = "\uFDD0"; diff --git a/trunk/SecondLife/SecondLifeEvents.cs b/trunk/SecondLife/SecondLifeEvents.cs index 5b20c7a..87613ca 100644 --- a/trunk/SecondLife/SecondLifeEvents.cs +++ b/trunk/SecondLife/SecondLifeEvents.cs @@ -50,41 +50,41 @@ namespace LSLEditor public partial class SecondLife { #region events as virtuals, if one is used, use override - virtual public void at_rot_target(integer number, rotation target_rotation, rotation our_rotation) { } - virtual public void at_target(integer tnum, vector targetpos, vector ourpos) { } - virtual public void attach(key attached) { } - virtual public void changed(integer changed) { } - virtual public void collision(integer total_number) { } - virtual public void collision_end(integer total_number) { } - virtual public void collision_start(integer total_number) { } - virtual public void control(key name, integer levels, integer edges) { } - virtual public void dataserver(key requested, String data) { } - virtual public void email(String time, String address, String subject, String body, integer remaining) { } - virtual public void http_response(key request_id, integer status, list metadata, String body) { } - virtual public void http_request(key request_id, String method, String body) { } - virtual public void land_collision(vector position) { } - virtual public void land_collision_end(vector position) { } - virtual public void land_collision_start(vector position) { } - virtual public void link_message(integer sender_number, integer number, String message, key id) { } - virtual public void listen(integer channel, String name, key id, String message) { } - virtual public void money(key giver, integer amount) { } + virtual public void at_rot_target(integer iHandle, rotation rTargetRotation, rotation rCurrentRotation) { } + virtual public void at_target(integer iHandle, vector vTargetPosition, vector vCurrrentPosition) { } + virtual public void attach(key kAttached) { } + virtual public void changed(integer iChangedFlags) { } + virtual public void collision(integer iCollisionCount) { } + virtual public void collision_end(integer iCollisionCount) { } + virtual public void collision_start(integer iCollisionCount) { } + virtual public void control(key kID, integer iLevels, integer iEdges) { } + virtual public void dataserver(key kRequestID, String sData) { } + virtual public void email(String sTime, String sAddress, String sSubject, String sBody, integer iRemaining) { } + virtual public void http_response(key kRequestID, integer iStatus, list lMetadata, String sBody) { } + virtual public void http_request(key kRequestID, String sMethod, String sBody) { } + virtual public void land_collision(vector vPosition) { } + virtual public void land_collision_end(vector vPosition) { } + virtual public void land_collision_start(vector vPosition) { } + virtual public void link_message(integer iSenderLinkIndex, integer iNumber, String sText, key kID) { } + virtual public void listen(integer iChannel, String sName, key kID, String sText) { } + virtual public void money(key kPayerID, integer iAmount) { } virtual public void moving_end() { } virtual public void moving_start() { } virtual public void no_sensor() { } virtual public void not_at_rot_target() { } virtual public void not_at_target() { } - virtual public void object_rez(key id) { } - virtual public void on_rez(integer start_param) { } + virtual public void object_rez(key kID) { } + virtual public void on_rez(integer iStartParameter) { } virtual public void path_update(integer iType, list lReserved) { } - virtual public void remote_data(integer event_type, key channel, key message_id, String sender, integer idata, String sdata) { } - virtual public void run_time_permissions(integer permissions) { } - virtual public void sensor(integer total_number) { } + virtual public void remote_data(integer iEventType, key kChannelID, key kMessageID, String sSender, integer iData, String sData) { } + virtual public void run_time_permissions(integer iPermissionsFlags) { } + virtual public void sensor(integer iSensedCount) { } virtual public void state_entry() { } virtual public void state_exit() { } virtual public void timer() { } - virtual public void touch(integer total_number) { } - virtual public void touch_end(integer total_number) { } - virtual public void touch_start(integer total_number) { } + virtual public void touch(integer iTouchesCount) { } + virtual public void touch_end(integer iTouchesCount) { } + virtual public void touch_start(integer iTouchesCount) { } virtual public void transaction_result(key kID, integer iSuccess, String sMessage) { } #endregion } diff --git a/trunk/SecondLife/SecondLifeFunctions.cs b/trunk/SecondLife/SecondLifeFunctions.cs index 9d3e208..489b9a0 100644 --- a/trunk/SecondLife/SecondLifeFunctions.cs +++ b/trunk/SecondLife/SecondLifeFunctions.cs @@ -67,29 +67,31 @@ namespace LSLEditor public void llAddToLandBanList(key kID, Float fHours) { Verbose("llAddToLandBanList({0}, {1})", kID, fHours); - if (m_LandBanList.ContainsKey(kID)) - m_LandBanList.Remove(kID); - m_LandBanList.Add(kID, fHours); + if (htLandBanList.ContainsKey(kID)) { + htLandBanList.Remove(kID); + } + htLandBanList.Add(kID, fHours); } public void llAddToLandPassList(key kID, Float fHours) { Verbose("llAddToLandPassList({0}, {1})", kID, fHours); - if (m_LandPassList.ContainsKey(kID)) - m_LandPassList.Remove(kID); - m_LandPassList.Add(kID, fHours); + if (htLandPassList.ContainsKey(kID)) { + htLandPassList.Remove(kID); + } + htLandPassList.Add(kID, fHours); } public void llAdjustSoundVolume(Float fVolume) { Verbose("llAdjustSoundVolume({0}), fVolume"); - m_Volume = fVolume; + this.fVolume = fVolume; } public void llAllowInventoryDrop(integer iAllowDrop) { Verbose("llAllowInventoryDrop({0})", iAllowDrop); - m_AllowDrop = (Boolean)iAllowDrop; + blnAllowDrop = (Boolean)iAllowDrop; } public Float llAngleBetween(rotation a, rotation b) @@ -386,8 +388,9 @@ namespace LSLEditor } list lResult = new list(); for (int intI = 0; intI < src.Count; intI++) { - if (src[intI] != null) + if (src[intI] != null) { lResult.Add(src[intI]); + } } Verbose(string.Format("llDeleteSubList({0}, {1}, {2})={3}", lSource.ToVerboseString(), iStart, iEnd, lResult.ToVerboseString())); return lResult; @@ -403,20 +406,24 @@ namespace LSLEditor if (CorrectIt(intLength, ref start, ref end)) { if (start <= end) { - for (int intI = start; intI <= end; intI++) + for (int intI = start; intI <= end; intI++) { src[intI] = '\0'; + } } else // excluding { - for (int intI = 0; intI <= end; intI++) + for (int intI = 0; intI <= end; intI++) { src[intI] = '\0'; - for (int intI = start; intI < intLength; intI++) + } + for (int intI = start; intI < intLength; intI++) { src[intI] = '\0'; + } } } StringBuilder result = new StringBuilder(); for (int intI = 0; intI < src.Length; intI++) { - if (src[intI] != '\0') + if (src[intI] != '\0') { result.Append(src[intI]); + } } Verbose(string.Format(@"llDeleteSubString(""{0}"", {1}, {2})=""{3}""", sSource, iStart, iEnd, result)); @@ -556,8 +563,9 @@ namespace LSLEditor { StringBuilder result = new StringBuilder(); for (int intI = 0; intI < lSource.Count; intI++) { - if (intI > 0) + if (intI > 0) { result.Append(sSeparator.ToString()); + } result.Append(lSource[intI].ToString()); } Verbose(@"llDumpList2String({0},""{1}"")=""{2}""", lSource.ToVerboseString(), sSeparator, result.ToString()); @@ -588,12 +596,11 @@ namespace LSLEditor byte[] data = Encoding.UTF8.GetBytes(sURL.ToString()); for (int intI = 0; intI < data.Length; intI++) { byte chrC = data[intI]; - if ((chrC >= 'a' && chrC <= 'z') || - (chrC >= 'A' && chrC <= 'Z') || - (chrC >= '0' && chrC <= '9')) + if ((chrC >= 'a' && chrC <= 'z') || (chrC >= 'A' && chrC <= 'Z') || (chrC >= '0' && chrC <= '9')) { sb.Append((char)chrC); - else + } else { sb.AppendFormat("%{0:X2}", (int)chrC); + } } Verbose(string.Format(@"EscapeURL(""{0}"")=""{1}""", sURL, sb.ToString())); return sb.ToString(); @@ -652,7 +659,7 @@ namespace LSLEditor public Float llFrand(Float fMaximum) { - double dblValue = fMaximum * m_random.NextDouble(); + double dblValue = fMaximum * rdmRandom.NextDouble(); Verbose("llFrand({0})={1}", fMaximum, dblValue); return dblValue; } @@ -709,11 +716,11 @@ namespace LSLEditor public Float llGetAndResetTime() { // get time - double dTime = llGetTime(); - Verbose("llGetAndResetTime()=" + dTime); + double dblTime = llGetTime(); + Verbose("llGetAndResetTime()=" + dblTime); // reset time llResetTime(); - return dTime; + return dblTime; } public String llGetAnimation(key kID) @@ -976,11 +983,12 @@ namespace LSLEditor { integer iEntryType; - if (iIndex < 0) + if (iIndex < 0) { iIndex = lSource.Count + iIndex; - if (iIndex >= lSource.Count || iIndex < 0) + } + if (iIndex >= lSource.Count || iIndex < 0) { iEntryType = 0; - else { + } else { switch (lSource[iIndex].GetType().ToString().Replace("LSLEditor.SecondLife+", "")) { case "System.Double": case "Float": @@ -1021,14 +1029,14 @@ namespace LSLEditor public vector llGetLocalPos() { - Verbose("llGetLocalPos()={0}", m_pos); - return m_pos; + Verbose("llGetLocalPos()={0}", vPosition); + return vPosition; } public rotation llGetLocalRot() { - Verbose("llGetLocalRot()={0}", m_rotlocal); - return m_rotlocal; + Verbose("llGetLocalRot()={0}", rRotationlocal); + return rRotationlocal; } public Float llGetMass() @@ -1096,8 +1104,9 @@ namespace LSLEditor { list lObjectDetails = new list(); for (int intI = 0; intI < lObjectFlags.Count; intI++) { - if (!(lObjectFlags[intI] is integer)) + if (!(lObjectFlags[intI] is integer)) { continue; + } switch ((int)(integer)lObjectFlags[intI]) { case OBJECT_NAME: lObjectDetails.Add((SecondLife.String)host.GetObjectName(new Guid(kID.guid))); @@ -1177,7 +1186,7 @@ namespace LSLEditor public key llGetOwnerKey(key kID) { - key kAvatarID = llGetOwner(); // This is incorrect, as the owner of this object may not be the owner of kID + key kAvatarID = llGetOwner(); // This is incorrect, as the owner of this object may not be the owner of kID Verbose("llGetOwnerKey({0})={1}", kID, kAvatarID); return kAvatarID; } @@ -1241,8 +1250,8 @@ namespace LSLEditor public string llGetParcelMusicURL() { - Verbose(@"llGetParcelMaxPrims()=""{0}""", m_ParcelMusicURL); - return m_ParcelMusicURL; + Verbose(@"llGetParcelMaxPrims()=""{0}""", sParcelMusicURL); + return sParcelMusicURL; } public integer llGetParcelPrimCount(vector vPosition, integer iCategory, integer iSimWide) @@ -1282,8 +1291,8 @@ namespace LSLEditor public vector llGetPos() { - Verbose("llGetPos()={0}", m_pos); - return m_pos; + Verbose("llGetPos()={0}", vPosition); + return vPosition; } public list llGetPrimMediaParams(integer iFace, list lDesiredParams) @@ -1360,8 +1369,8 @@ namespace LSLEditor public rotation llGetRot() { - Verbose("llGetRot()={0}", m_rot); - return m_rot; + Verbose("llGetRot()={0}", rRotation); + return rRotation; } public integer llGetSPMaxMemory() @@ -1373,8 +1382,8 @@ namespace LSLEditor public vector llGetScale() { - Verbose("llGetScale()=" + m_scale); - return m_scale; + Verbose("llGetScale()=" + vScale); + return vScale; } public String llGetScriptName() @@ -1407,8 +1416,8 @@ namespace LSLEditor public integer llGetStartParameter() { - Verbose("llGetStartParameter()={0}" + m_start_parameter); - return m_start_parameter; + Verbose("llGetStartParameter()={0}" + iStartParameter); + return iStartParameter; } public list llGetStaticPath(vector vStart, vector vEnd, Float fRadius, list lParameters) @@ -1439,12 +1448,13 @@ namespace LSLEditor if (start <= end) { for (int intI = start; intI <= end; intI++) sResult.Append(src[intI]); - } else // excluding - { - for (int intI = 0; intI <= end; intI++) + } else {// excluding + for (int intI = 0; intI <= end; intI++) { sResult.Append(src[intI]); - for (int intI = start; intI < intLength; intI++) + } + for (int intI = start; intI < intLength; intI++) { sResult.Append(src[intI]); + } } } Verbose(string.Format(@"GetSubString(""{0}"", {1}, {2})=""{3}""", sSource, iStart, iEnd, sResult)); @@ -1488,7 +1498,7 @@ namespace LSLEditor public Float llGetTime() { - TimeSpan span = DateTime.Now.ToUniversalTime() - m_DateTimeScriptStarted; + TimeSpan span = DateTime.Now.ToUniversalTime() - dtDateTimeScriptStarted; Verbose("llGetTime()={0}", span.TotalSeconds); return span.TotalSeconds; } @@ -1615,15 +1625,15 @@ namespace LSLEditor public String llInsertString(String sDestination, integer iIndex, String sSource) { - string dst = sDestination; - string src = sSource; - int position = iIndex; + string strDestination = sDestination; + string strSource = sSource; + int intPosition = iIndex; string sResult; - if (position < dst.Length) { - sResult = dst.Substring(0, position) + src + dst.Substring(position); - } else if (position >= 0) { - sResult = dst + src; + if (intPosition < strDestination.Length) { + sResult = strDestination.Substring(0, intPosition) + strSource + strDestination.Substring(intPosition); + } else if (intPosition >= 0) { + sResult = strDestination + strSource; } else { sResult = "**ERROR**"; } @@ -1784,18 +1794,17 @@ namespace LSLEditor { int iLength = lSource.Count; - int start = iStart; - int end = iEnd; + int intStart = iStart; + int intEnd = iEnd; list lTemp = new list(); - if (CorrectIt(iLength, ref start, ref end)) { - if (start <= end) { - for (int intI = start; intI <= end; intI++) lTemp.Add(lSource[intI]); - } else // excluding - { - for (int intI = 0; intI <= end; intI++) lTemp.Add(lSource[intI]); - for (int intI = start; intI < iLength; intI++) lTemp.Add(lSource[intI]); + if (CorrectIt(iLength, ref intStart, ref intEnd)) { + if (intStart <= intEnd) { + for (int intI = intStart; intI <= intEnd; intI++) lTemp.Add(lSource[intI]); + } else { // excluding + for (int intI = 0; intI <= intEnd; intI++) lTemp.Add(lSource[intI]); + for (int intI = intStart; intI < iLength; intI++) lTemp.Add(lSource[intI]); } } list lResult = new list(); @@ -1803,13 +1812,13 @@ namespace LSLEditor if (iStride <= 0) { sRemark = " ** stride must be > 0 **"; } else { - if (start == 0) { + if (intStart == 0) { for (int intI = 0; intI < lTemp.Count; intI += iStride) lResult.Add(lTemp[intI]); } else { for (int intI = iStride - 1; intI < lTemp.Count; intI += iStride) lResult.Add(lTemp[intI]); } } - Verbose(@"llList2ListStrided({0}, {1}, {2}, {3})={4}{5}", lSource.ToVerboseString(), start, end, iStride, lResult.ToVerboseString(), sRemark); + Verbose(@"llList2ListStrided({0}, {1}, {2}, {3})={4}{5}", lSource.ToVerboseString(), intStart, intEnd, iStride, lResult.ToVerboseString(), sRemark); return lResult; } @@ -1890,8 +1899,9 @@ namespace LSLEditor { int intLength = lDestination.Count; list lResult = new list(); - if (iIndex < 0) + if (iIndex < 0) { iIndex = lDestination.Count + iIndex; + } for (int intI = 0; intI < Math.Min(iIndex, intLength); intI++) lResult.Add(lDestination[intI]); @@ -2131,8 +2141,9 @@ namespace LSLEditor System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); byte[] hash = md5.ComputeHash(Encoding.ASCII.GetBytes(sSource + ":" + iNonce.ToString())); StringBuilder sbResult = new StringBuilder(); - foreach (byte hex in hash) + foreach (byte hex in hash) { sbResult.Append(hex.ToString("x2")); //convert to standard MD5 form + } Verbose("llMD5String({0}, {1})={2}", sSource, iNonce, sbResult); return sbResult.ToString(); } @@ -2377,16 +2388,16 @@ namespace LSLEditor public void llRemoveFromLandBanList(key kAvatarID) { Verbose("llRemoveFromLandBanList({0})", kAvatarID); - if (m_LandBanList.ContainsKey(kAvatarID)) { - m_LandBanList.Remove(kAvatarID); + if (htLandBanList.ContainsKey(kAvatarID)) { + htLandBanList.Remove(kAvatarID); } } public void llRemoveFromLandPassList(key kAvatarID) { Verbose("llRemoveFromLandPassList({0})", kAvatarID); - if (m_LandPassList.ContainsKey(kAvatarID)) { - m_LandPassList.Remove(kAvatarID); + if (htLandPassList.ContainsKey(kAvatarID)) { + htLandPassList.Remove(kAvatarID); } } @@ -2487,13 +2498,13 @@ namespace LSLEditor public void llResetLandBanList() { - m_LandBanList = new Hashtable(); + htLandBanList = new Hashtable(); Verbose("llResetLandBanList()"); } public void llResetLandPassList() { - m_LandPassList = new Hashtable(); + htLandPassList = new Hashtable(); Verbose("llResetLandPassList()"); } @@ -2513,7 +2524,7 @@ namespace LSLEditor public void llResetTime() { Verbose("llResetTime()"); - m_DateTimeScriptStarted = DateTime.Now.ToUniversalTime(); + dtDateTimeScriptStarted = DateTime.Now.ToUniversalTime(); } public integer llReturnObjectsByID(list lObjects) @@ -2565,13 +2576,14 @@ namespace LSLEditor if (m != 0) { double n = 2 * (rRotation.y * rRotation.s + rRotation.x * rRotation.z); double p = m * m - n * n; - if (p > 0) + if (p > 0) { vEuler = new vector(Math.Atan2(2.0 * (rRotation.x * rRotation.s - rRotation.y * rRotation.z), (-t.x - t.y + t.z + t.s)), Math.Atan2(n, Math.Sqrt(p)), Math.Atan2(2.0 * (rRotation.z * rRotation.s - rRotation.x * rRotation.y), (t.x - t.y - t.z + t.s))); - else if (n > 0) + } else if (n > 0) { vEuler = new vector(0, PI_BY_TWO, Math.Atan2((rRotation.z * rRotation.s + rRotation.x * rRotation.y), 0.5 - t.x - t.z)); - else + } else { vEuler = new vector(0, -PI_BY_TWO, Math.Atan2((rRotation.z * rRotation.s + rRotation.x * rRotation.y), 0.5 - t.x - t.z)); + } } Verbose("llRot2Euler({0})={1}", rRotation, vEuler); return vEuler; @@ -2821,7 +2833,7 @@ namespace LSLEditor public void llSetLocalRot(rotation rRotation) { - this.m_rotlocal = rRotation; + this.rRotationlocal = rRotation; Verbose("llSetLocalRot({0})", rRotation); } @@ -2852,7 +2864,7 @@ namespace LSLEditor public void llSetParcelMusicURL(String sURL) { Verbose(@"llSetParcelMusicURL(""{0}"")", sURL); - m_ParcelMusicURL = sURL; + sParcelMusicURL = sURL; } public void llSetPayPrice(integer iPrice, list lButtons) @@ -2868,7 +2880,7 @@ namespace LSLEditor public void llSetPos(vector vPosition) { Verbose("llSetPos({0})", vPosition); - m_pos = vPosition; + this.vPosition = vPosition; } public integer llSetPrimMediaParams(integer iFace, list lParameters) @@ -2887,7 +2899,7 @@ namespace LSLEditor { integer iResult = true; Verbose("llSetRegionPos({0})={1}", vPosition, iResult); - m_pos = vPosition; + this.vPosition = vPosition; return iResult; } @@ -2899,13 +2911,13 @@ namespace LSLEditor public void llSetRot(rotation rRotation) { Verbose("llSetRot({0})", rRotation); - m_rot = rRotation; + this.rRotation = rRotation; } public void llSetScale(vector vScale) { Verbose("llSetScale({0})", vScale); - m_scale = vScale; + this.vScale = vScale; } public void llSetScriptState(String sName, integer iRunState) @@ -2916,7 +2928,7 @@ namespace LSLEditor public void llSetSitText(String sText) { Verbose(@"llSetSitText(""{0}"")", sText); - m_SitText = sText; + sSitText = sText; } public void llSetSoundQueueing(integer iQueueFlag) @@ -2926,7 +2938,7 @@ namespace LSLEditor public void llSetSoundRadius(Float fRadius) { - m_SoundRadius = fRadius; + fSoundRadius = fRadius; Verbose("llSetSoundRadius({0})", fRadius); } @@ -3207,10 +3219,11 @@ namespace LSLEditor for (int intI = 0; intI < data.Length; intI++) { byte chrC = data[intI]; if (chrC == (byte)'%') { - if (intI < (data.Length - 2)) + if (intI < (data.Length - 2)) { list.Add((byte) (HexToInt(data[intI + 1]) << 4 | HexToInt(data[intI + 2]))); + } intI += 2; } else { list.Add(chrC); @@ -3218,8 +3231,9 @@ namespace LSLEditor } data = list.ToArray(); int intLen = Array.IndexOf(data, (byte)0x0); - if (intLen < 0) + if (intLen < 0) { intLen = data.Length; + } string strTmp = Encoding.UTF8.GetString(data, 0, intLen); Verbose(string.Format(@"llUnescapeURL(""{0}"")=""{1}""", sURL, strTmp)); return strTmp; @@ -3306,14 +3320,17 @@ namespace LSLEditor string S1 = Base64ToString(sText1.ToString()); string S2 = Base64ToString(sText2.ToString()); int intLength = S1.Length; - if (S2.Length == 0) + if (S2.Length == 0) { S2 = " "; - while (S2.Length < intLength) + } + while (S2.Length < intLength) { S2 += S2; + } S2 = S2.Substring(0, intLength); StringBuilder sb = new StringBuilder(); - for (int intI = 0; intI < intLength; intI++) + for (int intI = 0; intI < intLength; intI++) { sb.Append((char)(S1[intI] ^ S2[intI])); + } string sResult = StringToBase64(sb.ToString()); Verbose(@"llXorBase64StringsCorrect(""{0}"",""{1}"")=""{2}""", sText1, sText2, sResult); return sResult; diff --git a/trunk/SecondLife/SecondLifeHst.cs b/trunk/SecondLife/SecondLifeHst.cs index 1a918a1..8f8db71 100644 --- a/trunk/SecondLife/SecondLifeHst.cs +++ b/trunk/SecondLife/SecondLifeHst.cs @@ -66,17 +66,17 @@ namespace LSLEditor public class SecondLifeHostMessageLinkedEventArgs : EventArgs { - public SecondLife.integer linknum; - public SecondLife.integer num; - public SecondLife.String str; - public SecondLife.key id; + public SecondLife.integer iLinkIndex; + public SecondLife.integer iNumber; + public SecondLife.String sText; + public SecondLife.key kID; - public SecondLifeHostMessageLinkedEventArgs(SecondLife.integer linknum, SecondLife.integer num, SecondLife.String str, SecondLife.key id) + public SecondLifeHostMessageLinkedEventArgs(SecondLife.integer iLinkIndex, SecondLife.integer iNumber, SecondLife.String sText, SecondLife.key kID) { - this.linknum = linknum; - this.num = num; - this.str = str; - this.id = id; + this.iLinkIndex = iLinkIndex; + this.iNumber = iNumber; + this.sText = sText; + this.kID = kID; } } @@ -179,12 +179,10 @@ namespace LSLEditor private void StateWatch() { - while (true) - { + while (true) { this.StateChanged.WaitOne(); this.taskQueue.Start(); // is implicit Stop() old Queue - if (this.CurrentStateName != this.NewStateName) - { + if (this.CurrentStateName != this.NewStateName) { this.CurrentStateName = this.NewStateName; ExecuteSecondLife("state_exit"); @@ -196,56 +194,55 @@ namespace LSLEditor public void State(string strStateName, bool blnForce) { - if (this.CompiledAssembly == null) - return; - if (blnForce) - this.CurrentStateName = ""; - this.NewStateName = strStateName; - this.StateChanged.Set(); + if (this.CompiledAssembly != null) { + if (blnForce) { + this.CurrentStateName = ""; + } + this.NewStateName = strStateName; + this.StateChanged.Set(); + } } private void SetState() { - if (CompiledAssembly == null) - return; - secondLife = CompiledAssembly.CreateInstance("LSLEditor.State_" + CurrentStateName) as SecondLife; + if (CompiledAssembly != null) { + secondLife = CompiledAssembly.CreateInstance("LSLEditor.State_" + CurrentStateName) as SecondLife; - if (secondLife == null) - { - MessageBox.Show("State " + CurrentStateName+" does not exist!"); - return; + if (secondLife == null) { + MessageBox.Show("State " + CurrentStateName + " does not exist!"); + return; + } + + ListenFilterList = new List(); + + LinkList = new List(); + + // Make friends + secondLife.host = this; + + // Update runtime userinterface by calling event handler + if (OnStateChange != null) { + OnStateChange(this, new SecondLifeHostEventArgs(CurrentStateName)); + } + + ExecuteSecondLife("state_entry"); } - - ListenFilterList = new List(); - - LinkList = new List(); - - // Make friends - secondLife.host = this; - - // Update runtime userinterface by calling event handler - if (OnStateChange != null) - OnStateChange(this, new SecondLifeHostEventArgs(CurrentStateName)); - - ExecuteSecondLife("state_entry"); } public string GetArgumentsFromMethod(string strName) { - if (this.secondLife == null) - return ""; - MethodInfo mi = secondLife.GetType().GetMethod(strName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly); - if (mi == null) - return ""; - - int intI = 0; string strArgs = ""; - foreach (ParameterInfo pi in mi.GetParameters()) - { - if (intI > 0) - strArgs += ","; - strArgs += pi.ParameterType.ToString() + " " + pi.Name; - intI++; + if (this.secondLife != null) { + MethodInfo mi = secondLife.GetType().GetMethod(strName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly); + if (mi != null) { + int intI = 0; + foreach (ParameterInfo pi in mi.GetParameters()) { + if (intI > 0) + strArgs += ","; + strArgs += pi.ParameterType.ToString() + " " + pi.Name; + intI++; + } + } } return strArgs; } @@ -256,10 +253,8 @@ namespace LSLEditor sb.Append("*** "); sb.Append(strEventName); sb.Append('('); - for (int intI = 0; intI < args.Length; intI++) - { - if (intI > 0) - sb.Append(','); + for (int intI = 0; intI < args.Length; intI++) { + if (intI > 0) sb.Append(','); sb.Append(args[intI].ToString()); } sb.Append(")"); @@ -268,21 +263,18 @@ namespace LSLEditor public void ExecuteSecondLife(string strName, params object[] args) { - if (secondLife == null) - return; + if (secondLife != null) { + VerboseEvent(strName, args); - VerboseEvent(strName, args); - - this.taskQueue.Invoke(secondLife, strName, args); + this.taskQueue.Invoke(secondLife, strName, args); + } } public ArrayList GetEvents() { ArrayList ar = new ArrayList(); - if (secondLife != null) - { - foreach (MethodInfo mi in secondLife.GetType().GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)) - { + if (secondLife != null) { + foreach (MethodInfo mi in secondLife.GetType().GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)) { ar.Add(mi.Name); } } @@ -292,17 +284,18 @@ namespace LSLEditor public void Reset() { - if (OnReset != null) + if (OnReset != null) { OnReset(this, new EventArgs()); + } } public void Die() { - if (OnDie != null) + if (OnDie != null) { OnDie(this, new EventArgs()); + } - if (secondLife != null) - { + if (secondLife != null) { // stop all timers this.timer.Stop(); this.sensor_timer.Stop(); @@ -313,26 +306,21 @@ namespace LSLEditor this.secondLife = null; } - } public void Dispose() { - if (taskQueue != null) - { + if (taskQueue != null) { this.taskQueue.Stop(); this.taskQueue.Dispose(); this.taskQueue = null; } - if (listXmlRpc != null) - { - foreach (XMLRPC xmlRpc in listXmlRpc) - { + if (listXmlRpc != null) { + foreach (XMLRPC xmlRpc in listXmlRpc) { xmlRpc.CloseChannel(); } } - if (secondLife != null) - { + if (secondLife != null) { this.timer.Stop(); this.sensor_timer.Stop(); this.mainForm = null; @@ -364,10 +352,8 @@ namespace LSLEditor public void llBreakLink(int linknum) { - foreach (Link link in this.LinkList) - { - if (link.number == linknum) - { + foreach (Link link in this.LinkList) { + if (link.number == linknum) { this.LinkList.Remove(link); break; } @@ -381,8 +367,7 @@ namespace LSLEditor public string[] GetListenChannels() // for GroupboxEvent { List list = new List(); - foreach (ListenFilter lf in ListenFilterList) - { + foreach (ListenFilter lf in ListenFilterList) { list.Add(lf.channel.ToString()); } return list.ToArray(); @@ -407,11 +392,9 @@ namespace LSLEditor public void llListenControl(int number, int active) { - for (int intI = 0; intI < ListenFilterList.Count; intI++) - { + for (int intI = 0; intI < ListenFilterList.Count; intI++) { ListenFilter lf = ListenFilterList[intI]; - if (lf.GetHashCode() == number) - { + if (lf.GetHashCode() == number) { lf.active = (active == 1); ListenFilterList[intI] = lf; break; @@ -421,11 +404,9 @@ namespace LSLEditor public void llListenRemove(int intHandle) { - for (int intI = 0; intI < ListenFilterList.Count; intI++) - { + for (int intI = 0; intI < ListenFilterList.Count; intI++) { ListenFilter lf = ListenFilterList[intI]; - if (lf.GetHashCode() == intHandle) - { + if (lf.GetHashCode() == intHandle) { ListenFilterList.RemoveAt(intI); break; } @@ -450,18 +431,12 @@ namespace LSLEditor { ListenFilter lfToCheck = new ListenFilter(channel, name, id, message); - foreach (ListenFilter lf in ListenFilterList) - { - if (!lf.active) - continue; - if (lf.channel != lfToCheck.channel) - continue; - if (lf.name != "" && lf.name != lfToCheck.name) - continue; - if (lf.id != Guid.Empty.ToString() && lf.id!="" && lf.id != lfToCheck.id) - continue; - if (lf.message != "" && lf.message != lfToCheck.message) - continue; + foreach (ListenFilter lf in ListenFilterList) { + if (!lf.active) continue; + if (lf.channel != lfToCheck.channel) continue; + if (lf.name != "" && lf.name != lfToCheck.name) continue; + if (lf.id != Guid.Empty.ToString() && lf.id != "" && lf.id != lfToCheck.id) continue; + if (lf.message != "" && lf.message != lfToCheck.message) continue; return true; } return false; @@ -470,10 +445,11 @@ namespace LSLEditor // sink listen public void Listen(SecondLifeHostChatEventArgs e) { - if (secondLife == null) - return; - if (CheckListenFilter(e.channel, e.name, e.id, e.message)) - ExecuteSecondLife("listen", e.channel, e.name, e.id, e.message); + if (secondLife != null) { + if (CheckListenFilter(e.channel, e.name, e.id, e.message)) { + ExecuteSecondLife("listen", e.channel, e.name, e.id, e.message); + } + } } #endregion @@ -481,98 +457,99 @@ namespace LSLEditor // raise public void Chat(object sender, int channel, string name, SecondLife.key id, string message, CommunicationType how) { - if (OnChat != null) + if (OnChat != null) { OnChat(sender, new SecondLifeHostChatEventArgs(channel, name, id, message, how)); + } } // raise - public void MessageLinked(SecondLife.integer linknum, SecondLife.integer num, SecondLife.String str, SecondLife.key id) + public void MessageLinked(SecondLife.integer iLlinkIndex, SecondLife.integer iNumber, SecondLife.String sText, SecondLife.key kID) { - if (OnMessageLinked != null) - OnMessageLinked(this, new SecondLifeHostMessageLinkedEventArgs(linknum, num, str, id)); + if (OnMessageLinked != null) { + OnMessageLinked(this, new SecondLifeHostMessageLinkedEventArgs(iLlinkIndex, iNumber, sText, kID)); + } } // sink public void LinkMessage(SecondLifeHostMessageLinkedEventArgs e) { - ExecuteSecondLife("link_message", e.linknum, e.num, e.str, e.id); + ExecuteSecondLife("link_message", e.iLinkIndex, e.iNumber, e.sText, e.kID); } public SecondLife.key Http(string Url, SecondLife.list Parameters, string Body) { - if (secondLife == null) - return SecondLife.NULL_KEY; + SecondLife.key Key = SecondLife.NULL_KEY; + if (secondLife != null) { + System.Net.WebProxy proxy = null; + if (Properties.Settings.Default.ProxyServer != "") { + proxy = new System.Net.WebProxy(Properties.Settings.Default.ProxyServer.Replace("http://", "")); + } - System.Net.WebProxy proxy = null; - if (Properties.Settings.Default.ProxyServer != "") - proxy = new System.Net.WebProxy(Properties.Settings.Default.ProxyServer.Replace("http://", "")); + if (Properties.Settings.Default.ProxyUserid != "" && proxy != null) { + proxy.Credentials = new System.Net.NetworkCredential(Properties.Settings.Default.ProxyUserid, Properties.Settings.Default.ProxyPassword); + } - if (Properties.Settings.Default.ProxyUserid != "" && proxy != null) - proxy.Credentials = new System.Net.NetworkCredential(Properties.Settings.Default.ProxyUserid, Properties.Settings.Default.ProxyPassword); - - SecondLife.key Key = new SecondLife.key(Guid.NewGuid()); - //WebRequestClass a = new WebRequestClass(proxy, secondLife, Url, Parameters, Body, Key); - try - { - HTTPRequest.Request(proxy, secondLife, Url, Parameters, Body, Key); - } - catch(Exception exception) - { - VerboseMessage(exception.Message); + Key = new SecondLife.key(Guid.NewGuid()); + //WebRequestClass a = new WebRequestClass(proxy, secondLife, Url, Parameters, Body, Key); + try { + HTTPRequest.Request(proxy, secondLife, Url, Parameters, Body, Key); + } catch (Exception exception) { + VerboseMessage(exception.Message); + } } return Key; } public void Email(string To, string Subject, string Body) { - if (secondLife == null) - return; + if (secondLife != null) { + SmtpClient client = new SmtpClient(); + client.SmtpServer = Properties.Settings.Default.EmailServer; - SmtpClient client = new SmtpClient(); - client.SmtpServer = Properties.Settings.Default.EmailServer; + string strName = GetObjectName(); + string strObjectName = string.Format("Object-Name: {0}", strName); - string strName = GetObjectName(); - string strObjectName = string.Format("Object-Name: {0}", strName); + SecondLife.vector RegionCorner = secondLife.llGetRegionCorner(); + string strRegionName = secondLife.llGetRegionName(); + string strRegion = string.Format("Region: {0} ({1},{2})", strRegionName, RegionCorner.x, RegionCorner.y); - SecondLife.vector RegionCorner = secondLife.llGetRegionCorner(); - string strRegionName = secondLife.llGetRegionName(); - string strRegion = string.Format("Region: {0} ({1},{2})", strRegionName, RegionCorner.x, RegionCorner.y); + SecondLife.vector pos = secondLife.llGetPos(); + string strPosition = string.Format("Local-Position: ({0},{1},{2})", (int)pos.x, (int)pos.y, (int)pos.z); - SecondLife.vector pos = secondLife.llGetPos(); - string strPosition = string.Format("Local-Position: ({0},{1},{2})", (int)pos.x, (int)pos.y, (int)pos.z); + string strPrefix = strObjectName + "\r\n"; + strPrefix += strRegion + "\r\n"; + strPrefix += strPosition + "\r\n\r\n"; - string strPrefix = strObjectName + "\r\n"; - strPrefix += strRegion + "\r\n"; - strPrefix += strPosition + "\r\n\r\n"; + MailMessage msg = new MailMessage(); + msg.To = To; + msg.Subject = Subject; + msg.Body = strPrefix + Body; + msg.From = Properties.Settings.Default.EmailAddress; + msg.Headers.Add("Reply-to", msg.From); - MailMessage msg = new MailMessage(); - msg.To = To; - msg.Subject = Subject; - msg.Body = strPrefix + Body; - msg.From = Properties.Settings.Default.EmailAddress; - msg.Headers.Add("Reply-to", msg.From); + //MailAttachment myAttachment = new MailAttachment(strAttachmentFile); + //msg.Attachments.Add(myAttachment); - //MailAttachment myAttachment = new MailAttachment(strAttachmentFile); - //msg.Attachments.Add(myAttachment); - - VerboseMessage(client.Send(msg)); + VerboseMessage(client.Send(msg)); + } } public void VerboseMessage(string Message) { - if (OnVerboseMessage != null) + if (OnVerboseMessage != null) { OnVerboseMessage(this, new SecondLifeHostEventArgs(Message)); + } } delegate void ShowDialogDelegate(SecondLifeHost host, SecondLife.String objectName, SecondLife.key k, SecondLife.String name, - SecondLife.String message, + SecondLife.String message, SecondLife.list buttons, SecondLife.integer channel); - private void Dialog(SecondLifeHost host, + private void Dialog(SecondLifeHost host, SecondLife.String objectName, SecondLife.key k, SecondLife.String name, @@ -589,68 +566,62 @@ namespace LSLEditor public void llDialog(SecondLife.key avatar, SecondLife.String message, SecondLife.list buttons, SecondLife.integer channel) { - if (message.ToString().Length >= 512) - { + if (message.ToString().Length >= 512) { VerboseMessage("llDialog: message too long, must be less than 512 characters"); return; } - if (message.ToString().Length == 0) - { + if (message.ToString().Length == 0) { VerboseMessage("llDialog: must supply a message"); return; } - for (int intI = 0; intI < buttons.Count; intI++) - { - if (buttons[intI].ToString() == "") - { + for (int intI = 0; intI < buttons.Count; intI++) { + if (buttons[intI].ToString() == "") { VerboseMessage("llDialog: all buttons must have label strings"); return; } - if (buttons[intI].ToString().Length > 24) - { + if (buttons[intI].ToString().Length > 24) { VerboseMessage("llDialog:Button Labels can not have more than 24 characters"); return; } } - if (buttons.Count == 0) + if (buttons.Count == 0) { buttons = new SecondLife.list(new string[] { "OK" }); + } this.mainForm.Invoke(new ShowDialogDelegate(Dialog), this, (SecondLife.String)GetObjectName(), secondLife.llGetOwner(), (SecondLife.String)Properties.Settings.Default.AvatarName, message, buttons, channel); } - delegate void ShowTextBoxDelegate(SecondLifeHost host, - SecondLife.String objectName, - SecondLife.key k, - SecondLife.String name, - SecondLife.String message, - SecondLife.integer channel); - private void TextBox(SecondLifeHost host, - SecondLife.String objectName, - SecondLife.key k, - SecondLife.String name, - SecondLife.String message, - SecondLife.integer channel) - { - llTextBoxForm TextBoxForm = new llTextBoxForm(host, objectName, k, name, message, channel); - TextBoxForm.Left = this.mainForm.Left + this.mainForm.Width / 2 - TextBoxForm.Width / 2; - TextBoxForm.Top = this.mainForm.Top + this.mainForm.Height / 2 - TextBoxForm.Height / 2; - TextBoxForm.Show(this.mainForm); - this.mainForm.llTextBoxForms.Add(TextBoxForm); - } - public void llTextBox(SecondLife.key avatar, SecondLife.String message, SecondLife.integer channel) - { - if (message.ToString().Length >= 512) - { - VerboseMessage("llTextBox: message too long, must be less than 512 characters"); - return; - } - if (message.ToString().Length == 0) - { - VerboseMessage("llTextBos: must supply a message"); - return; - } - this.mainForm.Invoke(new ShowTextBoxDelegate(TextBox), this, (SecondLife.String)GetObjectName(), secondLife.llGetOwner(), (SecondLife.String)Properties.Settings.Default.AvatarName, message, channel); - } + delegate void ShowTextBoxDelegate(SecondLifeHost host, + SecondLife.String objectName, + SecondLife.key k, + SecondLife.String name, + SecondLife.String message, + SecondLife.integer channel); + private void TextBox(SecondLifeHost host, + SecondLife.String objectName, + SecondLife.key k, + SecondLife.String name, + SecondLife.String message, + SecondLife.integer channel) + { + llTextBoxForm TextBoxForm = new llTextBoxForm(host, objectName, k, name, message, channel); + TextBoxForm.Left = this.mainForm.Left + this.mainForm.Width / 2 - TextBoxForm.Width / 2; + TextBoxForm.Top = this.mainForm.Top + this.mainForm.Height / 2 - TextBoxForm.Height / 2; + TextBoxForm.Show(this.mainForm); + this.mainForm.llTextBoxForms.Add(TextBoxForm); + } + public void llTextBox(SecondLife.key avatar, SecondLife.String message, SecondLife.integer channel) + { + if (message.ToString().Length >= 512) { + VerboseMessage("llTextBox: message too long, must be less than 512 characters"); + return; + } + if (message.ToString().Length == 0) { + VerboseMessage("llTextBos: must supply a message"); + return; + } + this.mainForm.Invoke(new ShowTextBoxDelegate(TextBox), this, (SecondLife.String)GetObjectName(), secondLife.llGetOwner(), (SecondLife.String)Properties.Settings.Default.AvatarName, message, channel); + } public void SetPermissions(SecondLife.integer intPermissions) { @@ -681,12 +652,12 @@ namespace LSLEditor public void llRequestPermissions(SecondLife.key agent, SecondLife.integer intPermissions) { - this.mainForm.Invoke(new RequestPermissionsDelegate(RequestPermissions), + this.mainForm.Invoke(new RequestPermissionsDelegate(RequestPermissions), this, - (SecondLife.String)GetObjectName(), - secondLife.llGetOwner(), - (SecondLife.String)Properties.Settings.Default.AvatarName, - agent, + (SecondLife.String)GetObjectName(), + secondLife.llGetOwner(), + (SecondLife.String)Properties.Settings.Default.AvatarName, + agent, intPermissions); } @@ -694,26 +665,22 @@ namespace LSLEditor public void SendControl(Keys keys) { - if (m_intControls < 0) - return; - if (this.secondLife == null) - return; + if (m_intControls >= 0 || this.secondLife != null) { + // check againt m_intControls TODO!!!!! + int held = 0; + int change = 0; - // check againt m_intControls TODO!!!!! + if ((keys & Keys.Up) == Keys.Up) + held |= SecondLife.CONTROL_UP; + if ((keys & Keys.Down) == Keys.Down) + held |= SecondLife.CONTROL_DOWN; + if ((keys & Keys.Left) == Keys.Left) + held |= SecondLife.CONTROL_LEFT; + if ((keys & Keys.Right) == Keys.Right) + held |= SecondLife.CONTROL_RIGHT; - int held = 0; - int change = 0; - - if ((keys & Keys.Up) == Keys.Up) - held |= SecondLife.CONTROL_UP; - if ((keys & Keys.Down) == Keys.Down) - held |= SecondLife.CONTROL_DOWN; - if ((keys & Keys.Left) == Keys.Left) - held |= SecondLife.CONTROL_LEFT; - if ((keys & Keys.Right) == Keys.Right) - held |= SecondLife.CONTROL_RIGHT; - - ExecuteSecondLife("control", (SecondLife.key)Properties.Settings.Default.AvatarKey, (SecondLife.integer)held, (SecondLife.integer)change); + ExecuteSecondLife("control", (SecondLife.key)Properties.Settings.Default.AvatarKey, (SecondLife.integer)held, (SecondLife.integer)change); + } } public void TakeControls(int intControls, int accept, int pass_on) @@ -732,11 +699,9 @@ namespace LSLEditor StreamReader sr = new StreamReader(strPath); int intI = 0; string strData = SecondLife.EOF; - while (!sr.EndOfStream) - { + while (!sr.EndOfStream) { string strLine = sr.ReadLine(); - if (intI == line) - { + if (intI == line) { strData = strLine; break; } @@ -749,10 +714,10 @@ namespace LSLEditor public SecondLife.key GetNotecardLine(string name, int line) { string strPath = mainForm.SolutionExplorer.GetPath(this.guid, name); - if(strPath == string.Empty) + if (strPath == string.Empty) { strPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), name); - if (!File.Exists(strPath)) - { + } + if (!File.Exists(strPath)) { VerboseMessage("Notecard: " + strPath + " not found"); taskQueue.Invoke(secondLife, "llSay", (SecondLife.integer)0, (SecondLife.String)("Couldn't find notecard " + name)); return SecondLife.NULL_KEY; @@ -767,8 +732,7 @@ namespace LSLEditor { StreamReader sr = new StreamReader(strPath); int intI = 0; - while (!sr.EndOfStream) - { + while (!sr.EndOfStream) { string strLine = sr.ReadLine(); intI++; } @@ -780,11 +744,11 @@ namespace LSLEditor public SecondLife.key GetNumberOfNotecardLines(string name) { string strPath = mainForm.SolutionExplorer.GetPath(this.guid, name); - if (strPath == string.Empty) + if (strPath == string.Empty) { strPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), name); + } - if (!File.Exists(strPath)) - { + if (!File.Exists(strPath)) { VerboseMessage("Notecard: " + strPath + " not found"); taskQueue.Invoke(secondLife, "llSay", (SecondLife.integer)0, (SecondLife.String)("Couldn't find notecard " + name)); return SecondLife.NULL_KEY; @@ -800,8 +764,9 @@ namespace LSLEditor private List listXmlRpc; public void llOpenRemoteDataChannel() { - if (listXmlRpc == null) + if (listXmlRpc == null) { listXmlRpc = new List(); + } XMLRPC xmlRpc = new XMLRPC(); xmlRpc.OnRequest += new XMLRPC.RequestEventHandler(xmlRpc_OnRequest); xmlRpc.OpenChannel(listXmlRpc.Count); @@ -830,27 +795,23 @@ namespace LSLEditor public void llCloseRemoteDataChannel(SecondLife.key channel) { - if (listXmlRpc == null) - return; - foreach (XMLRPC xmlRpc in listXmlRpc) - { - if (xmlRpc.guid == channel.guid) - { - xmlRpc.CloseChannel(); - break; + if (listXmlRpc != null) { + foreach (XMLRPC xmlRpc in listXmlRpc) { + if (xmlRpc.guid == channel.guid) { + xmlRpc.CloseChannel(); + break; + } } } } public void llRemoteDataReply(SecondLife.key channel, SecondLife.key message_id, string sdata, int idata) { - if (listXmlRpc == null) - return; - foreach (XMLRPC xmlRpc in listXmlRpc) - { - if (xmlRpc.guid == channel.guid) - { - xmlRpc.RemoteDataReply(channel.guid, message_id.guid, sdata, idata); - break; + if (listXmlRpc != null) { + foreach (XMLRPC xmlRpc in listXmlRpc) { + if (xmlRpc.guid == channel.guid) { + xmlRpc.RemoteDataReply(channel.guid, message_id.guid, sdata, idata); + break; + } } } } @@ -880,10 +841,7 @@ namespace LSLEditor public string GetObjectName(Guid guid) { string strObjectName = mainForm.SolutionExplorer.GetObjectName(guid); - if (strObjectName != string.Empty) - return strObjectName; - else - return this.ObjectName; + return strObjectName != string.Empty ? strObjectName : this.ObjectName; } public string GetObjectName() @@ -893,17 +851,19 @@ namespace LSLEditor public void SetObjectName(string name) { - if (!mainForm.SolutionExplorer.SetObjectName(this.guid, name)) + if (!mainForm.SolutionExplorer.SetObjectName(this.guid, name)) { ObjectName = name; + } } public string GetObjectDescription(Guid guid) { string strObjectDescription = mainForm.SolutionExplorer.GetObjectDescription(guid); - if (strObjectDescription != string.Empty) + if (strObjectDescription != string.Empty) { return strObjectDescription; - else + } else { return this.ObjectDescription; + } } public string GetObjectDescription() @@ -913,43 +873,49 @@ namespace LSLEditor public void SetObjectDescription(string description) { - if (!mainForm.SolutionExplorer.SetObjectDescription(this.guid, description)) + if (!mainForm.SolutionExplorer.SetObjectDescription(this.guid, description)) { this.ObjectDescription = description; + } } public string GetScriptName() { string strScriptName = mainForm.SolutionExplorer.GetScriptName(this.guid); - if (strScriptName == string.Empty) + if (strScriptName == string.Empty) { strScriptName = this.FullPath; - if (Properties.Settings.Default.llGetScriptName) + } + if (Properties.Settings.Default.llGetScriptName) { strScriptName = Path.GetFileNameWithoutExtension(strScriptName); - else + } else { strScriptName = Path.GetFileName(strScriptName); + } return strScriptName; } public SecondLife.key GetKey() { string strGuid = mainForm.SolutionExplorer.GetKey(this.guid); - if (strGuid == string.Empty) + if (strGuid == string.Empty) { return new SecondLife.key(this.guid); + } return new SecondLife.key(strGuid); } public SecondLife.String GetInventoryName(SecondLife.integer type, SecondLife.integer number) { string strInventoryName = mainForm.SolutionExplorer.GetInventoryName(this.guid, type, number); - if (strInventoryName == string.Empty) + if (strInventoryName == string.Empty) { return "**GetInventoryName only works in SolutionExplorer**"; + } return strInventoryName; } public SecondLife.key GetInventoryKey(SecondLife.String name) { string strInventoryKey = mainForm.SolutionExplorer.GetInventoryKey(this.guid, name); - if (strInventoryKey == string.Empty) + if (strInventoryKey == string.Empty) { return new SecondLife.key(Guid.Empty); + } return new SecondLife.key(strInventoryKey); } @@ -963,16 +929,17 @@ namespace LSLEditor return mainForm.SolutionExplorer.GetInventoryType(this.guid, name); } - public void RemoveInventory(SecondLife.String name) - { - mainForm.SolutionExplorer.RemoveInventory(this.guid, name); - } + public void RemoveInventory(SecondLife.String name) + { + mainForm.SolutionExplorer.RemoveInventory(this.guid, name); + } public System.Media.SoundPlayer GetSoundPlayer(string sound) { string strPath = mainForm.SolutionExplorer.GetPath(this.guid, sound); - if (strPath == string.Empty) + if (strPath == string.Empty) { strPath = sound; + } return new System.Media.SoundPlayer(strPath); } diff --git a/trunk/SecondLife/SecondLifeMain.cs b/trunk/SecondLife/SecondLifeMain.cs index 3c25b8b..0233c67 100644 --- a/trunk/SecondLife/SecondLifeMain.cs +++ b/trunk/SecondLife/SecondLifeMain.cs @@ -42,433 +42,478 @@ // ******** // */ using System; -using System.Text; -using System.Text.RegularExpressions; using System.Collections; using System.Collections.Generic; +using System.Text; +using System.Text.RegularExpressions; - -// +/* // (C) 2006,2007 Alphons van der Heijden // mail: alphons@heijden.com -// + */ namespace LSLEditor { + /// + /// Enumeration of Communication Types that the host understands + /// public enum CommunicationType { Whisper, Say, Shout, OwnerSay, RegionSay, RegionSayTo } - public partial class SecondLife - { - // Make friends with my host - public SecondLifeHost host; + public partial class SecondLife + { + /// + /// Holds the host object. + /// + private SecondLifeHost slhHost; - #region members - // Random generator - private Random m_random; + #region members + /// + /// Random generator. + /// + private Random rdmRandom; - private DateTime m_DateTimeScriptStarted; + /// + /// Holds the time of the script starting execution. + /// + private DateTime dtDateTimeScriptStarted; - private Boolean m_AllowDrop = false; - private Hashtable m_LandPassList; + /// + /// Contains a boolean value indicating wether this object accepts other items to be dropped into it. + /// + private bool blnAllowDrop = false; - private Hashtable m_LandBanList; + /// + /// Contains a list of keys of avatars that may enter a parcel. + /// + private Hashtable htLandPassList; - private Float m_Volume; + /// + /// Contains a list of keys of avatars that may NOT enter a parcel. + /// + private Hashtable htLandBanList; - private String m_ObjectName; - private String m_ParcelMusicURL; - private vector m_pos; - private rotation m_rot; - private rotation m_rotlocal; - private vector m_scale; - private String m_SitText; - private Float m_SoundRadius; + /// + /// Volume of sound played by this prim. + /// + private Float fVolume; - private vector m_RegionCorner; + private String sObjectName; + private String sParcelMusicURL; + private vector vPosition; + private rotation rRotation; + private rotation rRotationlocal; + private vector vScale; + private String sSitText; + private Float fSoundRadius; - private integer m_start_parameter; + private vector vRegionCorner; - #endregion - - #region Properties - - public vector GetLocalPos - { - // TODO change this to use a call to llGetLocalPos specifying NOT to be Verbose. After all functions have been changed to allow verbose/silent option. - get { return m_pos; } - } + private integer iStartParameter; #endregion - #region constructor + #region Constructor + /// + /// Initialises the class. + /// public SecondLife() - { - host = null; - m_random = new Random(); - m_DateTimeScriptStarted = DateTime.Now.ToUniversalTime(); - m_LandPassList = new Hashtable(); - m_LandBanList = new Hashtable(); - m_Volume = 0.0; - m_ObjectName = null; - m_pos = new vector(127, 128, 20); - m_rot = rotation.ZERO_ROTATION; - m_rotlocal = rotation.ZERO_ROTATION; - m_scale = vector.ZERO_VECTOR; - m_SitText = "sittext"; - m_SoundRadius = 1.0; - m_start_parameter = 0; + { + this.host = null; + rdmRandom = new Random(); + dtDateTimeScriptStarted = DateTime.Now.ToUniversalTime(); + htLandPassList = new Hashtable(); + htLandBanList = new Hashtable(); + fVolume = 0.0; + sObjectName = null; + vPosition = new vector(127, 128, 20); + rRotation = rotation.ZERO_ROTATION; + rRotationlocal = rotation.ZERO_ROTATION; + vScale = vector.ZERO_VECTOR; + sSitText = "sittext"; + fSoundRadius = 1.0; + iStartParameter = 0; - m_RegionCorner = vector.ZERO_VECTOR; - } - #endregion + vRegionCorner = vector.ZERO_VECTOR; + } + #endregion - #region internal routines - private void Verbose(string strLine, params object[] parameters) - { - if (parameters.Length == 0) - host.VerboseMessage(strLine); - else - host.VerboseMessage(string.Format(strLine, parameters)); - } + #region Properties + public vector GetLocalPos + { + // TODO change this to use a call to llGetLocalPos specifying NOT to be Verbose. After all functions have been changed to allow verbose/silent option. + get { return vPosition; } + } + + public SecondLifeHost host + { + get { return this.slhHost; } + set { this.slhHost = value; } + } + #endregion + + #region internal routines + private void Verbose(string strLine, params object[] parameters) + { + if (parameters.Length == 0) { + host.VerboseMessage(strLine); + } else { + this.host.VerboseMessage(string.Format(strLine, parameters)); + } + } - private void Chat(integer channel, string message, CommunicationType how) - { - host.Chat(host, channel, host.GetObjectName(), host.GetKey(), message, how); - } + private void Chat(integer iChannel, string sText, CommunicationType ctHow) + { + this.host.Chat(this.host, iChannel, this.host.GetObjectName(), this.host.GetKey(), sText, ctHow); + } - public void state(string strStateName) - { - Verbose("state->" + strStateName); - host.State(strStateName, false); - System.Threading.Thread.Sleep(1000); - System.Windows.Forms.MessageBox.Show("If you see this, something is wrong", "Oops..."); - } - #endregion + public void state(string strStateName) + { + Verbose("state->" + strStateName); + host.State(strStateName, false); + System.Threading.Thread.Sleep(1000); + System.Windows.Forms.MessageBox.Show("If you see this, something is wrong", "Oops..."); + } + #endregion - #region Helper Functions + #region Helper Functions - #region List Functions + #region List Functions + private bool CorrectIt(int intLength, ref int intStart, ref int intEnd) + { + bool bResult = true; + if (intStart < 0) { + intStart = intLength + intStart; + } - private bool CorrectIt(int length, ref int start, ref int end) - { - if (start < 0) - start = length + start; + if (intEnd < 0) { + intEnd = intLength + intEnd; + } - if (end < 0) - end = length + end; + if (intStart <= intEnd) { + if (intStart >= intLength) { + bResult = false; + } + if (intEnd < 0) { + bResult = false; + } + } - if (start <= end) - { - if (start >= length) - return false; - if (end < 0) - return false; - } + intStart = Math.Max(0, intStart); + intEnd = Math.Min(intLength - 1, intEnd); - start = Math.Max(0, start); - end = Math.Min(length - 1, end); + return bResult; + } - return true; - } + public ArrayList RandomShuffle(ArrayList alCollection) + { + /* We have to copy all items anyway, and there isn't a way to produce the items + on the fly that is linear. So copying to an array and shuffling it is as efficient as we can get. + */ - public ArrayList RandomShuffle(ArrayList collection) - { - // We have to copy all items anyway, and there isn't a way to produce the items - // on the fly that is linear. So copying to an array and shuffling it is as efficient as we can get. + if (alCollection == null) { + throw new ArgumentNullException("collection"); + } - if (collection == null) - throw new ArgumentNullException("collection"); + int intCount = alCollection.Count; + for (int i = intCount - 1; i >= 1; --i) { + // Pick an random number 0 through i inclusive. + int j = rdmRandom.Next(i + 1); - int count = collection.Count; - for (int i = count - 1; i >= 1; --i) - { - // Pick an random number 0 through i inclusive. - int j = m_random.Next(i + 1); + // Swap array[i] and array[j] + object temp = alCollection[i]; + alCollection[i] = alCollection[j]; + alCollection[j] = temp; + } + return alCollection; + } - // Swap array[i] and array[j] - object temp = collection[i]; - collection[i] = collection[j]; - collection[j] = temp; - } - return collection; - } + private ArrayList List2Buckets(list lSource, int intStride) + { + ArrayList alBuckets = null; + if ((lSource.Count % intStride) == 0 && intStride <= lSource.Count) { + alBuckets = new ArrayList(); + for (int intI = 0; intI < lSource.Count; intI += intStride) { + object[] bucket = new object[intStride]; + for (int intJ = 0; intJ < intStride; intJ++) { + bucket[intJ] = lSource[intI + intJ]; + } + alBuckets.Add(bucket); + } + } + return alBuckets; + } - private ArrayList List2Buckets(list src, int stride) - { - ArrayList buckets = null; - if ((src.Count % stride) == 0 && stride <= src.Count) - { - buckets = new ArrayList(); - for (int intI = 0; intI < src.Count; intI += stride) - { - object[] bucket = new object[stride]; - for (int intJ = 0; intJ < stride; intJ++) - bucket[intJ] = src[intI + intJ]; - buckets.Add(bucket); - } - } - return buckets; - } + private list Buckets2List(ArrayList alBuckets, int intStride) + { + object[] items = new object[alBuckets.Count * intStride]; + for (int intI = 0; intI < alBuckets.Count; intI++) { + for (int intJ = 0; intJ < intStride; intJ++) { + items[intI * intStride + intJ] = ((object[])alBuckets[intI])[intJ]; + } + } + return new list(items); + } - private list Buckets2List(ArrayList buckets, int stride) - { - object[] items = new object[buckets.Count * stride]; - for (int intI = 0; intI < buckets.Count; intI++) - { - for (int intJ = 0; intJ < stride; intJ++) - items[intI * stride + intJ] = ((object[])buckets[intI])[intJ]; - } - return new list(items); - } + /// + /// Implements the Comparer Interface for our custom types (Float, Integer, and String). + /// + private class BucketComparer : IComparer + { + private integer iAscending; - private class BucketComparer : IComparer - { - private integer ascending; - public BucketComparer(integer ascending) - { - this.ascending = ascending; - } - public int Compare(object x, object y) - { - object[] xx = x as object[]; - object[] yy = y as object[]; + /// + /// Initialises the class. + /// + /// + public BucketComparer(integer ascending) + { + this.iAscending = ascending; + } - object A, B; + public int Compare(object x, object y) + { + int iResult = 0; + object objA, objB; - if (ascending == TRUE) - { - A = xx[0]; - B = yy[0]; - } - else - { - B = xx[0]; - A = yy[0]; - } + object[] xx = x as object[]; + object[] yy = y as object[]; - string strType = A.GetType().ToString(); + if (iAscending == TRUE) { + objA = xx[0]; + objB = yy[0]; + } else { + objB = xx[0]; + objA = yy[0]; + } - if (((A is string) && (B is string)) || - ((A is SecondLife.String) && (B is SecondLife.String))) - return string.Compare(A.ToString(), B.ToString()); + string strType = objA.GetType().ToString(); - if ((A is SecondLife.integer) && (B is SecondLife.integer)) - return SecondLife.integer.Compare((SecondLife.integer)A, (SecondLife.integer)B); + if (((objA is string) && (objB is string)) || ((objA is SecondLife.String) && (objB is SecondLife.String))) { + iResult = string.Compare(objA.ToString(), objB.ToString()); + } else if ((objA is SecondLife.integer) && (objB is SecondLife.integer)) { + iResult = SecondLife.integer.Compare((SecondLife.integer)objA, (SecondLife.integer)objB); + } else if ((objA is SecondLife.Float) && (objB is SecondLife.Float)) { + iResult = SecondLife.Float.Compare((SecondLife.Float)objA, (SecondLife.Float)objB); + } - if ((A is SecondLife.Float) && (B is SecondLife.Float)) - return SecondLife.Float.Compare((SecondLife.Float)A, (SecondLife.Float)B); + return iResult; + } + } + #endregion - return 0; - } - } - #endregion + #region String Functions + private list ParseString(String sSource, list lSeparators, list lSpacers, bool blnKeepNulls) + { + list lResult = new list(); + int intFrom = 0; + string s = sSource; + for (int intI = 0; intI < s.Length; intI++) { + string strTmp = s.Substring(intI); + bool blnFound = false; + for (int intJ = 0; intJ < lSeparators.Count; intJ++) { + string strSeparator = lSeparators[intJ].ToString(); + if (strSeparator.Length == 0) { + continue; // check this + } + if (strTmp.IndexOf(strSeparator) == 0) { + string strBefore = s.Substring(intFrom, intI - intFrom); + if (strBefore != "" || blnKeepNulls) { + lResult.Add(strBefore); + } + intI += strSeparator.Length - 1; + intFrom = intI + 1; + blnFound = true; + break; + } + } - #region String Functions - private list ParseString(String src, list separators, list spacers, bool blnKeepNulls) - { - list result = new list(); - int intFrom = 0; - string s = src; - for (int intI = 0; intI < s.Length; intI++) - { - string strTmp = s.Substring(intI); - bool blnFound = false; - for (int intJ = 0; intJ < separators.Count; intJ++) - { - string strSeparator = separators[intJ].ToString(); - if (strSeparator.Length == 0) - continue; // check this - if (strTmp.IndexOf(strSeparator) == 0) - { - string strBefore = s.Substring(intFrom, intI - intFrom); - if (strBefore != "" || blnKeepNulls) - result.Add(strBefore); - intI += strSeparator.Length - 1; - intFrom = intI + 1; - blnFound = true; - break; - } - } + if (blnFound) { + continue; + } - if (blnFound) - continue; + for (int intJ = 0; intJ < lSpacers.Count; intJ++) { + string strSpacer = lSpacers[intJ].ToString(); + if (strSpacer.Length == 0) { + continue; // check this + } + if (strTmp.IndexOf(strSpacer) == 0) { + string strBefore = s.Substring(intFrom, intI - intFrom); + if (strBefore != "" || blnKeepNulls) { + lResult.Add(strBefore); + } + lResult.Add(strSpacer); + intI += strSpacer.Length - 1; + intFrom = intI + 1; + break; + } + } + } + string strLast = s.Substring(intFrom); + if (strLast != "" || blnKeepNulls) { + lResult.Add(strLast); + } + return lResult; + } - for (int intJ = 0; intJ < spacers.Count; intJ++) - { - string strSpacer = spacers[intJ].ToString(); - if (strSpacer.Length == 0) - continue; // check this - if (strTmp.IndexOf(strSpacer) == 0) - { - string strBefore = s.Substring(intFrom, intI - intFrom); - if (strBefore != "" || blnKeepNulls) - result.Add(strBefore); - result.Add(strSpacer); - intI += strSpacer.Length - 1; - intFrom = intI + 1; - break; - } - } - } - string strLast = s.Substring(intFrom); - if (strLast != "" || blnKeepNulls) - result.Add(strLast); - return result; - } + private string StringToBase64(string strText) + { + byte[] data = Encoding.UTF8.GetBytes(strText); + return Convert.ToBase64String(data); + } - private string StringToBase64(string str) - { - byte[] data = Encoding.UTF8.GetBytes(str); - return Convert.ToBase64String(data); - } + private string Base64ToString(string strText) + { + byte[] data = Convert.FromBase64String(strText); + int intLen = Array.IndexOf(data, (byte)0x00); + if (intLen < 0) { + intLen = data.Length; + } + return Encoding.UTF8.GetString(data, 0, intLen); + } - private string Base64ToString(string str) - { - byte[] data = Convert.FromBase64String(str); - int intLen = Array.IndexOf(data, (byte)0x00); - if (intLen < 0) - intLen = data.Length; - return Encoding.UTF8.GetString(data, 0, intLen); - } + private int LookupBase64(string s, int intIndex) + { + int intReturn = 0; + if (intIndex < s.Length) { + intReturn = FastLookupBase64[s[intIndex]]; + if (intReturn == 0) { + if (s[intIndex] != 'A') { + throw new Exception(); + } + } + } else { + intReturn = 0; + } + return intReturn; + } - private int LookupBase64(string s, int intIndex) - { - if (intIndex < s.Length) - { - int intReturn = FastLookupBase64[s[intIndex]]; - if (intReturn == 0) - if (s[intIndex] != 'A') - throw new Exception(); - return intReturn; - } - else - return 0; - } +////[SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1204:StaticElementsMustAppearBeforeInstanceElements", Justification = "Stays with other string functions.")] + private static readonly int[] FastLookupBase64 = + { // 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, // 20 + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, // 30 + 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, // 40 + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, // 50 + 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, // 60 + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 0, 0, 0, 0, 0, // 70 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 80 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 90 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // A0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // B0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // C0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // D0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // E0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // F0 + #endregion - static readonly int[] FastLookupBase64 = - {// 0 1 2 3 4 5 6 7 8 9 A B C D E F - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 10 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,62, 0, 0, 0,63, // 20 - 52,53,54,55,56,57,58,59,60,61, 0, 0, 0, 0, 0, 0, // 30 - 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14, // 40 - 15,16,17,18,19,20,21,22,23,24,25, 0, 0, 0, 0, 0, // 50 - 0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40, // 60 - 41,42,43,44,45,46,47,48,49,50,51, 0, 0, 0, 0, 0, // 70 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 80 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 90 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // A0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // B0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // C0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // D0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // E0 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // F0 - #endregion + #region Math Functions + private integer ModPow1(integer iA, integer iB, integer iC) + { + return (int)Math.Pow((int)iA, (int)iB & (int)0xffff) % (int)iC; + } - #region Math Functions + private integer ModPow2(integer iValueX, integer iValueY, integer iModulus) + { + integer iResult = 0; + if (iValueX != 0) { + integer k = 1 + (int)Math.Ceiling(Math.Log(Math.Abs(iValueX)) / 0.69314718055994530941723212145818); // ceil(log2(x)) + integer w = 32; + integer p = w / k; + integer r = iValueY / p; + integer f = iValueY % p; + integer z = 1; + if (r) { + z = ModPow2(ModPow1(iValueX, p, iModulus), r, iModulus); + } + if (f) { + z = (z * ModPow1(iValueX, f, iModulus)) % iModulus; + } + iResult = z; + } + return iResult; + } + #endregion Math Functions + private List GetListOfNumbers(list lInput) + { + List lResult = new List(); + for (int intI = 0; intI < lInput.Count; intI++) { + object objI = lInput[intI]; + string strType = objI.GetType().ToString().Replace("LSLEditor.SecondLife+", ""); + switch (strType) { + case "Float": + lResult.Add(Convert.ToDouble((Float)objI)); + break; + case "System.Int32": + lResult.Add(Convert.ToDouble((int)objI)); + break; + case "System.Double": + lResult.Add(Convert.ToDouble((double)objI)); + break; + case "integer": + lResult.Add(Convert.ToDouble((integer)objI)); + break; + default: + break; + } + } + return lResult; + } - private integer ModPow1(integer a, integer b, integer c) - { - return (int)Math.Pow((int)a, (int)b & (int)0xffff) % (int)c; - } + private double GetAverage(double[] data) + { + try { + double dblDataTotal = 0; + for (int i = 0; i < data.Length; i++) { + dblDataTotal += data[i]; + } + return SafeDivide(dblDataTotal, data.Length); + } catch (Exception) { + throw; + } + } - private integer ModPow2(integer x, integer y, integer m) - { - if (!x) return 0; - integer k = 1 + (int)Math.Ceiling(Math.Log(Math.Abs(x)) / 0.69314718055994530941723212145818);//ceil(log2(x)) - integer w = 32; - integer p = w / k; - integer r = y / p; - integer f = y % p; - integer z = 1; - if (r) z = ModPow2(ModPow1(x, p, m), r, m); - if (f) z = (z * ModPow1(x, f, m)) % m; - return z; - } + public double GetStandardDeviation(double[] dblNumbers) + { + double dblSum = 0.0, dblSumOfSqrs = 0.0; + for (int i = 0; i < dblNumbers.Length; i++) { + dblSum += dblNumbers[i]; + dblSumOfSqrs += Math.Pow(dblNumbers[i], 2); + } + double dblTopSum = (dblNumbers.Length * dblSumOfSqrs) - Math.Pow(dblSum, 2); + double dblN = (double)dblNumbers.Length; + return Math.Sqrt(dblTopSum / (dblN * (dblN - 1))); + } - #endregion Math Functions + private double SafeDivide(double dblValue1, double dblValue2) + { + double dblResult = 0; + try { + if ((dblValue1 != 0) && (dblValue2 != 0)) { + dblResult = dblValue1 / dblValue2; + } + } catch { + } + return dblResult; + } - private List GetListOfNumbers(list input) - { - List result = new List(); - for (int intI = 0; intI < input.Count; intI++) - { - object objI = input[intI]; - string strType = objI.GetType().ToString().Replace("LSLEditor.SecondLife+", ""); - switch (strType) - { - case "Float": - result.Add(Convert.ToDouble((Float)objI)); - break; - case "System.Int32": - result.Add(Convert.ToDouble((int)objI)); - break; - case "System.Double": - result.Add(Convert.ToDouble((double)objI)); - break; - case "integer": - result.Add(Convert.ToDouble((integer)objI)); - break; - default: - break; - } - } - return result; - } - - private double GetAverage(double[] data) - { - try - { - double DataTotal = 0; - for (int i = 0; i < data.Length; i++) - { - DataTotal += data[i]; - } - return SafeDivide(DataTotal, data.Length); - } - catch (Exception) { throw; } - } - - public double GetStandardDeviation(double[] num) - { - double Sum = 0.0, SumOfSqrs = 0.0; - for (int i = 0; i < num.Length; i++) - { - Sum += num[i]; - SumOfSqrs += Math.Pow(num[i], 2); - } - double topSum = (num.Length * SumOfSqrs) - (Math.Pow(Sum, 2)); - double n = (double)num.Length; - return Math.Sqrt(topSum / (n * (n - 1))); - } - - private double SafeDivide(double value1, double value2) - { - double ret = 0; - try - { - if ((value1 == 0) || (value2 == 0)) { return ret; } - ret = value1 / value2; - } - catch { } - return ret; - } - - private byte HexToInt(byte b) - { - if (b >= '0' && b <= '9') - return (byte)(b - '0'); - else if ((b >= 'a' && b <= 'f') || (b >= 'A' && b <= 'F')) - return (byte)((b & 0x5f) - 0x37); - else - return 0; // error - } - #endregion - - } + private byte HexToInt(byte b) + { + byte bResult; + if (b >= '0' && b <= '9') { + bResult = (byte)(b - '0'); + } else if ((b >= 'a' && b <= 'f') || (b >= 'A' && b <= 'F')) { + bResult = (byte)((b & 0x5f) - 0x37); + } else { + bResult = 0; // error + } + return bResult; + } + #endregion + } } diff --git a/trunk/SecondLife/String.cs b/trunk/SecondLife/String.cs index 7a12bf5..9948159 100644 --- a/trunk/SecondLife/String.cs +++ b/trunk/SecondLife/String.cs @@ -80,7 +80,7 @@ namespace LSLEditor public static explicit operator String(float i) { - return new String(string.Format("{0:0.000000}",i)); + return new String(string.Format("{0:0.000000}", i)); } public static implicit operator string(String s) @@ -100,19 +100,16 @@ namespace LSLEditor public static bool operator !=(String x, String y) { - return !(x==y); + return !(x == y); } // Public overrides public override bool Equals(object o) { - try - { + try { return (bool)(this.value == o.ToString()); - } - catch - { + } catch { return false; } } @@ -124,8 +121,9 @@ namespace LSLEditor public override string ToString() { - if (this.value == null) + if (this.value == null) { this.value = ""; + } return this.value; } diff --git a/trunk/SecondLife/integer.cs b/trunk/SecondLife/integer.cs index d93ee3a..7c6a65e 100644 --- a/trunk/SecondLife/integer.cs +++ b/trunk/SecondLife/integer.cs @@ -57,8 +57,7 @@ namespace LSLEditor { get { - if (m_value == null) - m_value = (Int32)0; + if (m_value == null) m_value = (Int32)0; return (Int32)m_value; } set @@ -137,10 +136,7 @@ namespace LSLEditor // Logical negation (NOT) operator public static integer operator !(integer x) { - if (x.value == 0) - return TRUE; - else - return FALSE; + return x.value == 0 ? TRUE : FALSE; } // Bitwise AND operator @@ -257,22 +253,21 @@ namespace LSLEditor public static int Compare(integer a, integer b) { - if (a.value < b.value) - return -1; - if (a.value > b.value) - return 1; - return 0; + int intResult = 0; + if (a.value < b.value) { + intResult = -1; + } else if (a.value > b.value) { + intResult = 1; + } + return intResult; } // Override the Object.Equals(object o) method: public override bool Equals(object o) { - try - { + try { return (bool)(this == (integer)o); - } - catch - { + } catch { return false; } } diff --git a/trunk/SecondLife/key.cs b/trunk/SecondLife/key.cs index 104ea5a..357f403 100644 --- a/trunk/SecondLife/key.cs +++ b/trunk/SecondLife/key.cs @@ -84,25 +84,18 @@ namespace LSLEditor // This is the one-and-only implicit typecasting in SecondLife public static implicit operator key(string strGuid) { - if (strGuid == null) - return new key(""); - else - return new key(strGuid); + return strGuid == null ? new key("") : new key(strGuid); } public static implicit operator key(String _strGuid) { string strGuid = _strGuid; - if (strGuid == null) - return new key(""); - else - return new key(strGuid); + return strGuid == null ? new key("") : new key(strGuid); } public override string ToString() { - if (this.guid == null) - this.guid = ""; + if (this.guid == null) this.guid = ""; return this.guid.ToString(); } @@ -129,34 +122,27 @@ namespace LSLEditor public static bool operator true(key k) { - if ((object)k == null) - return false; - if (k.guid == NULL_KEY) - return false; - if (k.guid == "") - return false; - return true; + bool bResult = true; + if ((object)k == null || k.guid == NULL_KEY || k.guid == "") { + bResult = false; + } + return bResult; } public static bool operator false(key k) { - if ((object)k == null) - return true; - if (k.guid == NULL_KEY) - return true; - if (k.guid == "") - return true; - return false; + bool bResult = false; + if ((object)k == null || k.guid == NULL_KEY || k.guid == "") { + bResult = true; + } + return bResult; } public override bool Equals(object obj) { - try - { + try { return (this == (key)obj); - } - catch - { + } catch { return false; } } diff --git a/trunk/SecondLife/list.cs b/trunk/SecondLife/list.cs index f201d26..6517108 100644 --- a/trunk/SecondLife/list.cs +++ b/trunk/SecondLife/list.cs @@ -70,94 +70,85 @@ namespace LSLEditor { get { - if (this.value == null) - this.value = new ArrayList(); + if (this.value == null) this.value = new ArrayList(); return this.value.Count; } } public void AddRange(list c) { - if(this.value == null) - this.value = new ArrayList(); + if (this.value == null) this.value = new ArrayList(); this.value.AddRange(c.ToArray()); } public void Add(object value) { - if (this.value == null) - this.value = new ArrayList(); + if (this.value == null) this.value = new ArrayList(); string strType = value.GetType().ToString(); - if (value is string) + if (value is string) { this.value.Add((String)value.ToString()); - else if (value is int) + } else if (value is int) { this.value.Add(new integer((int)value)); - else if (value is uint) + } else if (value is uint) { this.value.Add(new integer((int)(uint)value)); - else if (value is double) + } else if (value is double) { this.value.Add(new Float((double)value)); - else + } else { this.value.Add(value); + } } public object this[int index] { get { - if (this.value == null) - this.value = new ArrayList(); + if (this.value == null) this.value = new ArrayList(); return this.value[index]; } set { - if (this.value == null) - this.value = new ArrayList(); + if (this.value == null) this.value = new ArrayList(); this.value[index] = value; } } public void Insert(int index, object value) { - if (this.value == null) - this.value = new ArrayList(); + if (this.value == null) this.value = new ArrayList(); - if (this.value == null) - this.value = new ArrayList(); + if (this.value == null) this.value = new ArrayList(); string strType = value.GetType().ToString(); - if (value is string) + if (value is string) { this.value.Insert(index, (String)value.ToString()); - else if (value is int) + } else if (value is int) { this.value.Insert(index, new integer((int)value)); - else if (value is uint) + } else if (value is uint) { this.value.Insert(index, new integer((int)(uint)value)); - else if (value is double) + } else if (value is double) { this.value.Insert(index, new Float((double)value)); - else + } else { this.value.Insert(index, value); + } } public object[] ToArray() { - if (this.value == null) - this.value = new ArrayList(); + if (this.value == null) this.value = new ArrayList(); return this.value.ToArray(); } public static list operator +(list a, list b) { list l = new list(); - if((object)a != null) - l.AddRange(a); - if ((object)b != null) - l.AddRange(b); + if ((object)a != null) l.AddRange(a); + if ((object)b != null) l.AddRange(b); return l; } public static list operator +(object b, list a) { list l = new list(); - if ((object)a != null) - l.AddRange(a); + if ((object)a != null) l.AddRange(a); l.Insert(0, b); return l; } @@ -165,8 +156,7 @@ namespace LSLEditor public static list operator +(list a, object b) { list l = new list(); - if ((object)a != null) - l.AddRange(a); + if ((object)a != null) l.AddRange(a); l.Add(b); return l; } @@ -235,50 +225,50 @@ namespace LSLEditor public static integer operator ==(list l, list m) { - if (l.Count != m.Count) - return FALSE; - for (int intI = 0; intI < l.Count; intI++) - if (!l[intI].Equals(m[intI])) - return FALSE; - return TRUE; + int iResult = TRUE; + if (l.Count != m.Count) { + iResult = FALSE; + } else { + for (int intI = 0; intI < l.Count; intI++) { + if (!l[intI].Equals(m[intI])) { + iResult = FALSE; + break; + } + } + } + return iResult; } public static integer operator !=(list l, list m) { - int intDifferent=0; - if (m.Count == 0) // shortcut - return l.Count; - for (int intI = 0; intI < l.Count; intI++) - { - bool blnFound = false; - for (int intJ = 0; intJ < m.Count; intJ++) - { - if (l[intI].Equals(m[intJ])) - { - blnFound = true; - break; + int intDifferent = 0; + if (m.Count == 0) {// shortcut + intDifferent = l.Count; + } else { + for (int intI = 0; intI < l.Count; intI++) { + bool blnFound = false; + for (int intJ = 0; intJ < m.Count; intJ++) { + if (l[intI].Equals(m[intJ])) { + blnFound = true; + break; + } } + if (!blnFound) intDifferent++; } - if(!blnFound) - intDifferent++; } return intDifferent; } public static bool operator true(list x) { - if ((object)x == null) - return false; - return (x.value.Count != 0); + return (object)x == null ? false : (x.value.Count != 0); } // Definitely false operator. Returns true if the operand is // ==0, false otherwise: public static bool operator false(list x) { - if ((object)x == null) - return true; - return (x.value.Count == 0); + return (object)x == null ? true : (x.value.Count == 0); } @@ -295,19 +285,19 @@ namespace LSLEditor public string ToVerboseString() { - if (this.value == null) + if (this.value == null) { this.value = new ArrayList(); + } StringBuilder sb = new StringBuilder(); sb.Append('['); - for (int intI = 0; intI < this.value.Count; intI++) - { - if(intI>0) - sb.Append(','); - if((this.value[intI] is string) && Properties.Settings.Default.QuotesListVerbose) - sb.Append("\""+this.value[intI].ToString()+"\""); - else + for (int intI = 0; intI < this.value.Count; intI++) { + if (intI > 0) sb.Append(','); + if ((this.value[intI] is string) && Properties.Settings.Default.QuotesListVerbose) { + sb.Append("\"" + this.value[intI].ToString() + "\""); + } else { sb.Append(this.value[intI].ToString()); + } } sb.Append(']'); return sb.ToString(); @@ -315,33 +305,25 @@ namespace LSLEditor public override string ToString() { - if (this.value == null) - this.value = new ArrayList(); + if (this.value == null) this.value = new ArrayList(); StringBuilder sb = new StringBuilder(); - for (int intI = 0; intI < this.value.Count; intI++) - { - if (this.value[intI] is vector) - { + for (int intI = 0; intI < this.value.Count; intI++) { + if (this.value[intI] is vector) { vector v = (vector)this.value[intI]; sb.AppendFormat(new System.Globalization.CultureInfo("en-us"), "<{0:0.000000}, {1:0.000000}, {2:0.000000}>", (double)v.x, (double)v.y, (double)v.z); - } - else if (this.value[intI] is rotation) - { + } else if (this.value[intI] is rotation) { rotation r = (rotation)this.value[intI]; sb.AppendFormat(new System.Globalization.CultureInfo("en-us"), "<{0:0.000000}, {1:0.000000}, {2:0.000000}, {3:0.000000}>", (double)r.x, (double)r.y, (double)r.z, (double)r.s); - } - else + } else { sb.Append(this.value[intI].ToString()); + } } return sb.ToString(); } public static explicit operator String(list l) { - if ((object)l == null) - return ""; - else - return l.ToString(); + return (object)l == null ? "" : l.ToString(); } } diff --git a/trunk/SecondLife/rotation.cs b/trunk/SecondLife/rotation.cs index b024590..d64a577 100644 --- a/trunk/SecondLife/rotation.cs +++ b/trunk/SecondLife/rotation.cs @@ -56,8 +56,7 @@ namespace LSLEditor { get { - if (m_x == null) - m_x = (Float)0; + if (m_x == null) m_x = (Float)0; return (Float)m_x; } set @@ -70,8 +69,7 @@ namespace LSLEditor { get { - if (m_y == null) - m_y = (Float)0; + if (m_y == null) m_y = (Float)0; return (Float)m_y; } set @@ -84,8 +82,7 @@ namespace LSLEditor { get { - if (m_z == null) - m_z = (Float)0; + if (m_z == null) m_z = (Float)0; return (Float)m_z; } set @@ -98,8 +95,7 @@ namespace LSLEditor { get { - if (m_s == null) - m_s = (Float)0; + if (m_s == null) m_s = (Float)0; return (Float)m_s; } set @@ -137,8 +133,7 @@ namespace LSLEditor RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled); Match m = regex.Match(a); - if (m.Success) - { + if (m.Success) { this.m_x = new Float(m.Groups["x"].Value); this.m_y = new Float(m.Groups["y"].Value); this.m_z = new Float(m.Groups["z"].Value); @@ -158,10 +153,11 @@ namespace LSLEditor public static explicit operator String(rotation rot) { - if ((object)rot == null) + if ((object)rot == null) { return ZERO_ROTATION.ToString(); - else + } else { return rot.ToString(); + } } // 23 feb 2008 @@ -220,19 +216,19 @@ namespace LSLEditor public static bool operator ==(rotation r1, rotation r2) { - if ((object)r1 == null) - r1 = ZERO_ROTATION; - if ((object)r2 == null) - r2 = ZERO_ROTATION; - if (Math.Abs(r1.x - r2.x) > EqualityTolerence) - return false; - if (Math.Abs(r1.y - r2.y) > EqualityTolerence) - return false; - if (Math.Abs(r1.z - r2.z) > EqualityTolerence) - return false; - if (Math.Abs(r1.s - r2.s) > EqualityTolerence) - return false; - return true; + bool bReturn = true; + if ((object)r1 == null) r1 = ZERO_ROTATION; + if ((object)r2 == null) r2 = ZERO_ROTATION; + if (Math.Abs(r1.x - r2.x) > EqualityTolerence) { + bReturn = false; + } else if (Math.Abs(r1.y - r2.y) > EqualityTolerence) { + bReturn = false; + } else if (Math.Abs(r1.z - r2.z) > EqualityTolerence) { + bReturn = false; + } else if (Math.Abs(r1.s - r2.s) > EqualityTolerence) { + bReturn = false; + } + return bReturn; } public static bool operator !=(rotation r, rotation s) @@ -242,19 +238,23 @@ namespace LSLEditor public static bool operator true(rotation r) { - if ((object)r == null) + if ((object)r == null) { return false; - if (r.x == 0 && r.y == 0 && r.z == 0 && r.s == 1) + } + if (r.x == 0 && r.y == 0 && r.z == 0 && r.s == 1) { return false; + } return true; } public static bool operator false(rotation r) { - if ((object)r == null) + if ((object)r == null) { return true; - if (r.x == 0 && r.y == 0 && r.z == 0 && r.s == 1) + } + if (r.x == 0 && r.y == 0 && r.z == 0 && r.s == 1) { return true; + } return false; } @@ -266,12 +266,9 @@ namespace LSLEditor public override bool Equals(object obj) { - try - { + try { return (this == (rotation)obj); - } - catch - { + } catch { return false; } } diff --git a/trunk/SecondLife/vector.cs b/trunk/SecondLife/vector.cs index ecf6b30..9003ba3 100644 --- a/trunk/SecondLife/vector.cs +++ b/trunk/SecondLife/vector.cs @@ -221,18 +221,18 @@ namespace LSLEditor public static bool operator ==(vector v1, vector v2) { - if ((object)v1 == null) - v1 = ZERO_VECTOR; - if ((object)v2 == null) - v2 = ZERO_VECTOR; + if ((object)v1 == null) v1 = ZERO_VECTOR; + if ((object)v2 == null) v2 = ZERO_VECTOR; - if (Math.Abs(v1.x - v2.x) > EqualityTolerence) - return false; - if (Math.Abs(v1.y - v2.y) > EqualityTolerence) - return false; - if (Math.Abs(v1.z - v2.z) > EqualityTolerence) - return false; - return true; + bool bResult = true; + if (Math.Abs(v1.x - v2.x) > EqualityTolerence) { + bResult = false; + } else if (Math.Abs(v1.y - v2.y) > EqualityTolerence) { + bResult = false; + } else if (Math.Abs(v1.z - v2.z) > EqualityTolerence) { + bResult = false; + } + return bResult; } public static bool operator !=(vector v1, vector v2) @@ -242,19 +242,17 @@ namespace LSLEditor public static bool operator true(vector v) { - if ((object)v == null) - return false; - if (v.x == 0 && v.y == 0 && v.z == 0) + if ((object)v == null || (v.x == 0 && v.y == 0 && v.z == 0)) { return false; + } return true; } public static bool operator false(vector v) { - if ((object)v == null) - return true; - if (v.x == 0 && v.y == 0 && v.z == 0) + if ((object)v == null || (v.x == 0 && v.y == 0 && v.z == 0)) { return true; + } return false; } @@ -265,10 +263,11 @@ namespace LSLEditor public static explicit operator String(vector v) { - if ((object)v == null) + if ((object)v == null) { return ZERO_VECTOR.ToString(); - else + } else { return v.ToString(); + } } public override int GetHashCode() @@ -278,12 +277,9 @@ namespace LSLEditor public override bool Equals(object obj) { - try - { + try { return (this == (vector)obj); - } - catch - { + } catch { return false; } } diff --git a/trunk/Settings.StyleCop b/trunk/Settings.StyleCop new file mode 100644 index 0000000..fad8a5b --- /dev/null +++ b/trunk/Settings.StyleCop @@ -0,0 +1,163 @@ + + + en-GB + NoMerge + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + False + + + + + True + + + + + True + + + + + False + + + + + True + + + + + True + + + + + True + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + + + + + + False + + + + + False + + + + + + + + + + False + + + + + + + + + + False + + + + + False + + + + + False + + + + + False + + + + + + + \ No newline at end of file diff --git a/trunk/SimulatorConsole.cs b/trunk/SimulatorConsole.cs index 1eebf8b..b1c9df0 100644 --- a/trunk/SimulatorConsole.cs +++ b/trunk/SimulatorConsole.cs @@ -71,10 +71,12 @@ namespace LSLEditor this.History = new List(); this.intHistory = 0; - if (Properties.Settings.Default.SimulatorLocation != Point.Empty) + if (Properties.Settings.Default.SimulatorLocation != Point.Empty) { this.Location = Properties.Settings.Default.SimulatorLocation; - if (Properties.Settings.Default.SimulatorSize != Size.Empty) + } + if (Properties.Settings.Default.SimulatorSize != Size.Empty) { this.Size = Properties.Settings.Default.SimulatorSize; + } this.Clear(); @@ -86,11 +88,11 @@ namespace LSLEditor this.LocationChanged += new EventHandler(SimulatorConsole_LocationChanged); - foreach (Form form in this.Children) - { + foreach (Form form in this.Children) { EditForm editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) + if (editForm == null || editForm.IsDisposed) { continue; + } editForm.ChatHandler = chathandler; editForm.MessageLinkedHandler = messagelinkedhandler; editForm.StartCompiler(); @@ -99,11 +101,11 @@ namespace LSLEditor public void Stop() { - foreach (Form form in this.Children) - { + foreach (Form form in this.Children) { EditForm editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) + if (editForm == null || editForm.IsDisposed) { continue; + } editForm.StopCompiler(); } } @@ -118,24 +120,26 @@ namespace LSLEditor this.Listen(e); // talk only to the owner - if (e.how == CommunicationType.OwnerSay) - return; + if (e.how != CommunicationType.OwnerSay) { + foreach (Form form in this.Children) { + EditForm editForm = form as EditForm; + if (editForm == null || editForm.IsDisposed) { + continue; + } - foreach (Form form in this.Children) - { - EditForm editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) - continue; + if (editForm.runtime == null) { + continue; + } - if (editForm.runtime == null) - continue; + if (editForm.runtime.SecondLifeHost == null) { + continue; + } - if (editForm.runtime.SecondLifeHost == null) - continue; - - // prevent loops loops loops loops, dont talk to myself - if (sender != editForm.runtime.SecondLifeHost) - editForm.runtime.SecondLifeHost.Listen(e); + // prevent loops loops loops loops, dont talk to myself + if (sender != editForm.runtime.SecondLifeHost) { + editForm.runtime.SecondLifeHost.Listen(e); + } + } } } @@ -148,9 +152,8 @@ namespace LSLEditor List list; - int intLinkNum = e.linknum; - switch (intLinkNum) - { + int intLinkNum = e.iLinkIndex; + switch (intLinkNum) { case 1: // LINK_ROOT , root prim in linked set (but not in a single prim, which is 0) list = this.solutionExplorer.GetScripts(RootObjectGuid, false); break; @@ -160,8 +163,7 @@ namespace LSLEditor case -2: // LINK_ALL_OTHERS , all other prims in object besides prim function is in list = this.solutionExplorer.GetScripts(RootObjectGuid, true); // remove scripts in prim itself, and below - foreach (Guid guid in this.solutionExplorer.GetScripts(ObjectGuid, true)) - { + foreach (Guid guid in this.solutionExplorer.GetScripts(ObjectGuid, true)) { if (list.Contains(guid)) list.Remove(guid); } @@ -169,19 +171,18 @@ namespace LSLEditor case -3: // LINK_ALL_CHILDREN , all child prims in object list = this.solutionExplorer.GetScripts(RootObjectGuid, true); // remove root itself - foreach (Guid guid in this.solutionExplorer.GetScripts(RootObjectGuid, false)) - { + foreach (Guid guid in this.solutionExplorer.GetScripts(RootObjectGuid, false)) { if (list.Contains(guid)) list.Remove(guid); } break; - case -4: // LINK_THIS - /* - * From SL Wiki: "Causes the script to act only upon the prim the prim the script is in." - * This means LINK_THIS, links to every script in the prim, not just the caller. - * @author = MrSoundless - * @date = 28 April 2011 - */ + case -4: // LINK_THIS + /* + * From SL Wiki: "Causes the script to act only upon the prim the prim the script is in." + * This means LINK_THIS, links to every script in the prim, not just the caller. + * @author = MrSoundless + * @date = 28 April 2011 + */ list = new List(); //list.Add(secondLifeHostSender.guid); // 4 feb 2008 list = this.solutionExplorer.GetScripts(ObjectGuid, true); // 28 april 2011 @@ -193,36 +194,41 @@ namespace LSLEditor } // only send message to running scripts in list - foreach (Form form in this.Children) - { + foreach (Form form in this.Children) { EditForm editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) + if (editForm == null || editForm.IsDisposed) { continue; + } - if (editForm.runtime == null) + if (editForm.runtime == null) { continue; + } - if (editForm.runtime.SecondLifeHost == null) + if (editForm.runtime.SecondLifeHost == null) { continue; + } - if(list.Contains(editForm.guid)) + if (list.Contains(editForm.guid)) { editForm.runtime.SecondLifeHost.LinkMessage(e); + } } } private void SimulatorConsole_OnControl(object sender, EventArgs e) { - foreach (Form form in this.Children) - { + foreach (Form form in this.Children) { EditForm editForm = form as EditForm; - if (editForm == null || editForm.IsDisposed) + if (editForm == null || editForm.IsDisposed) { continue; + } - if (editForm.runtime == null) + if (editForm.runtime == null) { continue; + } - if (editForm.runtime.SecondLifeHost == null) + if (editForm.runtime.SecondLifeHost == null) { continue; + } editForm.runtime.SecondLifeHost.SendControl((Keys)sender); } @@ -231,47 +237,48 @@ namespace LSLEditor private delegate void AppendTextDelegate(string strLine); public void TalkToSimulatorConsole(string strLine) { - if (this.textBox2.InvokeRequired) - { + if (this.textBox2.InvokeRequired) { this.textBox2.Invoke(new AppendTextDelegate(TalkToSimulatorConsole), new object[] { strLine }); - } - else - { + } else { this.textBox2.AppendText(strLine.Replace("\n", "\r\n") + "\r\n"); } } private void Chat(int channel, string name, SecondLife.key id, string message, CommunicationType how) { - if (OnChat != null) + if (OnChat != null) { OnChat(this, new SecondLifeHostChatEventArgs(channel, name, id, message, how)); + } } public void Listen(SecondLifeHostChatEventArgs e) { // Translate the incomming messages a bit so it looks like SL. string strHow = ": "; - if (e.how == CommunicationType.Shout) + if (e.how == CommunicationType.Shout) { strHow = " shout: "; + } - if (e.how == CommunicationType.Whisper) + if (e.how == CommunicationType.Whisper) { strHow = " whispers: "; + } string strWho = e.name; string strMessage = e.message; - if (e.name == Properties.Settings.Default.AvatarName) + if (e.name == Properties.Settings.Default.AvatarName) { strWho = "You"; + } - if (e.message.ToString().StartsWith("/me")) - { + if (e.message.ToString().StartsWith("/me")) { strWho = e.name; strHow = " "; strMessage = e.message.ToString().Substring(3).Trim(); } - if (e.channel == 0) + if (e.channel == 0) { TalkToSimulatorConsole(strWho + strHow + strMessage); + } } private void Speak(CommunicationType how) @@ -283,35 +290,26 @@ namespace LSLEditor intHistory = History.Count; - if (strMessage == "") - return; - - if (strMessage[0] == '/') - { - if (strMessage.StartsWith("/me")) - { - // do nothing - } - else - { - string strChannel = ""; - for (int intI = 1; intI < strMessage.Length; intI++) - { - if (strMessage[intI] >= '0' && strMessage[intI] <= '9') - { - strChannel += strMessage[intI]; - if (intI < 10) - continue; + if (strMessage != ""){ + if (strMessage[0] == '/') { + if (strMessage.StartsWith("/me")) { + // do nothing + } else { + string strChannel = ""; + for (int intI = 1; intI < strMessage.Length; intI++) { + if (strMessage[intI] >= '0' && strMessage[intI] <= '9') { + strChannel += strMessage[intI]; + if (intI < 10) { + continue; + } + } + try { + intChannel = Convert.ToInt32(strChannel); + strMessage = strMessage.Substring(intI).Trim(); + } catch { + } + break; } - try - { - intChannel = Convert.ToInt32(strChannel); - strMessage = strMessage.Substring(intI).Trim(); - } - catch - { - } - break; } } } @@ -336,13 +334,16 @@ namespace LSLEditor private void ScrollChat(KeyEventArgs e) { e.SuppressKeyPress = true; - if (e.KeyCode == Keys.Up) + if (e.KeyCode == Keys.Up) { intHistory = Math.Max(0, intHistory - 1); - if (e.KeyCode == Keys.Down) + } + if (e.KeyCode == Keys.Down) { intHistory = Math.Min(History.Count, intHistory + 1); + } this.textBox1.Clear(); - if (intHistory != History.Count) + if (intHistory != History.Count) { this.textBox1.AppendText(History[intHistory]); + } } private void textBox1_KeyDown(object sender, KeyEventArgs e) @@ -350,23 +351,16 @@ namespace LSLEditor this.buttonSay.Enabled = true; this.buttonShout.Enabled = true; - if (e.KeyCode == Keys.Return) - { + if (e.KeyCode == Keys.Return) { Speak(CommunicationType.Say); e.SuppressKeyPress = true; } - if (e.Control && (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down)) - { + if (e.Control && (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down)) { ScrollChat(e); - } - else if (e.KeyCode == Keys.Down || - e.KeyCode == Keys.Left || - e.KeyCode == Keys.Right || - e.KeyCode == Keys.Up - ) - { - if (OnControl != null) + } else if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Left || e.KeyCode == Keys.Right || e.KeyCode == Keys.Up ) { + if (OnControl != null) { OnControl(e.KeyCode, new EventArgs()); + } e.SuppressKeyPress = true; } } @@ -391,8 +385,9 @@ namespace LSLEditor private void textBox2_KeyDown(object sender, KeyEventArgs e) { - if (e.Control && e.KeyCode == Keys.A) + if (e.Control && e.KeyCode == Keys.A) { this.textBox2.SelectAll(); + } } private void copyToolStripMenuItem_Click(object sender, EventArgs e) diff --git a/trunk/Solution/SolutionExplorer.cs b/trunk/Solution/SolutionExplorer.cs index 9a1125c..eea352f 100644 --- a/trunk/Solution/SolutionExplorer.cs +++ b/trunk/Solution/SolutionExplorer.cs @@ -1992,28 +1992,28 @@ namespace LSLEditor.Solution return typeSL; } - private delegate void DelegateRemoveInventory(Guid guid, SecondLife.String name); - public void RemoveInventory(Guid guid, SecondLife.String name) - { - if (this.treeView1.InvokeRequired) - { - this.treeView1.Invoke(new DelegateRemoveInventory(RemoveInventory), new object[] { guid, name }); - return; - } + private delegate void DelegateRemoveInventory(Guid guid, SecondLife.String name); + public void RemoveInventory(Guid guid, SecondLife.String name) + { + if (this.treeView1.InvokeRequired) + { + this.treeView1.Invoke(new DelegateRemoveInventory(RemoveInventory), new object[] { guid, name }); + return; + } - TreeNode treeNode = FindGuid(this.treeView1.TopNode, guid); - if (treeNode == null) - return; - TreeNode parent = treeNode.Parent; - for (int i = 0; i < parent.Nodes.Count; ++i) - { - if (parent.Nodes[i].Text == name) - { - parent.Nodes.RemoveAt(i); - return; - } - } - } + TreeNode treeNode = FindGuid(this.treeView1.TopNode, guid); + if (treeNode == null) + return; + TreeNode parent = treeNode.Parent; + for (int i = 0; i < parent.Nodes.Count; ++i) + { + if (parent.Nodes[i].Text == name) + { + parent.Nodes.RemoveAt(i); + return; + } + } + } private delegate string DelegateGetInventoryName(Guid guid, int type, int number); public string GetInventoryName(Guid guid, int type, int number) { @@ -2441,7 +2441,7 @@ namespace LSLEditor.Solution break; } } - } + } public class NodeSorter : System.Collections.IComparer { public int Compare(object x, object y) diff --git a/trunk/UpdateApplicationForm.cs b/trunk/UpdateApplicationForm.cs index 6f6c595..16c53a5 100644 --- a/trunk/UpdateApplicationForm.cs +++ b/trunk/UpdateApplicationForm.cs @@ -112,10 +112,11 @@ namespace LSLEditor { Uri url; string strVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); - if (Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().Location).Contains("beta")) + if (Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().Location).Contains("beta")) { url = new Uri(Properties.Settings.Default.UpdateManifest + "?beta-" + strVersion); - else + } else { url = new Uri(Properties.Settings.Default.UpdateManifest + "?" + strVersion); + } manifest = new WebClient(); manifest.DownloadStringCompleted += new DownloadStringCompletedEventHandler(manifest_DownloadCompleted); @@ -130,28 +131,26 @@ namespace LSLEditor public void CheckForUpdate(bool blnForce) { - if (!blnForce) - { - if (Properties.Settings.Default.DeleteOldFiles) + if (!blnForce) { + if (Properties.Settings.Default.DeleteOldFiles) { DeleteOldFile(); + } DateTime dateTime = Properties.Settings.Default.CheckDate; - if (Properties.Settings.Default.CheckEveryDay) - { + if (Properties.Settings.Default.CheckEveryDay) { TimeSpan lastUpdate = DateTime.Now - dateTime; - if (lastUpdate.TotalDays >= 1.0) + if (lastUpdate.TotalDays >= 1.0) { blnForce = true; - } - else if (Properties.Settings.Default.CheckEveryWeek) - { + } + } else if (Properties.Settings.Default.CheckEveryWeek) { TimeSpan lastUpdate = DateTime.Now - dateTime; - if(lastUpdate.TotalDays >= 7.0) + if (lastUpdate.TotalDays >= 7.0) { blnForce = true; + } } } - if (blnForce) - { + if (blnForce) { Properties.Settings.Default.CheckDate = DateTime.Now; Properties.Settings.Default.Save(); // save also all settings @@ -164,7 +163,7 @@ namespace LSLEditor if (e.Error != null) return; - versionInfo bzip = new versionInfo(); + versionInfo bzip = new versionInfo(); versionInfo gzip = new versionInfo(); versionInfo wzip = new versionInfo(); @@ -176,19 +175,13 @@ namespace LSLEditor string strHelpHashMe = ""; string strHelpFile = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Properties.Settings.Default.HelpOfflineFile); - if (File.Exists(strHelpFile)) - { + if (File.Exists(strHelpFile)) { strHelpHashMe = Decompressor.MD5Verify.ComputeHash(strHelpFile); - } - else - { + } else { // help file does not exist - if (Properties.Settings.Default.HelpOffline || blnOnlyHelpFile) - { + if (Properties.Settings.Default.HelpOffline || blnOnlyHelpFile) { strHelpHashMe = "*"; // force new update - } - else - { + } else { strHelpHashMe = ""; // no update this.labelHelpFile.Visible = false; this.labelHelpversionString.Visible = false; @@ -196,22 +189,22 @@ namespace LSLEditor } StringReader sr = new StringReader(e.Result); - for (int intI = 0; intI < 255; intI++) - { + for (int intI = 0; intI < 255; intI++) { string strLine = sr.ReadLine(); - if (strLine == null) + if (strLine == null) { break; - - int intSplit = strLine.IndexOf("="); - if (intSplit < 0) + } + + int intSplit = strLine.IndexOf("="); + if (intSplit < 0) { continue; - - string strName = strLine.Substring(0, intSplit); + } + + string strName = strLine.Substring(0, intSplit); string strValue = strLine.Substring(intSplit + 1); //All hashes are of the uncompressed file. However, different archives may contain different versions. - switch (strName) - { + switch (strName) { case "Version": case "BZipVersion": bzip = new versionInfo(strValue); @@ -224,7 +217,7 @@ namespace LSLEditor case "BZipUrl": bzip.uri = strValue; break; - case "GZipVersion": + case "GZipVersion": gzip = new versionInfo(strValue); break; case "GZipHash": @@ -242,7 +235,7 @@ namespace LSLEditor case "ZipUrl": wzip.uri = strValue; break; - case "HelpHash": + case "HelpHash": strHelpHashWeb = strValue; break; case "HelpUrl2": @@ -274,46 +267,39 @@ namespace LSLEditor this.labelOurVersionString.Text = current.version.ToString(); this.labelLatestVersionString.Text = web.version.ToString(); - if (String.IsNullOrEmpty(web.uri) || (web.version.CompareTo(current.version) != 1)) - { + if (String.IsNullOrEmpty(web.uri) || (web.version.CompareTo(current.version) != 1)) { return; } - if (strHelpHashMe == "") + if (strHelpHashMe == "") { strHelpHashMe = strHelpHashWeb; + } - if (strHelpHashMe == strHelpHashWeb) - { + if (strHelpHashMe == strHelpHashWeb) { this.labelHelpversionString.Text = "Up to date"; this.strHelpUrl = null; - } - else - { + } else { this.labelHelpversionString.Text = "Out of date"; } - if (current.hash == web.hash) - { + if (current.hash == web.hash) { this.strDownloadUrl = null; - } - else - { + } else { this.strDownloadUrl = web.uri; } - if (this.blnOnlyHelpFile) - { + if (this.blnOnlyHelpFile) { this.strDownloadUrl = null; this.labelLatestVersion.Visible = false; this.labelLatestVersionString.Visible = false; } - if (this.strHelpUrl != null || this.strDownloadUrl != null) - { + if (this.strHelpUrl != null || this.strDownloadUrl != null) { this.buttonUpdate.Enabled = true; - if (OnUpdateAvailable != null) + if (OnUpdateAvailable != null) { OnUpdateAvailable(this, null); + } } } @@ -330,85 +316,85 @@ namespace LSLEditor private void Download() { - if (strHelpUrl != null) + if (strHelpUrl != null) { DownloadHelpFile(); // starts also DownloadProgram when finished - else + } else { DownloadProgram(); + } } private void DownloadHelpFile() { - if (strHelpUrl == null) - return; + if (strHelpUrl != null) { + Uri url = new Uri(strHelpUrl); - Uri url = new Uri(strHelpUrl); + client = new WebClient(); - client = new WebClient(); + if (this.strHelpReferer != null) { + client.Headers.Add("Referer", strHelpReferer); + } - if(this.strHelpReferer != null) - client.Headers.Add("Referer", strHelpReferer); + client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadHelpFileCompleted); + client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged); - client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadHelpFileCompleted); - client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged); + string strCurrentFile = Assembly.GetExecutingAssembly().Location; + string strDirectory = Path.GetDirectoryName(strCurrentFile); + string strNewFile = Path.Combine(strDirectory, Properties.Settings.Default.HelpOfflineFile); - string strCurrentFile = Assembly.GetExecutingAssembly().Location; - string strDirectory = Path.GetDirectoryName(strCurrentFile); - string strNewFile = Path.Combine(strDirectory, Properties.Settings.Default.HelpOfflineFile); + if (File.Exists(strNewFile)) { + File.Delete(strNewFile); + } - if (File.Exists(strNewFile)) - File.Delete(strNewFile); - - client.DownloadFileAsync(url, strNewFile); + client.DownloadFileAsync(url, strNewFile); + } } void client_DownloadHelpFileCompleted(object sender, AsyncCompletedEventArgs e) { - try - { - if (e.Error != null) + try { + if (e.Error != null) { throw e.Error; + } string strCurrentFile = Assembly.GetExecutingAssembly().Location; string strDirectory = Path.GetDirectoryName(strCurrentFile); string strNewFile = Path.Combine(strDirectory, Properties.Settings.Default.HelpOfflineFile); string strComputedHash = Decompressor.MD5Verify.ComputeHash(strNewFile); - if (strComputedHash != strHelpHashWeb) - { + if (strComputedHash != strHelpHashWeb) { this.buttonUpdate.Enabled = true; throw new Exception("MD5 Hash of HelpFile not correct, try downloading again!"); } - if (this.strDownloadUrl != null) + if (this.strDownloadUrl != null) { DownloadProgram(); - else + } else { this.Close(); - } - catch (Exception exception) - { + } + } catch (Exception exception) { MessageBox.Show(exception.Message, "Oops...", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void DownloadProgram() { - if (strDownloadUrl == null) - return; + if (strDownloadUrl != null) { + Uri url = new Uri(strDownloadUrl); - Uri url = new Uri(strDownloadUrl); + client = new WebClient(); + client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted); + client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged); - client = new WebClient(); - client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted); - client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged); + string strCurrentFile = Assembly.GetExecutingAssembly().Location; + string strDirectory = Path.GetDirectoryName(strCurrentFile); + string strNewFileName = Path.GetFileName(strDownloadUrl); + string strNewFile = Path.Combine(strDirectory, strNewFileName); - string strCurrentFile = Assembly.GetExecutingAssembly().Location; - string strDirectory = Path.GetDirectoryName(strCurrentFile); - string strNewFileName = Path.GetFileName(strDownloadUrl); - string strNewFile = Path.Combine(strDirectory, strNewFileName); + if (File.Exists(strNewFile)) { + File.Delete(strNewFile); + } - if (File.Exists(strNewFile)) - File.Delete(strNewFile); - - client.DownloadFileAsync(url, strNewFile, strNewFileName); + client.DownloadFileAsync(url, strNewFile, strNewFileName); + } } void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) @@ -418,10 +404,10 @@ namespace LSLEditor void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) { - try - { - if (e.Error != null) + try { + if (e.Error != null) { throw e.Error; + } string strNewFileName = e.UserState.ToString(); @@ -433,8 +419,7 @@ namespace LSLEditor string strOldFile = Path.Combine(strDirectory, "_LSLEditor.exe"); string strExtension = Path.GetExtension(strNewFileName); - switch (strExtension) - { + switch (strExtension) { case ".bz2": Decompressor.BZip2.Decompress(File.OpenRead(strZipFile), File.Create(strNewFile)); break; @@ -449,16 +434,16 @@ namespace LSLEditor break; } string strComputedHash = Decompressor.MD5Verify.ComputeHash(strNewFile); - if (strComputedHash == strHashWeb) - { + if (strComputedHash == strHashWeb) { if (File.Exists(strOldFile)) File.Delete(strOldFile); File.Move(strCurrentFile, strOldFile); File.Move(strNewFile, strCurrentFile); - if (File.Exists(strZipFile)) + if (File.Exists(strZipFile)) { File.Delete(strZipFile); + } // save all there is pending (if any) Properties.Settings.Default.Save(); @@ -466,32 +451,28 @@ namespace LSLEditor System.Diagnostics.Process.Start(strCurrentFile); Environment.Exit(0); - } - else - { + } else { this.buttonUpdate.Enabled = true; throw new Exception("MD5 Hash not correct, try downloading again!"); } - } - catch (Exception exception) - { + } catch (Exception exception) { MessageBox.Show(exception.Message, "Oops...", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void UpdateApplicationForm_FormClosing(object sender, FormClosingEventArgs e) { - if (client != null) - { - if (client.IsBusy) + if (client != null) { + if (client.IsBusy) { client.CancelAsync(); + } client.Dispose(); } client = null; - if (manifest != null) - { - if (manifest.IsBusy) + if (manifest != null) { + if (manifest.IsBusy) { manifest.CancelAsync(); + } manifest.Dispose(); } manifest = null; @@ -502,9 +483,10 @@ namespace LSLEditor string strCurrentFile = Assembly.GetExecutingAssembly().Location; string strDirectory = Path.GetDirectoryName(strCurrentFile); string strOldFile = Path.Combine(strDirectory, "_LSLEditor.exe"); - if (File.Exists(strOldFile)) + if (File.Exists(strOldFile)) { File.Delete(strOldFile); + } } } -} \ No newline at end of file +} diff --git a/trunk/llDialogForm.cs b/trunk/llDialogForm.cs index 7adf465..aaaf176 100644 --- a/trunk/llDialogForm.cs +++ b/trunk/llDialogForm.cs @@ -58,7 +58,7 @@ namespace LSLEditor private string OwnerName; private SecondLife.key id; - public llDialogForm(SecondLifeHost host, SecondLife.String strObjectName, SecondLife.key id, SecondLife.String strOwner, SecondLife.String strMessage, SecondLife.list buttons, SecondLife.integer intChannel) + public llDialogForm(SecondLifeHost host, SecondLife.String strObjectName, SecondLife.key id, SecondLife.String strOwner, SecondLife.String strMessage, SecondLife.list buttons, SecondLife.integer intChannel) { InitializeComponent(); @@ -68,21 +68,19 @@ namespace LSLEditor this.ObjectName = strObjectName; this.id = id; - for (int intI = 1; intI <= 12; intI++) - { + for (int intI = 1; intI <= 12; intI++) { Button button = this.Controls["Button" + intI] as Button; button.Visible = false; } - this.label1.Text = strOwner + "'s '" + strObjectName +"'"; - this.label2.Text = strMessage.ToString().Replace("&","&&"); + this.label1.Text = strOwner + "'s '" + strObjectName + "'"; + this.label2.Text = strMessage.ToString().Replace("&", "&&"); - for (int intI = 1; intI <= buttons.Count; intI++) - { + for (int intI = 1; intI <= buttons.Count; intI++) { Button button = this.Controls["Button" + intI] as Button; if (button == null) continue; - button.Text = buttons[intI - 1].ToString().Replace("&","&&"); + button.Text = buttons[intI - 1].ToString().Replace("&", "&&"); button.Visible = true; button.Click += new EventHandler(button_Click); } @@ -91,10 +89,10 @@ namespace LSLEditor void button_Click(object sender, EventArgs e) { Button button = sender as Button; - if (button == null) - return; - host.Chat(this,this.Channel, this.OwnerName, this.id, button.Text.Replace("&&","&"), CommunicationType.Say); - this.Close(); + if (button != null) { + host.Chat(this, this.Channel, this.OwnerName, this.id, button.Text.Replace("&&", "&"), CommunicationType.Say); + this.Close(); + } } private void button13_Click(object sender, EventArgs e) @@ -102,4 +100,4 @@ namespace LSLEditor this.Close(); } } -} \ No newline at end of file +} diff --git a/trunk/llTextBoxForm.cs b/trunk/llTextBoxForm.cs index 4ee700f..470dfdb 100644 --- a/trunk/llTextBoxForm.cs +++ b/trunk/llTextBoxForm.cs @@ -12,40 +12,39 @@ using System.Windows.Forms; namespace LSLEditor { - public partial class llTextBoxForm : Form - { - private SecondLifeHost host; - private int Channel; - private string ObjectName; - private string OwnerName; - private SecondLife.key id; + public partial class llTextBoxForm : Form + { + private SecondLifeHost host; + private int Channel; + private string ObjectName; + private string OwnerName; + private SecondLife.key id; - public llTextBoxForm(SecondLifeHost host, SecondLife.String strObjectName, SecondLife.key id, SecondLife.String strOwner, SecondLife.String strMessage, SecondLife.integer intChannel) - { - InitializeComponent(); + public llTextBoxForm(SecondLifeHost host, SecondLife.String strObjectName, SecondLife.key id, SecondLife.String strOwner, SecondLife.String strMessage, SecondLife.integer intChannel) + { + InitializeComponent(); - this.host = host; - this.Channel = intChannel; - this.OwnerName = strOwner; - this.ObjectName = strObjectName; - this.id = id; + this.host = host; + this.Channel = intChannel; + this.OwnerName = strOwner; + this.ObjectName = strObjectName; + this.id = id; - this.label1.Text = strMessage.ToString().Replace("&", "&&"); - } + this.label1.Text = strMessage.ToString().Replace("&", "&&"); + } - private void buttonIgnore_Click(object sender, EventArgs e) - { - this.Close(); - } - - private void buttonOK_Click(object sender, EventArgs e) - { - Button button = sender as Button; - if (button == null) - return; - - host.Chat(this,this.Channel, this.OwnerName, this.id, textBox.Text.Replace("&&","&"), CommunicationType.Say); + private void buttonIgnore_Click(object sender, EventArgs e) + { this.Close(); - } - } -} \ No newline at end of file + } + + private void buttonOK_Click(object sender, EventArgs e) + { + Button button = sender as Button; + if (button != null) { + host.Chat(this, this.Channel, this.OwnerName, this.id, textBox.Text.Replace("&&", "&"), CommunicationType.Say); + this.Close(); + } + } + } +} diff --git a/trunk/lsleditor.csproj b/trunk/lsleditor.csproj index 4294ae0..e30729e 100644 --- a/trunk/lsleditor.csproj +++ b/trunk/lsleditor.csproj @@ -1,4 +1,4 @@ - + Local @@ -125,274 +125,471 @@ About.cs + false Form + true BugReportForm.cs + true + + + true + + + true + + + true + + + true + + + true - - - - - Component + true + + + true - Form + true + + + true + + + true + + + true + + + true - - - - UserControl + true UserControl + true Component + true + + + true - Component + true Component + true Component + true Component + true Component + true Component + true Component + true Component + true + + + true + + + true - - Component + true Component + true Component + true + + + true - Form + true Component + true + + + true - Form + true + + + true + + + true + + + true + + + true + + + true - - - - - Component + true + + + true + + + true + + + true + + + true + + + true + + + true - - - - - - Component + true + + + true + + + true - - Component + true Component + true Component + true + + + true + + + true + + + true - - - - - - - - - - + + true + + + true + + + true + + + true + + + true + + + true + + + true + Form + true llTextBoxForm.cs + true + + + true + + + true + + + true + + + true + + + true - - - - - Form + true GuidProperty.cs + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true - - - - - - - - - Form + true NewProject.cs + true Form + true PermissionsForm.cs + true Form + true GotoWindow.cs + true UserControl + true Numbered.cs + true Form + true TooltipWindow.cs + true Component + true GListBox.cs + true Form + true GListBoxWindow.cs + true UserControl + true RichLabel.cs + true Form + true llDialogForm.cs + true + + + true + + + true - - Form + true Browser.cs + true + + + true - Form + true EditForm.cs + true Form + true FindWindow.cs + true Form + true LSLEditorForm.cs + true True True Resources.resx + true True True Settings.settings + true + + + true - Component + true + + + true - UserControl + true NumberedTextBoxUC.cs + true UserControl + true RuntimeConsole.cs + true + + + true - Code + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true - - - - - - - Component + true Code + true Designer @@ -400,139 +597,187 @@ Code + false Component + true TabControlExtended.cs + true Form + true SimulatorConsole.cs + true Form + true SolutionExplorer.cs + true Form + true SvnAguments.cs + true + + + true + + + true - - Form + true SyntaxError.cs + true UserControl + true EnvironmentPlugins.cs + true UserControl + true RuntimeGeneral.cs + true UserControl + true TextEditorCodeCompletion.cs + true UserControl + true EnvironmentBrowser.cs + true UserControl + true ProjectSettings.cs + true UserControl + true RuntimeInternal.cs + true UserControl + true RuntimeSmtp.cs + true UserControl + true RuntimeExternal.cs + true UserControl + true EnvironmentGeneral.cs + true UserControl + true TextEditorFontColors.cs + true UserControl + true EnvironmentHelp.cs + true UserControl + true TextEditorGeneral.cs + true Form + true ToolsOptions.cs + true UserControl + true VersionControlGeneral.cs + true Form + true ToolWindow.cs + true Form + true UpdateApplicationForm.cs + true True True Reference.map + true Designer @@ -871,6 +1116,7 @@ + "$(FrameworkSDKDir)Bin\rc.exe" /r "$(ProjectDir)$(TargetName).rc" $(SolutionDir)\..\build\AssemblyRevisionIncrementer.exe /t="$(SolutionDir)\Properties\AssemblyInfo.cs"