Public Member Functions | |
| UserInterface () | |
| The UI constructor. | |
| string | Draw (string drawThis, params object[] arg) |
| Draw an input screen. | |
| int | DrawInt (string drawThis, params object[] arg) |
| Draw an input screen to get an integer. | |
| bool | DrawMenu (string drawThis, Dictionary< object, string > menuItems, bool showCancel, out T chosen) |
| Draws the UI menu. | |
| UserInterface () | |
| The UI constructor. | |
| string | Draw (string drawThis, params object[] arg) |
| Draw an input screen. | |
| int | DrawInt (string drawThis, params object[] arg) |
| Draw an input screen to get an integer. | |
| bool | DrawMenu (string drawThis, Dictionary< object, string > menuItems, bool showCancel, out T chosen) |
| Draws the UI menu. | |
Private Member Functions | |
| void | DoDraw (string content, params object[] arg) |
| Perform the actual drawing on screen of some content. | |
| void | DoDraw (string content, string errorMessage, params object[] arg) |
| Perform the actual drawing on screen of some content - with error message. | |
| void | DoDraw (string content, params object[] arg) |
| Perform the actual drawing on screen of some content. | |
| void | DoDraw (string content, string errorMessage, params object[] arg) |
| Perform the actual drawing on screen of some content - with error message. | |
Private Attributes | |
| int | width = 80 |
| The width of the console. | |
| int | height = 25 |
| The height of the console. | |
| int | contentHeight |
| The height of the content field. | |
| string | header |
| The text shown at the top of each screen. | |
| string | footer |
| The text shown at the bottom of each screen. | |
Definition at line 10 of file UserInterface.cs.
| HouseOver.UserInterface.UserInterface | ( | ) |
The UI constructor.
Definition at line 26 of file UserInterface.cs.
References HouseOver.UserInterface.contentHeight, HouseOver.UserInterface.footer, HouseOver.UserInterface.header, HouseOver.UserInterface.height, and HouseOver.UserInterface.width.
00027 { 00028 string title = "The House And Realty Manager"; 00029 string version = "v. 0.01a"; 00030 string headSeparator = "¨"; 00031 string enterChoiceString = "Enter your choice: "; 00032 string footSeparator = "_"; 00033 00034 // Generate the header contents 00035 int topSpace = width - (title.Length + version.Length); 00036 header = title; 00037 for (int i = 0; i < topSpace; i++) 00038 header += " "; 00039 header += version; 00040 for (int i = 0; i < width; i++) 00041 header += headSeparator; 00042 header += System.Environment.NewLine; 00043 00044 // Generate the footer contents 00045 for (int i = 0; i < width; i++) 00046 footer += footSeparator; 00047 footer += enterChoiceString; 00048 00049 // Content height is set to the height of the console, minus the height of the header and footer 00050 contentHeight = height - 4; 00051 }
| HouseOver.UserInterface.UserInterface | ( | ) |
The UI constructor.
Definition at line 26 of file UserInterface.cs.
References HouseOver.UserInterface.contentHeight, HouseOver.UserInterface.footer, HouseOver.UserInterface.header, HouseOver.UserInterface.height, and HouseOver.UserInterface.width.
00027 { 00028 string title = "The House And Realty Manager"; 00029 string version = "v. 0.01a"; 00030 string headSeparator = "¨"; 00031 string enterChoiceString = "Enter your choice: "; 00032 string footSeparator = "_"; 00033 00034 // Generate the header contents 00035 int topSpace = width - (title.Length + version.Length); 00036 header = title; 00037 for (int i = 0; i < topSpace; i++) 00038 header += " "; 00039 header += version; 00040 for (int i = 0; i < width; i++) 00041 header += headSeparator; 00042 header += System.Environment.NewLine; 00043 00044 // Generate the footer contents 00045 for (int i = 0; i < width; i++) 00046 footer += footSeparator; 00047 footer += enterChoiceString; 00048 00049 // Content height is set to the height of the console, minus the height of the header and footer 00050 contentHeight = height - 4; 00051 }
| void HouseOver.UserInterface.DoDraw | ( | string | content, | |
| params object[] | arg | |||
| ) | [private] |
Perform the actual drawing on screen of some content.
| content | The content to draw. Should preferably be less than twenty lines of text | |
| arg | A set of extra parameters, which is passed on to the console writer |
Definition at line 58 of file UserInterface.cs.
References HouseOver.UserInterface.footer, and HouseOver.UserInterface.header.
Referenced by HouseOver.UserInterface.Draw(), and HouseOver.UserInterface.DrawInt().
00059 { 00060 // It fails to count the last newline 00061 int contentSize = content.Split(System.Environment.NewLine.ToCharArray(0, 1)).Length; 00062 int separateThisMuchTop = Convert.ToInt32(Math.Floor(Convert.ToDouble(this.contentHeight - contentSize) / 2)); 00063 int separateThisMuchBottom = this.contentHeight - (contentSize + separateThisMuchTop); 00064 00065 // We shouldn't be drawing anything taller than the screen... but oh well 00066 if (separateThisMuchTop < 0 || separateThisMuchBottom < 0) 00067 { 00068 separateThisMuchTop = 0; 00069 separateThisMuchBottom = 0; 00070 } 00071 00072 Console.Clear(); 00073 Console.Write(header); 00074 00075 for (int i = 0; i < separateThisMuchTop; i++) 00076 Console.WriteLine(""); 00077 Console.Write(content,arg); 00078 00079 for (int i = 0; i < separateThisMuchBottom; i++) 00080 Console.WriteLine(""); 00081 Console.Write(footer); 00082 }
Here is the caller graph for this function:

| void HouseOver.UserInterface.DoDraw | ( | string | content, | |
| string | errorMessage, | |||
| params object[] | arg | |||
| ) | [private] |
Perform the actual drawing on screen of some content - with error message.
| content | The content to draw. Should preferably be less than twenty lines of text | |
| errorMessage | The error message to show to the user | |
| arg | A set of extra parameters, which is passed on to the console writer |
Definition at line 91 of file UserInterface.cs.
References HouseOver.UserInterface.contentHeight, HouseOver.UserInterface.footer, and HouseOver.UserInterface.header.
00092 { 00093 int contentSize = content.Split(System.Environment.NewLine.ToCharArray(0, 1)).Length + errorMessage.Split(System.Environment.NewLine.ToCharArray(0, 1)).Length + 1; 00094 int separateThisMuchTop = Convert.ToInt32(Math.Floor(Convert.ToDouble(contentHeight - contentSize) / 2)); 00095 int separateThisMuchBottom = this.contentHeight - (contentSize + separateThisMuchTop); 00096 00097 // We shouldn't be drawing anything taller than the screen... but oh well 00098 if (separateThisMuchTop < 0 || separateThisMuchBottom < 0) 00099 { 00100 separateThisMuchTop = 0; 00101 separateThisMuchBottom = 0; 00102 } 00103 00104 Console.Clear(); 00105 00106 Console.Write(header); 00107 for (int i = 0; i < separateThisMuchTop; i++) 00108 Console.WriteLine(""); 00109 00110 Console.BackgroundColor = ConsoleColor.DarkRed; 00111 Console.ForegroundColor = ConsoleColor.White; 00112 Console.WriteLine(errorMessage); 00113 Console.ResetColor(); 00114 00115 Console.Write(System.Environment.NewLine + content, arg); 00116 00117 for (int i = 0; i < separateThisMuchBottom; i++) 00118 Console.WriteLine(""); 00119 Console.Write(footer); 00120 }
| string HouseOver.UserInterface.Draw | ( | string | drawThis, | |
| params object[] | arg | |||
| ) |
Draw an input screen.
| drawThis | The content to paint on the screen |
| arg | A set of extra parameters, which is passed on to the console writer |
Definition at line 128 of file UserInterface.cs.
References HouseOver.UserInterface.DoDraw().
Referenced by HouseOver.THARM.RealtyManager.AddCustomer().
00129 { 00130 DoDraw(drawThis, arg); 00131 return Console.ReadLine(); 00132 }
Here is the call graph for this function:

Here is the caller graph for this function:

| int HouseOver.UserInterface.DrawInt | ( | string | drawThis, | |
| params object[] | arg | |||
| ) |
Draw an input screen to get an integer.
| drawThis | The content to paint on the screen |
| arg | A set of extra parameters, which is passed on to the console writer |
Definition at line 140 of file UserInterface.cs.
References HouseOver.UserInterface.DoDraw().
Referenced by HouseOver.THARM.RealtyManager.AddCustomer().
00141 { 00142 int theValue; 00143 string tempValue; 00144 00145 DoDraw(drawThis, arg); 00146 00147 while (true) 00148 { 00149 tempValue = Console.ReadLine(); 00150 try 00151 { 00152 theValue = Convert.ToInt32(tempValue); 00153 break; 00154 } 00155 catch 00156 { 00157 // If we've caught the exception, the user didn't enter an integer 00158 DoDraw(drawThis, "You did not enter a number - please try again!", arg); 00159 } 00160 } 00161 00162 return theValue; 00163 }
Here is the call graph for this function:

Here is the caller graph for this function:

| bool HouseOver.UserInterface.DrawMenu | ( | string | drawThis, | |
| Dictionary< object, string > | menuItems, | |||
| bool | showCancel, | |||
| out T | chosen | |||
| ) |
Draws the UI menu.
| drawThis | The content to paint on the screen | |
| menuItems | A dictionary containing the menu items to draw | |
| showCancel | Wether or not to show the cancel item | |
| chosen | The object of the chosen item |
| void HouseOver.UserInterface.DoDraw | ( | string | content, | |
| params object[] | arg | |||
| ) | [private] |
Perform the actual drawing on screen of some content.
| content | The content to draw. Should preferably be less than twenty lines of text | |
| arg | A set of extra parameters, which is passed on to the console writer |
Definition at line 58 of file UserInterface.cs.
References HouseOver.UserInterface.footer, and HouseOver.UserInterface.header.
00059 { 00060 // It fails to count the last newline 00061 int contentSize = content.Split(System.Environment.NewLine.ToCharArray(0, 1)).Length; 00062 int separateThisMuchTop = Convert.ToInt32(Math.Floor(Convert.ToDouble(this.contentHeight - contentSize) / 2)); 00063 int separateThisMuchBottom = this.contentHeight - (contentSize + separateThisMuchTop); 00064 00065 // We shouldn't be drawing anything taller than the screen... but oh well 00066 if (separateThisMuchTop < 0 || separateThisMuchBottom < 0) 00067 { 00068 separateThisMuchTop = 0; 00069 separateThisMuchBottom = 0; 00070 } 00071 00072 Console.Clear(); 00073 Console.Write(header); 00074 00075 for (int i = 0; i < separateThisMuchTop; i++) 00076 Console.WriteLine(""); 00077 Console.Write(content,arg); 00078 00079 for (int i = 0; i < separateThisMuchBottom; i++) 00080 Console.WriteLine(""); 00081 Console.Write(footer); 00082 }
| void HouseOver.UserInterface.DoDraw | ( | string | content, | |
| string | errorMessage, | |||
| params object[] | arg | |||
| ) | [private] |
Perform the actual drawing on screen of some content - with error message.
| content | The content to draw. Should preferably be less than twenty lines of text | |
| errorMessage | The error message to show to the user | |
| arg | A set of extra parameters, which is passed on to the console writer |
Definition at line 91 of file UserInterface.cs.
References HouseOver.UserInterface.contentHeight, HouseOver.UserInterface.footer, and HouseOver.UserInterface.header.
00092 { 00093 int contentSize = content.Split(System.Environment.NewLine.ToCharArray(0, 1)).Length + errorMessage.Split(System.Environment.NewLine.ToCharArray(0, 1)).Length + 1; 00094 int separateThisMuchTop = Convert.ToInt32(Math.Floor(Convert.ToDouble(contentHeight - contentSize) / 2)); 00095 int separateThisMuchBottom = this.contentHeight - (contentSize + separateThisMuchTop); 00096 00097 // We shouldn't be drawing anything taller than the screen... but oh well 00098 if (separateThisMuchTop < 0 || separateThisMuchBottom < 0) 00099 { 00100 separateThisMuchTop = 0; 00101 separateThisMuchBottom = 0; 00102 } 00103 00104 Console.Clear(); 00105 00106 Console.Write(header); 00107 for (int i = 0; i < separateThisMuchTop; i++) 00108 Console.WriteLine(""); 00109 00110 Console.BackgroundColor = ConsoleColor.DarkRed; 00111 Console.ForegroundColor = ConsoleColor.White; 00112 Console.WriteLine(errorMessage); 00113 Console.ResetColor(); 00114 00115 Console.Write(System.Environment.NewLine + content, arg); 00116 00117 for (int i = 0; i < separateThisMuchBottom; i++) 00118 Console.WriteLine(""); 00119 Console.Write(footer); 00120 }
| string HouseOver.UserInterface.Draw | ( | string | drawThis, | |
| params object[] | arg | |||
| ) |
Draw an input screen.
| drawThis | The content to paint on the screen |
| arg | A set of extra parameters, which is passed on to the console writer |
Definition at line 128 of file UserInterface.cs.
References HouseOver.UserInterface.DoDraw().
00129 { 00130 DoDraw(drawThis, arg); 00131 return Console.ReadLine(); 00132 }
Here is the call graph for this function:

| int HouseOver.UserInterface.DrawInt | ( | string | drawThis, | |
| params object[] | arg | |||
| ) |
Draw an input screen to get an integer.
| drawThis | The content to paint on the screen |
| arg | A set of extra parameters, which is passed on to the console writer |
Definition at line 140 of file UserInterface.cs.
References HouseOver.UserInterface.DoDraw().
00141 { 00142 int theValue; 00143 string tempValue; 00144 00145 DoDraw(drawThis, arg); 00146 00147 while (true) 00148 { 00149 tempValue = Console.ReadLine(); 00150 try 00151 { 00152 theValue = Convert.ToInt32(tempValue); 00153 break; 00154 } 00155 catch 00156 { 00157 // If we've caught the exception, the user didn't enter an integer 00158 DoDraw(drawThis, "You did not enter a number - please try again!", arg); 00159 } 00160 } 00161 00162 return theValue; 00163 }
Here is the call graph for this function:

| bool HouseOver.UserInterface.DrawMenu | ( | string | drawThis, | |
| Dictionary< object, string > | menuItems, | |||
| bool | showCancel, | |||
| out T | chosen | |||
| ) |
Draws the UI menu.
| drawThis | The content to paint on the screen | |
| menuItems | A dictionary containing the menu items to draw | |
| showCancel | Wether or not to show the cancel item | |
| chosen | The object of the chosen item |
int HouseOver.UserInterface::width = 80 [private] |
The width of the console.
Definition at line 13 of file UserInterface.cs.
Referenced by HouseOver.UserInterface.UserInterface().
int HouseOver.UserInterface::height = 25 [private] |
The height of the console.
Definition at line 15 of file UserInterface.cs.
Referenced by HouseOver.UserInterface.UserInterface().
int HouseOver.UserInterface::contentHeight [private] |
The height of the content field.
Definition at line 17 of file UserInterface.cs.
Referenced by HouseOver.UserInterface.DoDraw(), and HouseOver.UserInterface.UserInterface().
string HouseOver.UserInterface::header [private] |
The text shown at the top of each screen.
Definition at line 19 of file UserInterface.cs.
Referenced by HouseOver.UserInterface.DoDraw(), and HouseOver.UserInterface.UserInterface().
string HouseOver.UserInterface::footer [private] |
The text shown at the bottom of each screen.
Definition at line 21 of file UserInterface.cs.
Referenced by HouseOver.UserInterface.DoDraw(), and HouseOver.UserInterface.UserInterface().
1.5.1-p1