
- •If (!PromptToSave())
- •If (!PromptToSave())
- •If (!PromptToSave())
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
- •InitializeComponent();
ПРИЛОЖЕНИЕ.
ЛИСТИНГ ПРОГРАММНОГО КОДА СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ КОЛОННЫХ АППРАТОВ ПОД ВЕТРОВОЙ НАГРУЗКОЙ.
П1.1. Листинг модуля MainWindow xaml.cs (главное окно)
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Globalization;
using Microsoft.Win32;
using System.Windows.Media.Effects;
using System.Diagnostics;
using DrawToolsLib;
using Utilities;
using System.Collections;
using System.IO;
namespace DrawTools
{
public partial class MainWindow : System.Windows.Window
{
#region Class Members
WindowStateManager windowStateManager;
MruManager mruManager;
string fileName;
#endregion Class Members
#region Constructor
public MainWindow()
{
windowStateManager = new WindowStateManager(SettingsManager.ApplicationSettings.MainWindowStateInfo, this);
InitializeComponent();
SubscribeToEvents();
UpdateTitle();
InitializeDrawingCanvas();
InitializePropertiesControls();
InitializeMruList();
}
#endregion Constructor
#region Application Commands
void FileNewCommand(object sender, ExecutedRoutedEventArgs args)
{
if (!PromptToSave())
{
return;
}
drawingCanvas.Clear();
fileName = "";
UpdateTitle();
}
void FilePrintCommand(object sender, ExecutedRoutedEventArgs args)
{
Object o = FindName("imageBackground");
if (o != null)
{
Image image = o as Image;
if (image != null)
{
PrintWithBackgroundImage(image);
return;}}
PrintWithoutBackground();
}
void FileCloseCommand(object sender, ExecutedRoutedEventArgs args)
{
this.Close();
}
void FileOpenCommand(object sender, ExecutedRoutedEventArgs args)
{
If (!PromptToSave())
{
return;
}
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "XML files (*.xml)|*.xml|All Files|*.*";
dlg.DefaultExt = "xml";
dlg.InitialDirectory = SettingsManager.ApplicationSettings.InitialDirectory;
dlg.RestoreDirectory = true;
if (dlg.ShowDialog().GetValueOrDefault() != true)
{
return;
}
try
{
drawingCanvas.Load(dlg.FileName);
}
catch (DrawingCanvasException e)
{
ShowError(e.Message);
mruManager.Delete(dlg.FileName);
return;
}
this.fileName = dlg.FileName;
UpdateTitle();
mruManager.Add(this.fileName);
SettingsManager.ApplicationSettings.InitialDirectory = System.IO.Path.GetDirectoryName(dlg.FileName);
}
void FileSaveCommand(object sender, ExecutedRoutedEventArgs args)
{
if (string.IsNullOrEmpty(fileName))
{
FileSaveAsCommand(sender, args);
return;
}
Save(fileName);
}
void FileSaveAsCommand(object sender, ExecutedRoutedEventArgs args)
{
SaveFileDialog dlg = new SaveFileDialog();
dlg.Filter = "XML files (*.xml)|*.xml|All Files|*.*";
dlg.OverwritePrompt = true;
dlg.DefaultExt = "xml";
dlg.InitialDirectory = SettingsManager.ApplicationSettings.InitialDirectory;
dlg.RestoreDirectory = true;
if (dlg.ShowDialog().GetValueOrDefault() != true)
{
return;
}
if (!Save(dlg.FileName))
{
return;
}
SettingsManager.ApplicationSettings.InitialDirectory = System.IO.Path.GetDirectoryName(dlg.FileName);
}
void EditUndoCommand(object sender, ExecutedRoutedEventArgs args)
{
drawingCanvas.Undo();
}
void EditRedoCommand(object sender, ExecutedRoutedEventArgs args)
{
drawingCanvas.Redo();
}
#endregion ApplicationCommands
#region Tools Event Handlers
void ToolMenuItem_Click(object sender, RoutedEventArgs e)
{
drawingCanvas.Tool = (ToolType)Enum.Parse(typeof(ToolType), ((MenuItem)sender).Tag.ToString());
}
void ToolButton_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
drawingCanvas.Tool = (ToolType)Enum.Parse(typeof(ToolType),
((System.Windows.Controls.Primitives.ButtonBase)sender).Tag.ToString());
e.Handled = true;
}
#endregion Tools Event Handlers
#region Edit Event Handlers
void menuEditSelectAll_Click(object sender, RoutedEventArgs e)
{
drawingCanvas.SelectAll();
}
void menuEditUnselectAll_Click(object sender, RoutedEventArgs e)
{
drawingCanvas.UnselectAll();
}
void menuEditDelete_Click(object sender, RoutedEventArgs e)
{
drawingCanvas.Delete();
}
void menuEditDeleteAll_Click(object sender, RoutedEventArgs e)
{
drawingCanvas.DeleteAll();
}
void menuEditMoveToFront_Click(object sender, RoutedEventArgs e)
{
drawingCanvas.MoveToFront();
}
void menuEditMoveToBack_Click(object sender, RoutedEventArgs e)
{
drawingCanvas.MoveToBack();
}
void menuEditSetProperties_Click(object sender, RoutedEventArgs e)
{
drawingCanvas.SetProperties();
}
#endregion Edit Event Handlers
#region Properties Event Handlers
void PropertiesFont_Click(object sender, RoutedEventArgs e)
{
Petzold.ChooseFont.FontDialog dlg = new Petzold.ChooseFont.FontDialog();
dlg.Owner = this;
dlg.Background = SystemColors.ControlBrush;
dlg.Title = "Выбор шрифта";
dlg.FaceSize = drawingCanvas.TextFontSize;
dlg.Typeface = new Typeface(
new FontFamily(drawingCanvas.TextFontFamilyName),
drawingCanvas.TextFontStyle,
drawingCanvas.TextFontWeight,
drawingCanvas.TextFontStretch);
if (dlg.ShowDialog().GetValueOrDefault() != true)
{
return;
}
drawingCanvas.TextFontSize = dlg.FaceSize;
drawingCanvas.TextFontFamilyName = dlg.Typeface.FontFamily.ToString();
drawingCanvas.TextFontStyle = dlg.Typeface.Style;
drawingCanvas.TextFontWeight = dlg.Typeface.Weight;
drawingCanvas.TextFontStretch = dlg.Typeface.Stretch;
SettingsManager.ApplicationSettings.TextFontSize = dlg.FaceSize;
SettingsManager.ApplicationSettings.TextFontFamilyName = dlg.Typeface.FontFamily.ToString();
SettingsManager.ApplicationSettings.TextFontStyle = FontConversions.FontStyleToString(dlg.Typeface.Style);
SettingsManager.ApplicationSettings.TextFontWeight = FontConversions.FontWeightToString(dlg.Typeface.Weight);
SettingsManager.ApplicationSettings.TextFontStretch = FontConversions.FontStretchToString(dlg.Typeface.Stretch);
}
void PropertiesColor_Click(object sender, RoutedEventArgs e)
{
ColorDialog dlg = new ColorDialog();
dlg.Owner = this;
dlg.Color = drawingCanvas.ObjectColor;
if (dlg.ShowDialog().GetValueOrDefault() != true)
{
return;
}
drawingCanvas.ObjectColor = dlg.Color;
SettingsManager.ApplicationSettings.ObjectColor = drawingCanvas.ObjectColor;
}
void OpenDialog_Click(object sender, RoutedEventArgs e)
{
Form1 f = new Form1();
f.Show();
}
void PropertiesLineWidth_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
double lineWidth = Double.Parse(comboPropertiesLineWidth.SelectedValue.ToString(),
CultureInfo.InvariantCulture);
drawingCanvas.LineWidth = lineWidth;
SettingsManager.ApplicationSettings.LineWidth = lineWidth;
}
#endregion Properties Event Handlers
#region Other Event Handlers
void mruManager_FileSelected(object sender, MruFileOpenEventArgs e)
{