-
Notifications
You must be signed in to change notification settings - Fork 3
/
IO_Save.CS
114 lines (84 loc) · 2.64 KB
/
IO_Save.CS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/* Model Controller / IO_Save
Created : 2011-04-21
Last Modified : 2011-04-22
Author : Tom Coleman
Copyright : 2011-2011
By : University of Mississippi Medical Center */
using System ;
using System.Collections ;
using System.Drawing ;
using System.Windows.Forms ;
namespace ModelEditor
{ public class IO_Save
{ public static void Save ()
{ TabData Data = TabManager.GetSelectedTabData () ;
Save (Data) ;
State.RefreshSaves () ;
}
public static DialogResult Save (TabData Data)
{ String NotNamed = "No Name" ;
if (Data.Filename.IndexOf (NotNamed) == 0)
{ return NoName (Data) ;
}
else if (Data.Box.Modified)
{ BasicSave (Data) ;
return DialogResult.OK ;
}
return DialogResult.OK ;
}
public static DialogResult SaveAskIfChanged (TabData Data)
{ String NotNamed = "No Name" ;
if (Data.Filename.IndexOf (NotNamed) == 0)
{ return NoName (Data) ;
}
else if (Data.Box.Modified)
{ return Changed (Data) ;
}
return DialogResult.OK ;
}
private static DialogResult NoName (TabData Data)
{ String Msg = "" ;
Msg += "Rename and save this document '" ;
Msg += Data.Filename ;
Msg += "'?" ;
DialogResult OK = MsgBox.YesNoCancel (Msg) ;
if (OK == DialogResult.Cancel)
{ return DialogResult.Cancel ;
}
if (OK == DialogResult.Yes)
{ SaveFileDialog Dlg = new SaveFileDialog () ;
Dlg.Title = AppMain.AppName + " - Save As" ;
Dlg.Filter = "DESolver Files (*.DES) |*.DES| All Files (*.*) |*.*" ;
Dlg.FileName = Data.Filename ;
DialogResult Result = Dlg.ShowDialog () ;
if (Result != DialogResult.OK)
{ return Result ;
}
BasicSave (Data) ;
TabManager.NewFilename (Data.Filename, Dlg.FileName) ;
return DialogResult.Yes ;
}
return DialogResult.No ;
}
private static DialogResult Changed (TabData Data)
{ String Msg = "" ;
Msg += "Document '" ;
Msg += Data.Filename ;
Msg += "' has been changed. Save changes?" ;
DialogResult OK = MsgBox.YesNoCancel (Msg) ;
if (OK == DialogResult.Cancel)
{ return DialogResult.Cancel ;
}
if (OK == DialogResult.Yes)
{ BasicSave (Data) ;
return DialogResult.Yes ;
}
return DialogResult.No ;
}
private static void BasicSave (TabData Data)
{ IO_Writer.Write (Data.Filename, Data.Box.Text) ;
Data.Box.Modified = false ;
}
}
}
/* End */