lotrointerface.com
Search Downloads

LoTROInterface SVN LotROPluginMaker

[/] [trunk/] [Form1.cs] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 Digital_Utopia-2894
using System;
2 Digital_Utopia-2894
using System.Collections.Generic;
3 Digital_Utopia-2894
using System.ComponentModel;
4 Digital_Utopia-2894
using System.Data;
5 Digital_Utopia-2894
using System.Drawing;
6 Digital_Utopia-2894
using System.Text;
7 Digital_Utopia-2894
using System.Windows.Forms;
8 Digital_Utopia-2894
using System.Diagnostics;
9 Digital_Utopia-2894
using System.IO;
10 Digital_Utopia-2894
using System.Xml;
11 Digital_Utopia-2894
using System.Configuration;
12 Digital_Utopia-2894
using System.Collections.Specialized;
13 Digital_Utopia-2894
using System.Globalization;
14 Digital_Utopia-2894
 
15 Digital_Utopia-2894
 
16 Digital_Utopia-2894
namespace WindowsFormsApplication1
17 Digital_Utopia-2894
{
18 Digital_Utopia-2894
    public partial class Form1 : Form
19 Digital_Utopia-2894
    {
20 Digital_Utopia-2894
        private string sfp;
21 Digital_Utopia-2894
        private string[] args = Environment.GetCommandLineArgs();
22 Digital_Utopia-2894
        private IniFile ini;
23 Digital_Utopia-2894
        public Form1()
24 Digital_Utopia-2894
        {
25 Digital_Utopia-2894
            InitializeComponent();
26 Digital_Utopia-2894
 
27 Digital_Utopia-2894
            ini = new IniFile("lpm.ini");
28 Digital_Utopia-2894
            string df = ini.IniReadValue("Main", "DefaultFolder");
29 Digital_Utopia-2894
            string au = ini.IniReadValue("Main", "Author");
30 Digital_Utopia-2894
            Debug.WriteLine(df);
31 Digital_Utopia-2894
            if (df!=null && df!="")
32 Digital_Utopia-2894
            {
33 Digital_Utopia-2894
 
34 Digital_Utopia-2894
                textBox1.Text = df;
35 Digital_Utopia-2894
                folderBrowserDialog1.SelectedPath = (df);
36 Digital_Utopia-2894
            }
37 Digital_Utopia-2894
            else
38 Digital_Utopia-2894
            {
39 Digital_Utopia-2894
                folderBrowserDialog1.SelectedPath = (Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\The Lord of the Rings Online\\Plugins\\");
40 Digital_Utopia-2894
            }
41 Digital_Utopia-2894
            if (au != "")
42 Digital_Utopia-2894
            {
43 Digital_Utopia-2894
                textBox4.Text = au;
44 Digital_Utopia-2894
            }
45 Digital_Utopia-2894
 
46 Digital_Utopia-2894
        }
47 Digital_Utopia-2894
 
48 Digital_Utopia-2894
        private void checkBox1_CheckedChanged(object sender, EventArgs e)
49 Digital_Utopia-2894
        {
50 Digital_Utopia-2894
            if (checkBox1.Checked == false)
51 Digital_Utopia-2894
            {
52 Digital_Utopia-2894
                textBox7.Enabled = false;
53 Digital_Utopia-2894
            }
54 Digital_Utopia-2894
            else
55 Digital_Utopia-2894
            {
56 Digital_Utopia-2894
                textBox7.Enabled = true;
57 Digital_Utopia-2894
            }
58 Digital_Utopia-2894
        }
59 Digital_Utopia-2894
 
60 Digital_Utopia-2894
        private void button1_Click(object sender, EventArgs e)
61 Digital_Utopia-2894
        {
62 Digital_Utopia-2894
            DialogResult result = folderBrowserDialog1.ShowDialog(); // Show the dialog and get result.
63 Digital_Utopia-2894
            if (result == DialogResult.OK)
64 Digital_Utopia-2894
            {
65 Digital_Utopia-2894
                textBox1.Text = folderBrowserDialog1.SelectedPath;
66 Digital_Utopia-2894
                this.sfp = folderBrowserDialog1.SelectedPath;
67 Digital_Utopia-2894
            }
68 Digital_Utopia-2894
 
69 Digital_Utopia-2894
        }
70 Digital_Utopia-2894
 
71 Digital_Utopia-2894
        private void textBox2_TextChanged(object sender, EventArgs e)
72 Digital_Utopia-2894
        {
73 Digital_Utopia-2894
            textBox3.Text = textBox2.Text;
74 Digital_Utopia-2894
            textBox7.Text = textBox2.Text;
75 Digital_Utopia-2894
 
76 Digital_Utopia-2894
        }
77 Digital_Utopia-2894
 
78 Digital_Utopia-2894
         private void HandleKeyPress( object sender, KeyPressEventArgs e )
79 Digital_Utopia-2894
         {
80 Digital_Utopia-2894
            if ( ( char.IsWhiteSpace( e.KeyChar ) ) )
81 Digital_Utopia-2894
            e.Handled = true;
82 Digital_Utopia-2894
         }
83 Digital_Utopia-2894
 
84 Digital_Utopia-2894
         public void doPlugin(string path, string folder, string name, string author, string version, string ep, bool doapt, string apt, bool doinit, bool doRes, bool doOpen)
85 Digital_Utopia-2894
         {
86 Digital_Utopia-2894
             string totalpath = path + "\\"+ folder;
87 Digital_Utopia-2894
             if (!Directory.Exists(totalpath))
88 Digital_Utopia-2894
             {
89 Digital_Utopia-2894
                 Directory.CreateDirectory(totalpath);
90 Digital_Utopia-2894
             }
91 Digital_Utopia-2894
 
92 Digital_Utopia-2894
             ini.IniWriteValue("Main", "DefaultFolder", path);
93 Digital_Utopia-2894
             ini.IniWriteValue("Main", "Author", author);
94 Digital_Utopia-2894
 
95 Digital_Utopia-2894
 
96 Digital_Utopia-2894
 
97 Digital_Utopia-2894
 
98 Digital_Utopia-2894
 
99 Digital_Utopia-2894
             //do plugin file
100 Digital_Utopia-2894
             XmlDocument plugdoc = new XmlDocument();
101 Digital_Utopia-2894
             string[] pArray = path.Split('\\');
102 Digital_Utopia-2894
             XmlNode plugNode = plugdoc.CreateNode(XmlNodeType.XmlDeclaration, "","");
103 Digital_Utopia-2894
             plugdoc.AppendChild(plugNode);
104 Digital_Utopia-2894
             XmlElement plugElem = plugdoc.CreateElement("", "Plugin", "");
105 Digital_Utopia-2894
             XmlElement infoElem = plugdoc.CreateElement("", "Information", "");
106 Digital_Utopia-2894
             plugElem.AppendChild(infoElem);
107 Digital_Utopia-2894
             XmlElement nameElem = plugdoc.CreateElement("", "Name", "");
108 Digital_Utopia-2894
             XmlText txtVal = plugdoc.CreateTextNode(name);
109 Digital_Utopia-2894
             nameElem.AppendChild(txtVal);
110 Digital_Utopia-2894
             infoElem.AppendChild(nameElem);
111 Digital_Utopia-2894
             XmlElement authorElem = plugdoc.CreateElement("", "Author", "");
112 Digital_Utopia-2894
             txtVal = plugdoc.CreateTextNode(author);
113 Digital_Utopia-2894
             authorElem.AppendChild(txtVal);
114 Digital_Utopia-2894
             infoElem.AppendChild(authorElem);
115 Digital_Utopia-2894
             XmlElement verElem = plugdoc.CreateElement("", "Version", "");
116 Digital_Utopia-2894
             txtVal = plugdoc.CreateTextNode(version);
117 Digital_Utopia-2894
             verElem.AppendChild(txtVal);
118 Digital_Utopia-2894
             infoElem.AppendChild(verElem);
119 Digital_Utopia-2894
             XmlElement packageElem = plugdoc.CreateElement("", "Package", "");
120 Digital_Utopia-2894
             txtVal = plugdoc.CreateTextNode(pArray[pArray.Length-1]+"."+folder+"."+ep);
121 Digital_Utopia-2894
             packageElem.AppendChild(txtVal);
122 Digital_Utopia-2894
             plugElem.AppendChild(packageElem);
123 Digital_Utopia-2894
             if (doapt == true)
124 Digital_Utopia-2894
             {
125 Digital_Utopia-2894
                 XmlElement configElem = plugdoc.CreateElement("", "Configuration", "");
126 Digital_Utopia-2894
                 configElem.SetAttribute("Apartment", apt);
127 Digital_Utopia-2894
 
128 Digital_Utopia-2894
                 plugElem.AppendChild(configElem);
129 Digital_Utopia-2894
             }
130 Digital_Utopia-2894
 
131 Digital_Utopia-2894
             plugdoc.AppendChild(plugElem);
132 Digital_Utopia-2894
             plugdoc.Save(path + "\\"+ name + ".plugin");
133 Digital_Utopia-2894
             //do ep file
134 Digital_Utopia-2894
 
135 Digital_Utopia-2894
             TextWriter tw = new StreamWriter(totalpath + "\\"+ep + ".lua");
136 Digital_Utopia-2894
             tw.WriteLine("import \"Turbine\";");
137 Digital_Utopia-2894
             tw.WriteLine("import \"Turbine.UI\";");
138 Digital_Utopia-2894
             tw.WriteLine("import \"Turbine.UI.Lotro\";");
139 Digital_Utopia-2894
             tw.WriteLine("import \"Turbine.UI.Gameplay\";");
140 Digital_Utopia-2894
             tw.WriteLine("");
141 Digital_Utopia-2894
             tw.WriteLine("--Plugin Starts Here");
142 Digital_Utopia-2894
             tw.Close();
143 Digital_Utopia-2894
 
144 Digital_Utopia-2894
             //if init
145 Digital_Utopia-2894
 
146 Digital_Utopia-2894
             if (doinit == true)
147 Digital_Utopia-2894
             {
148 Digital_Utopia-2894
                 tw = new StreamWriter(totalpath + "\\__init__.lua");
149 Digital_Utopia-2894
                 tw.Close();
150 Digital_Utopia-2894
             }
151 Digital_Utopia-2894
 
152 Digital_Utopia-2894
             if (doRes == true)
153 Digital_Utopia-2894
             {
154 Digital_Utopia-2894
                 Directory.CreateDirectory(totalpath+"\\Resources");
155 Digital_Utopia-2894
             }
156 Digital_Utopia-2894
 
157 Digital_Utopia-2894
             if (doOpen == true)
158 Digital_Utopia-2894
             {
159 Digital_Utopia-2894
                 if (doinit == true)
160 Digital_Utopia-2894
                 {
161 Digital_Utopia-2894
                     Process.Start(totalpath + "\\__init__.lua");
162 Digital_Utopia-2894
                 }
163 Digital_Utopia-2894
 
164 Digital_Utopia-2894
                 Process.Start(totalpath + "\\" + ep + ".lua");
165 Digital_Utopia-2894
 
166 Digital_Utopia-2894
             }
167 Digital_Utopia-2894
             Environment.Exit(0);
168 Digital_Utopia-2894
         }
169 Digital_Utopia-2894
 
170 Digital_Utopia-2894
        private void button2_Click(object sender, EventArgs e)
171 Digital_Utopia-2894
        {
172 Digital_Utopia-2894
            //verify that all necessary values are filled in:
173 Digital_Utopia-2894
            string errorString="";
174 Digital_Utopia-2894
            string titleString="";
175 Digital_Utopia-2894
            int doError = 0;
176 Digital_Utopia-2894
            string ver = textBox2.Text;
177 Digital_Utopia-2894
 
178 Digital_Utopia-2894
            if (textBox1.Text == "")
179 Digital_Utopia-2894
            {
180 Digital_Utopia-2894
                titleString = "No Base Path Given";
181 Digital_Utopia-2894
                errorString = "You must select a base path (eg: Documents/The Lord of the Rings Online/plugins/(Author Folder).";
182 Digital_Utopia-2894
                doError = 1;
183 Digital_Utopia-2894
            }
184 Digital_Utopia-2894
 
185 Digital_Utopia-2894
            if (textBox2.Text == "")
186 Digital_Utopia-2894
            {
187 Digital_Utopia-2894
                titleString = "No Plugin Folder Given";
188 Digital_Utopia-2894
                errorString = "You must tell me where you want to put this plugin.";
189 Digital_Utopia-2894
                doError = 1;
190 Digital_Utopia-2894
            }
191 Digital_Utopia-2894
            if (string.Equals("InYourAss",textBox2.Text,StringComparison.CurrentCultureIgnoreCase))
192 Digital_Utopia-2894
            {
193 Digital_Utopia-2894
                titleString = "Totally Didn't See That One Coming.";
194 Digital_Utopia-2894
                errorString = "Well, aren't you the funny one? Very well, I'll put this "+textBox2.Text+".";
195 Digital_Utopia-2894
                doError = 2;
196 Digital_Utopia-2894
            }
197 Digital_Utopia-2894
            if (textBox3.Text == "")
198 Digital_Utopia-2894
            {
199 Digital_Utopia-2894
                titleString = "No Plugin Name Given";
200 Digital_Utopia-2894
                errorString = "Although I would be happy to name your plugin for you, it's probably better that I cannot. Please provide your own plugin name.";
201 Digital_Utopia-2894
                doError = 1;
202 Digital_Utopia-2894
            }
203 Digital_Utopia-2894
 
204 Digital_Utopia-2894
            if (textBox4.Text == "")
205 Digital_Utopia-2894
            {
206 Digital_Utopia-2894
                titleString = "No Author Name Given";
207 Digital_Utopia-2894
                errorString = "I realize you may be modest, but you need to provide an author name";
208 Digital_Utopia-2894
                doError = 1;
209 Digital_Utopia-2894
            }
210 Digital_Utopia-2894
 
211 Digital_Utopia-2894
            if (textBox5.Text == "")
212 Digital_Utopia-2894
            {
213 Digital_Utopia-2894
                textBox5.Text = "1.0";
214 Digital_Utopia-2894
            }
215 Digital_Utopia-2894
            if (textBox6.Text == "")
216 Digital_Utopia-2894
            {
217 Digital_Utopia-2894
                textBox6.Text = "Main";
218 Digital_Utopia-2894
            }
219 Digital_Utopia-2894
            if (checkBox1.Checked == true && textBox7.Text == "")
220 Digital_Utopia-2894
            {
221 Digital_Utopia-2894
                titleString = "No Apartment Given";
222 Digital_Utopia-2894
                errorString = "If you didn't want to provide an apartment, why did you check the box?";
223 Digital_Utopia-2894
                doError = 1;
224 Digital_Utopia-2894
            }
225 Digital_Utopia-2894
 
226 Digital_Utopia-2894
            if (doError == 0)
227 Digital_Utopia-2894
            {
228 Digital_Utopia-2894
                doPlugin(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, checkBox1.Checked, textBox7.Text, checkBox2.Checked,checkBox3.Checked,checkBox4.Checked);
229 Digital_Utopia-2894
            }
230 Digital_Utopia-2894
            else if (doError == 1)
231 Digital_Utopia-2894
            {
232 Digital_Utopia-2894
                MessageBox.Show(errorString, titleString, MessageBoxButtons.OK, MessageBoxIcon.Error);
233 Digital_Utopia-2894
            }
234 Digital_Utopia-2894
            else
235 Digital_Utopia-2894
            {
236 Digital_Utopia-2894
                MessageBox.Show(errorString, titleString, MessageBoxButtons.OK, MessageBoxIcon.Information);
237 Digital_Utopia-2894
                //user is being a smartass, lets do it.
238 Digital_Utopia-2894
                doPlugin(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, checkBox1.Checked, textBox7.Text, checkBox2.Checked, checkBox3.Checked, checkBox4.Checked);
239 Digital_Utopia-2894
            }
240 Digital_Utopia-2894
        }
241 Digital_Utopia-2894
 
242 Digital_Utopia-2894
 
243 Digital_Utopia-2894
 
244 Digital_Utopia-2894
 
245 Digital_Utopia-2894
 
246 Digital_Utopia-2894
    }
247 Digital_Utopia-2894
 
248 Digital_Utopia-2894
 
249 Digital_Utopia-2894
 
250 Digital_Utopia-2894
}

All times are GMT -5. The time now is 02:00 PM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui