Cosmos/source/Cosmos.Build.Windows/UI/MainWindow.xaml.cs
2009-05-16 10:26:46 +00:00

115 lines
3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
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 Indy.IL2CPU;
using System.Threading;
namespace Cosmos.Compiler.Builder
{
public partial class MainWindow : Window, IMainWindow
{
// internal static UIEvents UIEvents = new UIEvents();
MainWindowController controller;
public MainWindow()
{
InitializeComponent();
controller = new MainWindowController(this);
//Loaded += delegate(object sender, RoutedEventArgs e)
//{
// this.Activate();
//};
butnBuild.Click += new RoutedEventHandler(butnBuild_Click);
butnCancel.Click += new RoutedEventHandler(butnCancel_Click);
Loaded += new RoutedEventHandler(MainWindow_Loaded);
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
controller.Init();
}
private void butnBuild_Click(object sender, RoutedEventArgs e)
{
//MoveFocus TRO CONTROLLER
// UpdateOptionsFromUI();
// UpdateProperties();
//}
//MainWindow.UIEvents.ProceedButtonPressed();
butnBuild.Visibility = Visibility.Collapsed;
controller.StartBuild();
}
private void butnCancel_Click(object sender, RoutedEventArgs e)
{
// MainWindow.UIEvents.StopButtonPressed();
controller.CancelBuild();
}
public void ShowOptions()
{
(OptionUC as UserControl).Visibility = Visibility.Visible;
(BuildProgressUC as UserControl).Visibility = Visibility.Collapsed;
}
public void ShowBuildProgress()
{
(OptionUC as UserControl).Visibility = Visibility.Collapsed;
(BuildProgressUC as UserControl).Visibility = Visibility.Visible;
}
delegate void AddLog(string param);
public void AddToLog(string logMsg)
{
if (listInformation.Dispatcher.Thread != Thread.CurrentThread)
listInformation.Dispatcher.Invoke(new AddLog(AddToLog), logMsg);
else
listInformation.Items.Add(logMsg);
}
public IOptionUC OptionUC
{
get { return optionsUC; }
}
public IBuildProgressUC BuildProgressUC
{
get { return buildUC; }
}
public void ThreadedClose()
{
Dispatcher.BeginInvoke(
(Action)delegate()
{
Close();
});
}
} //mainWIndow
}