Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Жукова записка / 15_Приложение.doc
Скачиваний:
9
Добавлен:
19.04.2015
Размер:
442.37 Кб
Скачать

ПРИЛОЖЕНИЕ.

ЛИСТИНГ ПРОГРАММНОГО КОДА СИСТЕМЫ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ КОЛОННЫХ АППРАТОВ ПОД ВЕТРОВОЙ НАГРУЗКОЙ.

П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)

{

Соседние файлы в папке Жукова записка