Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /RsiEditor/ApplicationManager.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (hide annotations) (download)
Fri Jun 4 08:26:57 2010 UTC (13 years, 10 months ago) by pex
File size: 18397 byte(s)


1 pex 3 using System;
2     using System.Collections.Generic;
3     using System.Text;
4     using System.IO;
5     using System.Xml;
6     using System.Windows.Forms;
7    
8     namespace RipSync.Managers
9     {
10     /// <summary>
11     /// アプリケーション全体の情報を保持するクラス。
12     /// </summary>
13     public class ApplicationManager
14     {
15     static private ApplicationManager instance = null;
16    
17     private string filename = null;
18     //private bool isChanged = false;
19    
20     //各ウインドウ・コントロール
21     //private Forms.MainForm mainForm = null;
22     //private Forms.EditControl editControl = null;
23     //private Forms.EditControlForm editControlForm = null;
24     //private Forms.ObjectsControl objectsControl = null;
25     //private Forms.ObjectsControlForm objectsControlForm = null;
26     //private Forms.ViewControl viewControl = null;
27    
28     //マネージャー
29     //private TimeTableManager timeTableManager = null;
30     //private DrawObjectManager drawObjectManager = null;
31     //private SoundManager soundManager = null;
32     //private TimeLineManager timeLineManager = null;
33     //private CanvasManager canvasManager = null;
34     //private PreviewManager previewManager = null;
35    
36     //コンフィグ
37     private Configuration config = new Configuration();
38    
39     /// <summary>
40     /// 唯一のインスタンスを得る。
41     /// </summary>
42     /// <returns></returns>
43     static public ApplicationManager GetInstance()
44     {
45     if (instance == null)
46     {
47     instance = new ApplicationManager();
48     }
49     return instance;
50     }
51    
52     /// <summary>
53     /// プライベートコンストラクタ。
54     /// </summary>
55     private ApplicationManager()
56     {
57     }
58    
59     /// <summary>
60     /// 実行する。
61     /// </summary>
62     //public void Run()
63     //{
64     // System.Windows.Forms.Application.Run(MainForm);
65     //}
66    
67     /// <summary>
68     /// 表示をリフレッシュする。
69     /// </summary>
70     //public void Refresh()
71     //{
72     // ObjectsControl.Refresh();
73     // EditControl.Refresh();
74     // PreviewManager.RefreshParameter();
75     // PreviewManager.RefreshDraw();
76     //}
77    
78     #region アプリケーションコンフィグ
79    
80     /// <summary>
81     /// デフォルトのコンフィグファイル名を取得する。
82     /// </summary>
83     /// <returns></returns>
84     static public string GetDefaultConfigFileName()
85     {
86     string spath = System.Windows.Forms.Application.StartupPath;
87     string cpath = Path.Combine(spath, "Configurations");
88    
89     if (!Directory.Exists(cpath))
90     {
91     Directory.CreateDirectory(cpath);
92     }
93    
94     return Path.Combine(cpath, "global.config");
95     }
96    
97     /// <summary>
98     /// コンフィグを保存する。
99     /// </summary>
100     /// <returns></returns>
101     public bool SaveConfig()
102     {
103     return SaveConfig(GetDefaultConfigFileName());
104     }
105    
106     /// <summary>
107     /// コンフィグを保存する。
108     /// </summary>
109     /// <param name="_filename"></param>
110     /// <returns></returns>
111     public bool SaveConfig(string _filename)
112     {
113     using (System.IO.TextWriter writer = new System.IO.StreamWriter(_filename))
114     {
115     System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(Configuration));
116     serializer.Serialize(writer, config);
117     }
118    
119     return true;
120     }
121    
122     /// <summary>
123     /// コンフィグを読み込む。
124     /// </summary>
125     /// <returns></returns>
126     public bool LoadConfig()
127     {
128     string fn = GetDefaultConfigFileName();
129     if (File.Exists(fn))
130     {
131     return LoadConfig(fn);
132     }
133     else
134     {
135     config = new Configuration();
136     return true;
137     }
138     }
139    
140     /// <summary>
141     /// コンフィグを読み込む。
142     /// </summary>
143     /// <param name="_filename"></param>
144     /// <returns></returns>
145     public bool LoadConfig(string _filename)
146     {
147     using (System.IO.TextReader reader = new System.IO.StreamReader(_filename))
148     {
149     System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(Configuration));
150     config = (Configuration)serializer.Deserialize(reader);
151     }
152     return true;
153     }
154    
155     /// <summary>
156     /// コンフィグを取得する。
157     /// </summary>
158     public Configuration Configuration
159     {
160     get
161     {
162     return config;
163     }
164     }
165    
166     #endregion
167    
168     //以下未使用のため全部コメント
169     //#region ドキュメント管理
170    
171     ///// <summary>
172     ///// 設定をクリアするか確認する。
173     ///// </summary>
174     ///// <returns></returns>
175     //public bool ClearCheck()
176     //{
177     // if (isChanged)
178     // {
179     // DialogResult dr = MessageBox.Show("設定が変更されています\n設定を保存しますか?", "質問", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
180     // if (dr == DialogResult.No) return true;
181     // else if (dr == DialogResult.Cancel) return false;
182     // else
183     // {
184     // if (filename == null || filename == "")
185     // {
186     // SaveFileDialog sfd = new SaveFileDialog();
187     // sfd.Filter = "RSPファイル(*rsp)|*.rsp|すべてのファイル(*.*)|*.*";
188    
189     // if (sfd.ShowDialog() != DialogResult.OK) return false;
190    
191     // filename = sfd.FileName;
192     // }
193    
194     // return Save(filename);
195     // }
196     // }
197    
198     // return true;
199     //}
200    
201     ///// <summary>
202     ///// 新規作成する。
203     ///// </summary>
204     ///// <returns></returns>
205     //public bool New()
206     //{
207     // if (ClearCheck())
208     // {
209     // filename = null;
210     // DrawObjectManager.Clear();
211     // SoundManager.SetSoundFile(null);
212     // TimeTableManager.Clear();
213     // TimeLineManager.TimeLine.Clear();
214     // CanvasManager.Clear();
215     // PreviewManager.Clear();
216     // Refresh();
217    
218     // IsChanged = false;
219     // }
220     // return true;
221     //}
222    
223     ///// <summary>
224     ///// 設定を保存する。
225     ///// </summary>
226     ///// <param name="_filename"></param>
227     ///// <returns></returns>
228     //public bool Save(string _filename)
229     //{
230     // Logger.GetInstance().Write(LogLevel.Info, "AppManager", "設定を保存します。");
231     // filename = _filename;
232    
233     // try
234     // {
235     // XmlDocument doc = new XmlDocument();
236     // XmlElement elm = doc.CreateElement("Settings");
237     // doc.AppendChild(elm);
238    
239     // XmlElement elm2;
240    
241     // elm2 = doc.CreateElement("View");
242     // elm.AppendChild(elm2);
243     // PreviewManager.Save(doc, elm2);
244    
245     // elm2 = doc.CreateElement("Canvas");
246     // elm.AppendChild(elm2);
247     // CanvasManager.Save(doc, elm2);
248    
249     // elm2 = doc.CreateElement("Sound");
250     // elm.AppendChild(elm2);
251     // SoundManager.Save(doc, elm2);
252    
253     // elm2 = doc.CreateElement("TimeTable");
254     // elm.AppendChild(elm2);
255     // TimeTableManager.Save(doc, elm2);
256    
257     // elm2 = doc.CreateElement("DrawObject");
258     // elm.AppendChild(elm2);
259     // DrawObjectManager.Save(doc, elm2);
260    
261     // elm2 = doc.CreateElement("TimeLine");
262     // elm.AppendChild(elm2);
263     // TimeLineManager.Save(doc, elm2);
264    
265     // doc.Save(_filename);
266     // IsChanged = false;
267     // return true;
268     // }
269     // catch (Exception e)
270     // {
271     // Logger.GetInstance().ErrorWrite("AppManager", e);
272     // MessageBox.Show("保存に失敗しました。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
273     // return false;
274     // }
275     //}
276    
277     ///// <summary>
278     ///// 設定を読み込む。
279     ///// </summary>
280     ///// <param name="_filename"></param>
281     ///// <returns></returns>
282     //public bool Load(string _filename)
283     //{
284     // if (!ClearCheck()) return false;
285    
286     // Logger.GetInstance().Write(LogLevel.Info, "AppManager", "設定を読み込みます。");
287     // filename = _filename;
288    
289     // try
290     // {
291     // XmlDocument doc = new XmlDocument();
292     // doc.Load(_filename);
293    
294     // if (!doc.HasChildNodes)
295     // {
296     // throw new Exception("ファイル形式が不正です。");
297     // }
298     // XmlElement relm = null;
299     // foreach (XmlNode node in doc.ChildNodes)
300     // {
301     // if (node is XmlElement)
302     // {
303     // relm = (XmlElement)doc.ChildNodes[0];
304     // break;
305     // }
306     // }
307     // if (relm == null)
308     // {
309     // throw new Exception("ファイル形式が不正です。");
310     // }
311    
312     // foreach (XmlNode elm in relm.ChildNodes)
313     // {
314     // if (elm is XmlComment) continue;
315    
316     // switch (elm.Name)
317     // {
318     // case "View":
319     // PreviewManager.Load(doc, (XmlElement)elm);
320     // break;
321     // case "Canvas":
322     // CanvasManager.Load(doc, (XmlElement)elm);
323     // break;
324     // case "Sound":
325     // SoundManager.Load(doc, (XmlElement)elm);
326     // break;
327     // case "TimeTable":
328     // TimeTableManager.Load(doc, (XmlElement)elm);
329     // break;
330     // case "DrawObject":
331     // DrawObjectManager.Load(doc, (XmlElement)elm);
332     // break;
333     // case "TimeLine":
334     // TimeLineManager.Load(doc, (XmlElement)elm);
335     // break;
336     // }
337     // }
338    
339     // isChanged = false;
340     // return true;
341     // }
342     // catch (Exception e)
343     // {
344     // Logger.GetInstance().ErrorWrite("AppManager", e);
345     // MessageBox.Show("読み込みに失敗しました。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
346     // return false;
347     // }
348     //}
349    
350     ///// <summary>
351     ///// 絶対パスに変換する。
352     ///// </summary>
353     ///// <returns></returns>
354     //public string ToFullPath(string _path)
355     //{
356     // if (_path == null || _path == "") return _path;
357    
358     // try
359     // {
360     // string s = System.Web.HttpUtility.UrlDecode(_path);
361    
362     // Uri uri = new Uri(s, UriKind.Relative);
363     // if (!uri.IsAbsoluteUri)
364     // {
365     // Uri uri2 = new Uri(filename);
366     // uri = new Uri(uri2, uri);
367     // }
368    
369     // return uri.LocalPath;
370     // }
371     // catch (UriFormatException)
372     // {
373     // return _path;
374     // }
375     //}
376    
377     ///// <summary>
378     ///// 相対パスに変換する。
379     ///// </summary>
380     ///// <param name="_path"></param>
381     ///// <returns></returns>
382     //public string ToRelativePath(string _path)
383     //{
384     // if (_path == null || _path == "") return _path;
385    
386     // try
387     // {
388     // Uri uri = new Uri(_path);
389     // Uri uri2 = new Uri(filename);
390     // string path = uri2.MakeRelativeUri(uri).ToString();
391    
392     // if (path.Contains("../"))
393     // {
394     // return _path;
395     // }
396     // else
397     // {
398     // return path;
399     // }
400     // }
401     // catch (UriFormatException)
402     // {
403     // return _path;
404     // }
405     //}
406    
407    
408     ///// <summary>
409     ///// ファイル名を取得する。
410     ///// </summary>
411     //public string FileName
412     //{
413     // get
414     // {
415     // return filename;
416     // }
417     //}
418    
419     ///// <summary>
420     ///// 変更されたか取得・設定する。
421     ///// </summary>
422     //public bool IsChanged
423     //{
424     // get
425     // {
426     // return isChanged;
427     // }
428     // set
429     // {
430     // isChanged = value;
431     // }
432     //}
433    
434     //#endregion
435    
436     //#region 各種コントロール
437    
438     ///// <summary>
439     ///// メインフォームを取得する。
440     ///// </summary>
441     //internal Forms.MainForm MainForm
442     //{
443     // get
444     // {
445     // if (mainForm == null || mainForm.IsDisposed)
446     // {
447     // mainForm = new Forms.MainForm();
448     // }
449     // return mainForm;
450     // }
451     //}
452    
453     ///// <summary>
454     ///// 編集コントロールを取得する。
455     ///// </summary>
456     //internal Forms.EditControl EditControl
457     //{
458     // get
459     // {
460     // if (editControl == null || editControl.IsDisposed)
461     // {
462     // editControl = new Forms.EditControl();
463     // }
464     // return editControl;
465     // }
466     //}
467    
468     ///// <summary>
469     ///// 編集コントロールフォームを取得する。
470     ///// </summary>
471     //internal Forms.EditControlForm EditControlForm
472     //{
473     // get
474     // {
475     // if (editControlForm == null || editControlForm.IsDisposed)
476     // {
477     // editControlForm = new RipSync.Forms.EditControlForm();
478     // }
479     // return editControlForm;
480     // }
481     //}
482    
483     ///// <summary>
484     ///// オブジェクトコントロールを取得する。
485     ///// </summary>
486     //internal Forms.ObjectsControl ObjectsControl
487     //{
488     // get
489     // {
490     // if (objectsControl == null || objectsControl.IsDisposed)
491     // {
492     // objectsControl = new Forms.ObjectsControl();
493     // }
494     // return objectsControl;
495     // }
496     //}
497    
498     ///// <summary>
499     ///// オブジェクトコントロールフォームを取得する。
500     ///// </summary>
501     //internal Forms.ObjectsControlForm ObjectsControlForm
502     //{
503     // get
504     // {
505     // if (objectsControlForm == null || objectsControlForm.IsDisposed)
506     // {
507     // objectsControlForm = new RipSync.Forms.ObjectsControlForm();
508     // }
509     // return objectsControlForm;
510     // }
511     //}
512    
513     ///// <summary>
514     ///// ビューコントロールを取得する。
515     ///// </summary>
516     //internal Forms.ViewControl ViewControl
517     //{
518     // get
519     // {
520     // if (viewControl == null || viewControl.IsDisposed)
521     // {
522     // viewControl = new Forms.ViewControl();
523     // }
524     // return viewControl;
525     // }
526     //}
527    
528     ///// <summary>
529     ///// タイムテーブルマネージャーを取得する。
530     ///// </summary>
531     //public TimeTableManager TimeTableManager
532     //{
533     // get
534     // {
535     // if (timeTableManager == null)
536     // {
537     // timeTableManager = new TimeTableManager();
538     // }
539     // return timeTableManager;
540     // }
541     //}
542    
543     ///// <summary>
544     ///// 描画オブジェクトマネージャーを取得する。
545     ///// </summary>
546     //public DrawObjectManager DrawObjectManager
547     //{
548     // get
549     // {
550     // if (drawObjectManager == null)
551     // {
552     // drawObjectManager = new DrawObjectManager();
553     // }
554     // return drawObjectManager;
555     // }
556     //}
557    
558     ///// <summary>
559     ///// サウンドマネージャーを取得する。
560     ///// </summary>
561     //public SoundManager SoundManager
562     //{
563     // get
564     // {
565     // if (soundManager == null)
566     // {
567     // soundManager = new SoundManager();
568     // }
569     // return soundManager;
570     // }
571     //}
572    
573     ///// <summary>
574     ///// タイムラインマネージャーを取得する。
575     ///// </summary>
576     //public TimeLineManager TimeLineManager
577     //{
578     // get
579     // {
580     // if (timeLineManager == null)
581     // {
582     // timeLineManager = new TimeLineManager();
583     // }
584     // return timeLineManager;
585     // }
586     //}
587    
588     ///// <summary>
589     ///// キャンバスマネージャーを取得する。
590     ///// </summary>
591     //public CanvasManager CanvasManager
592     //{
593     // get
594     // {
595     // if (canvasManager == null)
596     // {
597     // canvasManager = new CanvasManager();
598     // }
599     // return canvasManager;
600     // }
601     //}
602    
603     ///// <summary>
604     ///// プレビューマネージャを取得する。
605     ///// </summary>
606     //public PreviewManager PreviewManager
607     //{
608     // get
609     // {
610     // if (previewManager == null)
611     // {
612     // previewManager = new PreviewManager();
613     // }
614     // return previewManager;
615     // }
616     //}
617    
618     //#endregion
619    
620     }
621     }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26